SlideShare a Scribd company logo
1 of 10
Download to read offline
Samples are provided as-is with no warranty Page 1 of 10
BPM 11g Samples
bpm-int-101-JMS-integration
Copyright  2011 Oracle Corporation
All Rights Reserved
Samples are provided as-is with no warranty Page 2 of 10
Contents
1. Introduction............................................................................................................4
2. Environment Requirements..................................................................................5
3. Installation and Configuration .............................................................................6
3.1 JMS Queue on the SOA/BPM Server ....................................................................................6
3.2 Update the UIConnectionName in the Adapter JCA Configuration File (Optional) .............6
3.3 Deploy the Two Composite Projects......................................................................................7
4. Sample Overview ...................................................................................................8
5. Sample Scenarios ...................................................................................................9
5.1 Start Process Using Process “Start” Message ........................................................................9
5.2 Start Process Using an “Event” Message...............................................................................9
6. Running the Samples...........................................................................................10
Samples are provided as-is with no warranty Page 3 of 10
History
Date Version Change Reference
Nov-06-2011 1.0 First release of sample
Samples are provided as-is with no warranty Page 4 of 10
1. Introduction
A frequently asked question is whether BPM processes can be started by the arrival of a JMS
message on a Topic or Queue. The short answer is yes, and this sample provides an example of a
BPM process that is started via a JMS message in two common scenarios:
1. The arrival of a message that matches the WSDL of the Service endpoint for the BPM
process. In this case the XML message is exactly the same as would be delivered in the Body
of a SOAP/HTTP message. The root element is typically in the target namespace of the
process, and named after the name of the operation that starts the process. This scenario is
essentially a Web Service call using JMS as the transport.
2. The arrival of a message that is just the payload portion of the message that would be used in
the first scenario, typically a message that describes a business event. This scenario is more
like publishing events over JMS, rather than invoking a Web Service operation over JMS.
In both cases the BPM process is insulated from the type of transport used to deliver messages that
start instances of the process. The process design only specifies the “shape” of the message. The
composite is configured with adapters that are the sources of those messages. In cases where the
“shape” of the adapter message does not match that of the process, a Mediator can be used to
transform the message into the correct “shape”
While the primary objective of this sample is to show how to start processes from JMS messages,
the sample also illustrates:
 Use of configuration plans to override Destination JNDI names.
 Use of Service Properties to set and get JMS Messages Properties.
 Use of JMS Message Selectors to use a shared Destination for multiple message types.
Samples are provided as-is with no warranty Page 5 of 10
2. Environment Requirements
This sample requires JDeveloper version 11.1.1.5 (or higher) with the SOA Composite Editor and
BPM Studio extensions installed. A standalone server with BPM Suite 11.1.1.5 (or higher) and a
domain configured with BPM Suite is required for deploying and running the sample.
Note: This sample will run on 11.1.1.5 or 11.1.1.5 Feature Pack (11.1.1.5-FP). Some of the screen
shots in this document were created using 11.1.1.5-FP, however there are no 11.1.1.5-FP specific
features used in the sample. If you’re using 11.1.1.5-FP, you will be prompted to upgrade the
project when opening it. You will not need to make any other changes to run the sample.
The sample requires a single JMS Queue deployed to the SOA/BPM server to illustrate how BPM
Process can be started via JMS Messages. The JNDI destination name used by the JMS adapters
is jms/sampleQueue. However that value can be overridden by updating the configuration plan
provided in both the sending (BPMJmsSend) and receiving (BPMJmsReceive) projects.
Samples are provided as-is with no warranty Page 6 of 10
3. Installation and Configuration
The sample is provided as a zipped JDeveloper application. The application can be unzipped into
any location where the path name does not include spaces. To open the application, use the
“Application Open” menu and locate the file: bpm-int-101-JMS-integration.jws.
The application contains 3 projects:
 BpmJmsSend – BPM project that generates the JMS messages that start instances of a
