Dynamic endpoint binding in Oracle SOA Suite by Cattle Crew

Posted by JuergenKress on Oracle Blogs See other posts from Oracle Blogs or by JuergenKress
Published on Mon, 2 Jun 2014 01:00:00 +0000 Indexed on 2014/06/02 9:39 UTC
Read the original article Hit count: 317

Filed under:

Why is dynamic endpoint binding needed?
Sometimes a BPEL process instance has to determine at run-time which implementation of a web service interface is to be called. We’ll show you how to achieve that using dynamic endpoint binding.

get_available_carsLet’s imagine the following scenario: we’re running a car rental agency called RYLC (Rent Your Legacy Car) which operates different locations. The process of renting a car is basically identical for all locations except for the determination which cars are currently available. This is depicted in the following diagram:

There are three different implementations of the GetAvailableCars service. But how can we achieve calling them dynamically at run-time using Oracle SOA Suite?

How to dynamically set the service endpoint
There are just a couple of implementation steps we need to perform to enable dynamic endpoint binding:

  • create a new SOA project in JDeveloper
  • add a CarRental BPEL process
  • add an external reference to the GetAvailableCars service within the composite
  • create a DVM file containing the URI’s by which the services for the different locations can be accessed
  • set the endpointURI property on the Invoke component calling the GetAvailableCars service (value is taken from the DVM file)

Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

© Oracle Blogs or respective owner

Related posts about /Community Events