I am facing some challenges on the B2B and SOA communication.
The architecture (inbound) that we are following is B2B send a message on the JMS queue to AIAB2BInterface which in turn forwards the message to the concerned BPEL process.
The issue is with developing synchronous functional acknowledgements to trading partners in a way that it not just says "B2B received this message" but also means that "this message has been successfully processed by the backend system"(so all the BPEL processes were successful). Though B2B would have received the message successfully but the associated BPEL processes might have failed.
So when I indicate success from B2B in the synchronous functional acknowledgement I want to indicate success in the backend systems also.
Currently we are implementing async functional acknowledgement to indicate success through the backend system for which the implementation is simple; we just have the BPEL process send a message back to B2B via AIAB2BInterface upon completion.
The only solution that I have come across is use of callouts which invokes a SOA sync BPEL composite as a web service and having the sync BPEL process return an acknowledgement back to B2B upon completion/error. But this way I am not using any of the existing JMS queues and the AIAB2BInterface. This is sort of rebuilding the B2B/SOA integration architecture that is being used.
Do we have any ideas/insights on how to implement synchronous functional acknowledgement while supporting the architecture( B2B-> AIAB2BInterface -> BPEL processes) that we are using for the B2B/SOA integrations?