02. Architect the Solution Architecture (Asset)
Objectives
Understand reusable architectural assets.
Learn about architectural styles, components, and integration options.
Utilize assets for architecture definition.
Key Topics
Metamodel of Architectural Assets
Architecture Styles
Reference Architectures
Architectural Description
Deriving Architecture
Different approaches for similar vs. innovative systems:
Similar System: Reuse method and assets.
Innovative System: Use intuition.
Architectural Assets
Reference patterns and architectures capture past successes in system architecture.
Architecture Styles
Structural Styles:
Client-Server: Client (e.g., web browser) and server components interacting.
Tiered Computing: Multiple tiers providing services (e.g., 3-tier, n-tier).
Peer-to-Peer: Direct communication between peers without a central server.
Event-Based (Point to Point and Publish/Subscribe): Message passing between components.
Call and Return: Components execute based on control from other components.
Databases
SQL vs. NoSQL:
SQL: Fixed schema, vertical scaling, strong consistency.
NoSQL: Dynamic schema, horizontal scaling, variable consistency.
Brewer’s CAP Theorem
Only two of the three properties (Consistency, Availability, Partition tolerance) can be achieved simultaneously in shared data systems.
Architectural Description
IEEE 42010: Standard for describing software architecture, involves multiple views for a comprehensive understanding:
Logical, Development, Process, Physical, Infrastructure, Deployment, and Information Structure Views.
Reference Architectures
Specific to domains and include multiple architectural patterns, such as:
Web Architecture, SOA, Microservices, Cloud Architectures.
Summary
Architectural metamodel consists of reference patterns, architectures, and descriptions.
Choosing the right architecture based on knowledge and experience is critical for system quality.