整合分配管理系統也會以 WebSphere MQ 訊息格式傳送要求給連接器組織架構。 要求可請求目的地應用程式執行下列一項:
例如,整合分配管理系統可能傳送要求訊息給連接器,請求刪除合約、更新組件或建立客戶。
當連接器組織架構收到整合分配管理系統的要求時,它會將訊息轉換為適合的商業物件, 並將其轉遞給應用程式特有元件。比方說,如果整合分配管理系統傳送要求來刪除合約, 應用程式特有元件會以 Customer.Delete 商業物件形式接收要求。應用程式特有元件會將 該商業物件轉換成應用程式要求 (這通常是一組 API 呼叫),然後傳回結果 (若有需要)。
圖 18說明與處理整合分配管理系統訊息有關的連接器互動。
當應用程式特有元件收到要求時,它會根據以下三種資訊來決定如何處理要求:
下列主題將說明這些因素。
連接器的應用程式特有元件會依據其應用程式的邏輯和 API 來回應要求中的 Create、 Retrieve、Update 或 Delete 動詞。不同連接器的應用程式特有元件可能以不同的 方式處理相同類型的要求,但邏輯上結果是相同的。
以部份連接器而言,無論要求包含哪一個動詞,僅需要一個方法來執行商業物件作業。 但對於許多連接器來說,每一個動詞皆需要不同的方法。
當應用程式特有元件收到要求時,它會呼叫應用程式中符合商業物件作用中動詞的方法。 例如,當應用程式特有元件收到 AppAEmployee.Update 商業物件時,它會對 AppAEmployee 物件呼叫 Update 方法。Update 方法必須與應用程式相互作用才能執行更新。
圖 19說明部分動詞處理方法。
當圖 19中的連接器收到 Customer.Create、 Item.Retrieve 或 Contract.Delete 要求時,它會分別呼叫其 DoCreate()、 DoRetrieve() 或 DoDelete() 方法。 每一個方法會建置適當的指令,供應用程式執行指定的作業。
連接器的應用程式特有元件藉由建構及解構商業物件,來完成其事件通知和要求處理作業:
從應用程式事件至商業物件以及從商業物件至應用程式要求的連接器轉換作業, 受到設計商業物件時所定義的資料定義 (Meta 資料) 所導向。
應用程式特有元件和商業物件 Meta 資料專門設計來一起運作。應用程式特有元件與其商業物件的設計,類似於某些功能可由軟體或硬體來實作的電腦裝置設計。 開發人員會考量效能、延伸性及其他問題,再決定實作主要功能的位置。
商業物件定義包括指定屬性類型、大小及預設值的內容。它們也包括指示應用程式 特有元件如何處理商業物件的應用程式特有內容。
例如,回顧附錄 F, 使用視覺化測試連接器,它提供一些應用程式特有
資訊的範例,是關於代表客戶的商業物件屬性。圖 15顯示其中一部份範例。
表 5. 與屬性相關之應用程式特有資訊的範例名稱值 (name-value) 參數。
當處理商業物件時,應用程式特有元件會讀取定義並使用應用程式特有資訊來建置應用程式要求。 如需商業物件的詳細資訊,請參閱 Business Object Development Guide。
由於應用程式特有元件是 Meta 資料導向的, 所以它的動作受制於應用程式特有資訊及商業物件定義中的其他 Meta 資料。它沒有適用每一種 支援的商業物件的寫在程式中 (hard-coded) 指示。 只要連接器的 Meta 資料語法能夠正確地描述對應的應用程式資料,Meta 資料導向就可讓應用程式特有元件更有彈性地自動支援任何新建或變更的商業物件定義。
下列程序說明應用程式特有元件如何根據商業物件定義來建立商業物件:
圖 20是根據定義建置商業物件的應用程式特有元件範例。 此應用程式特有元件收到一個應用程式事件,其中包含鍵值 (即項目號碼) 為 123 的項目。 應用程式特有元件必須根據商業物件定義建置一個「項目」商業物件,其中包含四個屬性: Group、Description、Price 和 ItemNum。
使用項目號碼 123 來識別項目後,應用程式特有元件可擷取其餘屬性的值。 應用程式特有資訊可識別必要資料的表單和欄位 ID。
例如,FormXFieldB 識別 Group 資料。應用程式特有元件針對項目 ID 123 要求 Form X 中 Field B 的值。 然後,應用程式特有元件使用回覆值 『hardware』 來填入商業物件的 Group 屬性值。
解構程序以反向次序操作。應用程式特有元件使用商業物件定義,決定如何根據所收到商業 物件內含的資料來建立應用程式要求。
商業物件定義中每一個動詞會有與其相關聯的應用程式特有資訊。 動詞的應用程式特有資訊內容對於特定連接器而言是唯一的。 動詞的應用程式特有資訊提供了處理商業物件的其他指示給連接器的應用程式特有元件。
例如,商業物件定義中 Retrieve 動詞的應用程式特有資訊可能提供特殊輸入引數給該應用程式特 有元件的 Retrieve 方法。
例如,假設 MyApp 應用程式有三個表單,其中出現 InventoryItem 的相關資訊:
當 MyApp 的應用程式特有元件對庫存項目執行作業時,它必須參照該作業的正確表單。 在 InventoryItem 商業物件定義中,動詞的應用程式特有資訊可用來儲存表單名稱。