December 1, 2016
Primer: Calling Multiple Services
This is the shortest guide for making an OSB parallel call with GenericParallel.
I assume the GenericParallel service is already deployed on your domain.
(If not, here’s the guide.)
All you need to do then is to call the GenericParallel entry proxy located at GenericParallel/GenericParallel path. The entry proxy takes a list of requests to execute.
For example, collecting the monthly bill for electricity and heating may look like this:
<typ:GPS xmlns:typ="http://genericparallel/types">
<typ:Requests>
<typ:Request GPSTarget="Billing/Electricity">
<GetMonthlyBilling>
<Period>2012/02</Period>
<AccountNo>12345678</AccountNo>
</GetMonthlyBilling>
</typ:Request>
<typ:Request GPSTarget="Billing/Heating">
<RetriveCharges>
<Period>2012/02</Period>
<AccountNo>56789012</AccountNo>
</RetriveCharges>
</typ:Request>
</typ:Requests>
</typ:GPS>
GenericParallel takes the content under each
Then it assembles the responses and returns the combined message to the caller, like this:
<types:GPSResponse xmlns:types="http://genericparallel/types">
<types:Responses>
<types:Response GPSIndex="1" GPSBatchIndex="1">
<soap-env:Envelope>
<soap-env:Body>
<GetMonthlyBillingResponse>
<Amount>35.50</Amount>
</GetMonthlyBillingResponse>
</soap-env:Body>
</soap-env:Envelope>
</types:Response>
<types:Response GPSIndex="2" GPSBatchIndex="1">
<soap-env:Envelope>
<soap-env:Body>
<RetriveChargesResponse>
<Charges>35.50</Charges>
</RetriveChargesResponse>
</soap-env:Body>
</soap-env:Envelope>
</types:Response>
</types:Responses>
</types:GPSResponse>
All that is left to do for you is use the responses. And yes, you may forget about split-join horrors now.
If you want to learn more, feel free to try GenericParallel.
About Me
My name is Vladimir Dyuzhev, and I'm the author of GenericParallel, an OSB proxy service for making parallel calls effortlessly and MockMotor, a powerful mock server.
I'm building SOA enterprise systems for clients large and small for almost 20 years. Most of that time I've been working with BEA (later Oracle) Weblogic platform, including OSB and other SOA systems.
Feel free to contact me if you have a SOA project to design and implement. See my profile on LinkedIn.
I live in Toronto, Ontario, Canada. Email me at info@genericparallel.com