Consuming OSB Services from Oracle BPM
- 16
- January
- 2011
As discussed in my previous post, using Oracle BPM to consume services exposed through Oracle Service Bus is the most common type of integration. In the diagram below you can see the highlighted path that is taken in this case. All of the communication is between the BPM execution engine, Service Bus, and the back end web services.
There are two possible methods to consume the services from OSB in Oracle BPM. The first case is the same as consuming any other web service in Oracle BPM. The second case involves using an Oracle Service Bus connector in Oracle BPM in order to provide better tooling to the developer when consuming the services. Whichever method you choose to use during development will result in the same execution at runtime using standard web service calls. In either case, these integrations are limited to SOAP services exposed over HTTP. Currently SOAP over JMS (or any other protocol) is not supported.
I will now go through an example of consuming a service using both of these methods.
Oracle Service Bus Resources
In this post we will use an example OSB Service called HelloBPM. This is a WSDL based Proxy Service that simply takes in a name and transforms it into a response message of “Hello Name!” Below is the Proxy Service listed in the OSB console:
In order to consume this service as a standard web service, we need to know the URL of the WSDL. By looking at the details of this proxy service in the OSB console, we see the endpoint URL is /OBPM/Services/HelloBPM. We will use this in the next section:
Consuming as Standard Web Service
Within Oracle BPM, the first step in consuming a service either as a Web Service or as an OSB Service is to create a module to hold the service. For the example of consuming the service as a standard Web Service, I have created a module named WebServices. Once the module is created, you can right click on it and go to Catalogue Component -> Web Service. This will bring up the Web service wizard you will use to consume the service:
The first step in the wizard is to provide the WSDL file. As we saw in the OSB console earlier, the endpoint for our service is /OBPM/Services/HelloBPM. We use that endpoint along with our OSB server host and port to retrieve the WSDL. The complete address to the WSDL ishttp://localhost:7001/OBPM/Services/HelloBPM?wsdl
After the introspecting of the service is complete, click finish and you will see a HelloBPM web service module has been created within your WebServices module. This new web services module will contain the service all related schemas are used within the service. This service can now be used within your process.
Consuming using Service Bus Connector
Consuming the same service as an OSB service is very similar to the standard web service. For this example, I have created a module named OSBServices to hold the OSB Service version. This time we will right click on the OSBServices module and select Oracle Service Bus from the Catalogue Component menu.
Because we have not consumed a service from OSB yet we need to create a new OSB configuration. You can provide any name you want for the configuration and select next.
You will then be required to enter the host, port, and login credentials of your OSB server.
Once the OSB configuration has been created you can browse the resources in OSB by project. You can see below that OBPM is the selected project and it contains a single proxy service called HelloBPM.
Once you click next, this service is consumed in much the same way as when using the standard web service. Below is a very similar set of resources created in your catalog underneath your OSBServices module. As with the other option, your service is now ready for use within your process.
Conclusion
As you have seen in this post, the two ways to consume OSB services within Oracle BPM are very similar. However, we find the OSB integration makes it easier for a BPM developer to consume services. If you do not use the OSB integration, the WSDL address for each individual service needs to be provided to the BPM developer to consume the service. However, if you have a small number of services that have not previously been consumed through OSB, it is often easiest to use the standard web service method.
Referenced from Avion Consulting Blog
Related
Recent Posts
- 12.1.0.2 RAC Installation – Step by Step installation on VMware
- OSB FTP Poller continuously throwing exception – while no file pending on FTP Location
- Using JMS Transport with OSB
- Installing Spring Tool Suite and configuring Spring for a development PC
- Rest Enabling SOA using OSB in Oracle 12c
Recent Comments
- Nits on Installing Oracle SOA Suite 12c
- Rajesh Krishna on Installing Oracle SOA Suite 12c
- Nits on Installing Oracle SOA Suite 12c
- Rohinii on Installing Oracle SOA Suite 12c
- Mahitha on Oracle Service Bus (OSB) Development Best Practices.
Archives
- December 2015
- May 2015
- November 2014
- September 2014
- August 2014
- July 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- May 2013
- March 2013
- February 2013
- November 2012
- October 2012
- September 2012
- May 2012
- March 2012
- February 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- June 2011
- May 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- July 2010
- June 2010
- March 2010
- February 2010
- December 2009
- September 2009
- August 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- November 2008
- October 2008
- August 2008
- June 2008
- May 2008
Categories
- AIA
- AXIS2
- Best Practices
- BPEL
- BPM
- Budget
- Build
- Design Patterns
- ESB
- Hermes
- Hibernate
- Home Owners
- Java
- JMS
- JSR 168
- Maven
- Mediator
- Messaging
- Nitin
- OER
- OESB
- Oracle
- OSB
- OWSM
- Portlets
- SDLC
- Sequencing
- Singleton
- SOA
- SOAP
- Spring
- Struts
- UK
- Uncategorized
- Web Services
- WLST
Meta
To find out more, including how to control cookies, see here: Cookie Policy
Recent Posts
- 12.1.0.2 RAC Installation – Step by Step installation on VMware
- OSB FTP Poller continuously throwing exception – while no file pending on FTP Location
- Using JMS Transport with OSB
- Installing Spring Tool Suite and configuring Spring for a development PC
- Rest Enabling SOA using OSB in Oracle 12c
Recent Comments
- Nits on Installing Oracle SOA Suite 12c
- Rajesh Krishna on Installing Oracle SOA Suite 12c
- Nits on Installing Oracle SOA Suite 12c
- Rohinii on Installing Oracle SOA Suite 12c
- Mahitha on Oracle Service Bus (OSB) Development Best Practices.
Archives
- December 2015
- May 2015
- November 2014
- September 2014
- August 2014
- July 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- May 2013
- March 2013
- February 2013
- November 2012
- October 2012
- September 2012
- May 2012
- March 2012
- February 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- June 2011
- May 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- July 2010
- June 2010
- March 2010
- February 2010
- December 2009
- September 2009
- August 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- November 2008
- October 2008
- August 2008
- June 2008
- May 2008
Categories
- AIA
- AXIS2
- Best Practices
- BPEL
- BPM
- Budget
- Build
- Design Patterns
- ESB
- Hermes
- Hibernate
- Home Owners
- Java
- JMS
- JSR 168
- Maven
- Mediator
- Messaging
- Nitin
- OER
- OESB
- Oracle
- OSB
- OWSM
- Portlets
- SDLC
- Sequencing
- Singleton
- SOA
- SOAP
- Spring
- Struts
- UK
- Uncategorized
- Web Services
- WLST