WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3...

21
© 2006 IBM Corporation IBM Software Group Driving WPS through a Queuing System WebSphere Process Server [email protected]

Transcript of WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3...

Page 1: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

© 2006 IBM Corporation

IBM Software Group

Driving WPS through a Queuing System

WebSphere Process Server

[email protected]

Page 2: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 2

IBM SWG

Agenda

●WPS Messaging Foundation: Overview SIBus

●EIS Import Export Overview

●JMS Import Export

�Overview

�Data Binding

�Function Selectors

�Runtime

�Legacy MQ application Integration

Page 3: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 3

IBM SWG

WebSphere Process Server Edges

Service Component

Architecture

Business

Objects

Common Event

Infrastructure

Human

Tasks

Human

Tasks

Business

State

Machines

Business

State

Machines

Business

Rules

Business

RulesBusiness

Processes

Business

Processes

WebSphere Application Server (J2EE Runtime)

Interface

Maps

Business

Object MapsRelationshipsSelectors

Web

Services

Packaged

Applications

Legacy

SystemsBusiness

Partners

Existing

Components

Existing

Messaging

Infrastructure

Page 4: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 4

IBM SWG

Imports

Import definitions include:� name� 1..N interfaces� esbBinding

An import is a valid target for a wire.Data is passed by value

Imports are the SCA way of exposing external services outside of an SCA Module to SCA consumers inside an SCA module. Related details for an esbBinding can be specified at deployment or install time.

Describes how the external service is bound to the current module

esbBinding

WebService

ServiceComponent

StatelessSession Bean

EIS JMS

Page 5: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 5

IBM SWG

Exports

Export definitions include:� name� Target (SCA Component or Import)� 1..N interfaces� esbBinding

Exports are the way to share SCA components inside an SCA module with service consumers outside the SCA module

Describes how the service is bound externally

esbBinding

Identifies the component to be exportedData passed by value

Target

WebService

ServiceComponent

EIS JMS

Page 6: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 6

IBM SWG

Leveraging Messaging Resources in WPS

JMS Resources

Application Server

WebSphere Process Server

MQLinkMQ

QMGRChannels

SI Bus

Import/Export

Connection/Queue/Topic/Bus/ActivationSpec…

Bus/Destination/Mediation…

MQ

Page 7: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 7

IBM SWG

SIBus Logical Model

● Applications connect to a bus, which provides messaging function.

● An application that is to send messages, attaches to a destination as a producer.

● An application that is to receive messages, attaches to a destination as a consumer.

● An application that is to modify messaging behaviour independently of either producers or consumers, is constructed as a mediation, deployed to the bus, and associated with one or more destinations

Bus

DestinationProducer Consumer

Mediation

Page 8: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 8

IBM SWG

Mediation Framework

● Mediation Handlers are user-written code that can:

�Transform messages

�Transcode messages

�Reroute messages

�Manipulate the message header

�Interact with other applications and resource managers

Page 9: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 9

IBM SWG

JMS Import/Export Patterns

JMS JMS

ExportExport Component

JMS

Import

Pseudo SynchronousPseudo Synchronous CallbackCallbackAsynchronousAsynchronous

Page 10: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 10

IBM SWG

EIS JMS Binding

SCA Module

DELIVERYQUEUE

2

inputObject ObjectN

2 – DataBinding: Maps the wire format of the message to a BusinessObject / Business Graph

3

3 – Operation is invoked

Message ProducerMessage Producer

1 Message

1 – FunctionSelector: Returns the native method name based on the implementation

ExportExport

Page 11: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 11

IBM SWG

Function Selector

● JMS Export selects the “Method” to bind by mapping the Event Method

(Native) to Interface method

�Default Function Selector

� The value of “TargetFunctionName” String property will be used as the Native

Method name

�Using a Custom Function Selector

� Custom Function Selector is used to select the method according to any element

in the message header or body (aka. Business data)

� A custom function Sector implements java interface “FunctionSelector”

� And returns the method name to bind using

String getFunctionName(Object[]) Which Object[0] is a JMS message

Page 12: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 12

IBM SWG

JMS Data Binding

● JMS Import/Export supports the following off the shelf data bindings :

