Paul C BrownPaul C. Brown Principal Software...
Transcript of Paul C BrownPaul C. Brown Principal Software...
The Case for Total ArchitectureThe Case for Total ArchitecturePaul C BrownPaul C. Brown
Principal Software Architect
© 2010 TIBCO Software Inc. All Rights Reserved.
Topics
Changing focus of design
Total architecture
Aspects of architecture
Reference architecture
P j t d t i hit t Project and enterprise architects
Architecture and project duration
Architecture as vision
© 2010 TIBCO Software Inc. All Rights Reserved.
2
Starting Point: System-Centric Design
Integration is focused on individual system needs
Focus is on moving data
System receiving data decides what to do if action is required
EAI/ETL“Glue”
EAI/ETL“Glue”System A System CSystem By yy
© 2010 TIBCO Software Inc. All Rights Reserved.
4
Starting Point: System-Centric Design
Integration is focused on individual system needs
Focus is on moving data
System receiving data decides what to do if action is required
EAI/ETL“Glue”
EAI/ETL“Glue”System A System CSystem By yy
Design Focus
© 2010 TIBCO Software Inc. All Rights Reserved.
5
Focus
Service-Oriented Design
Services are focused on other-system needs
Focus is on responding to requests and announcements
Service directs (some) system activity
© 2010 TIBCO Software Inc. All Rights Reserved.
6
Service-Oriented Design
Services are focused on other-system needs
Focus is on responding to requests and announcements
Service directs (some) system activity
Design Focus
© 2010 TIBCO Software Inc. All Rights Reserved.
7
Focus
Optimizing Hard-Wired Processes – a System of Systems
Each participant invokes the next operation Invocation may rely on EAI triggering techniques Invocation may rely on EAI triggering techniques
Service ServiceService
System A System CSystem B
© 2010 TIBCO Software Inc. All Rights Reserved.
8
System A System CSystem B
Hard-Wired Processes: a System of Systems
Each participant invokes the next operation Invocation may rely on EAI triggering techniques Invocation may rely on EAI triggering techniques
Service ServiceService
System A System CSystem B
Design Focus
© 2010 TIBCO Software Inc. All Rights Reserved.
9
System A System CSystem B
Managed Processes
Process manager directs work through services
Focus is on optimizing process execution
Process Manager
Service ServiceService
Process Manager
Service
© 2010 TIBCO Software Inc. All Rights Reserved.
10
System A System CSystem B
Managed Processes
Process manager directs work through services
Focus is on optimizing process execution
Process Manager
Service ServiceService
Process Manager
Service
Design Focus
© 2010 TIBCO Software Inc. All Rights Reserved.
11
System A System CSystem B
Focus
The Focus of Design is Changing
System-centric Process-centric Design is broader in scope involving: Design is broader in scope, involving:
Multiple systems People Business partners & customers Business process definition
The enterprise’s overall architecture is implemented The enterprise s overall architecture is implemented piecemeal – one project at a time Who does the overall design? Who coordinates the projects to ensure that they converge on a common p j y g
design? Who makes architecture decisions at the project level?
The answer: Architects! The answer: Architects! Project (solution) architects address the needs of individual projects Enterprise architects address the cross-project perspective
© 2010 TIBCO Software Inc. All Rights Reserved.
12
The Total Architecture Concept
Real business processes involve both people and systems
Business processes and systems are so intertwined that you have to architect all aspects concurrently: Business Processes
• Their structure and organization
People• Their organization, roles, and responsibilities
Information• What is required, where it resides, how it is
accessedaccessed
Systems• Computers, networks, applications, services,
infrastructureas uc u e
Architecture ensures that they will collaborate well to successfully run the business
© 2010 TIBCO Software Inc. All Rights Reserved.
14
successfully run the business
What Comprises an Architecture? 1
There are three primary views that comprise an architecture Architecture
Architecture Pattern – The Structure A description of the participants,
communications channels, and constraints on how they may be used
: ArchitecturePattern
: ProcessModel
constraints on how they may be used Often referred to as an architectural style
E.g. client-server : Process-Pattern Mapping
Process Model – The Process A division of functionality together
with a data flow between the activitieswith a data flow between the activities.
Process-Pattern Mapping – How the Solution Works A process model mapped onto the participants (elements of the
architecture pattern) that cooperatively implement the process
© 2010 TIBCO Software Inc. All Rights Reserved.
16
1. Bass et. al., Software Architecture in Practice, 2nd Edition, Addison Wesley
Process Model
The activities required to perform the work and the data flow between them select "check
order status"
Augmented with business information modelsNot the actual data structures just the
enter order identification
Initiate Order Status
Not the actual data structures, just the concepts and relationships
What does an Order Status Result include?
information
look up order
Order Status Request
O d St t R lt look up order status
Order Status Result
Order Status Result
Address Orderhi T display status result
-addressLine1-addressLine2-city-state-country-postalCode
Address-orderID-orderDate-orderTotal-currentStatus
Order
-customerID-customerName
Customer-orderCustomer
-billTo
-shipTo
-postalCode
-productID-qty
Order Line Item-lineItems *
© 2010 TIBCO Software Inc. All Rights Reserved.
17
qty-unitPrice-extendedPrice
Architecture Pattern – The Structure
Major participants all of them!Systems CustomerSystemsPeople
Customer
keyboard/display
The available communications channels
Browser
HTTP.WAN
channels
TIBCO B i W k
Application Server
SOAP/HTTP
Restrictions on the use of individual components and channels
TIBCO Business Works
proprietary API
E.g. application servers will be statelessThe back-end system will persist
li ti d t
Back-End System
© 2010 TIBCO Software Inc. All Rights Reserved.
18
application data
Process-Pattern Mapping – Activity diagram
The process model mapped onto the architecture pattern Note that some activities must be split across participants
“Look up order status” requires a dialog between four components Such splits require additional data structures
Customer Browser TIBCOApplication Back-End
display options
Customer Browser TIBCOBusiness
Works
ApplicationServer
Back-EndSystem
display options
prompt for order ID
select "check order status"
submit query request
enter orderIDcall query
serviceinterrogate back-end
format result
back end system
return query
get order status
© 2010 TIBCO Software Inc. All Rights Reserved.
19
display resultread result format result for display
return query result
So Why Should You Care About Architecture?
When processes and patterns are complex, there are many ways in which the process can be mapped onto the pattern Differing work assignments Differing communications
Even with the best pattern, an inappropriate mapping can lead to a show-stopping failurepp g The goal of explicitly defining the architecture is to ensure that you don’t
have this kind of problem
You have to map the process onto the pattern before you can evaluate the proposed solution In practice, this “evaluation” often occurs in user acceptance testing or in
production• Changes at this point are very expensive!
© 2010 TIBCO Software Inc. All Rights Reserved.
20
TIBCO Event-Driven ArchitecturePattern!CEP Engine
© 2010 TIBCO Software Inc. All Rights Reserved.
22
ATM Withdraw Cash Process Model
customer credentials
authenticate customer
authorization
customeridentification
verify authorization
accountidentification
authorizationreference
information
initialaccount balance
verify funds availability
updated
disburse funds
updated
cash forcustomer
updatedaccount balance
updated account balance
i t f
© 2010 TIBCO Software Inc. All Rights Reserved.
23
provide receiptreceipt forcustomer
ATM Architecture Pattern
ATM System
P ti i tProcess participants
ATM Machine Bank SystemATM ServerPersonPhysical
Interaction* *Dial-upPhone
*TCP over WAN **
© 2010 TIBCO Software Inc. All Rights Reserved.
24
ATM Withdraw Cash Process-Pattern Mapping
ATM System
ATM ServerATM Machine
Bank SystemCustomer
display transaction choices
prompt for amount
insert card and enter PIN
select withdraw cash
submit request fordisbursal authorizationenter amount
identify customer, identify account,authorize disbursaldetermine bank and
forward request
approved?
forward response
Yes
report funds disbursed
dispense cashremove cash
update account balanceforward report
print receipt and returnatm cardremove card and receipt forward acknowledgement
© 2010 TIBCO Software Inc. All Rights Reserved.
25
ATM Architecture Pattern with Services
ATM System
Process participants
ATM M hi Bank SystemATM SPDial-upPhonePhysical *
TCP over WAN **
+obtainDisbursalAuthorization()+reportFundsDelivered()
Account Management ServiceATM Machine yATM ServerPerson PhoneInteraction* *WAN
© 2010 TIBCO Software Inc. All Rights Reserved.
26
Withdraw Cash Process-Pattern Mapping Using Services
ATM System
ATM Machine ATM Server
i t d d t PIN di l t ti h i
Bank SystemCustomer
insert card and enter PIN
select withdraw cash
display transaction choices
prompt for amount
enter amountcall
obtainDisbursalAuthorization service
identify customer, identify account,authorize disbursaldetermine bank and
forward request
forward response
approved?
forward response
Yes
remove cash
call reportFundsDeliveredservice
dispense cash
update account balanceforward report
remove card and receipt print receipt and returnatm card forward acknowledgement
© 2010 TIBCO Software Inc. All Rights Reserved.
27
What is a Reference Architecture?What is a Reference Architecture?
© 2010 TIBCO Software Inc. All Rights Reserved.
Reference Architecture
A standardized structure for solvinga class of problems Reference Architecture
Reference Model – The Abstracted Process Usually a standardized (best practice) description
: Process-Pattern Mapping
: Architecture Pattern : Reference Model
Usually a standardized (best practice) descriptionof the process for addressing a class of similar problems
Architecture Pattern – The Structure A description of the participants, communications channels, and
constraints on how they may be usedy y By their nature, these tend to be standardized
Process Pattern Mapping How the Solution Works Process-Pattern Mapping – How the Solution Works A reference process model mapped onto the participants (elements of the
architecture pattern) that cooperatively implement the abstracted process
© 2010 TIBCO Software Inc. All Rights Reserved.
29
Reference Model – Standardized Process
The model describes the abstractedactivities required to perform the
select query typeactivities required to perform the
work along with their interactions The abstract organization of the work enter query
Initiate Selected Query
g It’s a pattern!
Defines the characteristics of the
parameters
Query-Specific Selection Information
Defines the characteristics of the activity interactions Identifies the data structure exchanges
submit query request
Identifies the data structure exchanges that need to occur
Defines data exchange patterns execute query
Query Request
• Single interaction, page-at-a-time retrieval, etc.
Defines boundaries/limits on sizes etcdisplay query
results
Query Result
© 2010 TIBCO Software Inc. All Rights Reserved.
30
Defines boundaries/limits on sizes, etc. results
Reference Architecture – Standardized Solution
Standardizes the complete approach to solving a class of problems
Developed by senior/enterprise architects Provides a cookie-cutter solution that project architects can
follow consistentlyfollow consistently Avoids re-inventing the wheel on each project
Person Browser TIBCOBusiness
ApplicationServer
Back-EndSystem
display options
prompt for select query
Works
p pquery
parameters
submit query t
select query
enter data call query i
interrogate request
display resultread result
service
format result
gback-end system(s)
return query
return requested information
© 2010 TIBCO Software Inc. All Rights Reserved.
31
display resultread result for displayq y
result
Integration Reference Architecture Example Mapping
Generic description of how a pair of systems interactS S t ith D t b TIBCO A ti D t b Ad t TIBCO B i W k T t S t ith APIinteract
Change local data
Source System with Database TIBCO Active Database Adapter TIBCO BusinessWorks Target System with API
Database Trigger
Publish relevant database record(s)
Published Data inSource Format
map to target system format
Data in call target
system API
update target
Target Format
p gsystem
© 2010 TIBCO Software Inc. All Rights Reserved.
32
Unit 2: Understanding Architectsand their Rolesand their Roles
© 2010 TIBCO Software Inc. All Rights Reserved.
Processes and Services Cross Organizational Boundaries
Services and Integrations Span Silos
Lack of Overall Responsibility
ServiceInterface
Shrinking Time
Frames
Services, Integration,
Data Center
ApplicationSilo
ApplicationSilo
Integration,and
ProcessManagement
Silo
ApplicationSilo
Front-Office Applications
External Applications
© 2010 TIBCO Software Inc. All Rights Reserved.
34
Communications and Services Infrastructure
Many Development Processes Have Degenerated
They assume a single system is being worked on
Development QA ProductionRequirements
© 2010 TIBCO Software Inc. All Rights Reserved.
35
Degenerate Processes Don’t Work for SOA and BPM
Multiple organizations and systems are involved
Development QA ProductionRequirements
© 2010 TIBCO Software Inc. All Rights Reserved.
36
A Richer Development Processes Is Required
Governance at work!
Business ProcessArchitecture
Integration Test QA Production
Architecture
Charter RequirementsIntegration Test QA
SystemArchitecture
Development
© 2010 TIBCO Software Inc. All Rights Reserved.
37
Missing Steps
Architecture Governance is Key
Governance at work!Gatekeeper
Business ProcessArchitecture
Integration Test QA Production
Architecture
Charter Requirements
Integration Test QA
SystemArchitecture
Development
© 2010 TIBCO Software Inc. All Rights Reserved.
38
Architecture Matters!
In large systems-of-systems, time spentsystems, time spent on architecture and risk reduction cuts total schedule by 25% Barry Boehm, Richard Turner,
Balancing Agility and Discipline: g g y pA Guide for the Perplexed, Addison Wesley (2004)
Where are you on these curves?
© 2010 TIBCO Software Inc. All Rights Reserved.
40
Project Architect Responsibilities
Define the business process and system changes required by the current projectq y p jEstablish that they meet the business objectivesDetermine whether the changes can be implemented within the
d h d l icost and schedule constraints
Identify appropriate reference architecture(s) to be usedused Identify the need for new reference architectures
Id tif i ti i t b d Identify existing services to be used Identify candidates for new services Bottom line: the project architect defines the vision
of what the project team needs to build
© 2010 TIBCO Software Inc. All Rights Reserved.
41
Enterprise Architect Responsibilities
Define the target architecture for the enterpriseEstablish business goals and objectives for future stateEstablish business goals and objectives for future-state
architectureDefine practical evolution strategyp gy
• System replacement• Technology replacement
Define reference architectures consistent with the target architectureTemplates that can be used by project teams
© 2010 TIBCO Software Inc. All Rights Reserved.
42
Enterprise Architect Leadership
Guide project teams in evolving towards that architectureBoth mentorship and governanceEnsure each project makes an incremental move towards the
lgoalHelp them choosing and applying appropriate reference
architectures
Directly participate in projects requiring complex designsg
Train and mentor project architectsProvide a convenient means for answering questionso de a co e e ea s o a s e g ques o s
Bottom line: the enterprise architects define the vision for what the multiple project teams need to
© 2010 TIBCO Software Inc. All Rights Reserved.
43
p p jbuild
An Experiment in Vision: Team Picnic Planning
Person A: Choose the beverages
Person B: Choose the food
Person C: Choose the location
© 2010 TIBCO Software Inc. All Rights Reserved.
44
An Experiment in Vision: Team Picnic Planning
Person A: Choose the beveragesSelects fine wines
Person B: Choose the foodD id b bDecides on a barbeque
Person C: Choose the locationChooses a site up a mountain on a hiking trailChooses a site up a mountain on a hiking trail
These choices are incompatible!
© 2010 TIBCO Software Inc. All Rights Reserved.
45
These choices are incompatible!
Summary
Architecture consists of three interrelated views: Process model
A hi l ( l ) Architectural pattern (style) The mapping of the process onto the pattern
A reference architecture is an abstracted architecture A generic solution to a class of problems
Total architecture recognizes that both people and systems are involved Addresses their collective structure, organization, and interaction They cannot be architected separately!
Project architects are responsible for the total architecture of the Project architects are responsible for the total architecture of the current project They determine the needed changes to both business processes and systems
Enterprise architects establish vision and coordinate projects Enterprise architects establish vision and coordinate projects Ensure they converge on a common enterprise architecture
Architecture reduces project duration - by up to 25%
© 2010 TIBCO Software Inc. All Rights Reserved.
47
Establishing and sharing architecture vision is the key