SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Reference: 2005/04/26
Adapter Tutorial
Tutorial 10 : MQSeries Queue to Topic integration using Oracle
BPEL PM and Oracle AS Adapter for JMS
The Oracle Adapter for JMS provides standards based connectivity to various enterprise messaging software
and provides comprehensive support for the JMS specification. This example showcases MQSeries Queue to
Topic integration.
Tutorial 10 : MQSeries Queue to Topic integration using Oracle
BPEL PM and Oracle AS Adapter for JMS.......................................................................1
Overview .............................................................................................................................................................1
Configuring the MQSeries Queue Consumer Service – PartnerLink .................................................................1
Configuring the MQSeries Topic Producer Service............................................................................................5
Configuring an end to end BPEL process ...........................................................................................................7
Deployment and testing of the BPEL process...................................................................................................10
Appendix ...........................................................................................................................................................12
MQSeries Topic Setup ......................................................................................................................................12
Overview
The Oracle AS Adapter for JMS is part of the Oracle BPEL Process Manager install and is a JCA 1.5 Resource
Adapter. The Adapter Framework (AF) is used for the bidirectional integration of the JCA 1.5 resource
adapters with BPEL Process Manager. Adapter FW is based on open standards and employs the Web Service
Invocation Framework (WSIF) technology for exposing the underlying JCA Interactions as Web Services. This
example showcases the following:
(1) a MQSeries Queue Consumer dequeing the message from a MQSeries queue and triggering the BPEL
process. The message payload is of type “Text” and is defined by a XSD
(2) A MQSeries Topic Producer enqueuing the message to a MQSeries Topic based on the invoke BPEL
message.
Configuring the MQSeries Queue Consumer Service – PartnerLink
The Oracle Adapters have an easy-to-use Adapter Wizard that is supported on both JDeveloper and Eclipse
platforms. This example showcases the steps for the JDeveloper IDE and is pretty much the same for the
Eclipse IDE as well.
1. Launch JDeveloper. This is bundled with the BPEL Process Manager product.
2. Drag & drop an empty BPEL project
3. Drag & drop a Partner Link activity.
4. Select the Adapter Wizard (no 3) option.
5. Select the JMS Adapter option
6. Follow the Adapter wizard screens as shown in the below figures:
7. Name the Adapter Service
8. Specify the JNDI name for the run-time connection.
9. Select the “ConsumeMessage” option in the next screen
10. Enter the MQSeries parameters as shown below. The Destination Name refers to the MQSeries Queue
Name. The targetClient=0 is used indicates that the JMS Header will be part of the message. You have
to specify the targetClient value of “1” if you want the JMS Headers to be truncated from the
message. The JMS Adapter supports Text and Byte messages. This example uses the Text Message
format.
11. The Adapter payload (Text or Byte) can be pointed to a delimited, fixed-positional, Cobol copy book
data or an XSD schema. This example uses an XSD schema.
12. This completes the configuration of the MQSeries Consumer Service
13. Complete the Partner Link as shown below:
Configuring the MQSeries Topic Producer Service
14. Drag & drop a Partner Link activity & name the Adapter Service.
15. Specify the JNDI name of the run-time connection
16. Select the “Produce_Message” option.
17. Enter the parameters for the MQSeries Topic Producer. The Destination Name refers to the Topic for
enqueuing the messages. The Message Type is “Text”. The Delivery Mode, Priority and TimeToLive
are set to defaults. Please refer to the JMS Adapter User Guide for further information on these
parameters.
18. Specify the schema for the incoming Text Message.
19. This completes the creation of the MQSeries producer service
20. Complete the configuration of MQSeries Producer Service as shown in the below figure.
Configuring an end to end BPEL process
21. Configure a receive activity to point to the MQSeries Consumer Service
22. Select “create Instance” option and create a global variable (“InputVariable” in this example) to receive
the incoming message from the MQSeries Consumer.
23. Drag & drop an invoke activity and point to the MQSeries Topic Producer Partner Link
24. Drag & drop an assign activity to set the MQSeries Header and Payload message for the MQSeries
Producer.
25. The end to end BPEL process looks like the following:
Deployment and testing of the BPEL process
26. Set the OC4J-ra.xml of the Oracle AS Adapter for JMS to point to the MQSeries Queue run-time
connection parameters as shown in the following figure.
<connector-factory location="eis/mqseries/Queue" connector-name="Jms Adapter">
<config-property name="connectionFactoryLocation" value="com.ibm.mq.jms.MQQueueConnectionFactory"/>
<config-property name="factoryProperties" value="QueueManager=MS_BPEL_Queue_Mgr;
TransportType=1;HostName=127.0.0.1;Port=1414;
Channel=MS_BPEL_Channel"/>
<config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/>
<config-property name="isTopic" value="false"/>
<config-property name="isTransacted" value="true"/>
<config-property name="username" value="MUSR_MQADMIN"/>
<config-property name="password" value="welcome"/>
</connector-factory>
27. Set the OC4J-ra.xml of the Oracle AS Adapter for JMS to point to the MQSeries Topic run-time
connection parameters as shown in the following figure.
<connector-factory location="eis/mqseries/Topic" connector-name="Jms Adapter">
<config-property name="connectionFactoryLocation"
value="com.ibm.mq.jms.MQTopicConnectionFactory"/>
<config-property name="factoryProperties" value="QueueManager=MS_BPEL_Queue_Mgr;
BrokerQueueManager=MS_BPEL_Queue_Mgr;
TransportType=1;HostName=127.0.0.1;Port=1414;
Channel=MS_BPEL_Channel"/>
<config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/>
<config-property name="isTopic" value="true"/>
<config-property name="isTransacted" value="true"/>
<config-property name="username" value="MUSR_MQADMIN"/>
<config-property name="password" value="welcome"/>
</connector-factory>
28. Deploy the BPEL process and Restart the BPEL server.
29. Test the BPEL process by doing a put operation in the MQSeries Queue
30. Use the Websphere MQ Explorer (MQSeries management & monitoring tool) to put messages into the
Source_Queue and to check messages created in the Destination_queue.
31. The successful flow is shown in the below figure.
Appendix
MQSeries Topic Setup
1. Download and install MQSeries.
The evaluation installable can be found at
http://www14.software.ibm.com/webapp/download/product.jsp?s=p&id=TDUN-49EVER&dt=TRIAL&v=5.3
Please use the default directory for installation of the product.
2. Configure the JMSAdmin.config file .This file can be found at the following location.
"<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere
MQJavabin"
Edit the following entries :
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
PROVIDER_URL=file://localhost/D:/JNDIBindings
The provider URL is the place where the JNDI context is created for MQSeries Topics.You have to explicitly
create the directory D:/JNDIBindings. The drive can be any drive (A-Z). The directory name can be anything.
SECURITY_AUTHENTICATION=none
3. You need to apply the latest fix packs for WebSphere MQ V5.3 (such as Fix Pack 8, CSD08) include MA0C
to use the Publish/Subscribe functionality of MQSeries. This patch can be downloaded at the following location
and gets installed under Program Files/IBM directory.
http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg24000643&loc=en_US&cs=utf-8&lang=en
1. Please make sure that the jar files under the following directory are included in the CLASSPATH
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavalib
5. You need to run the following script to create the queues required for MQSeries Topic setup.
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>
runmqsc QMGR < MQJMS_PSQ.mqsc
1. Run JMSAdmin and the following set of commands to create a TopicConnectionFactory (SampleTCF) and
Topic (testTopic). The JNDI name for the testTopic is /test/demo/testTopic.
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere
MQJavabin>JMSAdmin
InitCtx>def tcf(SampleTCF) qmgr(QMGR)
InitCtx> def ctx(test)
InitCtx> chg ctx(test)
InitCtx/test> def ctx(demo)
InitCtx/test> chg ctx(demo)
InitCtx/test/demo> def t(DemoTopic) topic(testTopic)
InitCtx/test/demo> display ctx
Contents of InitCtx/test/demo
.bindings java.io.File
a DemoTopic com.ibm.mq.jms.MQTopic
2 Object(s)
0 Context(s)
. Make sure the queue manager's publish/subscribe broker is running. To check, run the dspmqbrk command.
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>
dspmqbrk -m <QMGR>
The following exception is obtained if the publish/subscribe broker queue manager is not running:
MQSeries Publish/Subscribe broker for queue manager <QMGR> not active
8. To start it, run the command strmqbrk as shown below:
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>
strmqbrk -m <QMGR>
The following output is obtained after successful start of the broker queue manager:
MQSeries Publish/Subscribe broker started for queue manager <QMGR>.
You need to run the following command for stopping the broker queue manager.
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>
endmqbrk -m <QMGR>
The following output is obtained after successful start of the broker queue manager:
MQSeries Publish/Subscribe broker started for queue manager <QMGR>.
You need to run the following command for stopping the broker queue manager.
<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>
endmqbrk -m <QMGR>
9. Create a channel using the MQSeries Explorer of type "Server Connection".

