Win7-IBM Websphere MQ7 虛擬機下載

本博主已經安裝與配置好的windows7 環境下的mq7虛擬機環境,鏈接:https://pan.baidu.com/s/1YJpcQbkO0fo27i_ZHfe6nQ
提取碼:yrxc
下載後,解壓後,可以用vmware workstaion 打開,直接使用。

MQ幫您搭建企業服務匯流排(ESB)的基礎傳輸層。IBM WebSphere MQ為SOA提供可靠的消息傳遞。它為經過驗證的消息傳遞主幹, 全方位、 多用途的數據傳輸, 並幫助您搭建企業服務匯流排的傳輸基礎設施。
消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過寫和檢索出入列隊的針對應用程序的數據(消息)來通信,而無需專用連接來鏈接它們。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用於諸如遠程過程調用的技術。排隊指的是應用程序通過隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。
IBM WebSphere MQ 支持兩種不同的應用程序編程介面:Java 消息服務(JMS)和消息隊列介面(MQI)。在 IBM WebSphere MQ 伺服器上,JMS 綁定方式被映射到 MQI。應用程序直接與其本地隊列管理器通過使用 MQI 進行對話,MQI 是一組要求隊列管理器提供服務的調用。MQI 的引人之處是它只提供 13 次調用。這意味著對於應用程序編程員它是一種非常易於使用的介面,因為大部分艱苦工作都將透明完成的。
IBM WebSphere MQ 產品支持應用程序通過不同組件如處理器、子系統、操作系統以及通信協議的網路彼此進行通信。

功能編輯
· 跨任何商業IT系統連接應用程序和Web服務, 提供完整的JMS(Java消息服務)支持 [1] , 包括發布-訂閱。
· 對Web服務的整合化支持。
· 基於Eclipse的新工具—MQ Explorer, 適用於Windows和Intel(x86), 支持整個消息傳遞主幹的遠程和安全配置。
· WebSphere MQ V6.0.2增強了JMS和安全性, 構建在WebSphere MQ V6.0中引入的新配置工具之上, 該工具以新Eclipse插件的形式提供, 可增強您的MQ Explorer控制台。
· 與WebSphere Application Server的消息傳遞服務無縫互操作。
· 支持行業標準安全套接字層(Secure Sockets Layer, SSL)安全性, 並提供擴展安全版本來獲得高級安全特性。
· 支持推進現有FTP基礎設施, 確保通過WebSphere MQ進行可靠、 安全的文件傳輸。
· 支持的操作系統: AIX、 HP Unix、 i5/OS、 Linux、 Sun Solaris、 Windows、 z/OS。
操作程序編輯
第一步是讓應用程序與隊列管理器連接。它通過 MQConnect 來進行此連接。下一步調用 MQOpen 為輸出打開一個隊列。然後應用程序調用MQPut 將其數據放到隊列上。要接收數據,應用程序調用 MQOpen 打開輸入隊列。應用程序調用MQGet 從隊列上接收數據。

在開始之前,讓我們先來確定使用 WebSphere MQ 解決的業務問題的種類,並了解 WebSphere MQ 如何能夠幫助您滿足業務要求。

問題:自動化孤島

在大多數業務中,業務的信息技術 (IT) 基礎結構中存在許多不同的技術。系統由這些來自許多供應商的不同的技術組成,並且具有不同的硬體平台、編程語言、操作系統和通信鏈路。通常,連接不同的系統非常複雜並且可能代價高昂,所以許多系統之間都相互隔離。

目前,越來越多的業務還需要以電子的方式與其客戶和供應商進行通信,而這些客戶和供應商可能比該業務本身使用了更多不同的技術。因此,需要某種簡便的、廉價的和可靠的機制用來連接這些異類的系統(「自動化孤島」),以便在內部和外部對業務的 IT 基礎結構進行集成。

解決方案:WebSphere MQ

通過提供一種程序到程序的通信方式,WebSphere MQ 非常適合於上面所描述的環境。圖 1 顯示了這種通信方式的基本機制。

