BPM in a SOA Environment - Total Architecture

5 downloads 183 Views 3MB Size Report
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