Oracle Apps Adapter 6.0 | webMethods Oracle Applications Adapter Documentation | webMethods Oracle Applications Adapter Installation and User’s Documentation | Package Management | Oracle Apps Adapter in a Clustered Environment | Scheduling Service Invocations in a Clustered Environment
 
Scheduling Service Invocations in a Clustered Environment
Services configured from Oracle Apps Adapter can be invoked within a flow that is scheduled from the webMethods scheduler. This is a useful process to invoke Oracle Applications -to-Integration Server query services and Integration Server-to- Oracle Applications Error SQL services.
In a clustered environment, it is important that you do not schedule the same query service using the same query parameters on multiple cluster servers. Doing this can produce duplicate data. The predefined transaction services were designed to prevent a single document being retrieved multiple times. However, it is up to you to ensure that user-defined adapter services do not retrieve a document more than once.
For example, assume you have two cluster servers: Server A and Server B. You schedule a PurchaseOrderNew service to be invoked every 15 minutes. This service is configured to retrieve all new purchase orders for Company A. Assume that you also schedule the same service on Server B. Because the scheduler is not aware of clustering, both services might execute simultaneously, which would cause duplicate purchase orders to be retrieved for Company A. The following figure illustrates this concept.
Step
Description
1
Scheduler A invokes a service to retrieve new purchase orders.
2
Server A begins processing the new purchase orders.
3
Scheduler B invokes a service to retrieve the new purchase orders.
4
Server B receives purchase orders already retrieved by Server A.
5
Server A acknowledges its purchase orders.
6
Server B acknowledges its purchase orders.
If you need to schedule PurchaseOrderNew, PurchaseOrderChange, InvoiceOutbound, or AdvancedShipNotice services on multiple servers, you must ensure that the query parameters on each server will return unique records because Oracle Applications will return the same records for the above transactions until they are acknowledged. The above example would work if Server A was pulling new purchase orders for Company A, while Server B was pulling new purchase orders for Company B. This must also be considered for any custom transaction that requires an acknowledgement.