1147 bridging business process management (bpm) and integration use cases (ibm impact 2014)

67
© 2014 IBM Corporation IEC-1147 Bridging Business Process Management and Integration Use Cases Rob Phippen ([email protected]), IBM UK Brian Petrini ([email protected]), IBM US

Upload: matt-lucas

Post on 18-Nov-2014

304 views

Category:

Technology


1 download

DESCRIPTION

Presentation from IBM Impact 2014. IBM Integration Bus makes it easy to integrate your connectivity logic with your business processes. This session tells you everything you need to know about using IIB in conjunction with IBM Business Process Manager (BPM) Standard and Advanced, and an insight into how this easy-to-use technology will evolve.

TRANSCRIPT

Page 1: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

© 2014 IBM Corporation

IEC-1147 Bridging Business Process Management and Integration Use CasesRob Phippen ([email protected]), IBM UKBrian Petrini ([email protected]), IBM US

Page 2: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Introduction

The use of IBM BPM (‘BPM’) and WebSphere Message Broker (‘Broker’) is becoming a commonly-deployed combination of productsEven without consideration for the technical needs of the

integration between the two, a large number of design patterns are emerging in the fieldThese patterns in this deck are based on the usual integration and

interaction patterns, but the deck attempts to put them altogether in one place for reference, with BPM and broker specific notes.**These names for patterns have not been ‘approved’ or

‘validated’, although the patterns themselves have. Suggestions for alternate names are welcomed!(note on naming and terminology – often the word ‘then’ as in ‘a’

then ‘b’ means ‘do a transactionally’ then separately do ‘b’, often with something in between)

2

Page 3: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

BPM and IIB Use-cases

Page 4: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

4

BPM & IIB Use Cases

BPM is the consumer

BPM Advanced is the consumer

IIB is the consumer

Page 5: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

5

BPM & IIB Use Cases

BPM is the consumer

BPM Advanced is the consumer

•Straight Through Processing

IIB is the consumer

Page 6: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Tooling and Technology Enablers:BPM standard and IIB

Page 7: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Overall ApproachBPM developer IIB developerCreate Process Application and

Business Process Design

Create BPM integration serviceDefine inputs and outputs

Move BPM integration service to Toolkit (creates snapshot)

Export snapshot as .twx file

Generate IIB Integration service from .twx

Implement IIB Integration service

Deploy and test IIB Integration service

Export Service information to .twx creating new snapshot

Play back Business Process Design

Update Toolkit dependency

Import snapshot

Page 8: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Create Business Process Design•Define the human tasks and system tasks in the process flow

•Define Business Objects to be used by the flow

•For each task define and map the variables

•Choose to implement the system task as a new integration service

Implemented as Integration service GetBalance

Page 9: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Create new BPM Integration Service

•The BPM developer does not attempt to implement the Integration Service

Page 10: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Define BPM Integration Service Interface

•Assign Input and Output variables for the Integration Service

Page 11: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Move the Integration Service to a BPM Toolkit

Moving an Integration Service to aToolkit automatically creates a newSnapshot

Page 12: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Export the BPM Toolkit Snapshot as TWX file

•The BPM developer now gives the TWX file to the IIB developer so that they can start to implement an IIB Integration Service ...

Page 13: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Generate the IIB Integration Service from TWX

• There are several ways to initiate Integration Service generation in the IIB Toolkit if you have a TWX file

1. From the Quick Start screen

2. From File → New → Service

3. From the Patterns Explorer

Page 14: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Explore the IIB Integration Service - 2

ServiceDescriptor

XSDs

WSDL

Message Flow

Subflows

Click to create

operation subflow

Page 15: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Explore the IIB Integration Service - 2

ServiceDescriptor

XSDs

WSDL

Message Flow

Subflows

Page 16: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Implement the IIB Integration Service

•Click on the operation in the service editor to open the sub-flow and allow implementation

•This is where IIB can transform the request message, connect to the corporate back end (WS, CICS, SAP, MQ, DB, .NET ...) and transform the returned data into a response message‒ For example, could call a .NET assembly for a Windows-based service

IIB developer implements the service by adding node(s) to process the request and produce a response message

Page 17: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Deploy and Test the IIB Integration Service

•Deploy the Integration Service to a IIB broker runtime and test

•The deployed Integration Service will have an endpoint URL and a query WSDL (?wsdl) URI‒ These will be used by the BPM Integration Service

