Article - Software Architecture
Background:
TBA
Stack Diagram:
Below is the stack diagram that I use when architecting software applications. Each
of the stacks (read from left to right) should be well documented and communicated
to each member of the development team.
Architecture Stack
Enterprise Stack:
This stack is the cornerstone for all architects as it describes what your software
applications should Interop with, how that Interop will communicate, what technologies
you will use and how you will make your applications modular; I.E., Services, class
libraries, shared components, etc.
Interop:
How does your application connect with other systems? You should finding out the
dependencies between your applications and all Interop clients; Java, PHP, legacy
COBOL systems, etc.
Communication:
Once you know what you application dependencies and how each of these dependent
systems Interop you can decided on the best communication protocols (WCF, web services,
remoting, sockets, XML files, etc)
Modularization:
Use this as a rule set for how you will make your applications modular. How will
you decide if a set of reusable functionality will be a Service and how will that
service be governed? How will you decide what libraries will be commonly shared
amongst your applications
Policy Stack:
The policy stack describes in detail how each of the high level functions common
to all applications will be governed.
Data Access Policy
TBA
Logging Policy
TBA
Monitoring Policy
TBA
Exception Policy
TBA
Security Policy
TBA
Caching Policy
TBA
Validation Policy
TBA