- Quality of Design
- The Intelligent Architectures Archetypes in Detail
- Archetype Attributes
- Combining Archetypes Into Designs
- Structured Design vs. Ad Hoc Design
- Summary
- Acknowledgements
Combining Archetypes Into Designs
The power of archetypes comes from their ease of combination to form systems. For example, a database system is designed by combining data store (persistent, reliable volumes and the access and capacity requirements of the database) with data manipulation (the CPU requirements most likely expressed in terms of maximum query and lookup times) and data transport (the network requirements of the database). The User Interface archetype specifies the requirements, and explains how users of the service access the database. Further, the Business Continuity Planning archetype specifies the requirements for disaster recovery and the requirements and methods for providing uninterrupted (or scaled-down) services during prolonged events such as a flood, fire, power outage, etc.
As it may have been apparent in the discussion of archetypes, there is natural combination, and in some cases a mutual recursion or self-reference, between some archetypes. For example, the Data Store archetype may contain a SAN. The SAN is implemented using fibre channel disks, and the fibre channel disks communicate on the fibre loop using a network protocol. This fibre loop and network protocol is also a part of the Data Transport archetype.
This duality is intuitively understood, and taken advantage of, by experienced system architects. This duality is in part due to the perspective that a system architect uses to approach a problem. To a network-oriented system architect, a SAN is a network of disk drives. To a storage-oriented system architect a SAN is physically dispersed set of disk drives, that communicate with each other.
A system architect's perspective is greatly influenced by their experience. It is this experience that allows the system architect to resolve the duality of the archetypes and know when it is beneficial or appropriate to treat a SAN as a component of the Data Transport archetype, and when to treat it as a component of the Data Store archetype.