scale
(class hierarchies)
(wrappers)
(horizontal, vertical, metadata)
reference models, infrastructure, policies)
(standards)
software problems are due to poor definitions and transfer of software boundaries
architecture = set of rules, guidelines, interface conventions
The architect defines a robust set of abstractions that manage complexity, change and other forces
logical separation
frequently overlooked
In a distributed system, the lack of a single address space and the need for independent reusable services are addressed by having a service-based architecture
Stable/Reusable Interfaces | Changeable Specifications | |
Data/Interface Partitioning | IDL Interfaces | Data & Meta Data |
Interface Specialization | Horizontal Interfaces | Vertical Interfaces |
... mandating a single type system for all applications is unrealistic ...
risk is the universal force