•Once the IIB Integration Service is working as required, information about how to access it must be passed back to BPM

Page 18: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Export the IIB Integration Service to a TWX file - 1

•Export the service information by right clicking the Service Description

•The export wizard first allows the hostname and port of the deployedservice be specified

Page 19: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Export the IIB Integration Service to a TWX file - 2

•Specify the snapshot name, which defines the version of the BPM Toolkit

•Specify where the TWX file will be written

•The resultant TWX file can now be handed back to the BPM developer

Page 20: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Import the New TWX file

•Import the new snapshot of the Toolkit from the TWX file via BPC

Page 21: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Update the BPM Toolkit Dependency•In Process Designer return to the Process Application that references the Toolkit

•An icon will show that the Toolkit has a new snapshot and can be upgraded

•Select to update the dependency

Page 22: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Explore the BPM Integration Service - 1

•A Web Service Integration has been added to the Integration Service, thereby implementing it

•Data mappings have been done between Integration Service variables and operation variables

Page 23: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Explore the BPM Integration Service - 2

•The WSDL URI, operation and Endpoint Address URL have been set

•Environment variables have been used in the Endpoint Address URL so that they can easily be changed if the IIB Integration Service is moved

Page 24: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Test the BPM Process Design•The BPM Integration Service can be tested by executing the BPD using the Playback Server

•Start the Playback

•Execute each task to complete the flow

Page 25: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Tooling and Technology Enablers:BPM Advanced and IIB

Page 26: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

WebSphere Integration Developer

WebSphere Integration Developer is the integration tool that you use to author SOA-based services and choreograph them into business processes that you can deploy on WebSphere Process Server.

WSDL Interface for Export Service component

containing the business process

SCA Import

SCA Export

WSDL Interface for Import

WSDL Reference for Import

Page 27: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

SCA Nodes in IIB

SCA Request node- Send outbound synchronous request messages to WPS.- The node blocks for a specified period until a response is

received.- Used for sending one-way outbound messages.

SCA Input and SCA Reply nodes– Receive inbound messages from WPS.– A WPS SCA Import component can use Message

Broker as an SCA endpoint.

SCA Async Request & SCA Async Response nodes

- Send outbound asynchronous request messages to WPS.

- WMB can carry on processing after request has been sent.

- Async Response Node listens on a different thread.

The SCA nodes support Web Services and MQ bindings.

Page 28: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Processing an inbound msg sent from WPS

WebSphere Process Server

WebSphere Message Broker

1. Receive inbound msg

2. Send reply msg

Page 29: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Sending a synchronous outbound request to WPS

WebSphere Process Server

WebSphere Message Broker

1. Send outbound request msg 2. Receive response msg

Page 30: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Sending an asynchronous outbound request to WPS

WebSphere Process Server

WebSphere Message Broker

1. Send outbound request msg

2. Receive response msg

Page 31: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

IIB Wizards

Page 32: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

To build this, you can start from IID . . .

1.Develop Business Process Application in WID first.

2.Export Project Interchange (PI) file.

3.Import PI into WMB to create message model and Broker SCA Definition.

4.Create message flow using the Broker SCA Definition.

Page 33: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Or you can start from IIB . . .

1. Generate Broker SCA Definition from Message Set in WMB.

2. Develop Message Flow using Broker SCA Definition.

3. Export SCA components, XSDs and WSDL from Broker SCA Definition.

4. Import SCA Components, XSDs and WSDL into WID.

5. SCA components are automatically created in the Assembly Diagram. Data types and interfaces are automatically added to the module.

Page 34: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Detailed Patterns and Implementation

Page 35: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

35

Contents

BPM & IIB Use Cases

Tooling and technology enablers

Detailed patterns and implementation

Advanced patterns and implementation

Page 36: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Detailed patterns and implementationFire and Forget

• Fire, Validate then Forget• Fire and Forget with Error Callback• Fire, Validate then Forget with Error Callback• Fire and Forget with Error Pub-Sub• Fire, Validate then Forget with Error Pub-Sub

Single Blocking Put–Get• Single Blocking Put-Get with Delayed Response Callback Option• Single Blocking Put-Get with Delayed Response Pub-Sub Option

Blocking Put then Get• Variants are similar to those for Single Blocking Put–Get

Non-Blocking Put-Callback• Non-Blocking Put then Callback • Non-Blocking Put Known-at-Design-Time-Multiple Callbacks• Non-Blocking Put Known-at-Run-Time-Multiple Callbacks• Non-Blocking Put Unknown-Multiple Callbacks

