配接器以 Java 撰寫,由三個元件組成:
連接器與 XML 資料處理常式相互作用。如需資料處理常式的詳細資訊,請參閱 Data Handler Guide。
圖 1 說明連接器元件的架構。 模組化的連接器設計可讓您設計自訂元件,來取代產品遞送的功能。
連接器會在整合分配管理系統及通訊協定處理常式之間傳遞商業物件。 連接器:
連接器使用的主要方法是 init()、doVerbFor() 及 pollForEvents()。init() 方法會從整合分配管理系統的儲存庫讀取所有配置值、設定 Proxy 名稱 (HTTP 及 HTTPS) 及個別埠,並為通訊協定處理常式 (JavaProtocolHandlerPkgs) 及 XML 資料處理常式 (JavaDataHandlerPkgs) 讀取 Java 類別套件名稱,以及資料處理常式及通訊協定處理常式的內容值。
doVerbFor() 方法處理商業物件要求/回應作業。當連接器從整合分配管理系統收到最上層商業物件時,doVerbFor() 方法會擷取要求商業物件及目的地 URL。 然後 doVerbFor() 方法會建立適當的通訊協定處理常式實例。
當連接器從目的地 URL 收到回應時,doVerbFor() 方法會將資料輸入回應商業物件,作為最上層商業物件的子項,然後將結果傳回整合分配管理系統。 在連接器中,所有的錯誤都會以異常狀況傳送,並透過連接器處理,這會傳回 BON_FAIL,並設定「傳回狀態描述子」。
pollForEvents() 方法用於事件通知。連接器能夠使用商業物件檢查來自某個 URL 的事件。 如需事件通知的詳細資訊,請參閱"事件通知"。
連接器會設定靜態內容, 以包含最上層資料處理常式 Meta 物件的名稱,即為 DataHandlerConfigMO 連接器配置內容中指定的名稱。
通訊協定處理常式可讓連接器使用 HTTP 及 HTTPS 通訊協定來與 URL 通訊。通訊協定處理常式是延伸 Java URLConnection 類別的抽象基礎類別。此類別包含可以實作以提供特定通訊協定 (如 HTTP 及 HTTPS) 支援的抽象方法。 通訊協定處理常式的實例由「通訊協定處理常式組織架構」建立 (「通訊協定處理常式組織架構」是由連接器呼叫)。
WebSphere Business Integration Adapter for XML 包含非同步及同步通訊協定處理常式。 同步通訊協定處理常式會從同步回應中傳回商業物件。 非同步通訊協定處理常式並不預期回應商業物件;它們僅會依據後置作業的回覆碼傳回成功或失敗訊息。 非同步通訊協定處理常式不支援事件通知。
「通訊協定處理常式組織架構」會建立通訊協定處理常式的實例,而連接器會將商業物件傳遞給建立的實例。 通訊協定處理常式會從商業物件中擷取內容類型 (如 text/plain 或 text/xml),並用它來建立 XML 資料處理常式的實例。
當通訊協定處理常式呼叫 createHandler() 方法時,它會以內容類型傳遞。資料處理常式 create 方法會使用句點 (.) 取代正斜線 (/) 字元,並使用底線 (_) 取代所有非英數字元,來傳遞內容類型。 然後,create 方法會在資料處理常式最上層 Meta 物件中尋找符合內容類型之剖析字串的屬性。 如果找不到相符的項目,該方法會將類別名稱建置為 com.crossworlds.DataHandlers.modified content_type。 1
通訊協定處理常式執行下列作業:
如果資料處理常式剖析 XML 字串,則通訊協定處理常式會將該 XML 字串轉換為 XML 串流後,再將其傳遞到 URL。
如果連接器的實作需要支援其他通訊協定,則您必須建置自訂通訊協定處理常式。 如需如何建立自訂通訊協定處理常式的相關資訊,請參閱建置自訂通訊協定處理常式
註腳: