IBM WebSphere MQ 概述
消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過寫和檢索出入列隊的針對應用程序的數據(消息)來通信,而無需專用連接來鏈接它們。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用于諸如遠程過程調用的技術。排隊指的是應用程序通過隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。
IBM WebSphere MQ 產品支持應用程序通過不同組件如處理器、子系統、操作系統以及通信協議的網絡彼此進行通信。例如,IBM WebSphere MQ 支持 35 種以上的不同操作系統。
IBM WebSphere MQ 支持兩種不同的應用程序編程接口:Java 消息服務(JMS)和消息隊列接口(MQI)。在 IBM WebSphere MQ 服務器上,JMS 綁定方式被映射到 MQI。如圖 3 所示,應用程序直接與其本地隊列管理器通過使用 MQI 進行對話,MQI 是一組要求隊列管理器提供服務的調用。MQI 的引人之處是它只提供 13 次調用。這意味著對于應用程序編程員它是一種非常易于使用的接口,因為大部分艱苦工作都將透明完成的。
圖形 2. IBM WebSphere MQ 編程
圖 2 顯示了 IBM WebSphere MQ 編程的原理。第一步是讓應用程序與隊列管理器連接。它通過 MQConnect 調用來進行此連接。下一步使用 MQOpen 調用為輸出打開一個隊列。然后應用程序使用 MQPut 調用將其數據放到隊列上。要接收數據,應用程序調用 MQOpen 調用打開輸入隊列。應用程序使用 MQGet 調用從隊列上接收數據。
圖中還顯示了消息通道代理(MCA)、通道出口和對象權限管理器(OAM)。MCA 是 IBM WebSphere MQ 程序,它使用現有傳輸服務諸如 TCP/IP 與 SNA 將消息從本地傳輸隊列移到目標隊列管理器。這些傳輸服務即通道。通道出口是用戶寫入庫,可以在通道運作期間,從已定義位置號之一進入這些庫。OAM 是命令和對象管理的缺省授權服務(針對操作系統)。這三個組件對 IBM WebSphere MQ 的現有安全性解決方案非常重要。