配接器為 meta 資料導向。 配接器使用 JavaTM Message Service (JMS) 的 MQ 實作方式, 這是一個用來存取企業傳訊系統的 API。
配接器使用 WebSphere MQ 佇列來實現 WebSphere Commerce 與 ICS 之間的非同步雙向資料交換。 資料在 WebSphere Commerce 與 ICS 的佇列之間是使用 XML 訊息的格式來傳送。 使用 XML 資料處理常式將資料轉換成商業物件, 就可由 ICS 協同作業物件來處理。
如需在同步交換中使用配接器的相關資訊, 請參閱同步要求及回覆交談作業。
於 WebSphere Commerce 中下訂單時,一個 XML 格式的 OrderCreate 訊息會產生,並置入 WebSphere MQ 輸出佇列,如下圖所示。 (此圖例中,假設 WebSphere Commerce 和整合分配管理系統分別安裝在使用不同佇列管理程式的不同機器上, 所以需要一個遠端佇列定義來處理 WebSphere Commerce 的輸出, 並且連接至整合分配管理系統本端的輸入佇列。 當 WebSphere Commerce 和整合分配管理系統皆安裝於相同機器上時, 單一佇列可同時作為 WebSphere Commerce 的輸出佇列與整合分配管理系統的輸入佇列。)
為了偵測 WebSphere Commerce 中的資料事件,配接器會輪詢 WebSphere Commerce 輸出佇列中是否有新的 XML 訊息。 當探查到新訊息時,配接器會將訊息傳送至輸入佇列, 並呼叫資料處理常式將訊息轉換成商業物件(符合來自 WebSphere Commerce 的 資料結構),然後將商業物件傳送至 ICS 中的連接器。 連接器再呼叫對映,從特定 WebSphere Commerce 商業物件產生通用商業物件, 然後將通用商業物件傳送至一或多個協同作業物件。 協同作業物件處理商業物件之後,通用商業物件便對映至特定應用程式商業物件, 特定應用程式商業物件再遞送至已針對後端應用程式所配置的配接器 (例如,適用於 SAP 的 WebSphere Business Integration 配接器)。
相反方向傳送時,WebSphere Commerce 的配接器會接收協同作業傳送的商業物件, 使用資料處理常式來轉換成 XML 格式的訊息,然後將訊息遞送至 WebSphere Commerce WebSphere MQ 佇列。
同步要求及回覆交談作業需要對 WebSphere Commerce 應用程式新增內容或自訂作業, 如下列主題所述。
經由新增 WebSphere Commerce Enhancement Pack (可從
http://www-3.ibm.com/software/webservers/commerce/epacks/v54/ 下載), 您可使用配接器來設置同步訊息流程,以進行從 WebSphere Commerce 傳訊系統至 InterChange Server 或其他外部系統的要求和回覆交談作業。 如需此方法的相關資訊,請參閱 WebSphere Commerce 5.4 及 IBM WebSphere 商業整合系統的整合文件。
若不使用 WebSphere Commerce Enhancement Pack, 您亦可使用 Replyto 佇列來模擬 WebSphere Commerce 與 ICS 之間的同步交換。
如需此方法的詳細資訊,請參閱本手冊稍後的同步遞送。
WebSphere Commerce 應用程式中發生之資料事件的通知, 係透過配接器的輪詢機制來完成。 配接器可輪詢多個輸入佇列,循環式地輪詢每一個佇列, 然後從每一個佇列中擷取指定數目的訊息。 對於輪詢期間擷取的每一個訊息, 配接器會新增一動態子 meta 物件(如果在商業物件中已指定)。 子 meta 物件值可指示配接器在屬性中輸入訊息的格式和輸入佇列的名稱(訊息擷取自這個佇列)。
從輸入佇列擷取訊息時,配接器會查閱訊息標頭中 FORMAT 欄位相關的商業物件名稱。 訊息主體伴隨適當商業物件的新實例再傳送至資料處理常式。 若找不到格式相關的商業物件名稱,則單獨將訊息主體傳送到資料處理常式。 若順利地將訊息內容輸入到商業物件,則配接器會檢查並察看物件是否經過訂閱, 然後遞送至 InterChange Server。
訊息處理中使用的商業物件類型和動詞類型是依據 WebSphere MQ 訊息標頭中包含的 FORMAT 欄位。 配接器使用 meta 物件項目來判斷商業物件名稱和動詞。 您建構 meta 物件來儲存商業物件名稱和動詞, 以建立與 WebSphere MQ 訊息標頭 FORMAT 欄位文字的關聯性。
您可選擇建構動態 meta 物件,於傳送至配接器的商業物件中新增成為子物件。 子 meta 物件值會置換靜態 meta 物件中對整體配接器所指定的值。 若子 meta 物件未被定義或未定義必要的轉換內容, 依預設,配接器會查驗靜態 meta 物件中是否有該值。 您可指定一或多個動態子 meta 物件來代替或補充單一靜態配接器 meta 物件。