I am looking for a solution to implement the message sequencing option for the below integration scenario between Order management module and projects module using SOA and AIA 11g.
1. The source system triggering requests is the Order management module(sometimes projects module) of Ebiz R12.
2. When an order is booked an event is raised and pushed to WF_Deferred_Q in Ebiz environment.
3. This messages are pushed to WF_BPEL_Q in SOA environment by the QAgent configured at the Ebiz end.
4. At SOA end , there is an AqAdapter configured in OSB(as a proxy service) will poll WF_BPEL_Q and pull the messages.
5. Based on the type of request messages are routed to different requestor ABCS services( AIA framework).
Scenarios possible are:
1. Orders created newly and same are synched to projects module.
2. Orders updated and same is updated in the projects module. (order header id is same for multiple update requests on the order )
Scenario 1: Two update requests for same order
1. When an existing order which has got five line items and each line item has got 2 sub line items, is updated at the same time from different locations(let’s say from India and Japan) where in order from India is updating the quantity on one sub line item whose parent line item is (lets say A) and another request from japan is updating the unit sale price in another sub lie item line item whose parent is also line item A.
2. Both the update requests which are raised will have the same order header ID and also the request from India is errored out while updating the projects module due to some reason which needs some manual intervention to update the data and resubmit the message.
3. Now we want to stop the request from Japan until the request from India is not processed.
4. Simultaneously we want to allow the orders which are independent.
Note: We are not looking to use “wait” option which will have an impact on the performance .
Please suggest your valuable inputs and expert thoughts in implementing the message sequencing with less impact in this situation.