process defined in the BpmJmsReceive project.
 BpmJmsReceive – Contains the BPM process that is started by the arrival of messages on
a JMS Queue.
 Resources – A generic project that contains documentation and ANT build targets to
package this sample.
3.1 JMS Queue on the SOA/BPM Server
Then sending and receiving BPM processes use the same JMS Queue. The Destination JNDI
name is defined in the composite.xml file to make it possible to override the JNDI name using a
configuration plan. A sample configuration plan is provided in each project as a sample of how to
override the name at deployment time. The options for configuring JMS are:
 Create a Queue with the Destination JNDI name jms/sampleQueue in your SOA/BPM
domain
 or …
 Update the configuration plan in each project (BpmJmsSend_cfgplan.xml,
BpmJmsReceive_cfgplan.xml) to specify the JNDI name of a Queue that already exists in
your SOA/BPM domain. The example configuration plans are configured to override the
default JNDI name with the value jms/q1.
Note: The connection factory name configured in the adapter configuration is eis/wls/Queue,
which is one of the default factories pre-configured during creation of a SOA/BPM domain. So
the connection factory name does not need to be changed.
3.2 Update the UIConnectionName in the Adapter JCA Configuration File (Optional)
The UIConnectionName is used whenever the JMS Adapter wizard is run. It specifies the name of
the application server where the JMS Destinations can be browsed. If you intend to make changes
to the JMS adapter by running the wizard, you will have to update this value to match the name of
an application server connection in your environment. However you do not need to change this
value to run the sample, or to update the Destination via configuration plan.
Samples are provided as-is with no warranty Page 7 of 10
3.3 Deploy the Two Composite Projects
Use JDeveloper to deploy both composites:
 BpmJmsReceive
 BpmJmsSend
If you have updated the configuration plans to reference a Queue that already exists on you
BPM/SOA server, then be sure to select the configuration plan when deploying the projects. If
you created a Queue with the JNDI name jms/sampleQueue, then do not specify a configuration
plan.
Samples are provided as-is with no warranty Page 8 of 10
4. Sample Overview
As noted in the introduction, a key goal of the sample is to show how processes can be started via
the receipt of JMS messages. The sample is designed to have one BPM process produce (send)
the JMS messages that then create instances of another BPM process in a separate project
(composite).
The “sending” composite. This composite contains a single BPM process that sends JMS
messages to the receiving composite via JMS adapters.
The “receiving” composite. This composite contains the BPM process where instances are
created on receipt of JMS messages. Note that a Mediator is used to transform JMS messages to
match the shape of the Message Start Event in the BPM process.
A single JMS Destination is used for communication between the processes. A message selector
is used in the receiving JMS adapter to distinguish between the two message types (i.e.
startProcess messages and NewOrderEvent message). In the sending process Service Properties
are used to set the “msgType” JMS Message property used in the message selector.
Samples are provided as-is with no warranty Page 9 of 10
5. Sample Scenarios
The sending process (BpmJmsSend) produces two JMS messages via Service Activities that are
bound to outbound JMS adapters. Each message “send” represents one of the two scenarios
described in the introduction.
5.1 Start Process Using Process “Start” Message
In this scenario the sending process send a JMS message that has the same XML schema type as
the operation defined in the target process Message Start Event (i.e. the operation defined in the
process WSDL). Since the sender must have the remote service’s WSDL, this is a scenario that’s
often referred to as Web Service invocation over JMS.
5.2 Start Process Using an “Event” Message
In this scenario the sending process does not have the WSDL of the target service. It just has an
XML schema that represents a Business Event (e.g. NewOrderEvent). The receiving composite
includes a Mediator that will create the target process start message via transformation of the
incoming JMS message.
Note that this is similar to the use of EDN within SOA. However in this case the processes are
directly using JMS to send and receive messages.
Samples are provided as-is with no warranty Page 10 of 10
6. Running the Samples
The sending composite (BpmJmsSend) includes a BPM process that exposes a web service
endpoint. That endpoint defines two parameters that are then used to create the outbound JMS
messages for both scenarios:
 String – orderId
 Integer – orderAmount