Más contenido relacionado

La actualidad más candente

Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5IndicThreads
 
Oracle fusionmiddlewarecontinuosintegration slideshare_v1
Oracle fusionmiddlewarecontinuosintegration slideshare_v1Oracle fusionmiddlewarecontinuosintegration slideshare_v1
Oracle fusionmiddlewarecontinuosintegration slideshare_v1Rakesh Gujjarlapudi
 
servlet 2.5 & JSP 2.0
servlet 2.5 & JSP 2.0servlet 2.5 & JSP 2.0
servlet 2.5 & JSP 2.0megrhi haikel
 
Building A Simple Web Service With CXF
Building A Simple Web Service With CXFBuilding A Simple Web Service With CXF
Building A Simple Web Service With CXFCarl Lu
 
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...ijcsit
 
Mule Collection Aggregator
Mule Collection AggregatorMule Collection Aggregator
Mule Collection AggregatorAnkush Sharma
 
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperEAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperTorry Harris Business Solutions
 
Java Messaging Services
Java Messaging ServicesJava Messaging Services
Java Messaging Serviceskumar gaurav
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and ServletsRaghu nath
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxfRoger Xia
 
All adapterscommonproperties
All adapterscommonpropertiesAll adapterscommonproperties
All adapterscommonpropertiesXAVIERCONSULTANTS
 
