逻辑流
Windchill Open API 和 EAI 软件组件之间的通信总共涉及六条消息:
1. ESIResponse
2. ESIPostResult
3. ESIResultResponse
|
ESIResultResponse 消息发送至 JMS 队列请求方实时创建的临时队列。为每个 Oracle Apps 实例创建一个 ESIResponse 队列。仅为所有 Oracle Apps 实例创建一个 ESIResult 队列。ESIResult 和 ESIResponse 消息采用 XML 格式,ESIResult 封装在 SOAP 中并通过 JMS 进行传输。有关 Windchill ESI 和 EAI 软件组件之间的消息传送,请参阅图“Windchill 消息通信”。
|
以下消息流将对每个带编号的圆进行说明。
1. Windchill 会将用户触发的变更通知给 Info*Engine。
2. Info*Engine 生成 ESIResponse 消息。
3. Info*Engine 创建 JMS 消息。
4. Info*Engine 将 JMS ESIResponse 消息发送至 TIBCO 企业消息服务器上的 com.ptc.windchill.esi.
ESIResponse.<DSN> 队列。
5. TIBCO BusinessWorks 中的 JMS 队列接收者从 TIBCO 企业消息服务器上的 com.ptc.windchill.esi.ESIResponse.<DSN> 队列检索 ESIResponse 消息并启动进程线程。
6. TIBCO BusinessWorks 会处理 JMS TextMessage 文本中包含的 Windchill 数据,以发布到目标 ERP 系统。
7. TIBCO BusinessWorks 通过 Rendezvous Daemon (RVD) 向 TIBCO 发布新消息。
8. ERP 适配器接收相关信息,并使用 ERP 特定 API (通过 TCP/IP) 发布到 ERP 系统。
9. ERP 系统 (通过 TCP/IP) 向 ERP 适配器发布确认消息。
10. ERP 适配器会将确认消息发布到 TIBCO。
11. TIBCO BusinessWorks 接收确认消息并将其封装在 SOAP 中。
12. ESIPostResult 和/或 ESIPostEvent 消息是发送到 com.ptc.windchill.esi.Result JMS 队列的 SOAP 封装确认。
13. TIBCO 企业消息服务器保存要传送给接收者的消息。
14. ESIPostResult 和/或 ESIPostEvent 消息将从 TIBCO 企业消息服务器发送到 Info*Engine。
15. Info*Engine 接收来自 TIBCO 企业消息服务器的确认消息。
16. Info*Engine 解包 SOAP。
17. 确认消息即会发布至 Windchill。
18. Windchill 将 ESIResultResponse 消息发送至 Info*Engine
19. 相关信息在 SOAP 中进行编码。
20. 相关信息在 JMS 中进行编码。
21. 包含所有相关内容的 ESIResultResponse 消息将发送至 com.ptc.windchill.esi.ResultResponse JMS 队列。
22. TIBCO 企业消息服务器保存要传送给接收者的消息。TIBCO BusinessWorks 接收并处理 ESIResultResponse 消息。
Windchill ESI EAI Windchill 仿真模块还包含静态消息,可用于对来自 Windchill 和 Info*Engine 的消息进行仿真。消息图中 Windchill 和 Info*Engine 负责的操作通过 Windchill ESI EAI Windchill 仿真模块进行仿真。具体来说,Windchill ESI EAI Windchill 仿真模块将执行以下函数:
1. 生成 ESIResponse 消息
a. ESIResponse 消息与 Windchill 发送的消息相同
2. 将 ESIResponse 消息放置在 com.ptc.windchill.esi.DataResponse.<DSN>JMS 队列上
3. 监听 com.ptc.windchill.esi.Result JMS 队列上的 ESIPostResult 消息
4. 生成 ESIResultResponse 消息
a. ESIResultResponse 消息与 Windchill 发送的消息相同
5. 将 ESIResultResponse 消息放置在 JMS 请求方活动实时生成的临时队列上。
| Windchill 仿真模块 (ESIResponse 和 ESIResultResponse) 发送至 EAI 组件的所有消息与由 Windchill 发送的消息相同。 |