To run the sample, log into Enterprise Manager (EM) and navigate to the Test Page for the
BpmJmsSend project. Enter an orderId and orderAmount, then select “Test Web Service”.
If you select the Flow Trace you’ll see the following, which shows the two outbound JMS
messages that result in two instances of the BpmJmsReceive Process being created; one for each
of the scenarios:
If you select the BPMN components you’ll see (via the Log Handler output) the values from the
inbound JMS message, along with the message type that was set as a JMS Message Property by
the sender, and used in the JMS Message Selector to determine which adapter handles the
incoming message.

More Related Content

What's hot

JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
NServiceBus workshop presentation
NServiceBus workshop presentationNServiceBus workshop presentation
NServiceBus workshop presentationTomas Jansson
 
Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jmsSridhar Reddy
 
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1 von gosling
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Kong Yang
 
Lecture 9 - SOA in Context
Lecture 9 - SOA in ContextLecture 9 - SOA in Context
Lecture 9 - SOA in Contextphanleson
 
ActiveMQ Configuration
ActiveMQ ConfigurationActiveMQ Configuration
ActiveMQ ConfigurationAshish Mishra
 
Message Driven Beans (6)
Message Driven Beans (6)Message Driven Beans (6)
Message Driven Beans (6)Abdalla Mahmoud
 
Jms deep dive [con4864]
Jms deep dive [con4864]Jms deep dive [con4864]
Jms deep dive [con4864]Ryan Cuprak
 
Documentum advanced document_transformation_services_release_notes_6.7_sp1
Documentum advanced document_transformation_services_release_notes_6.7_sp1Documentum advanced document_transformation_services_release_notes_6.7_sp1
Documentum advanced document_transformation_services_release_notes_6.7_sp1s_rumaih
 
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld
 

What's hot (16)

Java Messaging Service
Java Messaging ServiceJava Messaging Service
Java Messaging Service
 
Jms
JmsJms
Jms
 
Jms
JmsJms
Jms
 
Jms
JmsJms
Jms
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
NServiceBus workshop presentation
NServiceBus workshop presentationNServiceBus workshop presentation
NServiceBus workshop presentation
 
Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jms
 
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007
 
Weblogic - Introduction to configure JMS
Weblogic  - Introduction to configure JMSWeblogic  - Introduction to configure JMS
Weblogic - Introduction to configure JMS
 
Lecture 9 - SOA in Context
Lecture 9 - SOA in ContextLecture 9 - SOA in Context
Lecture 9 - SOA in Context
 
ActiveMQ Configuration
ActiveMQ ConfigurationActiveMQ Configuration
ActiveMQ Configuration
 
Message Driven Beans (6)
Message Driven Beans (6)Message Driven Beans (6)
Message Driven Beans (6)
 
Jms deep dive [con4864]
Jms deep dive [con4864]Jms deep dive [con4864]
Jms deep dive [con4864]
 
Documentum advanced document_transformation_services_release_notes_6.7_sp1
Documentum advanced document_transformation_services_release_notes_6.7_sp1Documentum advanced document_transformation_services_release_notes_6.7_sp1
Documentum advanced document_transformation_services_release_notes_6.7_sp1
 
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
 

Viewers also liked

Brimstone advanced anti armour missile, united kingdom
Brimstone advanced anti armour missile, united kingdomBrimstone advanced anti armour missile, united kingdom
Brimstone advanced anti armour missile, united kingdomhindujudaic
 
Barn og sosiale medier småtrinnet 11 03 13
Barn og sosiale medier   småtrinnet 11 03 13Barn og sosiale medier   småtrinnet 11 03 13
Barn og sosiale medier småtrinnet 11 03 13Rolf-Anders Moldeklev
 