Horizontal clustering configuration steps
Horizontal clustering configuration steps Horizontal clustering configuration steps
Horizontal clustering configuration steps TUSHAR VARSHNEY
 

La actualidad más candente (18)

Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5Indic threads pune12-java ee 7 platformsimplification html5
Indic threads pune12-java ee 7 platformsimplification html5
 
EJB 3.2 part 1
EJB 3.2 part 1EJB 3.2 part 1
EJB 3.2 part 1
 
Oracle fusionmiddlewarecontinuosintegration slideshare_v1
Oracle fusionmiddlewarecontinuosintegration slideshare_v1Oracle fusionmiddlewarecontinuosintegration slideshare_v1
Oracle fusionmiddlewarecontinuosintegration slideshare_v1
 
servlet 2.5 & JSP 2.0
servlet 2.5 & JSP 2.0servlet 2.5 & JSP 2.0
servlet 2.5 & JSP 2.0
 
Building A Simple Web Service With CXF
Building A Simple Web Service With CXFBuilding A Simple Web Service With CXF
Building A Simple Web Service With CXF
 
Jms queues
Jms queuesJms queues
Jms queues
 
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...
Performance Variations in Profiling Mysql Server on the Xen Platform: Is It X...
 
Mule Collection Aggregator
Mule Collection AggregatorMule Collection Aggregator
Mule Collection Aggregator
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule jms
Mule   jmsMule   jms
Mule jms
 
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperEAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
 
Java Messaging Services
Java Messaging ServicesJava Messaging Services
Java Messaging Services
 
JSP Error handling
JSP Error handlingJSP Error handling
JSP Error handling
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and Servlets
 
Mule security
Mule securityMule security
Mule security
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxf
 
All adapterscommonproperties
All adapterscommonpropertiesAll adapterscommonproperties
All adapterscommonproperties
 
Horizontal clustering configuration steps
Horizontal clustering configuration steps Horizontal clustering configuration steps
Horizontal clustering configuration steps
 

Destacado

Creating MQ Clister
Creating MQ ClisterCreating MQ Clister
Creating MQ Clistershafikz
 
websphere MQ training Online
websphere MQ training Onlinewebsphere MQ training Online
websphere MQ training OnlineDivya Angel
 
Message Queue (MQ) Testing
Message Queue (MQ) TestingMessage Queue (MQ) Testing
Message Queue (MQ) TestingUjjwal Gupta
 
Message Queue (MQ) Testing
Message Queue (MQ) TestingMessage Queue (MQ) Testing
Message Queue (MQ) TestingUjjwal Gupta
 
