Logical Flow
There are a total of six messages involved in the communication between the Windchill Open API and the EAI software components:
1. ESIResponse
2. ESIPostResult
3. ESIResultResponse
* 
ESIResultResponse message is sent to a temporary queue created on the fly by the JMS queue requestor. One ESIResponse queue is created for each Oracle Apps instance. Only one ESIResult queue is created for all the Oracle Apps instances. ESIResult and ESIResponse messages are of an XML format, ESIResult is wrapped in SOAP, and transported over JMS. The messaging between Windchill and the EAI software components can be seen in the figure Windchill ESI Message Communication.
Windchill ESI Message Communication
Each of the numbered circles is described in the following message flow.
1. Windchill notifies Info*Engine of a user-triggered change.
2. Info*Engine generates the ESIResponse message.
3. Info*Engine creates a JMS message.
4. Info*Engine sends the JMS ESIResponse message to the com.ptc.windchill.esi.
ESIResponse.<DSN>queue on the TIBCO Enterprise Message Server Server.
5. A JMS Queue Receiver in TIBCO BusinessWorks retrieves the ESIResponse message from the com.ptc.windchill.esi.ESIResponse.<DSN>queue on the TIBCO Enterprise Message Server Server and initiates a process thread.
6. TIBCO BusinessWorks processes the Windchill data contained in the text from the JMS TextMessage for publication to the target ERP System(s).
7. TIBCO BusinessWorks publishes a new message to TIBCO via Rendezvous Daemon (RVD).
8. ERP Adapter receives relevant information and publishes to ERP System using ERP specific APIs (via TCP/IP).
9. ERP System publishes an acknowledgement to the ERP Adapter (via TCP/IP).
10. ERP Adapter publishes the acknowledgement to TIBCO.
11. TIBCO BusinessWorks receives the acknowledgement and wraps it in SOAP.
12. The ESIPostResult and/or ESIPostEvent message is a SOAP encapsulated acknowledgement that is sent to the com.ptc.windchill.esi.Result JMS queue.
13. TIBCO Enterprise Message Server holds the message for delivery to the receiver.
14. ESIPostResult and/or ESIPostEvent Message is sent from TIBCO Enterprise Message Server to Info*Engine.
15. Info*Engine receives the acknowledgement message from TIBCO Enterprise Message Server.
16. Info*Engine unwraps SOAP.
17. Acknowledgement is published to Windchill.
18. Windchill sends ESIResultResponse message to Info*Engine
19. Relevant information is encoded in SOAP.
20. Relevant information is encoded in JMS.
21. ESIResultResponse message with all the relevant content is sent to the com.ptc.windchill.esi.ResultResponse JMS queue.
22. TIBCO Enterprise Message Server holds the message for delivery to the receiver. TIBCO BusinessWorks receives and processes the ESIResultResponse message.
The Windchill ESI EAI Windchill Simulation module is supplemented with static messages that can be used to simulate the messages coming from Windchill and Info*Engine. The actions in the messaging diagram that Windchill and Info*Engine are responsible for are emulated by the Windchill ESI EAI Windchill Simulation module. Specifically, the Windchill ESI EAI Windchill Simulation module performs the following functions:
1. Generate ESIResponse messages
a. ESIResponse messages are identical to those sent by Windchill
2. Place ESIResponse messages on com.ptc.windchill.esi.DataResponse.<DSN>JMS queue
3. Listen for ESIPostResult messages on com.ptc.windchill.esi.Result JMS queue
4. Generate ESIResultResponse messages
a. ESIResultResponse messages are identical to those sent by Windchill
5. Place ESIResultResponse messages on the temporary queue generated on the fly by JMS requestor activity.
* 
All messages the Windchill Simulation module (ESIResponse and ESIResultResponse) sends to the EAI components are identical to those sent by Windchill.
Was this helpful?