應用程式連接器通訊方法

如簡介所述,MQ Workflow 連接器支援 XML API 通訊模式。

使用 XML API,連接器可以傳送訊息來在 MQ Workflow 中觸發動作,以及處理連接器輪詢期間來自 MQ Workflow 的同步要求。連接器會輪詢要求 MQ 訊息發出至此的固定佇列、處理內容,並傳回回應訊息 (必要的話,傳至第二個佇列)。除商業內容之外,發出至連接器的任何 XML 訊息也會指出要執行的協同作業、要使用的動詞及其他處理資訊。

若要使用 XML API,您必須配置指定連接器之輸入佇列的 UPES。

連接器及 UPES

當使用 XML 訊息 API 時,連接器並不直接輪詢 MQ Workflow 來檢查新事件。您必須配置 MQ Workflow 節點,以向外部佇列 (如連接器的佇列) 發出要求。然後連接器才可以輪詢這些外部佇列。

配置 MQ Workflow 節點,以透過 UPES 向外部佇列發出要求。UPES 是為接受 MQ Workflow 伺服器之要求而設計的程式。接著,UPES 可以與伺服器互動,以擷取任何其他資料並傳回結果。MQ Workflow 會處理要求到 XML 訊息的轉換,反之亦然。

圖 1 所示,連接器在 MQ Workflow 系統中的作用很像 UPES 節點。實際上,MQ Workflow 伺服器並不會察覺連接器的存在。

圖 1. 連接器充當 MQ Workflow UPES


連接器起始的要求:XML API

當連接器代表協同作業接收訊息時,連接器會將 XML 要求訊息發出至 MQ Workflow 伺服器的 XML 輸入佇列。或者 (同步) 連接器會 等待 MQ Workflow 伺服器傳回回應訊息。伺服器會觸發工作流程程序並在必要時發出回應。

圖 2 說明從協同作業透過連接器到 MQ Workflow 的訊息要求通訊。

圖 2. XML API 通訊模式:連接器起始的要求


  1. 連接器收到來自協同作業的要求,其要求一個指定給 MQ Workflow 的商業物件。
  2. 使用 XML 資料處理常式,連接器會將內含於母項商業物件的要求物件轉換成 XML。使用 DOM 剖析器,會將 XML 系列化的商業物件納入符合 MQ Workflow 訊息 DTD 的較大型 XML 訊息。有關建立並執行工作流程程序的資訊, 封裝在內含於母項商業物件的 (配置 Meta 物件) 中。
  3. 連接器將要求公佈至 MQ Workflow 伺服器的 XML 輸入佇列。
  4. MQ Workflow 伺服器收到要求並執行動作 (如商業物件內容所指定)。與此同時,連接器 a) 順利傳回 (如果未預期回應),或者 b) 等待回應訊息。
  5. 視連接器發出的要求訊息而定,MQ Workflow 伺服器可能會立即傳回僅包含同時執行之程序的程序實例 ID (PID) 的回應。或者 MQ Workflow 伺服器可能會等待程序完成,再傳回輸出資料結構結果。
  6. 使用 XML DOM 剖析器,連接器會從回應訊息擷取輸出資料結構及程序 ID。這些結構會視需要使用 XML 資料處理常式轉換成商業物件, 並新增至母項商業物件。然後會將此物件傳回等待中的協同作業。

MQ Workflow 起始的要求

圖 3 說明由 MQ Workflow 起始的連接器要求。

圖 3. MQ Workflow 起始的要求


  1. 工作流程實作期間,會定義 UPES,使得傳送給它的訊息被發出到連接器輸入佇列。
  2. 為了要求協同作業的動作,「MQ 伺服器」會將要求資料結構遞送至 UPES (如上述「程式節點」所指示)。然後,MQ Workflow 會將 XML 型程式呼叫訊息傳送至指定的連接器輸入佇列。訊息包含工作流程資料結構。
  3. 連接器會在輪詢佇列時擷取訊息、使用 XML DOM 剖析器剖析內容,並使用「XML 資料處理常式」將輸入資料結構轉換成商業物件。
  4. 如果要非同步執行要求 (使用者在定義 UPES (程式節點) 時所指定),連接器會將商業物件公佈至所有等待中的協同作業,且不將回應傳送回 MQ Workflow 伺服器。
  5. 如果要同步執行要求且已在指令行參數中指定協同作業名稱 (請參閱圖 20), 則連接器會將商業物件傳送至特定的協同作業,並等待物件傳回。連接器會根據傳回的內容建構適當的回應訊息。回應會包含所有商業物件變更。然後,會將回應傳送至 MQ Workflow 伺服器。
  6. 如果要同步執行要求且並未在指令行參數中未指定協同作業名稱 (請參閱圖 20), 則連接器會將商業物件公佈至所有等待中的協同作業,且不將回應傳送回 MQ Workflow 伺服器。雖然此情況類似於上述的非同步情況,但是 MQ Workflow 伺服器仍在等待連接器的回覆。因此協同作業要負責使用服務呼叫要求, 將對應的回應傳送至連接器。
  7. 發出要求的 MQ Workflow UPES (程式節點) 會接收回應碼及商業資料結構結果。

Copyright IBM Corp. 1997, 2003