程序 A 準備好一條消息,並將其放入隊列。然後,程序 B 從該隊列中獲取消息,並對其進行處理。這兩個程序都使用一種應用程序編程介面 (API) 與該隊列進行交互。WebSphere MQ API 稱為消息隊列介面 (MQI)。任何一個程序都無需了解對方的存在,並且這兩個程序無需同時執行。如果程序 A 在程序 B 尚未執行的時候將一條消息放入隊列,那麼該隊列將存儲這條消息,直到程序 B 開始執行並準備處理這條消息。類似地,當程序 B 從隊列中檢索消息時,程序 A 可能已經不再處於執行狀態。

應用程序設計

使用 WebSphere MQ 提供的基本通信機制,可以進行同步和非同步的應用程序設計。

在同步的應用程序設計中,如圖 2 所示,假定同時執行這兩個應用程序。程序 A 向隊列 1 發送一條消息並等待應答。程序 B 檢索得到該消息,並對它進行處理,然後將應答消息發送到隊列 2 中,以便程序 A 進行檢索。在使用 WebSphere MQ 設計應用程序時,通常每個程序使用不同的隊列向其他程序發送消息。雖然這不是必需的,但這樣可以提供更簡單的應用程序設計和編程邏輯。另外請記住,這裡假定兩個程序同時執行。如果當程序 A 發送消息時,程序 B 沒有執行,那麼程序 A 將阻塞,直到程序 B 啟動並對消息進行處理。這是同步應用程序通信中的設計問題。

在非同步應用程序設計中,如圖 3 所示,程序 A 再次將消息放到隊列 1,以便程序 B 對其進行處理,但現在,程序 C 與程序 A 進行非同步地操作,它檢索消息並對其進行處理。通常,程序 A 和程序 C 是相同應用程序中的不同部分。

對於 WebSphere MQ 來說,非同步設計是一種非常合適的模型。程序 A 將消息放到隊列中,並繼續執行,即使程序 B 並不對這些消息進行處理,也是如此。在這種情況下,隊列將存儲這些消息,直到程序 B 重新啟動。這種模型有一種變種,即程序 A 將一條或多條消息放到隊列中,並繼續進行其他的處理,然後返回來檢索和處理應答消息。

程序之間的這種通信方式稱為消息傳遞。它與其他通信方式(如對話式的通信或調用和返回通信)的不同之處在於,進行通信的程序之間具有時間獨立性。程序接收消息作為輸入,並輸出其結果作為消息,而不需要同時運行發送或接收程序。

本博主已經安裝與配置好的windows7 環境下的mq7虛擬機,鏈接:https://pan.baidu.com/s/1YJpcQbkO0fo27i_ZHfe6nQ
提取碼:yrxc
下載後,解壓後,可以用vmware workstaion 打開,直接使用。

隊列管理器和 MQI

WebSphere MQ 中的隊列由隊列管理器 所擁有並進行管理。隊列管理器還為應用程序提供了 MQI API,允許它們訪問隊列以及其中包含的消息。MQI 在 WebSphere MQ 支持的所有平台中保持一致,並對應用程序隱藏了隊列管理器的實現細節。

MQI 中有 8 種主要的調用:

MQCONN——連接到隊列管理器

MQCONNX——使用連接選項連接到隊列管理器

MQDISC——斷開與隊列管理器的連接

MQOPEN——打開隊列以便進行訪問

MQCLOSE——關閉訪問的隊列

MQPUT——將一條消息放入隊列

MQGET——從隊列中獲取一條消息

MQPUT1——打開隊列,放入一條消息,然後關閉該隊列

MQI 中有 5 種次要的調用:

MQBEGIN——開始一個工作單元

MQCMIT——提交一個工作單元

MQBACK——回滾一個工作單元

MQINQ——查詢 WebSphere MQ 對象(隊列是一種 WebSphere MQ 對象,隊列管理器是另一種對象)的屬性

MQSET——設置 WebSphere MQ 對象的屬性

消息

WebSphere MQ 中的消息包含兩個部分:WebSphere MQ 使用的 Header 和應用程序數據。圖 4 顯示了一條 WebSphere MQ 消息。

應用程序數據可以包含任何位元組序列。它是使用 WebSphere MQ 與其他應用程序進行通信的應用程序所私有的,並且對 WebSphere MQ 沒有什麼意義。對於應用程序數據的內容沒有任何限制,但不同的平台所允許的消息的最大長度有所不同。在大多數系統中,最大長度為 100MB,但有些系統的最大長度為 4MB。