Single Blocking Put–Get then Non-Blocking Callback• Single Blocking Put–Get then Known-at-Design-Time-Multiple Non-Blocking Callbacks• Single Blocking Put–Get then Known-at-Run-Time-Multiple Non-Blocking Callbacks• Single Blocking Put–Get then Unknown-Multiple Non-Blocking Callbacks

Pub-Sub

36

Page 37: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Patterns in detail – How the patterns are describedOverview

• This is the general overview of the pattern. It describes what it does and may also describe an example business problem it solves.

• Sometimes has a ‘not to be confused with’ section mentioning other patterns.AKAs:

• “Also Known As” – other names used for the patternParent Pattern(s)

• Any pattern or combination of patterns that this pattern is derived fromImplementation

• Notes as to how to implement this pattern in BPM and BrokerError Modes

• What can go wrong? Where can it go wrong?Notes

• Any other considerationsDiagrams and Sequences

• Displays the patterns visuallyPattern Variants

• These are variations of the ‘base’ pattern that are often used. They are normally “the same as the ‘base’ but with one thing changed”

37

Page 38: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Fire and ForgetOverview

• This is a “one-way” interaction. BPM makes a request to have something happen, but does not ‘care’ when it actually happens, only that it does

• This delegates the responsibility for achieving the outcome to either broker itself, or another service that broker calls.

AKAs:• One-way, send message

Parent Pattern• One-way request with Acknowledgement: Asynchronous Transport

Implementation• BPM Integration service serialises a BPM Data Object into a message which is placed on a queue

using MQPUT. • Broker implements a ???? take request and process pattern.

Error Modes• Request not possible (e.g. queue not found)• Modelled Error Response: Invalid Request

Notes• What about if the target is another BPM process?• Combine with pub-sub?

38

Page 39: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Fire and Forget: Diagram and Sequence

39

Request Queue

Message

Request Ack Response

Page 40: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Fire and Forget: VariantsFire, Validate then Forget• This varies as the caller only receives a successful acknowledgement

when some initial validation has been performed on the message e.g. correct XML format

• Implemented from BPM the same way as Single Blocking Put-Get• Broker then carries on processing after returning the validation

acknowledgement to BPMFire and Forget with Error Callback• This acknowledges that there is hardly ever a genuine ‘one way’

interaction. If there is an error in processing, does BPM wish to know at some point?

• Implemented the same way as with the Non-Blocking Put then Callback pattern, but the callback is only sent if there is an error.

Fire, Validate then Forget with Error CallbackFire and Forget with Error Pub-Sub• Similar to Fire and Forget with Error Callback, but the error condition is

not handled by the original calling process.• BPM sends a one-way call to broker, but provides a registered error

pub-sub location to which any errors should be sent.• If an error occurs, BPM will handle the error by receiving the message

at the inbound event queue, but any action will be taken by a new process instance, not the one that made the original request.

Fire, Validate then Forget with Error Pub-Sub

40

Page 41: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put-GetOverview

• The simplest pattern from an understanding point of view. This is where the process needs to make a request/response interaction with a service via Broker in ‘real time’ i.e. a response is needed as fast as possible

AKAs• Request Response, Synchronous Call, Two-Way Sync

Parent Pattern• Request/Response: Blocking Caller with Asynchronous Transport

Implementation• BPM Integration service serialises a BPM Data Object into a message which is placed on a queue

using MQPUT. The same Integration service then immediately does an MQGET with correlation to wait for the response. The response is then de-serialised into a BPM Data Object.

• Broker implements a ???? take request and provide response pattern.BPM Error Modes

• Request not possible (e.g. queue not found)• Modelled Error Response: Invalid Request• Modelled Error Response: Logical Error• Response Timeout: No Response• Response Timeout: Response arrives after timeout period

41

Page 42: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get: Diagram and Sequence

42

Request Queue Reply Queue

Request Reply

Use Correlation ID for correct reply

Page 43: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get: VariantsSingle Blocking Put-Get with Delayed Response Callback Option

• This is a combination of Single Blocking Put-Get and Non-Blocking Put-then-Callback• Used in interactive scenarios where an immediate request is desired, but a callback

response is acceptable.• For example “Normally, we’d confirm you order right away, but our back-end system is

down. Thank you for your order - we will email you when it is completed’• Implementation

