SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
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".

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Último (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

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".