IBM MQ Online Tutorials
IBM MQ Online TutorialsIBM MQ Online Tutorials
IBM MQ Online TutorialsBigClasses.com
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guideRam Babu
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ BasicPRASAD BHATKAR
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsBiju Nair
 
JMS Providers Overview
JMS Providers OverviewJMS Providers Overview
JMS Providers OverviewVadym Lotar
 

Destacado (12)

Creating MQ Clister
Creating MQ ClisterCreating MQ Clister
Creating MQ Clister
 
websphere MQ training Online
websphere MQ training Onlinewebsphere MQ training Online
websphere MQ training Online
 
Message Queue (MQ) Testing
Message Queue (MQ) TestingMessage Queue (MQ) Testing
Message Queue (MQ) Testing
 
Message Queue (MQ) Testing
Message Queue (MQ) TestingMessage Queue (MQ) Testing
Message Queue (MQ) Testing
 
IBM MQ Online Tutorials
IBM MQ Online TutorialsIBM MQ Online Tutorials
IBM MQ Online Tutorials
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
IBM MQ V9 Overview
IBM MQ V9 OverviewIBM MQ V9 Overview
IBM MQ V9 Overview
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
 
WebSphere MQ tutorial
WebSphere MQ tutorialWebSphere MQ tutorial
WebSphere MQ tutorial
 
JMS Providers Overview
JMS Providers OverviewJMS Providers Overview
JMS Providers Overview
 

Similar a MQSeries Queue to Topic BPEL

Ibm mq with c# sending and receiving messages
Ibm mq with c# sending and receiving messagesIbm mq with c# sending and receiving messages
Ibm mq with c# sending and receiving messagesShreesha Rao
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsSebastian Springer
 
Background Tasks with Worker Service
Background Tasks with Worker ServiceBackground Tasks with Worker Service
Background Tasks with Worker Servicessusere19c741
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistSalim M Bhonhariya
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorSantosh Kumar Kar
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083Divyam Pateriya
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portalVinay Kumar
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshopRohit Kelapure
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892Tuna Tore
 
Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Amazon Web Services
 
Integration of mule esb with microsoft azure
Integration of mule esb with microsoft azureIntegration of mule esb with microsoft azure
Integration of mule esb with microsoft azuresivachandra mandalapu
 
IBM Informix dynamic server and websphere MQ integration
IBM Informix dynamic server and websphere MQ  integrationIBM Informix dynamic server and websphere MQ  integration
IBM Informix dynamic server and websphere MQ integrationKeshav Murthy
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-serviceshomeworkping3
 

Similar a MQSeries Queue to Topic BPEL (20)

Bpminto
BpmintoBpminto
Bpminto
 
Bpminto
BpmintoBpminto
Bpminto
 
jms-integration
jms-integrationjms-integration
jms-integration
 
Ibm mq with c# sending and receiving messages
Ibm mq with c# sending and receiving messagesIbm mq with c# sending and receiving messages
Ibm mq with c# sending and receiving messages
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.js
 
Background Tasks with Worker Service
Background Tasks with Worker ServiceBackground Tasks with Worker Service
Background Tasks with Worker Service
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance Checklist
 
Lampstack (1)
Lampstack (1)Lampstack (1)
Lampstack (1)
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL
 
Express node js
Express node jsExpress node js
Express node js
 
Integration of mule esb with microsoft azure
Integration of mule esb with microsoft azureIntegration of mule esb with microsoft azure
Integration of mule esb with microsoft azure
 
IBM Informix dynamic server and websphere MQ integration
IBM Informix dynamic server and websphere MQ  integrationIBM Informix dynamic server and websphere MQ  integration
IBM Informix dynamic server and websphere MQ integration
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services
 
Jdbc ppt
Jdbc pptJdbc ppt
Jdbc ppt
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