– BPM makes a Single Blocking Put-Get– IF BPM gets the desired response in the desired time, THEN proceed as normal– ELSE BPM either gets a timeout, or a ‘your response will be delayed’ response from broker

– BPM takes any relevant action e.g. notify the user– BPM then waits for a callback message which is the ‘actual’ response required

Single Blocking Put-Get with Delayed Response Pub-Sub Option

43

Page 44: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put-Get with Delayed Response Callback Option: Diagram

44

Request Queue

Reply Queue

Request

Reply

Callback through BPM Event Queue

Reply

Note: Reply is placed on BOTH queues (reply and callback)– is ignored/expired on event queue if no process available to correlate with it i.e. happy path was taken.

Exception Path

Exception Path

Happy Path

Happy Path

Happy Path

Happy Path

HappyPath

Page 45: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Blocking Put then Get:Overview

• This is an interactive pattern that differs from Single Blocking Put–Get in one important manner: It allows BPM to make a very short lived action between the Put and the Get

• Do not confuse this with the Non-Blocking Put-then-Callback pattern: that pattern allows for a larger time-gap between the request and response.

• Typical usage is to grey-out the request button from an interactive screen to avoid the ‘do not press this button twice’ issue

AKAs• Disable Request, “Grey Out” the button.

Parent Pattern• Single Blocking Put–Get

Implementation• BPM Integration service serialises a BPM Data Object into a message which is placed on a queue.

The service then performs a very short lived action e.g. greying out a button. The Integration service then does an MQGET with correlation to wait for the response. The response is then de-serialised into BPM Data Object.

• Broker implements a ???? take request and provide response pattern.Error Modes

• Request not possible (e.g. queue not found)• Modelled Error Response• Response Timeout

45

Page 46: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Blocking Put then Get: Diagram and Sequence

46

Request Queue Reply Queue

Request Reply

Use Correlation ID for correct reply

Page 47: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Blocking Put then Get: Variants

Similar variants to Single Blocking Put–Get

47

Page 48: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Non-Blocking Put-CallbackOverview

• This is a longer-lived follow-on in the put-get series. It allows BPM to make a call to broker then drop the thread. At a later point, broker sends a message back to BPM which starts the process again at the next step.

AKAs• Async request/reply, External Activity, Intermediate Message

Parent Pattern• Request/Response: Non-Blocking Caller with Asynchronous Transport

Implementation• BPM Integration service serialises a BPM Data Object into a message which is placed on a queue.

The message contains a callback identifier that allows broker to send a correct callback message back into the same process. The integration service finishes and the next BPD step is an intermediate event.

• Broker implements a ???? Take request then send callback message pattern• BPM receives the callback on the event queue. It then correlates back to the original process

instance and starts the BPD at the intermediate event activity.Error Modes

• Request not possible (e.g. queue not found)• Modelled Error Response in callback object• No Callback received• Callback received after BPD has moved on from IME (e.g. after timeout)

48

Page 49: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Non-Blocking Put-Callback: Diagram and Sequence

49

Callback through BPM Event Queue

Reply

Request Queue

Request

Page 50: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Non-Blocking Put-Callback: Variants

Non-Blocking Put then Callback• This is where the BPD has multiple activities performing other processing after the request but before

the callback Intermediate Event is received

Non-Blocking Put Known-at-Design-Time-Multiple Callbacks• This is where one request gets multiple responses, where the number of responses is known at

design time• e.g. ‘Book Travel’ where responses are ‘Hotel’, ‘Flight’, ‘Car’• Multiple IME instances must be available to process the responses

Non-Blocking Put Known-at-Design-Time-Multiple Callbacks• This is where one request gets multiple responses, where the number of responses is known only at

run-time• e.g. ‘Get insurance quotes from these multiple companies’• Multiple IME instances must be available to process the responses – this must be capable of

changing at run-time.Non-Blocking Put Unknown-Multiple Callbacks

• This is where one request gets multiple responses, where the number of responses is unknown until they actually arrive. The caller, even at runtime, does not know how many responses there are

• Typically the process may wait for a maximum number of responses before a timeout is called and the process moves on. This maximum may only be one!

• Beware of ‘this is the last response’ approach – messages may not be in sequence!

50

Page 51: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get then Non-Blocking CallbackOverview

• This is used where a BPM first wants a quick response to a call with some short lived logic, then waits for some long-lived logic to run

• For example ‘Thanks for your order, we’ve processed it and your order is 1234. We will let you know a delivery date when we hear back from our shipping company’

