跳轉到內容

Jakarta EE 程式設計/Jakarta 訊息傳遞

25% developed
來自 Wikibooks,開放世界中的開放書籍

非同步訊息傳遞

[編輯 | 編輯原始碼]

非同步訊息傳遞系統允許兩個或多個應用程式以訊息的形式交換資訊。在這種情況下,訊息是業務資料和網路路由標頭的自包含包。訊息中包含的業務資料可以是任何東西——取決於業務場景——通常包含有關某些業務交易的資訊。在企業系統中,訊息通知應用程式另一個系統中發生的某些事件或事件。

非同步訊息可以透過訊息定向中介軟體 (MOM) 在網路上從一個應用程式傳輸到另一個應用程式。MOM 產品確保訊息在應用程式之間正確分配。此外,MOM 通常為需要可靠地交換大量訊息的企業提供容錯、負載均衡、可擴充套件性和事務支援。MOM 供應商使用不同的訊息格式和網路協議來交換訊息,但基本語義相同。API 用於建立訊息,為其提供有效負載(應用程式資料),為其分配路由資訊,然後傳送訊息。相同的 API 用於接收其他應用程式生成的的訊息。

在現代企業訊息傳遞系統中,應用程式透過稱為 *目標* 的虛擬通道交換訊息。當您傳送訊息時,它將被髮送到目標,而不是傳送到特定應用程式。任何訂閱或註冊對該目標感興趣的應用程式都可以接收該訊息。透過這種方式,接收訊息的應用程式和傳送訊息的應用程式相互解耦。傳送方和接收方之間沒有任何繫結,可以根據需要傳送和接收訊息。

Java 訊息服務

[編輯 | 編輯原始碼]

每個 MOM 供應商都實現了自己的網路協議、路由和管理設施,但不同 MOM 提供的開發人員 API 的基本語義相同。正是 API 的這種相似性使 Java 訊息服務 (JMS) 成為可能。

JMS 是一個與供應商無關的 Java API,可以與許多不同的 MOM 供應商一起使用。JMS 與 JDBC 非常相似,應用程式開發人員可以使用相同的 API 訪問許多不同的系統。如果供應商為 JMS 提供了符合標準的服務提供商,則可以使用 JMS API 向該供應商傳送訊息並從該供應商接收訊息。例如,您可以使用相同的 JMS API 使用 Progress 的 SonicMQ 和 IBM 的 MQSeries 傳送訊息。


Clipboard

待辦事項
新增程式碼和示例。

華夏公益教科書