建立 Message Queue 用戶端時,所連結的程式庫便會提供用戶端執行階段支援。您可以將用戶端執行階段想像為 Message Queue 服務變成為用戶端一部分的一個階段。例如,當用戶端程式碼呼叫 API 傳送訊息時,會呼叫這些程式庫中的程式碼,以便用適當方式為協定封裝訊息位元,而此協定將用於將訊息轉送至代理程式上的實體目標。
只有支援 Java 用戶端時才需要 JMS 提供者;但是,如圖 1–6 所示,Message Queue 用戶端可以使用 Java 或提供者專用的 C API,傳送或接收訊息。這些介面是在 Java 或 C 執行階段程式庫中實作,會執行建立代理程式連線與依據連線服務請求封裝位元的實際工作。
Java 用戶端執行階段提供 Java 用戶端與代理程式互動所需的物件。這些物件包括連線、階段作業、訊息、訊息產生器與訊息用戶。
C 用戶端執行階段提供 C 用戶端與代理程式互動所需的功能和結構。它支援 JMS 程式設計模型的程序版本。C 用戶端無法使用 JNDI 來存取受管理物件,但是可以透過程式設計建立連線工廠和目標。
Message Queue 服務提供 C API,使舊版 C 和 C++ 應用程式能參與 JMS 型訊息傳送。這兩種 API 所提供的功能中有許多不同之處,會在Java 用戶端與 C 用戶端中進行說明。
請謹記, JMS 規格是僅限於 Java 用戶端使用的標準。C 支援是 Message Queue 提供者專用的支援,不能用於計劃移植到其他提供者的用戶端應用程式。
Message Queue Java 用戶端也可以傳送和接收包裝成 JMS 訊息的 SOAP 訊息。SOAP (簡易物件存取協定) 允許在分散式環境中的兩個對等端之間交換結構化資料。交換的資料由 XML 機制指定。
Sun SOAP 處理目前限制為使用點對點模型,且不保證可靠性。您可以將 SOAP 訊息包裝在 JMS 訊息中,並使用代理程式路由該訊息,這樣就可利用完整功能的 Message Queue 訊息傳送以保證可靠的傳送,並能使用主題及點對點網域。Message Queue 提供公用程式常式,讓訊息產生器將 SOAP 訊息包裝到 JMS 訊息中,也可以讓訊息用戶從 JMS 訊息擷取 SOAP 訊息。
使用 SOAP 訊息為您提供有關 SOAP 訊息處理更加詳細的說明。