48
BPM in a SOA Environment BPM in a SOA Environment Paul C. Brown Paul C. Brown Principal Software Architect Principal Software Architect TIBCO Software Inc. TIBCO Software Inc. 1 Copyright © 2009 TIBCO Software Inc. All rights reserved

BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Embed Size (px)

Citation preview

Page 1: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

BPM in a SOA EnvironmentBPM in a SOA EnvironmentPaul C. BrownPaul C. Brown

Principal Software ArchitectPrincipal Software Architect

TIBCO Software Inc.TIBCO Software Inc.

1Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 2: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

GoalGoal

Understand theUnderstand the 

architectural relationshipsbetween 

BPM and SOA 

m

a d SOand their 

tt f i t ti

www.devoxx.com patterns of interaction.

w

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 3: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

My BackgroundMy BackgroundPrincipal Software Architect at TIBCO Software Inc.Author of two books:Author of two books:

Succeeding with SOA: Realizing Business Value Through Total ArchitectureImplementing SOA: Total Architecture in Practice

Co‐Author of the SOA ManifestoF t S k E t i A hit t d SOA

m

Frequent Speaker on Enterprise Architecture and SOA45 years of programming40 years working with industrial distribtued systems

www.devoxx.com 40 years working with industrial distribtued systems

BS EE, Ph.D. CS

w

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 4: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

4Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 5: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

5Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 6: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Separation of Processes and ServicesSeparation of Processes and ServicesSOA and BPM refine the traditional structure

Introduce a separation between processes and servicesp pThe business process is a first‐class architectural concept

Their structure needs  to be aligned with both organizations and systemsProcesses interact with one another just like systems do!

Processes are assembled from servicesSome performed by people, others by systemsId ll h i t d i lti l b iIdeally, each service gets used in multiple business processes

 

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 7: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Separation of Mediation from ServicesSeparation of Mediation from ServicesService access control based on:

SecuritySecurityQuality‐of‐service agreements

Routing of service requestsLoad distribution across multiple service providersLogging of service utilizationPerformance and SLA measurementsPerformance and SLA measurements

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 8: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Unmanaged and Managed ProcessesUnmanaged Processes

Components/services are “hard wired” together to form the actual processpOne component’s results become the inputs to the next componentProactive monitoring and breakdown recovery is required for high availability

/Managed/Orchestrated ProcessesOne component coordinates the work of other components and servicesManager can monitor process statusManager can monitor process statusThe process of starting the manager is always an unmanaged process!

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 9: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Separating Processes and InterfacesSometimes you want to make the same process available via different channels

Avoid duplicating the business rulesAvoid duplicating the business rulesSome of the channels may not be conventional presentations

May provide web‐service accessMay provide web‐service accessIn such cases, you want to make the process itself into a service

Accessible from a variety of presentation componentsAccessible from a variety of presentation components

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 10: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Discipline is RequiredDiscipline is RequiredSOA and BPM provide many opportunities to organize and manage the enterprise

The challenges are organizational as well as g gtechnical

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 11: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

For Success, Think Total Architecture!

• Business Purpose• Business Processes

– Sales order management– Inventory management– AccountingP l• People– Participants in the business 

processes• Information

m

Information– What information is being 

used • Systems

www.devoxx.com

– Computers, networks, applications, infrastructure

w

• Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 12: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

SOA Roles Played By BPMSOA Roles Played By BPMBPM as a Service Consumer

Services whose operations provide access to enterpriseServices whose operations provide access to enterprise applications

Create, update, cancel orderG dGet order status

BPM as a Service ProviderServices whose operations define and manage business

m

Services whose operations define and manage business processes

Start processSt t l t ti it

www.devoxx.com Start, complete activity

Get activity status

w

12Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 13: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

13Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 14: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

TerminologyTerminology

OrchestrationOrchestration

Choreography

ll b iCollaboration

mwww.devoxx.com

w

14Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 15: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

OrchestrationOrchestrationA process with central coordination

f h lScope of orchestration is a pool

Coordinated participants are swimlanes

15Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 16: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

ChoreographyChoreographyA process without central coordination Independent participants are pools (may have swimlanes)Activity within pool is shown

16Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 17: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

CollaborationCollaboration

Choreography without the details of activities within a poolFocus is on patterns of interactions

BPMN does not provide a mechanism to specifyBPMN does not provide a mechanism to specify interaction patterns (allowed/disallowed sequences)

17Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 18: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Practical CollaborationPractical Collaboration

