wtui5 - business process integration with ibm integration bus
TRANSCRIPT
Bridging Business Process Management
and Integra3on Use Cases
Ma#hew Golby-‐Kirk, IBM Integra8on Bus Session I5
© 2014 IBM Corpora8on
Please Note IBM’s statements regarding its plans, direc8ons, and intent are subject to change or withdrawal without no8ce at IBM’s sole discre8on. Informa8on regarding poten8al future products is intended to outline our general product direc8on and it should not be relied on in making a purchasing decision.
The informa8on men8oned regarding poten8al future products is not a commitment, promise, or legal obliga8on to deliver any material, code or func8onality. Informa8on about poten8al future products may not be incorporated into any contract. The development, release, and 8ming of any future features or func8onality described for our products remains at our sole discre8on
Performance is based on measurements and projec8ons 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 considera8ons such as the amount of mul8programming in the user’s job stream, the I/O configura8on, the storage configura8on, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
2
3 3 © 2014 IBM Corporation
Introduction
• IBM Integration Bus v9 adds new support to simplify connectivity with IBM BPM v7.5.1, v8.0.x and v8.5
• Works with BPM Express, Standard and Advanced
• Scenario: ‒ Business Analyst is developing a Business Process Design ‒ BPD needs some business data from an external corporate service ‒ Business Analyst knows the data he needs but not the connectivity
steps needed to get it
• Allows the BPM developer to concentrate on Human Task Processing by delegating connectivity configuration to the IBM Integration Bus developer
• Assumes a top down approach from the BPM perspective
4 4 © 2014 IBM Corporation
Agenda
• Overall approach ‒ Products and terminology ‒ How the BPM developer and the IIB developer interact
• BPM development view ‒ How the BPM developer sets up their process design and supplies their
specification to the IIB developer
• IIB development view ‒ How the IIB developer uses the BPM specification to create an appropriate IIB
integration service ‒ How the IIB developer supplies the integration service connection information
back to the BPM developer
• BPM testing ‒ How the BPM developer incorporates the IIB connection into their process
design and tests it
• BPM Advanced Integration with SCA
5 5 © 2014 IBM Corporation
The Products
• What does IBM BPM Standard provide? ‒ Business Process Design (human tasks plus system tasks),
management and administration Ø Business Process Designer Ø Business Process Center Ø Process Server
• What does IBM Integration Bus provide? ‒ IIB is the new name for WebSphere Message Broker ‒ Connectivity, Integration and Transformation Ø IIB Toolkit Ø IIB Node
6 6 © 2014 IBM Corporation
IBM Business Process Manager
Process Designer / Optimizer
Integration Designer
Process Center Console
Process Center
Portal Mobile
Process Server Core BPM Advanced Automation & Integration
BPMN BPEL Adaptors Process Rules Performance Data Warehouse ESB
Social
Coaches Optional Microsoft Add-ons
Business Space
Network Multiple Process Centers
Server Registry Shared Assets
Versioned Assets
• Express • Standard • Advanced
WAS ND 8 V8
7 7 © 2014 IBM Corporation
• Simply Connect FROM anywhere, TO anywhere
• Simple & Easy –to Install, Learn, Develop, Deploy and Manage
• Visually Map and Transform between any two message or file formats
•
} CONVERTS between different transport protocols
} MATCHES & ROUTES communications between services
} TRANSFORMS between different data formats
} IDENTIFIES & DISTRIBUTES business events
IBM Integration Bus V9 (WebSphere Message Broker)
Payer
Web Services
Databases
Mobile
Files
ERP/CRM
Web 2.0
MQ, JMS, MSMQ
Microsoft
Applications
Mainframe CICS / IMS
Web Services
8 8 © 2014 IBM Corporation
Terminology
• BPM Process Center – Repository for all BPM artifacts
• BPM Process Designer – GUI tool used to build Business Process Designs (BPD)
• BPM Integration Service – A type of System Activity called from a BPD used to integrate with external entities
• BPM Toolkit – BPM Process Designer artefact container, effectively a library
• Snapshot – A particular version of a BPM Toolkit
• TWX file – A file format used to export a snapshot of a BPM Toolkit
• IIB Toolkit – GUI tool used to build IIB flows
• IIB Integration Service – A SOAP bound Web Service hosted by IIB broker run time
9 9 © 2014 IBM Corporation
The Problem
• The corporate service ‒ May use any transport type ‒ May supply more data than is required ‒ May require security, QoS, ...
• The Business Analyst ‒ Knows the input/output Business Objects required for the Business
Process Design ‒ Does not want to know how to configure the transport or
transformation
BPM Corporate Service
Request BO
Response BO
Integration Bus
Transform
S E R V I C E
C O N N E C T
10 10 © 2014 IBM Corporation
Overall Approach BPM developer IIB developer Create Process Application and
Business Process Design
Create BPM integration service Define 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
11 11 © 2014 IBM Corporation
Agenda
• Overall approach ‒ Products and terminology ‒ How the BPM developer and the IIB developer interact
• BPM development ‒ How the BPM developer sets up their process design and supplies their
specification to the IIB developer
• IIB development ‒ How the IIB developer uses the BPM specification to create an appropriate IIB
integration service ‒ How the IIB developer supplies the integration service connection information
back to the BPM developer
• BPM testing ‒ How the BPM developer incorporates the IIB connection into their process
design and tests it
• BPM Advanced Integration with SCA
12 12 © 2014 IBM Corporation
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 BPM Integration Service
Implemented as Integration service GetBalance
13 13 © 2014 IBM Corporation
Create new BPM Integration Service
• The BPM developer does not attempt to implement the Integration Service
14 14 © 2014 IBM Corporation
Define BPM Integration Service Interface
• Assign Input and Output variables for the Integration Service
15 15 © 2014 IBM Corporation
Move the Integration Service to a BPM Toolkit
Moving an Integration Service to a Toolkit automatically creates a new Snapshot
16 16 © 2014 IBM Corporation
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 ...
17 17 © 2014 IBM Corporation
Agenda
• Overall approach ‒ Products and terminology ‒ How the BPM developer and the IIB developer interact
• BPM development ‒ How the BPM developer sets up their process design and supplies their
specification to the IIB developer
• IIB development ‒ How the IIB developer uses the BPM specification to create an appropriate IIB
integration service ‒ How the IIB developer supplies the integration service connection information
back to the BPM developer
• BPM testing ‒ How the BPM developer incorporates the IIB connection into their process
design and tests it
• BPM Advanced Integration with SCA
18 18 © 2014 IBM Corporation
• WMB v8 introduced the concept of an ‘Application’ ‒ A container for all resources required for a particular solution ‒ Typically comprises several message flows and associated message models ‒ Independently deployable, isolated from other Applications
• WMB v8.0.0.1 introduced the concept of a ‘Service’ ‒ An Application with a well-defined interface and structure (WSDL). ‒ A container for the resources for a Web Services solution. ‒ Renamed in IIB v9 to ‘Integration Service’
• An Integration Service has a binding ‒ SOAP 1.1 HTTP binding by default ‒ Each Operation is implemented by a separate sub-flow. ‒ It has sub-flows to handle exceptions from the input node.
• Create an Integration Service … ‒ From scratch ‒ By importing a WSDL file ‒ By importing a BPM TWX file
What is an IIB Integration Service?
19 19 © 2014 IBM Corporation
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
20 20 © 2014 IBM Corporation
From Quick Start
• Browse to the TWX file
• Select the BPM Integration Service
• Provide the IIB Integration Service name
21 21 © 2014 IBM Corporation
From File → New → Service
• Provide an IIB Integration Service name
• Select Create a new service interface from an IBM BPM integration Service
• Browse to the TWX file
• Select the BPM Integration Service
22 22 © 2014 IBM Corporation
From Patterns Explorer - 1
• Create New Instance
• Provide Instance name
23 23 © 2014 IBM Corporation
From Patterns Explorer - 2
• Need to Configure Pattern Parameters
• First browse to the TWX file
• Select the BPM Integration Service
• Next provide a new IIB Integration Service name
24 24 © 2014 IBM Corporation
From Patterns Explorer - 3
• Generate the IIB Integration Service
25 25 © 2014 IBM Corporation
Explore the IIB Integration Service - 1
• A WSDL is generated to represent the Integration Service with a namespace derived from the BPM Toolkit name
• SOAP 1.1 HTTP binding with URL suffix based on the BPM Integration Service name
• One operation with name based on the BPM Integration Service name
• An overall message flow is generated with sub-flow to handle exceptions from the input node and a placeholder for an operation sub-flow
• The IIB developer is responsible for creating the operation sub-flow
• XML Schemas are generated to represent the Business Objects with a namespace derived from the BPM Toolkit name
26 26 © 2014 IBM Corporation
Explore the IIB Integration Service - 2
Service Descriptor
XSDs
WSDL
Message Flow
Subflows
Click to create
operation subflow
27 27 © 2014 IBM Corporation
Explore the IIB Integration Service - 2
Service Descriptor
XSDs
WSDL
Message Flow
Subflows
28 28 © 2014 IBM Corporation
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 Systems of Record (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
29 29 © 2014 IBM Corporation
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
30 30 © 2014 IBM Corporation
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 host name and port of the deployed service be specified
31 31 © 2014 IBM Corporation
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
32 32 © 2014 IBM Corporation
Agenda
• Overall approach ‒ Products and terminology ‒ How the BPM developer and the IIB developer interact
• BPM development ‒ How the BPM developer sets up their process design and supplies their
specification to the IIB developer
• IIB development ‒ How the IIB developer uses the BPM specification to create an appropriate IIB
integration service ‒ How the IIB developer supplies the integration service connection information
back to the BPM developer
• BPM testing ‒ How the BPM developer incorporates the IIB connection into their process
design and tests it
• BPM Advanced Integration with SCA
33 33 © 2014 IBM Corporation
Import the New TWX file
• Import the new snapshot of the Toolkit from the TWX file via BPC
34 34 © 2014 IBM Corporation
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
35 35 © 2014 IBM Corporation
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
36 36 © 2014 IBM Corporation
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
37 37 © 2014 IBM Corporation
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
38 38 © 2014 IBM Corporation
Agenda
• Overall approach ‒ Products and terminology ‒ How the BPM developer and the IIB developer interact
• BPM development ‒ How the BPM developer sets up their process design and supplies their
specification to the IIB developer
• IIB development ‒ How the IIB developer uses the BPM specification to create an appropriate IIB
integration service ‒ How the IIB developer supplies the integration service connection information
back to the BPM developer
• BPM testing ‒ How the BPM developer incorporates the IIB connection into their process
design and tests it
• BPM Advanced Integration with SCA
39 39 © 2014 IBM Corporation
• IBM 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 BPM Advanced.
WSDL Interface for Export Service component
containing the business process
SCA Import
SCA Export
WSDL Interface for Import
WSDL Reference for Import
IBM Integration Developer
40 40 © 2014 IBM Corporation
SCA Request node - Send outbound synchronous request messages to BPM. - 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 BMP Advanced. – A BPM SCA Import component can use Message
Broker as an SCA endpoint.
SCA Async Request & SCA Async Response nodes
- Send outbound asynchronous request messages to BPM.
- IIB 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.
SCA Nodes in IIB
41 41 © 2014 IBM Corporation
BPM
IIB
1. Receive inbound msg
2. Send reply msg
Processing an inbound message sent from BPM Advanced
42 42 © 2014 IBM Corporation
BPM
IIB
1. Send outbound request msg 2. Receive response msg
Sending a synchronous outbound request to BPM Advanced
43 43 © 2014 IBM Corporation
BPM
IIB
1. Send outbound request msg
2. Receive response msg
Sending an asynchronous outbound request to BPM Advanced
44 44 © 2014 IBM Corporation
IIB Wizards
45 45 © 2014 IBM Corporation
To build this, you can start from IID . . .
1. Develop Business Process Application in IID first.
2. Export Project Interchange (PI) file.
3. Import PI into IIB to create message model and Broker SCA Definition.
4. Create message flow using the Broker SCA Definition.
46 46 © 2014 IBM Corporation
Or you can start from IIB . . .
1. Generate Broker SCA Definition from Message Set in IIB.
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.
© 2014 IBM Corpora8on
For Addi3onal Informa3on l IBM Training
h#p://www.ibm.com/training l IBM WebSphere
h#p://www-‐01.ibm.com/soTware/be/websphere/ l IBM developerWorks
www.ibm.com/developerworks/websphere/websphere2.html l WebSphere forums and community
www.ibm.com/developerworks/websphere/community/
47