0% found this document useful (0 votes)
54 views

Architectural - Patterns I Modern Architecture

Uploaded by

J V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Architectural - Patterns I Modern Architecture

Uploaded by

J V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 48

Architectural Patterns

for a competitive advantage

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

Kinds of civil architectures


 Community
 houses, flats and apartments, gardens,
education, hospitals, religion
 Commerce
 shops and stores, restaurants, hotels, office
buildings, banks, airports
 Industry
 industrial buildings, laboratories, farm
buildings
 Leisure
9  sport, theaters and cinemas, museums R ©1998, Rational
Forces in civil architecture

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

Shearing layers of change

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

Lower technical complexity


- Mostly 4GL, or component-based
- Application reengineering
- Interactive performance

12 R
©1998, Rational
Forces in software architecture
Functionality Technology churn

Performance Resilience Differences


- No moving parts
- New materials can be created
- Physics can be changed

Throughput Fail safe Avoiding failure


- Separation of concerns
- Semantic consistency
- Distribution of responsibilities

Capacity Fault tolerance

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

 basis for reuse


 basis for project management; risk reduction
 Representation
 4+1 view model
 Process
 iterative and incremental development
 successive refinement of an executable
architecture
14 R
©1998, Rational
Mary Shaw, CMU
Grady Booch,
Philippe Kruchten,

Architecture defined
Rich Reitman
Kurt Bittner, Rational

 Software architecture encompasses the


set of significant decisions about the
organization of a software system
 selection of the structural elements and their
interfaces by which a system is composed
 behavior as specified in collaborations among
those elements
 composition of these structural and
behavioral elements into larger subsystem
 architectural style that guides this
organization
15 R
©1998, Rational
Mary Shaw, CMU
Grady Booch,
Philippe Kruchten,

Architecture defined
Rich Reitman
Kurt Bittner, Rational

 Software architecture also involves


 usage
 functionality
 performance
 resilience
 reuse
 comprehensibility
 economic and technology constraints and
tradeoffs
 aesthetic concerns
16 R
©1998, Rational
Philippe Kruchten, Rational

The 4+1 view model


End user Programmers
- Functionality - Software management
- Vocabulary

Design Component
view view

Analysts/Testers
- Behavior
Use case
view U
Process Deployment
view view

System integrators System engineering


- Performance - System topology
- Scalability - Delivery and installation
- Throughput - Communication

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

Class factory Class


Client wrapper factory

Proxy Stub Context


wrapper MTS
object

Context
object

38 R
©1998, Rational
Mowbray et al, Inside CORBA

CORBA architecture

Application objects CORBA facilities CORBA domains


- Organization specific - User interface - Financial services
- Information management - Health care
- System management - Telecommunications
- Task management - Other

Object request broker

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

Theft Intuition Theft Intuition

Classical system Unprecedented system

43 R
©1998, Rational
Focus over time
Discovery Invention Implementation

Focus

Time
44 R
©1998, Rational
Architecture across the lifecycle

Inception Elaboration Construction Transition

Planning

Analysis

Architecture

Design

Implementation

Integration

Test/assessment

Preliminary Iteration Iteration Iteration Iteration Iteration Iteration Iteration


Iteration #1 #2 ... #n+1 #... #m #m+1 #m+2 ..

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

You might also like