服務訊息物件 (SMO) 是加強型的「服務資料物件」(SDO)。SMO 提供一種抽象層, 以處理和操作服務之間所交換的訊息。
此資訊全當成 SDO DataObject 來存取,且會有一項綱目宣告, 以指定整體的 SMO 結構。綱目是由 WebSphere Integration Developer 產生。
所有 SMO 都有相同的基本結構。此結構含有一個稱為 ServiceMessageObject 的根資料物件, 內含代表標頭、主體和環境定義資料的其他資料物件。SMO 主體含有訊息有效負載。標頭含有源自特定匯入項目或匯出項目連結的資訊。例如,JMS 連結。
SMO 可提供介面,藉以存取和修改訊息標頭和訊息有效負載。SMO 可呈現各種不同訊息類型的邏輯內容。
WebSphere ESB會操作尚在互動端點間進行的訊息。在 WebSphere ESB 中,調解流程會將訊息當成 SMO 來處理。
WebSphere ESB 會建立 SMO 物件, 供調解流程使用。
執行時期所建立的某些 SMO 物件,是由執行時期所提供的類別來實作。例如,WebSphere ESB 提供 ServiceMessageObject 類別。某些 SMO 標頭類別亦由執行時期提供。執行時期所建立的其他 SMO 物件則由開發人員所建立的類別來實作。
在建立調解流程時, WebSphere Integration Developer 會指定每一個端點(輸入、輸出或失敗)的訊息主體類型, 並選擇性地指定環境定義資訊類型。WebSphere ESB 會使用此資訊將訊息轉換成指定類型的 SMO 物件。