Index Changes

As part of orchestrating services, it is often found necessary to call certain services whose end points (addresses) are not necessarily known at design time. In this article we will see how Dynamic partner links of BPEL 2.0 spec helps in achieving this.

  • Scenario 1: Partner A calls partner B, and provides an address of partner C which will be used by partner B. Consider the following use case.
Sending an EPR to a partner. The EPR (Endpoint reference aka address) is to be included in a message being sent to the partner. For example, I might send an EPR for my insurance company to my shipper, so that the shipper can collect suitable evidence of cargo insurance needed before taking the goods over public roads.
Receiving an EPR from a partner. This is the case of the shipper in the above scenario; receiving an EPR from one partner, and using it to interact with another.
  • Scenario 2: Based on some information, business logic dynamically decides to invoke certain services.
    • The determination of the end point could be based on several factors: customer, QOS (contract), time of day, systems maintenance, resource availability, load balancing, etc.
The following sections describe the dynamic partner link support in the BPEL SE engine.

Currently in document format

In a JBI environment typically the concrete information such as endpoints and addresses sit with Binding Components(BC). With that in context, user should understand that when an end point is dynamically used in BPEL, at runtime, the BPEL Service Engine(SE) queries available BCs to see if any of them understand the endpoint. In the event a BC responds positively, (regardless of which BC), the end point will be used to call out. The underlying JBI framework handles all of this for the users.

It needs to be noted that the current dynamic partner implementation mandates the presence of three fields of the WS-A schema. Address field, service name field and the portName field. The current implementation expects that the service and portName should have been deployed to the BC.


                    <ns1:EndpointReference>
                            <wsa:Address>
                                http://localhost:8080/stockQuoteService/stockQuotePort
                            </wsa:Address>
                            <wsa:ServiceName PortName="stockQuotePort">
                                ns3:stockQuoteService
                            </wsa:ServiceName>
                    </ns1:EndpointReference>

refer How to article.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-16) was last changed on 28-Oct-09 16:54 PM, -0700 by MarkWhite