websphere process server - ibm - united states 2006 ibm corporation workplace dashboard framework 3...
TRANSCRIPT
© 2006 IBM Corporation
IBM Software Group
Driving WPS through a Queuing System
WebSphere Process Server
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
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
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
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
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
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
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
Workplace Dashboard Framework© 2006 IBM Corporation 9
IBM SWG
JMS Import/Export Patterns
JMS JMS
ExportExport Component
JMS
Import
Pseudo SynchronousPseudo Synchronous CallbackCallbackAsynchronousAsynchronous
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
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
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
Workplace Dashboard Framework© 2006 IBM Corporation 13
IBM SWG
Run Time Artifacts
JMS JMS
ExportExport
Component
JMS
Import
Pseudo SynchronousPseudo Synchronous CallbackCallbackAsynchronousAsynchronous
MDBMDB
MDBMDB
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
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
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
Workplace Dashboard Framework© 2006 IBM Corporation 17
IBM SWG
Mediate a Destination
JMSPropertyMediation has been added using mediate button
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
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
Workplace Dashboard Framework© 2006 IBM Corporation 20
IBM SWG
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/