Show your part of the process (your pool)Show your part of the process (your pool)

18Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 19: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

19Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 20: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Black Box Synchronous Service CallBlack Box Synchronous Service Callm

www.devoxx.com

w

20Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 21: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Synchronous CallWhite Box Synchronous Call

21Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 22: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Sync Call With ErrorsWhite Box Sync Call With Errors

22Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 23: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Sync Call With LegacyWhite Box Sync Call With Legacy

23Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 24: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Sync Call With Legacy & ErrorsWhite Box Sync Call With Legacy & Errors

24Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 25: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Black Box Async Service CallBlack Box Async Service Call

25Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 26: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Async Service CallWhite Box Async Service Call

26Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 27: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Async Service Call with ErrorsWhite Box Async Service Call with Errors

27Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 28: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Asynchronous IssuesAsynchronous Issues

Mechanism for delivering asynchronousMechanism for delivering asynchronous response

Periodic polling of service statusPeriodic polling of service status

Batch update of service status

Callback invoked by service when done

m

y

Subscription to service status updates (WS‐Eventing)

Restoring appropriate state after component

www.devoxx.com Restoring appropriate state after component 

failure

w

28Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 29: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

White Box Async With LegacyWhite Box Async With Legacy

29Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 30: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

DelegationDelegation

30Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 31: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Delegation with Async ResponseDelegation with Async Response

31Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 32: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Delegation with Async Response and ErrorsDelegation with Async Response and Errors

32Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 33: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

33Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 34: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Process Definition ServicesProcess Definition Services

Example OperationsExample OperationsCreate process

Add activity edit activityAdd activity, edit activity

Add sequence flow

U O ti

m

Usage OptionsDesign Time

www.devoxx.com

Run Time

w

34Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 35: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Process Execution ServicesProcess Execution Services

Example OperationsExample OperationsStart case (process instance)

Get eligible tasks for a userGet eligible tasks for a user

Start task, finish task

mwww.devoxx.com

w

35Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 36: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Case Start – Fire and ForgetCase Start  Fire and Forget m

www.devoxx.com

w

36Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 37: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Case Start ‐ DelegationCase Start  Delegation

37Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 38: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Automatic Work AssignmentAutomatic Work Assignment

38Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 39: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Manual Work AssignmentManual Work Assignment

39Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 40: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Work Assignment IssuesWork Assignment IssuesSorting and selection criteria for tasks

Case properties worker propertiesCase properties, worker properties

Computational load

Biases arising from worker selection of tasksBiases arising from worker selection of tasks

Avoidance of difficult work

Keeping interfaces and process management in synch

m

Component restart

Communications interruption

www.devoxx.com

Going back to work in progress

Coordinating data access

w

40Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 41: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Switching TasksSwitching Tasks

41Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 42: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Data Access: BPMManagedData Access: BPM Managed 

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 43: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Resulting Data Structure Maintenance ComplexityResulting Data Structure Maintenance Complexity

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 44: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Data Access: Interface ManagedData Access: Interface Managed

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 45: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

Required Transactional CoordinationRequired Transactional Coordination

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 46: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

AgendaAgenda

Enterprise Architecture with BPM and SOAEnterprise Architecture with BPM and SOA

Terminology

S iBPM Service Consumer Patterns

BPM Service Provider Patterns

m

Summary

www.devoxx.com

w

46Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 47: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

SummarySummaryThink through intended utilization patterns before building any serviceg yDesign for Failure!

Failure scenarios are difficult/expensive to retrofitChallenge the business to  define the scenarios

Think Total ArchitectureBusiness processes people information and systems

m

Business processes, people, information, and systems must be architected concurrentlyWhat belongs in the service? In BPM? In the interface?

www.devoxx.com

Pay attention to user interaction stylesChanges in style can impact many components (layers)

w

Copyright © 2009 TIBCO Software Inc. All rights reserved

Page 48: BPM in a SOA Environment - Total Architecturetotal-architecture.com/indexFiles/Presentations/BPM in a SOA... · Principal Software Architect at TIBCO Software Inc. Author ... Design

For More Information on Total Architecture…

Succeeding with SOA• The business and organizational perspective

For More Information on Total Architecture…

g p p• For CxOs, managers, architects

Implementing SOAp g• Creating the total architecture

• For enterprise and project architects, CTOs

m

The Total Architecture website: www.total‐architecture.com

BPM and SOA product information:

www.devoxx.com BPM and SOA product information:

www.tibco.com

w

Copyright © 2009 TIBCO Software Inc. All rights reserved