bpm in a soa environment - total architecturetotal-architecture.com/indexfiles/presentations/bpm in...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
TerminologyTerminology
OrchestrationOrchestration
Choreography
ll b iCollaboration
mwww.devoxx.com
w
14Copyright © 2009 TIBCO Software Inc. All rights reserved
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
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
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
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
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
Black Box Synchronous Service CallBlack Box Synchronous Service Callm
www.devoxx.com
w
20Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Synchronous CallWhite Box Synchronous Call
21Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Sync Call With ErrorsWhite Box Sync Call With Errors
22Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Sync Call With LegacyWhite Box Sync Call With Legacy
23Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Sync Call With Legacy & ErrorsWhite Box Sync Call With Legacy & Errors
24Copyright © 2009 TIBCO Software Inc. All rights reserved
Black Box Async Service CallBlack Box Async Service Call
25Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Async Service CallWhite Box Async Service Call
26Copyright © 2009 TIBCO Software Inc. All rights reserved
White Box Async Service Call with ErrorsWhite Box Async Service Call with Errors
27Copyright © 2009 TIBCO Software Inc. All rights reserved
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
White Box Async With LegacyWhite Box Async With Legacy
29Copyright © 2009 TIBCO Software Inc. All rights reserved
DelegationDelegation
30Copyright © 2009 TIBCO Software Inc. All rights reserved
Delegation with Async ResponseDelegation with Async Response
31Copyright © 2009 TIBCO Software Inc. All rights reserved
Delegation with Async Response and ErrorsDelegation with Async Response and Errors
32Copyright © 2009 TIBCO Software Inc. All rights reserved
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
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
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
Case Start – Fire and ForgetCase Start Fire and Forget m
www.devoxx.com
w
36Copyright © 2009 TIBCO Software Inc. All rights reserved
Case Start ‐ DelegationCase Start Delegation
37Copyright © 2009 TIBCO Software Inc. All rights reserved
Automatic Work AssignmentAutomatic Work Assignment
38Copyright © 2009 TIBCO Software Inc. All rights reserved
Manual Work AssignmentManual Work Assignment
39Copyright © 2009 TIBCO Software Inc. All rights reserved
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
Switching TasksSwitching Tasks
41Copyright © 2009 TIBCO Software Inc. All rights reserved
Data Access: BPMManagedData Access: BPM Managed
Copyright © 2009 TIBCO Software Inc. All rights reserved
Resulting Data Structure Maintenance ComplexityResulting Data Structure Maintenance Complexity
Copyright © 2009 TIBCO Software Inc. All rights reserved
Data Access: Interface ManagedData Access: Interface Managed
Copyright © 2009 TIBCO Software Inc. All rights reserved
Required Transactional CoordinationRequired Transactional Coordination
Copyright © 2009 TIBCO Software Inc. All rights reserved
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
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
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