MQSeries Queue to Topic BPEL

  • 1. Reference: 2005/04/26 Adapter Tutorial Tutorial 10 : MQSeries Queue to Topic integration using Oracle BPEL PM and Oracle AS Adapter for JMS The Oracle Adapter for JMS provides standards based connectivity to various enterprise messaging software and provides comprehensive support for the JMS specification. This example showcases MQSeries Queue to Topic integration. Tutorial 10 : MQSeries Queue to Topic integration using Oracle BPEL PM and Oracle AS Adapter for JMS.......................................................................1 Overview .............................................................................................................................................................1 Configuring the MQSeries Queue Consumer Service – PartnerLink .................................................................1 Configuring the MQSeries Topic Producer Service............................................................................................5 Configuring an end to end BPEL process ...........................................................................................................7 Deployment and testing of the BPEL process...................................................................................................10 Appendix ...........................................................................................................................................................12 MQSeries Topic Setup ......................................................................................................................................12 Overview The Oracle AS Adapter for JMS is part of the Oracle BPEL Process Manager install and is a JCA 1.5 Resource Adapter. The Adapter Framework (AF) is used for the bidirectional integration of the JCA 1.5 resource adapters with BPEL Process Manager. Adapter FW is based on open standards and employs the Web Service Invocation Framework (WSIF) technology for exposing the underlying JCA Interactions as Web Services. This example showcases the following: (1) a MQSeries Queue Consumer dequeing the message from a MQSeries queue and triggering the BPEL process. The message payload is of type “Text” and is defined by a XSD (2) A MQSeries Topic Producer enqueuing the message to a MQSeries Topic based on the invoke BPEL message. Configuring the MQSeries Queue Consumer Service – PartnerLink The Oracle Adapters have an easy-to-use Adapter Wizard that is supported on both JDeveloper and Eclipse platforms. This example showcases the steps for the JDeveloper IDE and is pretty much the same for the Eclipse IDE as well. 1. Launch JDeveloper. This is bundled with the BPEL Process Manager product.
  • 2. 2. Drag & drop an empty BPEL project 3. Drag & drop a Partner Link activity. 4. Select the Adapter Wizard (no 3) option. 5. Select the JMS Adapter option 6. Follow the Adapter wizard screens as shown in the below figures: 7. Name the Adapter Service 8. Specify the JNDI name for the run-time connection. 9. Select the “ConsumeMessage” option in the next screen
  • 3. 10. Enter the MQSeries parameters as shown below. The Destination Name refers to the MQSeries Queue Name. The targetClient=0 is used indicates that the JMS Header will be part of the message. You have to specify the targetClient value of “1” if you want the JMS Headers to be truncated from the message. The JMS Adapter supports Text and Byte messages. This example uses the Text Message format. 11. The Adapter payload (Text or Byte) can be pointed to a delimited, fixed-positional, Cobol copy book data or an XSD schema. This example uses an XSD schema.
  • 4. 12. This completes the configuration of the MQSeries Consumer Service 13. Complete the Partner Link as shown below:
  • 5. Configuring the MQSeries Topic Producer Service 14. Drag & drop a Partner Link activity & name the Adapter Service. 15. Specify the JNDI name of the run-time connection 16. Select the “Produce_Message” option.
  • 6. 17. Enter the parameters for the MQSeries Topic Producer. The Destination Name refers to the Topic for enqueuing the messages. The Message Type is “Text”. The Delivery Mode, Priority and TimeToLive are set to defaults. Please refer to the JMS Adapter User Guide for further information on these parameters. 18. Specify the schema for the incoming Text Message.
  • 7. 19. This completes the creation of the MQSeries producer service 20. Complete the configuration of MQSeries Producer Service as shown in the below figure. Configuring an end to end BPEL process 21. Configure a receive activity to point to the MQSeries Consumer Service
  • 8. 22. Select “create Instance” option and create a global variable (“InputVariable” in this example) to receive the incoming message from the MQSeries Consumer. 23. Drag & drop an invoke activity and point to the MQSeries Topic Producer Partner Link 24. Drag & drop an assign activity to set the MQSeries Header and Payload message for the MQSeries Producer.
  • 9. 25. The end to end BPEL process looks like the following:
  • 10. Deployment and testing of the BPEL process 26. Set the OC4J-ra.xml of the Oracle AS Adapter for JMS to point to the MQSeries Queue run-time connection parameters as shown in the following figure. <connector-factory location="eis/mqseries/Queue" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="com.ibm.mq.jms.MQQueueConnectionFactory"/> <config-property name="factoryProperties" value="QueueManager=MS_BPEL_Queue_Mgr; TransportType=1;HostName=127.0.0.1;Port=1414; Channel=MS_BPEL_Channel"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="false"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="MUSR_MQADMIN"/> <config-property name="password" value="welcome"/> </connector-factory> 27. Set the OC4J-ra.xml of the Oracle AS Adapter for JMS to point to the MQSeries Topic run-time connection parameters as shown in the following figure. <connector-factory location="eis/mqseries/Topic" connector-name="Jms Adapter"> <config-property name="connectionFactoryLocation" value="com.ibm.mq.jms.MQTopicConnectionFactory"/> <config-property name="factoryProperties" value="QueueManager=MS_BPEL_Queue_Mgr; BrokerQueueManager=MS_BPEL_Queue_Mgr; TransportType=1;HostName=127.0.0.1;Port=1414; Channel=MS_BPEL_Channel"/> <config-property name="acknowledgeMode" value="AUTO_ACKNOWLEDGE"/> <config-property name="isTopic" value="true"/> <config-property name="isTransacted" value="true"/> <config-property name="username" value="MUSR_MQADMIN"/> <config-property name="password" value="welcome"/> </connector-factory> 28. Deploy the BPEL process and Restart the BPEL server. 29. Test the BPEL process by doing a put operation in the MQSeries Queue 30. Use the Websphere MQ Explorer (MQSeries management & monitoring tool) to put messages into the Source_Queue and to check messages created in the Destination_queue.
  • 11. 31. The successful flow is shown in the below figure.
  • 12. Appendix MQSeries Topic Setup 1. Download and install MQSeries. The evaluation installable can be found at http://www14.software.ibm.com/webapp/download/product.jsp?s=p&id=TDUN-49EVER&dt=TRIAL&v=5.3 Please use the default directory for installation of the product. 2. Configure the JMSAdmin.config file .This file can be found at the following location.
  • 13. "<Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin" Edit the following entries : INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory PROVIDER_URL=file://localhost/D:/JNDIBindings The provider URL is the place where the JNDI context is created for MQSeries Topics.You have to explicitly create the directory D:/JNDIBindings. The drive can be any drive (A-Z). The directory name can be anything. SECURITY_AUTHENTICATION=none 3. You need to apply the latest fix packs for WebSphere MQ V5.3 (such as Fix Pack 8, CSD08) include MA0C to use the Publish/Subscribe functionality of MQSeries. This patch can be downloaded at the following location and gets installed under Program Files/IBM directory. http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg24000643&loc=en_US&cs=utf-8&lang=en 1. Please make sure that the jar files under the following directory are included in the CLASSPATH <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavalib 5. You need to run the following script to create the queues required for MQSeries Topic setup. <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin> runmqsc QMGR < MQJMS_PSQ.mqsc 1. Run JMSAdmin and the following set of commands to create a TopicConnectionFactory (SampleTCF) and Topic (testTopic). The JNDI name for the testTopic is /test/demo/testTopic. <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin>JMSAdmin InitCtx>def tcf(SampleTCF) qmgr(QMGR) InitCtx> def ctx(test) InitCtx> chg ctx(test) InitCtx/test> def ctx(demo) InitCtx/test> chg ctx(demo) InitCtx/test/demo> def t(DemoTopic) topic(testTopic) InitCtx/test/demo> display ctx Contents of InitCtx/test/demo .bindings java.io.File a DemoTopic com.ibm.mq.jms.MQTopic 2 Object(s) 0 Context(s) . Make sure the queue manager's publish/subscribe broker is running. To check, run the dspmqbrk command. <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin> dspmqbrk -m <QMGR>
  • 14. The following exception is obtained if the publish/subscribe broker queue manager is not running: MQSeries Publish/Subscribe broker for queue manager <QMGR> not active 8. To start it, run the command strmqbrk as shown below: <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin> strmqbrk -m <QMGR> The following output is obtained after successful start of the broker queue manager: MQSeries Publish/Subscribe broker started for queue manager <QMGR>. You need to run the following command for stopping the broker queue manager. <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin> endmqbrk -m <QMGR> The following output is obtained after successful start of the broker queue manager: MQSeries Publish/Subscribe broker started for queue manager <QMGR>. You need to run the following command for stopping the broker queue manager. <Drive>:Program FilesIBMSourceWebSphere MQ t_en_usMSIProgram FilesIBMWebSphere MQJavabin> endmqbrk -m <QMGR> 9. Create a channel using the MQSeries Explorer of type "Server Connection".