Enterprise Administration > Implementing Windchill ESI > Implementing Windchill ESI in an ORACLE Applications Environment > Understanding Windchill ESI Architecture > Windchill ESI Services > Message Flow
  
Message Flow
The following figure describes the message communication process flow for Windchill ESI:
The numbered circles in the figure correspond to the following activities:
1. Windchill PDMLink notifiesWindchill ESI services that an object has changed state.
2. Windchill ESI services traverse the distribution targets associated with the released object and for each set of targets that belong to a given ERP instance, generate the ESI response message by invoking an appropriate getXXX API. Besides generating the response message, the API marks the released object (or objects) as publish pending.
3. The response message is then placed on the relevant JMS queue, which by default is named com.ptc.windchill.esi.DataResponse.<DSN>, where <DSN> refers to the Data Source name for the target Oracle Applications system.
4. EAI software components process the Windchill PDMLink data contained in the JMS message.
* 
Substantial processing may occur with the EAI software components or with the distribution targets between step 4 and step 5, and is not depicted in the figure that appears on the previous page.
Windchill PDMLink.
5. EAI software components receive acknowledgement from the distribution target and create a SOAP-formatted result RPC request.
6. The RPC request is written to the result JMS queue. The default queue name is com.ptc.windchill.esi.Result.
7. Info*Engine receives the RPC request, converts SOAP RPC parameters and JMS message properties to parameters of a Windchill ESI services task.
8. The Windchill ESI services task invokes methods on the Windchill ESI services to record the distribution target acknowledgement.
9. Windchill ESI services create an appropriate RPC result response message. Info*Engine formats the result response message as a SOAP RPC response.
10. Info*Engine stores the RPC response in the JMS queue named on the RPC request. This will be a temporarily created queue and will have a name that is automatically determined by TIBCO EMS.
11. EAI software components process the result response message.
* 
The steps listed above may occur multiple times in response to a Windchill ESI release. These steps are executed once for every ERP instance associated with the released object and each execution of the mentioned steps represents a Windchill ESI transaction. A release may thus result in as many Windchill ESI response messages and PostResult RPC requests for Windchill ESI transactions as there are ERP instances in the release. A postEvent API invocation may also occur. For more information, see Transaction Management. The default queue names referred to in this section can be modified through certain Windchill ESI preferences. For more information, see the Windchill Enterprise Systems Integration Customizer's Guide - Oracle Applications.