消息中可能包含各種各樣的 Header,但所有的消息都包含一個稱為消息描述符 (MQMD) 的 Header。其中包含了關於該消息的控制信息,隊列管理器和接收應用程序將使用到這些控制信息。稍後將提供關於 MQMD 和其他 Header 的更詳細的信息。

本地和遠程隊列

隊列管理器可以位於相同或不同的計算機上,它們可以彼此通信,並在不同隊列管理器的隊列之間傳遞消息。隊列管理器為消息提供了可靠的傳遞。例如,當應用程序將消息放入到隊列中時,隊列管理器將確保消息的存儲是安全的、可恢復的,並向接收應用程序傳遞一次且僅傳遞一次,即使必須將消息傳遞到另一個隊列管理器所擁有的隊列,也是如此。

當應用程序打開隊列時,應用程序所連接的隊列管理器將確定該隊列是隊列管理器所擁有的本地 隊列,還是由另一個隊列管理器所擁有的遠程 隊列。對於本地隊列,直接將消息放入到該隊列。如果隊列是遠程的,那麼隊列管理器將消息放到一個稱為傳輸 隊列的特殊隊列。

然後,消息通道代理 (MCA) 從傳輸隊列中獲取消息,並將其通過網路發送到接收端的 MCA。接收 MCA 將該消息放到目標 隊列。在將消息放到目標隊列中之後,便將其從傳輸隊列中刪除。消息流在隊列管理器之間可以是雙向的,如圖 5 中所示。

如果接收 MCA 不能將該消息放到目標隊列中,那麼將根據消息描述符中的選項對其進行處理。可能將其放到死信 隊列,也可能將其返回給發送者,甚至將其丟棄。

通過這種在隊列管理器之間傳遞消息的能力,WebSphere MQ 提供了兩種重要的優點:

應用程序開發人員不需要了解網路的詳細信息。

MCA 可以使用各種網路和通信協議與其他的 MCA 相互通信,並且甚至可以在一段時間之後更改所使用的協議。但是,應用程序開發人員僅需要了解與隊列管理器通信所需的 MQI 調用。

僅需要建立更少的通信鏈路。

許多應用程序使用一個隊列管理器,它們可以與使用另一個隊列管理器的應用程序通信,但是在一對 MCA 之間只需要一條通信鏈路。

設計可能性

 

本博主已經安裝與配置好的windows7 環境下的mq7虛擬機,鏈接:https://pan.baidu.com/s/1YJpcQbkO0fo27i_ZHfe6nQ
提取碼:yrxc
下載後,解壓後,可以用vmware workstaion 打開,直接使用。

現在您已經比較清楚地了解了 WebSphere MQ 的工作方式,即使僅僅是在概略的層次上,下面讓我們來看看在使用 WebSphere MQ 設計系統時,應用程序設計的可能性。

並行處理

要完成總體的業務事務,應用程序可能需要執行多項任務。例如,旅行社可能需要預定航班、預訂酒店房間和預訂計程車。使用 WebSphere MQ,可以將請求消息放到為航班預定系統、酒店預訂系統和轎車出租應用程序提供服務的 3 個隊列中。每個應用程序都可以與其他兩個應用程序並行地執行自己的任務,然後將應答消息放到旅行社應用程序提供的隊列中。在收到這 3 個應答之後,旅行社應用程序可以生成綜合的旅行路線。這種並行處理的方式可以極大地提高整體性能。

客戶端/伺服器處理

另一種應用程序設計方案是客戶端/伺服器處理。在這種情況下,一台伺服器僅使用一個隊列接收來自多個客戶端應用程序的消息。每個請求消息的消息描述符可以指定一個應答隊列。在伺服器完成對消息的處理之後,它將應答消息發送到消息描述符中指定的應答隊列,這樣可以使得每個客戶端應用程序相對於其他客戶端應用程序獨立地接收到其應答消息。

消息描述符中還有一個包含消息標識符的欄位。應答消息的消息描述符可以包含對應的請求消息的標識符。這樣做使得客戶端應用程序可以在應答消息和以前發送的請求消息之間進行關聯。

要使用客戶端/伺服器處理來提高應用程序的性能和可靠性,可以使用多個伺服器應用程序實例為同一個請求隊列服務。