• Not to be confused with Single Blocking Put-Get with Delayed Response Callback Option or Fire, Validate then Forget with Error Callback

AKAs• Short-Lived sync process calls long-lived async initiated process

Parent Pattern(s)• Single Blocking Put-Get• Single Blocking Put then Non-Blocking Callback

Implementation• BPM does a Single Blocking Put-Get, but sends a callback location as part of the Put message.• Broker implements a ???? take request and provide response pattern. It sends the first response via correlation. It

then kicks off the long-running request.• BPM gets the short-running response and processes it. It then waits for the callback using an IME.• Broker sends the long-lived reply back to BPM through the event queue. The BPD picks up the message, fires the

IME and carries on along the BPDError Modes

• Request not possible (e.g. queue not found)• Modelled Error Response or timeout from quick response.• Modelled Error Response or timeout from callback• No callback received

51

Page 52: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get then Non-Blocking Callback: Sequence

52

Page 53: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get then Non-Blocking Callback : Diagram

53

Request Queue

Reply Queue

Request

Quick Reply

Callback through BPM Event Queue

Long Reply

Page 54: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Single Blocking Put–Get then Non-Blocking Callback: Variants

Single Blocking Put–Get then Callback• This is where the BPD has multiple activities performing other processing after the initial

request/response but before the long-lived callback Intermediate Event is received

Single Blocking Put–Get then Known-at-Design-Time-Multiple Callbacks• This is where one request gets multiple long-lived responses, after the first short-lived one, where the

number of responses is known at design time• e.g. ‘Book Travel’ where responses are ‘Hotel’, ‘Flight’, ‘Car’• Multiple IME instances must be available to process the responses

Single Blocking Put–Get then Known-at-Design-Time-Multiple Callbacks• This is where one request gets multiple long-lived responses, after the first short-lived one, where the

number of responses is known only at run time• e.g. ‘Get insurance quotes from these multiple companies’• Multiple IME instances must be available to process the responses – this must be capable of

changing at run-time.Single Blocking Put–Get then Unknown-Multiple Callbacks

• This is where one request gets multiple long-lived responses, after the first short-lived one, where the number of long-lived responses is unknown until they actually arrive. The caller, even at runtime, does not know how many responses there are

• Typically the process may wait for a maximum number of responses before a timeout is called and the process moves on

• Beware of ‘this is the last response’ approach – messages may not be in sequence!

54

Page 55: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Pub-Sub:Overview

• This pattern is where the broker initiates functionality on BPM. This is typically starting a process, but can be any action that is driven by the event manager, typically via a UCA

• BPM needs to send a ‘subscribe’ message to broker to register its interest in eventsAKAs

• Event listener, Broker Initiated Process, One-Way Broker->BPM, Start Message Event, Async Initiated process.

Parent Pattern(s)• Single Blocking Put–Get (Subscription)• Fire and Forget (Event from Broker)

Implementation• BPM Sends a subscription message to broker using the Fire and Forget pattern. The subscription

must contain a description of what events BPM is interested in, together with details as to where broker must send the events

• Broker receives the subscription request and updates its subscription store.• When an event is generated, broker sends the event to those BPM subscribers via the event

manager.Error Modes

• Subscription Request not possible (e.g. queue not found)• Subscription not supported (i.e. request to events that don’t exist)• Publish message sent to incorrect location• Published message not understood by BPM

55

Page 56: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Pub-Sub : Diagram and Sequence

56

Page 57: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Pub-Sub : Variants

Single SubscriberMultiple SubscribersDurable Pub-SubGet last published item1st subscriber of multiple only gets the message (process once)

57

Page 58: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Headline Goes Here

Level 1 bulletLevel 1 bullet

• Level 2 bullet• Level 2 bullet

– Level 3 bullet

58

Page 59: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Sample Pie Chart

59

Page 60: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Sample Bar Chart

60

Page 61: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Color Palette

61

Page 62: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Divider slide

Page 63: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Divider slide

Page 64: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Questions?

Page 65: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

We Value Your Feedback

Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us – we use it to continually improve the conference.Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey

• Navigate to “Surveys” to see a view of surveys for sessions you’ve attended

65

Page 66: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Thank You

Page 67: 1147 Bridging Business Process Management (BPM) and Integration use cases (IBM IMPACT 2014)

Legal Disclaimer

• © IBM Corporation 2014. All Rights Reserved.• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained

in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.

• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.

• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.