Novo_Bachelors_Essay (2) (1) (1)
Novo_Bachelors_Essay (2) (1) (1)Novo_Bachelors_Essay (2) (1) (1)
Novo_Bachelors_Essay (2) (1) (1)Derek Novo
 
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0FormazioneTurismo
 
Surpresa às mulheres do Posto de Saúde pelo seu dia
Surpresa às mulheres do Posto de Saúde pelo seu diaSurpresa às mulheres do Posto de Saúde pelo seu dia
Surpresa às mulheres do Posto de Saúde pelo seu diamidiasvidal
 
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13Wayne Pan
 
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...Sven Tuzovic
 
Brainstorming
BrainstormingBrainstorming
BrainstormingLewisGray
 
Questionnaire
QuestionnaireQuestionnaire
QuestionnaireLewisGray
 
Project schedule
Project scheduleProject schedule
Project scheduleLewisGray
 
9997525 questionnaire
9997525 questionnaire9997525 questionnaire
9997525 questionnaireKaylee Marie
 

Viewers also liked (12)

Brimstone advanced anti armour missile, united kingdom
Brimstone advanced anti armour missile, united kingdomBrimstone advanced anti armour missile, united kingdom
Brimstone advanced anti armour missile, united kingdom
 
Barn og sosiale medier småtrinnet 11 03 13
Barn og sosiale medier   småtrinnet 11 03 13Barn og sosiale medier   småtrinnet 11 03 13
Barn og sosiale medier småtrinnet 11 03 13
 
Novo_Bachelors_Essay (2) (1) (1)
Novo_Bachelors_Essay (2) (1) (1)Novo_Bachelors_Essay (2) (1) (1)
Novo_Bachelors_Essay (2) (1) (1)
 
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0
La Puglia: Quando il Territorio si fa Sistema Casi di Successo del Turismo 2.0
 
Árboles.
Árboles.Árboles.
Árboles.
 
Surpresa às mulheres do Posto de Saúde pelo seu dia
Surpresa às mulheres do Posto de Saúde pelo seu diaSurpresa às mulheres do Posto de Saúde pelo seu dia
Surpresa às mulheres do Posto de Saúde pelo seu dia
 
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13
Let's hear from the providers - 7th RISE Summit, Nashville, TN 11MAR13
 
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...
The Role of Marketing in today's Enterprises: A Cross-Cultural Comparison -- ...
 
Brainstorming
BrainstormingBrainstorming
Brainstorming
 
Questionnaire
QuestionnaireQuestionnaire
Questionnaire
 
Project schedule
Project scheduleProject schedule
Project schedule
 
9997525 questionnaire
9997525 questionnaire9997525 questionnaire
9997525 questionnaire
 

Similar to Bpminto

DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
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
 
Client/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationClient/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationRoman Agaev
 
Software testing
Software testingSoftware testing
Software testingnil65
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistSalim M Bhonhariya
 
Optimizing JMS Performance for Cloud-based Application Servers
Optimizing JMS Performance for Cloud-based Application ServersOptimizing JMS Performance for Cloud-based Application Servers
Optimizing JMS Performance for Cloud-based Application ServersZhenyun Zhuang
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083Divyam Pateriya
 
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
 
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11gODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11gEdwin Biemond
 
Introduction to requirement of microservices
Introduction to requirement of microservicesIntroduction to requirement of microservices
Introduction to requirement of microservicesAvik Das
 
Suse service virtualization_image_set up_guide_140214
Suse service virtualization_image_set up_guide_140214Suse service virtualization_image_set up_guide_140214
Suse service virtualization_image_set up_guide_140214Darrel Rader
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance TestingKnoldus Inc.
 

Similar to Bpminto (20)

Jms tutor
Jms tutorJms tutor
Jms tutor
 
Jms
JmsJms
Jms
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
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
 
Jms intro
Jms introJms intro
Jms intro
 
Client/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationClient/Server Paradigm And Its Implementation
Client/Server Paradigm And Its Implementation
 
Mule jms
Mule   jmsMule   jms
Mule jms
 
