Paul C BrownPaul C. Brown Principal Software...

47
The Case for Total Architecture The Case for Total Architecture Paul C Brown Paul C. Brown Principal Software Architect © 2010 TIBCO Software Inc. All Rights Reserved.

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

The IT World Is ChangingThe IT World Is Changing

© 2010 TIBCO Software Inc. All Rights Reserved.

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

Total ArchitectureArchitecture

© 2010 TIBCO Software Inc. All Rights Reserved.

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

Aspects of ArchitectureAspects of Architecture

© 2010 TIBCO Software Inc. All Rights Reserved.

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 Architecture

CEP Engine

© 2010 TIBCO Software Inc. All Rights Reserved.

21

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 Decision Examples

© 2010 TIBCO Software Inc. All Rights Reserved.

39

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!

The Unifying Vision

© 2010 TIBCO Software Inc. All Rights Reserved.

46

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