於 WebSphere 商業整合系統中,連接器利用 WebSphere MQ 佇列上的「Java 訊息服務 (JMS)」,提供應用程式與整合分配管理系統之間移動資料的連線功能。 連接器所在的機器必須可讓它存取必要的佇列並與應用程式通訊。
每一個連接器由兩個部份組成,即連接器組織架構和 應用程式特有元件:
圖 2 中顯示連接器的子元件。
應用程式之間的資料是以應用程式特有商業物件的形式交換, 這些商業物件在連接器組織架構與整合分配管理系統之間是作為 WebSphere MQ 訊息 (亦稱為 商業物件訊息) 來傳輸。
商業物件基於一些用途來包裝及傳輸商業資料。它們執行如下的傳送:
與每一資料片段相關並編寫為 Meta 資料的指令, 指定在應用程式資料庫中尋找、建立或更新資料的位置。應用程式特有元件會根據一些稱為商業物件定義的範本, 建立商業物件的新實例,這些定義指定商業物件屬性、值及 Meta 資料的結構和組織。
由於商業物件定義中的應用程式特有資訊及其他 Meta 資料定義應用程式特有元件的動作, 所以應用程式特有元件的行為可描述為 Meta 資料導向的。 Mata 資料導向的應用程式特有元件比較有彈性,因為它所支援的每一種商業物件指示並未寫在程式中。 只要連接器的 Meta 資料語法能夠正確地描述對應的應用程式資料,不需要重新編碼或重新編譯, 應用程式特有元件就可自動支援新商業物件定義。
在整合分配管理系統內,WebSphere MQ 訊息流程藉由整合分配 管理系統定義商業物件訊息處理程序中的步驟。它們指定整合分配管理系統接收訊息與遞送 訊息至目的地應用程式之間所執行的動作或規則集。
商業整合系統中,當本端網路上的應用程式間進行非同步或同步交換時, 便會發生資料流程 (指應用程式或實體間傳送資料的移動和處理程序)。
應用程式間可能需要藉由交換資料,來傳送其資料儲存庫中變更或取得資料。
商業整合系統中的資料交換包含以下步驟:
詳細說明每一個步驟如下。
將變更的應用程式資料傳送給整合分配管理系統的程序就稱為事件通知。 加入商業整合系統的大部分應用程式會在配置處理期間修改而併入一個事件庫,例如用於記載應用程式資料變更和資料要求的表格。為偵測應用程式 是否共用最近變更的資料或需要其他應用程式的資料,連接器組織架構會定期起始 輪詢呼叫。輪詢呼叫會要求應用程式特有元件檢查應用程式 事件庫是否有所變更。
若自上次輪詢呼叫後發生了變更,應用程式特有元件會判斷商業物件定義是否存在以 代表變更的資料或資料要求。連接器的本端儲存庫中,適當商業物件定義的顯示狀態為 一個指示元,此特定變更或要求需要它才可與另一個應用程式通訊。應用程式特有元件會 以商業物件形式傳送應用程式資料給連接器組織架構。這稱為事件遞送, 因為應用程式的資料變更或資料要求視為一種事件。
圖 3顯示的連接器和其支援的基礎架構,正在偵測應用程式資料庫變更並建構應用程式特有商業物件,以將變更資料傳送給整合分配管理系統。
圖例中的號碼代表步驟順序:
當來源應用程式的連接器組織架構收到應用程式特有商業物件時,它會將商業物件轉換為 可置於 WebSphere MQ 佇列中的 WebSphere MQ 訊息,以供整合分配管理系統接收。 連接器組織架構使用資料處理常式,將商業物件轉換為適合目的地 WebSphere MQ 佇列的 XML 型發訊格式訊息。圖 4 顯示此程序。
一旦訊息置於整合分配管理系統的 WebSphere MQ 事件遞送佇列中,整合分配管理系統 便會從佇列中移除它,並透過佇列的訊息流程傳遞它。處理程序可能如下:
結果訊息 (現在稱為要求) 會置於要轉送到目的地應用程式之
連接器組織架構的 WebSphere MQ 要求佇列中。圖 5 說明整合分配管理系統執行的處理程序。
一旦要求置於目的地連接器的佇列中,接聽機制便會 通知連接器組織架構,告知 WebSphere MQ 訊息已在其要求佇列中且需要處理。 連接器組織架構會呼叫資料處理常式,將 WebSphere MQ 訊息轉換成可供目的地應用程式 處理的商業物件,如圖 6 所示。
在某些情況中,要求可能需要來自目的地應用程式的回應。 一般而言,回應可用來:
若需回應,應用程式特有元件會修改要求商業物件以傳送資訊,並將該商業物件傳回 連接器組織架構。連接器組織架構會呼叫資料處理常式,將商業物件轉換為 WebSphere MQ 訊息, 並將該訊息置於原始要求訊息中指定的回覆目的地佇列上。回應訊息中的相互關係 ID 可識別回應的訊息。 圖 7說明回應處理程序的執行方式。
既然您已瞭解商業整合程序中的每一個步驟,您可回頭對系統做一個整體檢視。 圖 8顯示商業整合系統的摘要圖解。 下面顯示兩個說明其作業的範例情況。
例如,以下為商業整合系統啟用應用程式 A 將變更的資料傳送至應用程式 B 以 進行同步處理的步驟:
若應用程式 A 向應用程式 B 要求資料而非通知它資料變更,則應用程式 B 需要 傳回一個回應給應用程式 A。下列範例說明這個範例情況。
以下是商業整合系統啟用應用程式 A 擷取應用程式 B 中有關客戶最新採購資訊的步驟。