Architectural - Patterns I Modern Architecture
Architectural - Patterns I Modern Architecture
Grady Booch
Chief Scientist
Rational Software Corporation
Architecting a doghouse
2 R
©1998, Rational
Architecting a house
3 R
©1998, Rational
Architecting a high rise
4 R
©1998, Rational
Modeling a house
5 R
©1998, Rational
Classical architecture
Progress
- Limited knowledge of theory
6 R
©1998, Rational
Modern architecture
Progress
- Advances in materials
- Advances in analysis
Progress
- 5 times the span of the Pantheon
- 3 times the height of Cheops
7 R
©1998, Rational
Movements in civil architecture
Bronze age/Egyptian (Imhotep)
Grecian/Roman (Vitruvius) Progress
- Imitation of previous efforts
- Learning from failure
Byzantine/Romanesque
- Integration of other forces
- Experimentation
Gothic
Mannerism (Michelangelo, Palladio)
Baroque
Engineering/Rational/National/Romantic
Art noveau
Modern movement (Wright, LeCorbusier)
8 R
©1998, Rational
Neufert Architect’s Data
The Handbook of Building Types
Load
Kinds of loads
- Dead loads
- Live loads
- Dynamic loads
Compression Tension Avoiding failure
- Safety factors
- Redundancy
- Equilibrium
Load
Any time you depart from established practice, make ten times the
effort, ten times the investigation. Especially on a very large project.
- LeMessuier
10 R
©1998, Rational
Stewart Brand, How Buildings Learn
Space plan
Services
Stuff
Structure
Skin
Site
11 R
©1998, Rational
Walker Royce, Rational
Dimensions of complexity
Higher technical complexity
- Embedded, real-time, distributed, fault-tolerant
- Custom, unprecedented, architecture reengineering
- High performance
An average software project:
- 5-10 people Defense
- 10-15 month duration Telecom Weapon System
- 3-5 external interfaces Switch
- Some unknowns & risks National Air Traffic
Commercial Control System
Embedded Compiler
Automotive
Software Large-Scale
Lower CASE Tool Organization/Entity
Simulation
Higher
management management
complexity Small Scientific complexity
- Small scale Simulation - Large scale
- Informal IS Application
Defense
- Contractual
Distributed Objects Enterprise IS
- Single stakeholder (Family of IS MIS System - Many stake holders
(Order Entry)
- “Products” Applications) - “Projects”
IS Application
GUI/RDB
(Order Entry)
Business
Spreadsheet
12 R
©1998, Rational
Forces in software architecture
Functionality Technology churn
Availability
Have an architecture that makes sense before you write 3.5 million
lines of code.
- Patrick Naugton
13 R
©1998, Rational
Richard Gabriel
Architecture-centric
Purpose Approaches
- Worse-is-better
intellectual control
- The Right Thing
Architecture defined
Rich Reitman
Kurt Bittner, Rational
Architecture defined
Rich Reitman
Kurt Bittner, Rational
Design Component
view view
Analysts/Testers
- Behavior
Use case
view U
Process Deployment
view view
17 R
©1998, Rational
Use case diagram
18 R
©1998, Rational
Scenario diagram
19 R
©1998, Rational
Collaboration diagram
20 R
©1998, Rational
Class diagram
21 R
©1998, Rational
State transition diagram
22 R
©1998, Rational
Component diagram
23 R
©1998, Rational
Deployment diagram
24 R
©1998, Rational
Relationships among views
Design view Component view
Process view
Deployment view
25 R
©1998, Rational
Patterns
A pattern is a solution to a problem in a
context
A pattern codifies specific knowledge
collected from experience in a domain
All well-structured systems are full of
patterns
idioms
design patterns
architectural patterns
26 R
©1998, Rational
Gamma et al
Design Patterns
Design patterns
Creational patterns
abstract factory
prototype
Structural patterns
adapter
bridge
proxy
Behavioral patterns
chain of responsibility
mediator
visitor
Mechanisms are the soul of an architectureR
27
©1998, Rational
Shaw and Garlan
Software Architecture
Buschmann et al
Architectural patterns
A System of Patterns
Booch
Distributed Layered
Event-driven MVC
Frame-based IR-centric
Batch Subsumption
Pipes and filters Disposable
Repository-centric
Blackboard Patentable
- Hughes CAATS
Interpreter
Rule-based
28 R
©1998, Rational
Shaw and Garlan
Software Architecture in Practice
Taxonomy
Data flow
dominated by motion of data through the
system
Kinds
batch sequential
data flow network
pipes and filters
29 R
©1998, Rational
Shaw and Garlan
Software Architecture in Practice
Taxonomy
Call and return
dominated by order of computation
Examples
main program/subroutines
abstract data types
object
call based client/server
layered
30 R
©1998, Rational
Shaw and Garlan
Software Architecture in Practice
Taxonomy
Independent components
Dominated by communication patterns
Examples
event systems
communicating processes
31 R
©1998, Rational
Shaw and Garlan
Software Architecture in Practice
Taxonomy
Data-centered
dominated by a complex central data store,
manipulated by independent computations
Examples
repository
blackboard
32 R
©1998, Rational
Shaw and Garlan
Software Architecture in Practice
Taxonomy
Virtual machine
characterized by translation of one instruction
set into another
Examples
interpreter
33 R
©1998, Rational
Layered architecture
Issues
Applications - Separation of concerns
& interfaces
Major
processes
Domain
classes
Mechanisms
Services
34 R
©1998, Rational
Distributed architecture
Issues
- DCOM vs EJB vs CORBA
- Distribution and migration
- Fine grain/large grain objects
- Stateless vs stateful services
- Clustering
- Replication
Clients
Mechanisms
- RPC
- Transaction
- Atomicity
- Consistency
- Isolation
- Durability
- Messaging
LAN - Conversation
- Request/response
- Publish and subscribe
- Broadcast
WAN
Servers
35 R
©1998, Rational
Commercial frameworks
Similar to building
MTS/MSQS codes or local
covenants
CORBA
Enterprise Java Beans
Domino
SAP R/3
Delphi
Forte
Visual Basic
36 R
©1998, Rational
DCOM architecture
Machine x
Machine y
Proxy
Standalone
server
Container
In-process
server
Container
In-process
server
37 R
©1998, Rational
David Chappell
MTS architecture
MTS executive Server
Context
object
38 R
©1998, Rational
Mowbray et al, Inside CORBA
CORBA architecture
CORBA services
- Concurrency - Lifecycle - Trade - Query
- Events - Naming - Start up - Relationships
- Externalization - Security - Persistence - Transactions
- Licensing - Time - Properties - Collections
39 R
©1998, Rational
Bill Roth, JavaSoft
©1998, Sun Microsystems, Inc.
EJB architecture
40 R
©1998, Rational
Architectural context
The choice of which building code or
covenant you chose to live under is an
architectural decision
but by no means is this a sufficient
architectural decision
41 R
©1998, Rational
Case studies
CAATS
Ship System 2000
AWACS modernization
trading system
credit card processing
cellular phone network
cable television operations
42 R
©1998, Rational
Sources of architecture
Method Method
43 R
©1998, Rational
Focus over time
Discovery Invention Implementation
Focus
Time
44 R
©1998, Rational
Architecture across the lifecycle
Planning
Analysis
Architecture
Design
Implementation
Integration
Test/assessment
45 R
©1998, Rational
Conceptual integrity
46 R
©1998, Rational
Futures
Support for CBD
ADL: Architecture Description Languages
UML, UniCon, LILEAnna, P++, LEAP, Wright,
µRapid
Standardization of concepts
IEEE Working Group on Architecture
INCOSE Working Group on System
Architecture
Systematic capture of architectural
patterns
47 R
©1998, Rational
For more information
Email: [email protected]
URL: http://www.rational.com
48 R
©1998, Rational