I posted yesterday that we had shipped our Enterprise Collateral Management solution based on our new architecture. As I said, we still have a lot more to do. Several people have asked and many have been interested in the continuing blog posts that I have had on our 14 month development cycle. This post is an attempt to organize several threads in continuing the conversation.
Architecture
- Logical Three-Layered Services Application architecture
- Physical deployment to 1 to N Tiers depending on load, failover, customer needs, etc.
- Service-Oriented Architecture with all functionality designed and exposed as a Business Autonomous Services
Presentation Layer
Service Layer
- Organized into Entity, Business Process and Infrastructure Services
- Designed as much as possible in SOA Business Process manner and Contract First
- .NET 3.0 Windows Communication Foundation with our custom behaviors
- Mostly wsHttpBinding with WS-Security, WS-ReliableMessaging, and Sessions turned on, some netTcp
- MSMQ
- Workflow based on .NET 3 Windows Workflow currently in architecture design
Domain Layer
- True Evans DDD Layer reflecting our Collateral Management domain withRepositories and Factories, Entitities, etc
- Domain Mapper Pattern implementation
Resource Layer
- Object-Relational Mapper via Wilson ORM
- Query and Criteria API makes our database access strongly-typed and allows expression of queries in C# 3.0 like syntax consistent with how we query other objects like In-Memory Repositories
- SQL Server 2005 and Oracle 10.2g support
Process
Infrastructure
- Deployed on Windows Server 2003 R2
- Click-Once Deployment of Smart Client
- SQL Server 2005 Failover Clustering & Hot Mirroring, Oracle RACs
- Single Sign-On Security Authentication with Windows Auth, Kerberos Brokered, AD/ADAM and WCF
- AzMan Roles as Indigo Behavior
- PAG Exception Management & Logging Blocks
- PAG Caching Block
- AD/ADAM
- X.509 PKI
- CardSpace, SAML, and WS-Federation in design
Whew! That's 14 months in one post! -)
Technorati Tags: .NET, Windows Communication Foundation, , WCF, WF, Windows Workflow, Extreme Programming, Agile, Agile Development, Software Architecture, Microsoft
Posted
Thu, Jan 25 2007 10:48 AM
by
Sam Gentile
Filed under: .NET Framework 3/WinFX, Agile and Extreme Programming, Software Architecture, WCF/Indigo, CLR, SOA, Personal and Family (Non-Technical), Data, Security, LINQ, O/RM and Entity Framework, Smart Clients, WinForms, VS Team System, Workflow, Financial and Banking Vertical