AS11 Oracle B2B Sync Support - Series 1
- by sinkarbabu.kirubanithi
Synchronous message support has been enabled in Oracle B2B 11G. This would help customers to send the business message and receive the corresponding business response synchronously.
We would like to keep this blog entry as three part series, first one would carry Oracle B2B configuration related details followed by 'how it can be consumed and utilized in an enterprise' using composites backed model. And, the last one would talk about more sophisticated seeded support built on Oracle B2B platform (Note: the last one is still in description phase and ETA hasn't been finalized yet).
Details:
In an effort to enable synchronous processing in Oracle B2B, we provided a platform using the existing 'callout' mechanism. In this case, we expect the 'callout' attached to the agreement to deliver incoming business message (inbound) to back-end application and get the corresponding business response from back-end and deliver it to Oracle B2B as its output.
The output of 'callout' would be processed as outbound message and the same will be attached as a response for the inbound message.
Requirements to enable Sync Support:
Outbound side:
Outbound Agreement - to send business message request
Inbound Agreement - to receive business message response
Inbound side:
Inbound Agreement - to receive business message request
Outbound Agreement - to send business message response
Agreement Level Callout - to deliver the inbound request to back-end and get the corresponding business response
This feature is supported only for HTTP based transport to exchange messages with Trading Partners. One may initiate the outbound message (enqueue) using any of the available Transports in Oracle B2B.
Configuration:
Outbound side:
Please add "syncresponse=true" as "Additional Transport Header" parameter for remote Trading Partner's HTTP delivery channel configuration. This would enable Oracle B2B to process the HTTP response as inbound message and deliver the same to back-end application.
All other configuration related to Agreement and Document setup remain same.
Inbound side:
There is no change in Agreement and Document setup. To enable "Sync Support", you need to build a 'callout' that takes the responsibility of delivering inbound message to back-end and get the corresponding business response from the back-end and attach the same as its output. Oracle B2B treats the output of 'callout' as outbound message and deliver it to Trading Partner as synchronous HTTP response.
The requests that needs to processed synchronously should be received by "syncreceiver" (http://:/b2b/syncreceiver) endpoint in Oracle B2B.
Exception Handling:
Existing Oracle B2B exception handling applies to this use case as well.
Here's the sample callout,
SampleSyncCallout.java
We will get you second part that talks about 'SOA composites' backed model to design the "Sync Support" use case from back-end to Trading Partners, stay tuned.