Software testing
Software testingSoftware testing
Software testing
 
netezza-pdf
netezza-pdfnetezza-pdf
netezza-pdf
 
Azure Service Bus Performance Checklist
Azure Service Bus Performance ChecklistAzure Service Bus Performance Checklist
Azure Service Bus Performance Checklist
 
Optimizing JMS Performance for Cloud-based Application Servers
Optimizing JMS Performance for Cloud-based Application ServersOptimizing JMS Performance for Cloud-based Application Servers
Optimizing JMS Performance for Cloud-based Application Servers
 
Cmis 7.2 deploy
Cmis 7.2 deployCmis 7.2 deploy
Cmis 7.2 deploy
 
Server side programming bt0083
Server side programming bt0083Server side programming bt0083
Server side programming bt0083
 
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
 
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11gODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
ODTUG The Necessary Knowledge and Tools You Need to Have for SOA Suite 11g
 
Introduction to requirement of microservices
Introduction to requirement of microservicesIntroduction to requirement of microservices
Introduction to requirement of microservices
 
Suse service virtualization_image_set up_guide_140214
Suse service virtualization_image_set up_guide_140214Suse service virtualization_image_set up_guide_140214
Suse service virtualization_image_set up_guide_140214
 
JMSSession1TP-final.ppt
JMSSession1TP-final.pptJMSSession1TP-final.ppt
JMSSession1TP-final.ppt
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance Testing
 

More from XAVIERCONSULTANTS (20)

Bpmedn
BpmednBpmedn
Bpmedn
 
Xavier mds upload
Xavier mds uploadXavier mds upload
Xavier mds upload
 
Xavier file adapter_filemoving
Xavier file adapter_filemovingXavier file adapter_filemoving
Xavier file adapter_filemoving
 
Day2 xslt x_path_xquery
Day2 xslt x_path_xqueryDay2 xslt x_path_xquery
Day2 xslt x_path_xquery
 
Custom faultpolicies
Custom faultpoliciesCustom faultpolicies
Custom faultpolicies
 
All adapterscommonproperties
All adapterscommonpropertiesAll adapterscommonproperties
All adapterscommonproperties
 
Adavanced faulthandling
Adavanced faulthandlingAdavanced faulthandling
Adavanced faulthandling
 
SoaFAQS
SoaFAQSSoaFAQS
SoaFAQS
 
Xpath
Xpath Xpath
Xpath
 
Readme
ReadmeReadme
Readme
 
Bpm
BpmBpm
Bpm
 
Bpmnt-102-edn-integration
Bpmnt-102-edn-integrationBpmnt-102-edn-integration
Bpmnt-102-edn-integration
 
Soaosbcourse_content
Soaosbcourse_contentSoaosbcourse_content
Soaosbcourse_content
 
Oracle soa course_content
Oracle soa course_contentOracle soa course_content
Oracle soa course_content
 
EVENT DELIVERY
EVENT DELIVERY EVENT DELIVERY
EVENT DELIVERY
 
jms-integration
jms-integrationjms-integration
jms-integration
 
Bpelprocess-manager
Bpelprocess-managerBpelprocess-manager
Bpelprocess-manager
 
SOA web services concepts
SOA web services conceptsSOA web services concepts
SOA web services concepts
 
Bpel activities to upload club oracle
Bpel activities to upload club oracleBpel activities to upload club oracle
Bpel activities to upload club oracle
 
