Goal. Understand the. Understand the architectural relationships between. BPM
and SOA m a dSO and their tt. f i t ti w ww .devoxx.com patterns of interaction. w.
BPM in a SOA Environment Paul C. Brown Principal Software Architect TIBCO Software Inc.
Copyright © 2009 TIBCO Software Inc. All rights reserved
1
Goal Understand the Understand the
architectural relationships between
BPM and SOA a d SO w www.devoxx.com m
and their
patterns of interaction tt fi t ti .
Copyright © 2009 TIBCO Software Inc. All rights reserved
My Background My Background Principal Software Architect at TIBCO Software Inc. Author of two books: Author of two books:
w www.devoxx.com m
Succeeding with SOA: Realizing Business Value Through Total Architecture Implementing SOA: Total Architecture in Practice
Co‐Author of the SOA Manifesto F Frequent Speaker on Enterprise Architecture and SOA tS k E t i A hit t d SOA 45 years of programming 40 years working with industrial distribtued systems 40 years working with industrial distribtued systems BS EE, Ph.D. CS
Copyright © 2009 TIBCO Software Inc. All rights reserved
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
4
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
5
Separation of Processes and Services Separation of Processes and Services SOA and BPM refine the traditional structure Introduce a separation between processes and services p p
The business process is a first‐class architectural concept Their structure needs to be aligned with both organizations and systems Processes interact with one another just like systems do!
Processes are assembled from services Some performed by people, others by systems Id ll Ideally, each service gets used in multiple business processes h i t di lti l b i
Copyright © 2009 TIBCO Software Inc. All rights reserved
Separation of Mediation from Services Separation of Mediation from Services Service access control based on: Security Quality‐of‐service agreements
Routing of service requests Load distribution across multiple service providers Logging of service utilization Performance and SLA measurements Performance and SLA measurements
Copyright © 2009 TIBCO Software Inc. All rights reserved
Unmanaged and Managed Processes Unmanaged Processes Components/services are “hard wired” together to form the actual p process One component’s results become the inputs to the next component Proactive monitoring and breakdown recovery is required for high availability
Managed/Orchestrated Processes / One component coordinates the work of other components and services Manager can monitor process status Manager can monitor process status The process of starting the manager is always an unmanaged process!
Copyright © 2009 TIBCO Software Inc. All rights reserved
Separating Processes and Interfaces Sometimes you want to make the same process available via different channels Avoid duplicating the business rules Avoid duplicating the business rules
Some of the channels may not be conventional presentations May provide web‐service access May provide web‐service access
In such cases, you want to make the process itself into a service Accessible from a variety of presentation components Accessible from a variety of presentation components
Copyright © 2009 TIBCO Software Inc. All rights reserved
Discipline is Required Discipline is Required SOA and BPM provide many opportunities to organize and manage the enterprise The challenges are organizational as well as g g technical
Copyright © 2009 TIBCO Software Inc. All rights reserved
For Success, Think Total Architecture! • Business Purpose • Business Processes – Sales order management – Inventory management – Accounting
• People P l – Participants in the business processes
• Information
w www.devoxx.com m
– What information is being used
• Systems – Computers, networks, applications, infrastructure
•
Copyright © 2009 TIBCO Software Inc. All rights reserved
w www.devoxx.com m
SOA Roles Played By BPM SOA Roles Played By BPM BPM as a Service Consumer Services whose operations provide access to enterprise Services whose operations provide access to enterprise applications Create, update, cancel order G Get order status d BPM as a Service Provider Services whose operations define and manage business Services whose operations define and manage business processes Start process St t Start, complete activity l t ti it Get activity status
Copyright © 2009 TIBCO Software Inc. All rights reserved
12
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
13
Terminology
www.devoxx.com w m
Orchestration Choreography Collaboration ll b i
Copyright © 2009 TIBCO Software Inc. All rights reserved
14
Orchestration A process with central coordination Scope of orchestration is a pool f h l Coordinated participants are swimlanes
Copyright © 2009 TIBCO Software Inc. All rights reserved
15
Choreography A process without central coordination Independent participants are pools (may have swimlanes) Activity within pool is shown
Copyright © 2009 TIBCO Software Inc. All rights reserved
16
Collaboration Choreography without the details of activities within a pool Focus is on patterns of interactions BPMN does not provide a mechanism to specify BPMN does not provide a mechanism to specify interaction patterns (allowed/disallowed sequences)
Copyright © 2009 TIBCO Software Inc. All rights reserved
17
Practical Collaboration Practical Collaboration Show your part of the process (your pool) Show your part of the process (your pool)
Copyright © 2009 TIBCO Software Inc. All rights reserved
18
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
19
w www.devoxx.com m
Black Box Synchronous Service Call Black Box Synchronous Service Call
Copyright © 2009 TIBCO Software Inc. All rights reserved
20
White Box Synchronous Call White Box Synchronous Call
Copyright © 2009 TIBCO Software Inc. All rights reserved
21
White Box Sync Call With Errors White Box Sync Call With Errors
Copyright © 2009 TIBCO Software Inc. All rights reserved
22
White Box Sync Call With Legacy White Box Sync Call With Legacy
Copyright © 2009 TIBCO Software Inc. All rights reserved
23
White Box Sync Call With Legacy & Errors White Box Sync Call With Legacy & Errors
Copyright © 2009 TIBCO Software Inc. All rights reserved
24
Black Box Async Service Call Black Box Async Service Call
Copyright © 2009 TIBCO Software Inc. All rights reserved
25
White Box Async Service Call White Box Async Service Call
Copyright © 2009 TIBCO Software Inc. All rights reserved
26
White Box Async Service Call with Errors White Box Async Service Call with Errors
Copyright © 2009 TIBCO Software Inc. All rights reserved
27
Asynchronous Issues Asynchronous Issues Mechanism for delivering asynchronous Mechanism for delivering asynchronous response
w www.devoxx.com m
Periodic polling of service status Periodic polling of service status Batch update of service status Callback invoked by service when done y Subscription to service status updates (WS‐Eventing)
Restoring appropriate state after component Restoring appropriate state after component failure
Copyright © 2009 TIBCO Software Inc. All rights reserved
28
White Box Async With Legacy White Box Async With Legacy
Copyright © 2009 TIBCO Software Inc. All rights reserved
29
Delegation
Copyright © 2009 TIBCO Software Inc. All rights reserved
30
Delegation with Async Response Delegation with Async
Copyright © 2009 TIBCO Software Inc. All rights reserved
31
Delegation with Async Response and Errors Delegation with Async Response and Errors
Copyright © 2009 TIBCO Software Inc. All rights reserved
32
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
33
Process Definition Services Process Definition Services Example Operations Example Operations Create process Add activity edit activity Add activity, edit activity Add sequence flow
w www.devoxx.com m
U Usage Options O ti Design Time Run Time
Copyright © 2009 TIBCO Software Inc. All rights reserved
34
Process Execution Services Process Execution Services Example Operations Example Operations
www.devoxx.com w m
Start case (process instance) Get eligible tasks for a user Get eligible tasks for a user Start task, finish task
Copyright © 2009 TIBCO Software Inc. All rights reserved
35
w www.devoxx.com m
Case Start – Fire and Forget Case Start Fire and Forget
Copyright © 2009 TIBCO Software Inc. All rights reserved
36
Case Start ‐ Delegation Case Start
Copyright © 2009 TIBCO Software Inc. All rights reserved
37
Automatic Work Assignment Automatic Work Assignment
Copyright © 2009 TIBCO Software Inc. All rights reserved
38
Manual Work Assignment Manual Work Assignment
Copyright © 2009 TIBCO Software Inc. All rights reserved
39
w www.devoxx.com m
Work Assignment Issues Work Assignment Issues Sorting and selection criteria for tasks Case properties worker properties Case properties, worker properties Computational load Biases arising from worker selection of tasks Biases arising from worker selection of tasks Avoidance of difficult work Keeping interfaces and process management in synch Component restart Communications interruption Going back to work in progress Coordinating data access
Copyright © 2009 TIBCO Software Inc. All rights reserved
40
Switching Tasks Switching Tasks
Copyright © 2009 TIBCO Software Inc. All rights reserved
41
Data Access: BPM Managed Data Access: BPM Managed
Copyright © 2009 TIBCO Software Inc. All rights reserved
Resulting Data Structure Maintenance Complexity Resulting Data Structure Maintenance Complexity
Copyright © 2009 TIBCO Software Inc. All rights reserved
Data Access: Interface Managed Data Access: Interface Managed
Copyright © 2009 TIBCO Software Inc. All rights reserved
Required Transactional Coordination Required Transactional Coordination
Copyright © 2009 TIBCO Software Inc. All rights reserved
Agenda
w www.devoxx.com m
Enterprise Architecture with BPM and SOA Enterprise Architecture with BPM and SOA Terminology BPM Service Consumer Patterns S i BPM Service Provider Patterns Summary
Copyright © 2009 TIBCO Software Inc. All rights reserved
46
Summary Think through intended utilization patterns before building any service g y Design for Failure! Failure scenarios are difficult/expensive to retrofit Challenge the business to define the scenarios
w www.devoxx.com m
Think Total Architecture Business processes, people, information, and systems Business processes people information and systems must be architected concurrently What belongs in the service? In BPM? In the interface?
Pay attention to user interaction styles Changes in style can impact many components (layers)
Copyright © 2009 TIBCO Software Inc. All rights reserved
For More Information on Total Architecture… For More Information on Total Architecture… Succeeding with SOA • The business and organizational perspective g p p • For CxOs, managers, architects
Implementing SOA p g
w www.devoxx.com m
• Creating the total architecture • For enterprise and project architects, CTOs
The Total Architecture website: www.total‐architecture.com BPM and SOA product information: BPM and SOA product information: www.tibco.com
Copyright © 2009 TIBCO Software Inc. All rights reserved