觸發

WebSphere MQ 可以在消息放入到隊列中以及某些條件滿足時,啟動一個應用程序。這稱為觸發。下面是觸發的工作方式:

程序將消息放入到支持觸發的隊列中。

如果觸發的條件滿足,則發生觸發事件。

隊列管理器檢查應用程序隊列所引用的進程對象。該進程對象指定了需要啟動的應用程序。

隊列管理器創建包含關於進程對象和隊列的信息的觸發消息。

將該觸發消息放到啟動隊列。

由一個稱為觸發監視器 的程序負責檢索消息,並啟動合適的應用程序,將觸發消息的信息傳遞給這個應用程序。

當第一次將消息放到隊列中時、當隊列中包含的消息達到某個數目時、或者每次將消息放到隊列中時,都可能發生觸發事件,儘管最後這種情況通常不推薦使用。

數據完整性

有些應用程序使用會話式的程序到程序的通信方式,以使用兩段式提交協議來支持分散式工作單元的實現,如圖 6 中所示。

這種功能僅在下面的情況下需要使用,業務要求在任何時刻都必須非常精確地維護兩個分散式資料庫之間的一致性。在實際中,這種類型的需求很少出現。當這種需求的確存在時,單個分布工作單元可能使用許多資源,並且變得非常複雜,尤其是當涉及到許多處理時。

WebSphere MQ 提供了一種更簡單的解決方案,使得多個工作單元可以非同步執行,如圖 7 中所示。

第一個應用程序寫入資料庫,將包含對其他系統中的第二個資料庫進行更新所需數據的消息放到隊列中,然後提交對這兩種資源的更改。因為該隊列是遠程的,所以消息僅進入第一個工作單元的傳輸隊列。

第二個工作單元包含發送 MCA 從傳輸隊列中獲取該消息,並將其發送給接收 MCA,而後者負責將該消息放到目標隊列。

在第三個工作單元中,第二個應用程序從目標隊列中獲取該消息,並使用該消息中包含的數據對資料庫進行更新。

工作單元 1 和 3 的事務完整性,加上工作單元 2 中由 WebSphere MQ 提供的消息的一次且僅一次的可靠傳遞,從而確保了整個業務事務的完整性。

安全性

WebSphere MQ 中的安全特性包括:

隊列管理器可檢查某個用戶是否經過授權可以提交管理隊列管理器的命令。

隊列管理器可檢查某個用戶或應用程序是否經過授權可以在指定的操作中訪問 WebSphere MQ 資源,如隊列。

在允許 MCA 之間進行消息通信之前,MCA 可以對合作夥伴 MCA 進行身份驗證。

可以在 MCA 發送消息之前對其進行加密,然後在接收到該消息之後再對其進行解密。

消息描述符可以包含用戶 ID 和關於消息發出者的其他信息。這種信息稱為消息上下文,它可以用來對消息進行身份驗證,並檢查該消息的發送者是否經過授權可以訪問接收系統中的 WebSphere MQ 資源。

WebSphere MQ 客戶端

WebSphere MQ 客戶端可以安裝在沒有運行隊列管理器的系統中。客戶端可以將在同一系統中運行的應用程序作為 WebSphere MQ 客戶端,以連接到運行於另一個系統中的隊列管理器,並向該隊列管理器發出 MQI 調用。這種應用程序稱為 WebSphere MQ 客戶端應用程序,而這種隊列管理器稱為伺服器隊列管理器。圖 8 顯示了這種配置。

WebSphere MQ 客戶端應用程序和伺服器隊列管理器使用 MQI 通道 實現彼此之間的通信。當客戶端應用程序發出 MQCONN 或 MQCONNX 調用時啟動 MQI 通道,當客戶端應用程序發出 MQDISC 調用時結束該通道。

要使 WebSphere MQ 客戶端進行有效地處理,需要快速的和可靠的同步通信連接。

本博主已經安裝與配置好的windows7 環境下的mq7虛擬機,鏈接:https://pan.baidu.com/s/1YJpcQbkO0fo27i_ZHfe6nQ
提取碼:yrxc
下載後,解壓後,可以用vmware workstaion 打開,直接使用。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營

One thought on “Win7-IBM Websphere MQ7 虛擬機下載

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註