FiletodbAdapters
FiletodbAdaptersFiletodbAdapters
FiletodbAdapters
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Bpminto

  • 1. Samples are provided as-is with no warranty Page 1 of 10 BPM 11g Samples bpm-int-101-JMS-integration Copyright  2011 Oracle Corporation All Rights Reserved
  • 2. Samples are provided as-is with no warranty Page 2 of 10 Contents 1. Introduction............................................................................................................4 2. Environment Requirements..................................................................................5 3. Installation and Configuration .............................................................................6 3.1 JMS Queue on the SOA/BPM Server ....................................................................................6 3.2 Update the UIConnectionName in the Adapter JCA Configuration File (Optional) .............6 3.3 Deploy the Two Composite Projects......................................................................................7 4. Sample Overview ...................................................................................................8 5. Sample Scenarios ...................................................................................................9 5.1 Start Process Using Process “Start” Message ........................................................................9 5.2 Start Process Using an “Event” Message...............................................................................9 6. Running the Samples...........................................................................................10
  • 3. Samples are provided as-is with no warranty Page 3 of 10 History Date Version Change Reference Nov-06-2011 1.0 First release of sample
  • 4. Samples are provided as-is with no warranty Page 4 of 10 1. Introduction A frequently asked question is whether BPM processes can be started by the arrival of a JMS message on a Topic or Queue. The short answer is yes, and this sample provides an example of a BPM process that is started via a JMS message in two common scenarios: 1. The arrival of a message that matches the WSDL of the Service endpoint for the BPM process. In this case the XML message is exactly the same as would be delivered in the Body of a SOAP/HTTP message. The root element is typically in the target namespace of the process, and named after the name of the operation that starts the process. This scenario is essentially a Web Service call using JMS as the transport. 2. The arrival of a message that is just the payload portion of the message that would be used in the first scenario, typically a message that describes a business event. This scenario is more like publishing events over JMS, rather than invoking a Web Service operation over JMS. In both cases the BPM process is insulated from the type of transport used to deliver messages that start instances of the process. The process design only specifies the “shape” of the message. The composite is configured with adapters that are the sources of those messages. In cases where the “shape” of the adapter message does not match that of the process, a Mediator can be used to transform the message into the correct “shape” While the primary objective of this sample is to show how to start processes from JMS messages, the sample also illustrates:  Use of configuration plans to override Destination JNDI names.  Use of Service Properties to set and get JMS Messages Properties.  Use of JMS Message Selectors to use a shared Destination for multiple message types.
  • 5. Samples are provided as-is with no warranty Page 5 of 10 2. Environment Requirements This sample requires JDeveloper version 11.1.1.5 (or higher) with the SOA Composite Editor and BPM Studio extensions installed. A standalone server with BPM Suite 11.1.1.5 (or higher) and a domain configured with BPM Suite is required for deploying and running the sample. Note: This sample will run on 11.1.1.5 or 11.1.1.5 Feature Pack (11.1.1.5-FP). Some of the screen shots in this document were created using 11.1.1.5-FP, however there are no 11.1.1.5-FP specific features used in the sample. If you’re using 11.1.1.5-FP, you will be prompted to upgrade the project when opening it. You will not need to make any other changes to run the sample. The sample requires a single JMS Queue deployed to the SOA/BPM server to illustrate how BPM Process can be started via JMS Messages. The JNDI destination name used by the JMS adapters is jms/sampleQueue. However that value can be overridden by updating the configuration plan provided in both the sending (BPMJmsSend) and receiving (BPMJmsReceive) projects.
  • 6. Samples are provided as-is with no warranty Page 6 of 10 3. Installation and Configuration The sample is provided as a zipped JDeveloper application. The application can be unzipped into any location where the path name does not include spaces. To open the application, use the “Application Open” menu and locate the file: bpm-int-101-JMS-integration.jws. The application contains 3 projects:  BpmJmsSend – BPM project that generates the JMS messages that start instances of a process defined in the BpmJmsReceive project.  BpmJmsReceive – Contains the BPM process that is started by the arrival of messages on a JMS Queue.  Resources – A generic project that contains documentation and ANT build targets to package this sample. 3.1 JMS Queue on the SOA/BPM Server Then sending and receiving BPM processes use the same JMS Queue. The Destination JNDI name is defined in the composite.xml file to make it possible to override the JNDI name using a configuration plan. A sample configuration plan is provided in each project as a sample of how to override the name at deployment time. The options for configuring JMS are:  Create a Queue with the Destination JNDI name jms/sampleQueue in your SOA/BPM domain  or …  Update the configuration plan in each project (BpmJmsSend_cfgplan.xml, BpmJmsReceive_cfgplan.xml) to specify the JNDI name of a Queue that already exists in your SOA/BPM domain. The example configuration plans are configured to override the default JNDI name with the value jms/q1. Note: The connection factory name configured in the adapter configuration is eis/wls/Queue, which is one of the default factories pre-configured during creation of a SOA/BPM domain. So the connection factory name does not need to be changed. 3.2 Update the UIConnectionName in the Adapter JCA Configuration File (Optional) The UIConnectionName is used whenever the JMS Adapter wizard is run. It specifies the name of the application server where the JMS Destinations can be browsed. If you intend to make changes to the JMS adapter by running the wizard, you will have to update this value to match the name of an application server connection in your environment. However you do not need to change this value to run the sample, or to update the Destination via configuration plan.
  • 7. Samples are provided as-is with no warranty Page 7 of 10 3.3 Deploy the Two Composite Projects Use JDeveloper to deploy both composites:  BpmJmsReceive  BpmJmsSend If you have updated the configuration plans to reference a Queue that already exists on you BPM/SOA server, then be sure to select the configuration plan when deploying the projects. If you created a Queue with the JNDI name jms/sampleQueue, then do not specify a configuration plan.
  • 8. Samples are provided as-is with no warranty Page 8 of 10 4. Sample Overview As noted in the introduction, a key goal of the sample is to show how processes can be started via the receipt of JMS messages. The sample is designed to have one BPM process produce (send) the JMS messages that then create instances of another BPM process in a separate project (composite). The “sending” composite. This composite contains a single BPM process that sends JMS messages to the receiving composite via JMS adapters. The “receiving” composite. This composite contains the BPM process where instances are created on receipt of JMS messages. Note that a Mediator is used to transform JMS messages to match the shape of the Message Start Event in the BPM process. A single JMS Destination is used for communication between the processes. A message selector is used in the receiving JMS adapter to distinguish between the two message types (i.e. startProcess messages and NewOrderEvent message). In the sending process Service Properties are used to set the “msgType” JMS Message property used in the message selector.
  • 9. Samples are provided as-is with no warranty Page 9 of 10 5. Sample Scenarios The sending process (BpmJmsSend) produces two JMS messages via Service Activities that are bound to outbound JMS adapters. Each message “send” represents one of the two scenarios described in the introduction. 5.1 Start Process Using Process “Start” Message In this scenario the sending process send a JMS message that has the same XML schema type as the operation defined in the target process Message Start Event (i.e. the operation defined in the process WSDL). Since the sender must have the remote service’s WSDL, this is a scenario that’s often referred to as Web Service invocation over JMS. 5.2 Start Process Using an “Event” Message In this scenario the sending process does not have the WSDL of the target service. It just has an XML schema that represents a Business Event (e.g. NewOrderEvent). The receiving composite includes a Mediator that will create the target process start message via transformation of the incoming JMS message. Note that this is similar to the use of EDN within SOA. However in this case the processes are directly using JMS to send and receive messages.
  • 10. Samples are provided as-is with no warranty Page 10 of 10 6. Running the Samples The sending composite (BpmJmsSend) includes a BPM process that exposes a web service endpoint. That endpoint defines two parameters that are then used to create the outbound JMS messages for both scenarios:  String – orderId  Integer – orderAmount To run the sample, log into Enterprise Manager (EM) and navigate to the Test Page for the BpmJmsSend project. Enter an orderId and orderAmount, then select “Test Web Service”. If you select the Flow Trace you’ll see the following, which shows the two outbound JMS messages that result in two instances of the BpmJmsReceive Process being created; one for each of the scenarios: If you select the BPMN components you’ll see (via the Log Handler output) the values from the inbound JMS message, along with the message type that was set as a JMS Message Property by the sender, and used in the JMS Message Selector to determine which adapter handles the incoming message.