� JMSDataBindingImplJava

� Supports JMSObjectMessage and serializes the Data Object to or from the object field of the JMSMessage.

�JMSDataBindingImplXML

� Supports JMSTextMessage. This binding serializes the DataObject to xml format and Parses the XML into a Data Object

� It only supports One part per WSDL message

● Alternatively a custom Data Binding class can be used which:

� Implements the Interface JMSDataBinding

�And manipulates data through void read(javax.jms.message) and void write(javax.jms.message) methods

● A custom JMS data binding "COBOL Copy Book" is required to take advantage of generated COBOL/C Data Binding of CICS and IMS tooling

Page 13: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 13

IBM SWG

Run Time Artifacts

JMS JMS

ExportExport

Component

JMS

Import

Pseudo SynchronousPseudo Synchronous CallbackCallbackAsynchronousAsynchronous

MDBMDB

MDBMDB

Page 14: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 14

IBM SWG

Function Selector and MQ Legacy application● MQ Legacy applications are not able to generate MQRFH2 header

(Includes the JMS Header)

● Need a static function selector for single operation interfaces

�This function Selector always returns the same constants value (String, has some special character limitation)

�Set the Native Method to the constant value

● Similar approach for multi operation Interfaces will be:

�Create one queue for each operation, therefore multiple export is required

�It is not officially tested, and may not be supported even if it works

● Use SIBus routing techniques to support multi operation Interfaces

Page 15: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 15

IBM SWG

A Problem to Solve

● We have an Interface named “MyInterface”

● It has a One Way Operation named “receive”

● It has a Request-Response operation named “convert”

● Message Producer is a MQ legacy application that can not generate JMS Header

● Messages are coming from MQLink

● We want to have one JMS Export per Module

Page 16: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 16

IBM SWG

SIBus Routing Technique for Multi Operation Interfaces

1. Create a Destination for each operation of type queue named basequeue_operationName (i.e Export1_receive and Export1_convert)

2. Set “Default Forward Routing Path” of the Queue Destination to Base Queue (i.e.SCA.APPLICATION.widCell.Bus:Export1)

3. Mediate the queue destination using an SIBus mediation which adds “TargetFunctionName” property with the value “operation” to the message

� JMSPropertyMediataion which maps Destination Context Properties to JMS properties from JMSTransformer Lab can be used here

� Create a Context Property named “TargetFunctionName” with the value “receive”

4. Send MQ messages through MQ link to the defined queue destination, which cause the message with its required property to be forwarded to the base queue destination

Page 17: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 17

IBM SWG

Mediate a Destination

JMSPropertyMediation has been added using mediate button

Page 18: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 18

IBM SWG

Bus

ExportIn_receiveTargetFunctionName=

receive

Default FRP = ExportIn

ExportIn

Multi Operation Interfaces – SIBus Routing

MQ Legacy

App JMSProrperty

Medaition

JMS JMS

ExportExport

ExportIn_convert

TargetFunctionName=

convert

Default FRP = ExportIn

JMSProrperty

Medaition

MQ Legacy

App

QMGRQMGR

MQLink

Page 19: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 19

IBM SWG

Summary

●SIBus is used as a messaging foundation for JMS EIS Import and Export

●JMS Import/Export enable SCA component to interact with Inbound and Outbound EIS Services

● Interface, Method and Data binding help EIS services to bind to SCA components

●FunctionSelectors help Clients that are not originally designed to work with WPS to interact with WPS

Page 20: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 20

IBM SWG

Page 21: WebSphere Process Server - IBM - United States 2006 IBM Corporation Workplace Dashboard Framework 3 IBM SWG WebSphere Process Server Edges Service Component Architecture Business Objects

Workplace Dashboard Framework© 2006 IBM Corporation 21

IBM SWG

Reference Materials

● WebSphere Process Server Product Site

�http://www-306.ibm.com/software/integration/wps/

● WebSphere Process Server Information Center

�http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp

● WebSphere Process Server Zone

�http://www-128.ibm.com/developerworks/websphere/zones/businessintegration/

● Links to resources such as the IBM Redbooks

�http://www.redbooks.ibm.com/