IBM Websphere MQ 6 基礎培訓入門教程

WebSphere MQ V6

 

概述

  • 很容易連接應用程序和系統

  • 一次性安全提供數據

  • 許多環境

    • 大量操作系統和硬件平臺

    • 支持許多程序設計語言

    • 通信協議

    • 點對點和發佈/訂閱方式

    • 通過簡單 API 全部可用

  • 行業消息的行業標準

  • 最近慶祝了成立十週年!

 

 

WebSphere MQ V6

 

主題

 

  • IBM 204-126 號發佈書(2004 6 月)中發表了一項指導方針:

“IBM 計劃...... 2005 年上半年......發佈新版 WMQ。這些發佈將使 ESB 創建和擴充變得更容易......”

  • 提高適用性

    • 文件傳輸簡單,瀏覽速度快

    • 新增跨平臺配置工具

  • 改進可管理性

    • 瞭解系統正在運行的服務,並影響它

    • 更容易確定問題和避免問題

  • 增強可用性

    • 利用 z/OS 服務

  • 擴充性能、容量和伸縮性

    • 利用 64 位地址空間

  • 本演示說明 IBM 如何達到此陳述的要求

由於計劃推出新版 WMQ,我們嘗試把要進行的各項工作分成幾個主題。這些是該版本要優先實施的功能,而一個功能應當在實施之前歸入一個或多個主題。(記住候選功能太多,總是超過我們在可接受的時間裏或用接受的代碼可以開發的功能數量。一個版本不能集成的功能可能會集成在下一個版本里。)

我們這次想研究的兩個領域是:

  1. 使 WMQ 新用戶很容易選擇並快速使用

  2. 即使你有使用早期版本的經驗,也更容易管理 WMQ

我們一直在開展 z/OS 特定的某些活動,完成共享隊列工作最後階段的開發

同時使許多增強功能反映更廣泛的行業活動。

後面的幻燈片將詳細說明其中的許多項目

 

WebSphere MQ V6

 

時間表

 

  • 2004 9 月開始開發 beta 程序

    • 該程序針對有限客戶和合作夥伴

  • 2005 4 19 日發佈

    • 發佈之後在某些平臺上公開進行 beta 測試

  • 2005 5 月發佈分佈式平臺 Electronic GA(可下載)

  • 2005 5 月發佈物理介質和 z/OS GA

 

WebSphere MQ V6

初期支持的平臺

 

  • AIX 5(僅 64 位系統)

  • Solaris(僅 64 Sparc 系統)

  • HP-UX 11i(僅 64 PA-RISC

  • Linux/Intel32 位)、Linux/pSeries(僅 64 distros)和 Linux/zSeries

    • RHEL3(RHEL4)SuSE8 SuSe9

  • z/OS 1.4

  • Windows 2000XP2003

  • OS/400 V5R2 i5/OS V5R3

雖然某些操作系統的基本要求提高了,但 WMQ V6 支持的平臺與 V5.3 基本相同。如要了解每種已測試/支持的操作系統的基本要求詳情,瀏覽

支持軟件網頁定期在新環境通過測試後更新,是發佈 WMQ 支持的軟件的官方網站。

對於 Linux,你會發現支持環境是特定的分發版本(Red Hat SUSE),而不像 V5.3 那樣列出前提條件。這與 IBM SWG 的政策是一致的,使得很容易比較不同的產品,以確保它們均有相同的必需軟件。對於 Linux/zSeries,雖然在此平臺上 WMQ 32 位產品,但我們將只測試 64 distros

在這一系列平臺裏,不包括對基於 Itanium 的任何操作系統的支持。

 

WebSphere MQ V6

 

支持狀態

 

  • 使用 V5.3 V5.3.1 的每個人都應該考慮升級到 V6

  • V5.2 支持在不久前停止了

    • WindowsUnix Linux 2004 1 1 日停止

    • z/OS OS/400 2004 4 30 日停止

  • V5.3 Distributed 支持結束日期在官方網站上標明未定

    • 這意味着將在停止支持之前提前至少 12 個月發出通知

    • Distributed SWG 支持戰略有變化;比較接近 z/OS 對它的支持

      • 優於我們以前實行的按年延期政策

  • V5.3.1 for z/OS 的支持結束日期也是未定

    • V5.3 for z/OS 的支持結束日期是 2005 10

  • 尚未就 V5.3 的支持結束日期發表聲明

    • 結束日期將考慮到適當移植到 V6 所需的時間

瞭解這些日期非常重要!所有客戶現在應該使用 V5.3(或 5.3.1 on z/OS)。如使用早期版本(有淘汰產品),他們將得不到支持。我們最終停止銷售並支持沒有升級到 V5 的某些舊平臺版本。

分佈式平臺的規則變化好一些。 旨在更容易把一組產品集成在一起,使其有合理的使用壽命。

許多較舊的 SupportPacscat2 cat3)被刪除或半隱藏了。所以很容易找到仍然與當前產品相關的支持或有用資料。

V5.3 for z/OS 沒有支持結束日期;所有客戶應該改用 V5.3.1

尚未就 V5.3 的支持結束日期發表聲明;結束日期將考慮到客戶適當移植到 V6 所需的時間。即使到了正常的支持結束日期,通常還可以購買最多兩年的附加支持。

 

 

WebSphere MQ V6

 

WMQ 簡介

 

對於使用 Windows Linux 系統的 WMQ 新用戶,有兩種選擇:

  1. 快速瀏覽

    • 演示 WMQ 概念和技術的動畫

  2. 文件傳輸

    • 無需配置的簡單應用程序。

    • 無需編寫測試程序。

    • 命令行和圖形用戶界面

    • 非常非常簡單......甚至不需要 CR/LF 轉換

這是 WMQ Express V5.3 提供的最新版本

 

WebSphere MQ V6

 

文件傳輸

 

  • 這確實是很簡單的傳輸程序

  • 它不包括任何數據轉換,甚至不包括 ascii/ebcdic cr/lf 轉換。

  • 有命令行,所以用戶可能編寫自動化程序。

  • 沒有最大文件大小限制,因爲文件被分割成多個 MQ 報文;不必把一個文件封裝在一個報文裏。

 

WebSphere MQ V6

 

使 WMQ 更容易配置

 

基於 Eclipse 的新圖形配置工具

  • Linux Windows 上運行

代替 WMQ V5.3 for Windows 上的 MMC 管理單元

可以連接並配置所有平臺上的 WMQ

  • 包括 WMQ V6 for z/OS(但不包括 z/OS 的早期版本)

  • 連接可以是本地客戶機或直接客戶機,或者通過中間 qmgr

  • 支持 SSL 安全通信

可擴展

  • 我們希望未來包括更多插件

  • 供應商和用戶可以開發並無縫集成新功能

允許使用 Documented 接口

  • 對象右鼠標按鈕菜單增加了選項

  • 新增最高級實體(例如隊列管理器 "QSGs"

  • 插件不需要重複配置,例如獲得隊列表系列表

 

WebSphere MQ V6

 

配置工具

 

我們用類似的工具取代現有的基於 MMC 的圖形工具,但建立在 Eclipse (IBM Workbench) 軟件包之上。這提高了可移植性,即使初期只有 Windows Linux 支持它,其它平臺稍後也可以支持它。

MMC 管理單元相比,有許多增強功能,包括:

  • 它可以控制 WMQ V6 for z/OS,包括共享隊列等平臺特有的功能

  • 它在連接遠程隊列管理器方面有更多變體,包括 SSL 通道

  • 它有文檔化擴展點,允許開發並在無縫界面上顯示更多插件

V6 的所有新功能均可在圖形用戶界面上使用,還可以管理 V5.3(和較舊的)分佈式平臺。

由於 Eclipse 插件具有部件化特性,所以 IBM 很容易在不中斷其它功能的情況下,通過服務更新給 WMQ 增加新功能。

我們提供在默認情況下定製運行 WMQ 插件的 Workbench,但這些插件可以添加到在同一層面的其它 Workbench。例如當 Message Broker 工具使用 Eclipse 的同一層面時,可以顯示一個包含消息流開發屏面的屏面,以及消息流要訪問的隊列的列表。WMQ 將建立在 Eclipse V3.01 之上。

下一組幻燈片是截屏,說明基本界面與 MMC 視圖有多大程度的相似,但它很適合 Eclipse 的外觀。一個截屏上突出顯示的區域(過濾器)提供對稍後詳細討論的功能的訪問。但是,它允許在屏面上進行簡單選擇 — IE 只顯示深度大於 10 的隊列。這更容易查看正在發生的事情,例如問題確定。

有許多選項,例如可以定製顯示欄的順序,以及保存模式。

 

WebSphere MQ V6

 

誰在使用隊列管理器?

 

  • DISPLAY QSTATUS 始終顯示誰在使用隊列

  • 新命令 DISPLAY CONN 顯示誰在線上,以及他們打開了哪些隊列

  • 新命令 STOP CONN 強制斷開連接(z/OS 不可用)

 

  • 同時顯示 UOW 時間標記

V5.2 V5.3 增加了顯示誰在訪問隊列的命令。V6 增加了一個可顯示誰在訪問隊列管理器的新命令。它顯示與 QSTATUS 類似的信息,以便確定用戶通道名稱、pid(進程 ID)、tid(線程 ID)、程序名稱等。但它還顯示如何建立連接,以及正在處理的任何事務的詳細信息。可以用 UOW 信息查看哪些應用程序可能有長期運行的 UOW,以及哪些應用程序可能會使日誌文件滿了。它還顯示事務是內部事務還是外部事務,它是否是全局事務的參與者等。

本頁的第二個例子說明應用程序打開的隊列的列表,以及 MQOPEN 使用了哪些選項。

在分佈式平臺上,CONN 標記可用於中斷與 qmgr 的連接。WMQ 管理員可能沒有操作系統權限刪除錯誤應用程序,但可以刪除它對 WMQ 的訪問。不刪除該程序,但停止正在進行的任何訪問,來自該程序的任何 API 調用均將獲得 CONNECTION_BROKEN。終端連接便於恢復日誌文件繼續記錄事件,並可以正常停止隊列管理器。出於技術原因,z/OS 在此階段可能不實施此項服務,但該平臺的其它增強功能(日誌分流)可減少長期運行的 UoW 引起的問題。

 

WebSphere MQ V6

 

更容易連接應用程序和隊列管理器

 

我們在前面看到了如何顯示連接隊列管理器的應用程序。此新屏面使你更容易指定自動與隊列管理器一起啓動(和停止)的應用程序。服務定義便於我們定義程序,並使它們與隊列管理器一起啓動。它取代 Windows 定製服務屏面。有一些人所共知的服務有特殊定義,例如 listeners command server,但還可以定義其它程序,例如代理 (broker) 或觸發 (trigger) 監視器。有屬性便於把 stdout/stderr 重定向到文件。

此功能只有分佈式平臺可用;z/OS 已經在操作系統裏集成了此類功能。

 

 

WebSphere MQ V6

 

管理 z/OS — 增加 PCF 命令

 

  • 更容易編寫管理和監視程序

    • 同一個程序可以在 z/OS 和分佈式平臺上運行

  • 它一直比較容易把 PCF 命令轉換成 MQSC

  • 難點是分析響應

    • PCF 是結構化自我描述格式

    • MQSC 是僞英語隨機排序

  • z/OS Command Server 現在可以處理這兩種格式

  • 擴展後的 PCF 結構處理來自 QSG 的多組響應

    • 新結構的其它語言擴展

    • IE 64 位名稱-值對

  • 所有適當的 z/OS 命令獲得 PCF 定義

    • 仍然有幾個命令僅適用於本地控制檯

    • IE 啓動/停止跟蹤

z/OS 增加了 PCF 命令消息支持。因此,很容易編寫一個可與分佈式和 z/OS 隊列管理器協同工作的管理應用程序。這可以縮短產品上市時間,以便支持新功能;並縮短編寫內部管理工具所需的時間。創建一個 QALIAS 定義,所以你甚至不需要知道 z/OS 和分佈式平臺上的命令輸入隊列名稱傳統上是不一樣的。

PCF 消息擴展了語言z/OS 控制要求新格式。PCF 定義有許多其它擴展,現在允許任意名稱/對。

如你願意,可以繼續使用 MQSC 格式進行管理命令服務器將處理兩種格式。

在管理 WMQ for z/OS 時,通過新的基於 Eclipse MQ Explorer 使用 PCF 界面。

共享隊列可以提高可用性,因爲當一個隊列管理器或 LPAR 發生故障時,應用程序可以繼續處理消息

功能已在 WMQ 的幾個版本里分階段發佈了

  • 此版本完善了共享隊列所需的核心功能

現在支持大於 63KB 的消息

  • 最大可達 100MB

  • 大小與專用隊列裏的消息相同

大於 63KB 的消息正文部分存儲在 DB2

  • 短消息如先前一樣存儲在 CF

  • 用於與專用隊列進行比較的讀性能報告

管理結構容錯

此版本完善了 WMQ 的共享隊列支持功能。共享隊列現在可以用與專用隊列相同的方法使用。持續性消息和非持續性消息最大可達 100MB

隊列管理器使用的耦合器 (Coupling Facility) 資源保持不變,即使是大消息,也不把大於 63KB 的消息有效負荷直接存儲在 CF 裏。相反,我們把指針放入 CF,把消息正文存儲在 DB2 表裏,該表隨後供隊列管理器共享。

把數據存儲在 DB2 裏比直接存儲在 WMQ 裏速度慢,我們發現與專用隊列存儲器相比,這些大消息的存儲速度降低了。對於所有消息都很大的系統設計,建議不要採用這種方法。對於許多隻有少量大消息的應用程序,偶爾降低消息存儲速度並不重要,尤其是在你可以通過共享隊列獲得更高可用性(和更好的總體系統設計)的情況下。小消息的處理速度與 V5.3 相同。我們發現與把相同的消息存儲在專用隊列裏相比,大持續性消息的存儲速度至少降低 3/4

系統管理員必須啓用大消息

  • 消息所在的 CF 結構必須是 CFLEVEL(4)

  • 共享隊列的 MAXMSGL 必須設置爲足夠大的值,以便存儲預計最大的消息

  • 需要配置 DB2

WMQ for z/OS 5.3.1 裏,隊列共享組管理 CF 結構發生故障將導致隊列共享組 (QSG) 裏所有隊列管理器異常中止。因此,我們建議你的 CF 結構採用 CF 雙工技術,降低 CF 結構發生故障的可能性。但這會導致有關的性能開銷。在 V6 裏,我們啓用 QSG 裏的隊列管理器,實現 QSG 管理 CF 結構容錯。在檢測到此類故障時,每個隊列管理器將根據內存裏的數據重構自己的管理結構部分。同名隊列管理器恢復將被暫停,直到隊列管理器重構其管理結構部分,這意味着當發生故障的隊列管理器重新啓動時,故障隊列管理器正在處理的 MQGET 消息和約定處理的 MQPUT 消息可由其它隊列管理器處理。其它所有應用程序,包括共享隊列應用程序,可以在管理結構部可用的情況下繼續處理。

  • 此版本增強 z/OS 動態系統配置

  • 許多 CHIN 配置參數可以在線修改

    • 不必在 CSQXPARM 裏設置

  • 日誌分流可降低長期運行的 UoW 的影響

  • 動態添加和刪除頁面集和緩衝池

    • 頁面集可以增大到 64GB,便於處理較大的隊列

  • 動態添加和刪除緩衝池中的緩衝區

  • 動態添加日誌數據集

    • 在解決問題時,當前日誌文件(IE 歸檔由於磁帶設備脫機而不工作)可以增加更多日誌數據集

  • 搶先動態頁面集擴展

有一組新便於你更動態地調節 z/OS 隊列管理器。在某些情況下自動管理資源,即搶先擴展,其中有的資源允許管理員採取措施。在所有情況下,其目的是不需要關閉/重新啓動隊列管理器。

V5.3 裏,我們允許分佈式平臺上的隊列增大到 2GB 以上。此時我們正在 z/OS 上進行類型的工作,把頁面集增大到 64GB。這將使更多的消息(或更大的消息)可以保存在隊列裏。

日誌分流是一種技術,允許把長期運行的工作單元的控制信息複製到日至結尾,使隊列管理器在重新啓動過程中不需要處理大量日誌。這受檢查點間隔的控制。長 UoW 可能最終仍然會被取消掉,但這應該可以降低影響。

來自 CSQXPARM 的通道啓動程序參數現在可以用 ALTER QMGR 命令控制。因此,在更改值時,不需要重新啓動 CHIN

 

 

WebSphere MQ V6

 

提高分佈式平臺的可用性

 

  • 提供日誌文件信息,以便制定災難恢復解決方案

  • 隊列管理器報告所需的、正在使用的、不再需要的日誌文件

    • 當你使用線性記錄時

  • 強制把日誌記錄到新日誌文件的命令

    • 現在可以在特定時間獲得一致的日誌文件副本或備份

  • 可以在需要的情況下,在災難恢復站點和備份隊列管理器上重放日誌文件

    • 縮短在實況現場重新啓動所需的時間

  • 同時提高可配置活動日誌空間的數量

WMQ 日誌文件管理提出了許多要求。尤其是我們想使恢復解決方案設計更容易,特別是災難恢復解決方案。

因此,可以生成報告,說明需要哪些日誌的信息。這始終可以從其它途徑獲得(在錯誤日誌裏輸入的命令響應),但現在可以把這些信息從隊列管理器推到管理工具裏。有一個新命令將強制日誌提高到一個新水平;這便於你把較早時候的所有日誌文件複製到備份(災難恢復)位置,在那裏可以瞭解 qmgr 的狀態。

在不全面啓動隊列管理器的情況下,如可在主站點訪問日誌文件,可以把災難恢復站點配置爲動態播放日誌文件的原位置的副本。這意味着如果需要全面重新啓動,只需要播放最近的日誌文件。

還有一項要求允許較大和/或較多的日誌文件在此版本里,Unix 平臺活動日誌大小從 4GB 提高到 128GBWindows 平臺提高到 64GB

 

 

WebSphere MQ V6

 

更多狀態

 

  • 問題確定(和問題避免)指示器

    • 顯示有關活動的同時信息

  • 顯示 CHSTATUS

    • 羣集傳輸隊列子深度和平均吞吐量時間

    • 平均批量大小

    • 子狀態” — 在退出時通過連接發送數據,並等待名稱服務器響應。

    • 遠程端的響應時間

  • 顯示 QSTATUS

    • 消息在隊列裏停留的平均時間(短期平均值和長期平均值)

    • 上次 GET/PUT 時間

    • 仍然在隊列裏的最舊的消息

分佈式隊列管理器和 z/OS 隊列管理器均有此新功能。它擴充了隊列和通道的狀態信息。

對於隊列而言,你現在可以查看隊列裏哪些消息是最舊的。你還可以查看消息通過隊列的平均速度。如平均速度很低,最舊的消息很舊,可能表示一個應用程序在通過 msgid/correlid 執行 get 操作,消息的格式不好,或者消息沒有正確標識符。如所有消息在隊列裏停留的時間均很長,可能表示正在服務的應用程序負荷過重,或者需要多臺服務器處理輸入信息。

通道也有類似的信息,羣集通道可以報告有關的傳輸隊列或子隊列。此外還有更詳細的狀態,不僅限於 RUNNING RETRY 等,可以準確顯示通道正在做什麼。例如此時正在執行用戶退出,還是調用 TCP/IP 名稱服務器。

此訂單詳情的一個重要目的是使收集信息的(性能)開銷保持在很低的水平上。例如可能通常不接受涉及到隊列掃描的任何東西。所有這些信息均在隊列管理器內部使用,也很容易派生出來。

 

WebSphere MQ V6

 

命令顯示過濾

 

  • WHERE 子句執行的 PCF MQSC 命令

    • 所有對象類型;任何屬性

  • 一個屬性可以用普通運算符過濾

    • GTLTEQNEGELECT ["contains"]EX ["excludes"]

    • 沒有 AND OR 組合

  • 幾個常見問題:

    • 告訴我用非提交事務使日誌文件被填滿的應用程序

    • 告訴我消息停留時間超過 5 分鐘的隊列

    • 告訴我最近沒有因爲介質恢復而被映像的隊列

    • 告訴我一個應用程序使用的所有隊列

  • 易於編寫這些請求的腳本

    • 然後可以使用響應採取措施

MQSC 增加了一個簡單 WHERE 子句,限制 DISPLAY 命令返回的數據的數量。只能添加一個屬性,但對於問題確定和狀態查詢而言,這已經足夠了。不允許使用 AND/OR 組合。

PCF 命令也可以使用相同的查詢,z/OS 現在當然支持此查詢。

正如我們在早期版本里看到的那樣,圖形用戶界面上的過濾器選項是通過把它傳遞到命令服務器實現的。

隊列管理器過濾是對資源的有效利用,一個消息返回一個響應,並非所有管理工具都進行過濾。就係統管理而言,這可以減少傳輸的消息數。

很容易編寫可發出這些命令的腳本,它可以反映客戶用戶裏的典型問題,並利用響應執行某些操作,例如強制應用程序與隊列管理器斷開,重新啓動服務器應用程序,或者給網絡運營中心生成通知

 

WebSphere MQ V6

 

提高 WMQ Clusters 的靈活性

 

  • 新選項使大羣集更容易處理

    • 建立在客戶的實際環境之上

  • 可以建立在所有主服務器不可用時自動使用的備用網絡

  • 客戶限制小客戶機訪問的服務器的數量

  • 可以覆蓋如存在,始終選擇本地隊列規則

  • 可以要求把更多工作發送到功能更強的服務器

  • 沒有服務器自動反饋;屬性可通過系統監視器調節

許多可控制 WMQ Clusters 工作負荷平衡功能的選項。

所有這些選項均源於客戶體驗和要求,有的客戶已經建立了超大型羣集。

沒有自動負荷動態通知功能,我們不檢查機器的工作負荷有多大,但這可以採用定製代碼添加。這樣做的原因之一是很難一概而論地確定機器是否繁忙。

新增隊列屬性、隊列管理器屬性和羣集通道屬性

在確定循環消息分發的優先級並分配工作負荷時具有更大的靈活性

默認性能不變

更容易建立備用/待機網絡,在所有正常隊列管理器不可用時只使用這些隊列管理器

更容易限制活動出站通道的數量

更容易分配工作負荷,使大服務器獲得更多工作負荷

 

WebSphere MQ V6

 

新增 Cluster 選項

 

  • 負荷平衡和優先級

  • 包括本地實例

 

WebSphere MQ V6

 

系統統計

 

統計信息可用於檢查應用程序和隊列管理器正在做什麼。統計信息可用於記賬或容量規劃。

此版本通過“PCF 事件消息給分佈式管理員提供 SMF 風格的信息

在此版本里,事件消息裏有更多可用信息。PCF 語言擴充了,不僅限於 z/OS,同時允許增加更多複雜功能。例如可以把元素組合成子結構,允許 PCF 消息有任意名稱/值內存。還有 64 位整數數據類型。

這些新結構是支持幾個功能所必需的,包括這一個:與隊列管理器和連接應用程序內部活動 SMF 報告相當的功能。正如 SMF 報告一樣,你可以查看 qmgr 的統計信息,以及給每個應用程序生成的記賬信息。

隊列管理器(在移植過程中,如有)自動創建兩個新事件隊列存儲事件消息。

這些信息類似 SMF 生成的信息;我們利用在 z/OS 上獲得經驗決定哪些準確元素有用。

在應用程序結束時 (MQDISC),按可配置間隔生成信息。RESET QMGR 命令還有一個選項強制立刻發送統計信息。

示例程序 amqsmon 可用於格式化事件消息,是生成此圖表輸出的程序。包括源代碼。

正如在 z/OS 上一樣,一旦生成消息,WMQ 不做與該數據有關的任何事情。假定收集此信息的任何人將購買或編寫一個工具收集事件消息,並以某種方式處理這些消息。

 

WebSphere MQ V6

 

網絡配置檢查器 — WMQ 跟蹤路徑

 

  • 生成的顯示消息流的報告

  • 傳輸隊列、通道名稱、末端隊列

  • 時間標記

  • 可用於確認羣集工作負荷分發

此功能便於調試 WMQ 網絡

對於已經發送的現有消息,它不回答查找問題。但它便於你確定消息可能發到哪裏去了。跟蹤程序消息被髮送到網絡裏,並被放入一個隊列裏,並在到達最終目的地之前把它經過的所有通道和傳輸隊列報告回去,它在到達最終目的地之後可能會被自動丟棄。

報告生成受 MQMD 裏的標誌的控制。從理論上講,任何應用程序都可以打開這些標誌,你可以獲得網絡傳輸的每個消息的報告,但這樣做顯然會使系統不堪重負。這主要用於驗證配置。

分佈式平臺提供一個命令 (dspmqrte) 生成消息,它有許多報告配置選項在遠端整理在每個中繼段生成的獨立報告等。由於 dspmqrte 可以作爲客戶機連接,所以可用它調試源自 z/OS 隊列管理器的消息流。

消息格式和報告添加或生成方式可以實現文檔化。潛在用途之一是讓應用程序把自己的活動信息添加到他們處理的消息裏。該體系結構是專門爲這一目的而設計的。

 

WebSphere MQ V6

 

典型輸出

 

Activity:

        ApplName: 'es/MQSeries/bin/dspmqrte.EXE'

 ApplType: WindowsNT

 ActivityDesc: '

WebSphere MQ Display Route
App'

 

Operation:

        OperationType: Put

        OperationDate: '20040907'

        OperationTime: '12431483'

        QMgrName: 'QMA'

        QName: 'RQMC'

        ResolvedQName: 'QMB'

        RemoteQName: 'RQMC'

        RemoteQMgrName: 'QMB'

 

 TraceRoute:

        RecordedActivities: 1

        UnrecordedActivities: 0

        DiscontinuityCount: 0

        MaxActivities: Unlimited

        RouteAccumulation: None

        RouteForwarding: IfSupported

        RouteDelivery: No

                                                                   

                                                                 

Activity:

 ApplName: 'es/MQSeries/bin/AMQRMPPA.EXE'

 ApplType: WindowsNT

 ActivityDesc: 'Receiving Message

Channel Agent'

 

Operation:

  OperationType: Receive

  OperationDate: '20040907'

  OperationTime: '12431483'

 

QMgrName: 'QMC                                             '

  RemoteQMgrName: 'QMB                                             '

  ChannelName: 'TO.QMC'

  ChannelType: Receiver

-----------------------------------

Operation:

  OperationType: Discard

  OperationDate: '20040907'

  OperationTime: '12431483'

 

QMgrName: 'QMC                                             '

  QName: 'QMC                                             '

  Feedback: NotDelivered

 

TraceRoute:

  RecordedActivities: 5

  UnrecordedActivities: 0

dspmqrte 命令選項顯示生成的輸出類型。你可以看到真實設置生成的報告開頭,例如前面的圖表上的圖形。你可以看到消息被放入 QMA 上的遠程隊列 RQMC 裏,它被解析爲傳輸隊列 (QMB)。最終階段表示 MCA 如何接受消息,以及在它到達目標隊列之後被如何丟棄掉。

完整報告有更詳細的信息,包括正在傳輸的消息的 MQMD。但此選項顯示其中一些要點。

 

 

 

WebSphere MQ V6

 

標準 — JMS 1.1 J2EE

 

  • 當前 J2EE 規範需要 JMS 1.1

  • 把發佈/訂閱方法和點對點方法合併成一組方法

    • 向後兼容

    • JMS 應用程序仍然可以使用較舊的 1.02 API

  • V5.3 FP06 V6 配備

  • WAS 始終支持 WMQ JMSWebLogic 現在也支持

    • 它不是 WAS6 的嵌入式消息傳遞代理,但仍然(當然)可以使用

  • V5.3 FP08 V6 還包括 MA0C Publish/Subscribe 部件

    • 在不下載或購買附加代碼的情況下更容易使用全部 JMS 功能

WMQ V5.3 FP06 包括更新版 JMS 類,與當前的 JMS 標準版相匹配。它是希望支持 J2EE 1.4 標準的任何應用服務器必需的工具,但它確實是很有用的東西。

JMS 1.02 最大的區別是簡化類結構,並統一發布/訂閱操作和點對點操作。現在不調用 CreateQueueConnection,你只能執行 CreateConnection 操作。它允許一個事務跨越發布/訂閱操作和點對點操作,假定二者都要經過相同對話(用 WMQ 術語來說是通過同一個 hConn),不需要兩階段提交協調器。

在保持較舊的 API 時,現有 JMS 程序的工作保持不變。

WAS6 集成了新的嵌入式消息傳遞代理,即 WebSphere Platform Messaging,取代了(作爲WAS5 一部分的)WMQ V5.3 使用的蹩腳代理。這種新代理(不同於舊代理)可用於連接外部 WMQ 網絡。你仍然可以直接把 WMQ JMS 用作替代代理。

WAS 並非 WMQ 正式支持的唯一應用服務器。WebLogic 也在一些平臺上測試過,可以支持。

MA0C Publish/Subscribe SupportPac 現在是基礎產品的一部分。這使人們更容易獲得代碼,尤其是在 V6 64 位變革需要另一個 SupportPac 版本的時候。

 

 

WebSphere MQ V6

 

標準基於 WMQ Web 服務

 

  • WMQ V6 配備 MA0R SupportPac 的更新集成版本

  • 基於可靠傳輸而非 http 的透明 SOAP 消息

  • 發送器和監聽器支持

    • Axis host Web Services 環境

    • .NET host Web Services 環境

  • 客戶機和服務器 SOAP 層可以是異構環境

    • IE .NET 客戶機至 Java 服務器

    • 如它們使用 HTTP 互操作,也可以使用 WMQ 互操作

    • 同時計劃與 WAS SOAP/JMS CICS SOAP/MQ 互操作

  • 部署腳本幫助

  • 服務代碼不變

    • 現在與 WMQ 監聽器集成在一起

    • 可以在事務中運行

  • 簡單客戶機代碼(幾乎)不變

    • 客戶機或代理需要包括 ‘wmq:’ 前綴位置

    • 通常採用部署工具嵌入代理

    • SOAP 層交換建立在此前綴之上

    • 可以使用 WebSphere Studio ADVisual Studio .NET 等生成

    • 還可以定位 Web Services,便於日後提供不同步支持

      • 尚未有正式標準

  • WSDL

    • 關於 SOAP/HTTP

    • 具有 'wmq:queueName…' 形式的目標 uri

    • 選項控制其它 WMQ 詳細資料,例如隊列管理器、持續性等

 

WebSphere MQ V6

 

標準 — IPv6

 

  • 新版 TCP/IP 協議

  • 預計在此版本的使用壽命內,IPv6 會變得越來越重要

    • 允許使用更多地址

  • WMQ 屬性和參數擴展便於使用 IPv6 地址

    • IE 而非 9.20.3.4,你可以有 fe80:43e4:0204:acff:fe97:2c34:fde0:3485

    • 32 位擴展到 128

  • IPADDR 確定監聽哪個/哪些協議堆

  • CONNAME LOCLADDR 確定基於哪個協議堆發送

  • 羣集仍然與 IPv6 協議堆互操作

優點太多了,不勝枚舉! WMQ 本身需要一點外部更改;主要是確保操作系統正確配置,特別是雙協議堆(IPv4 IPv6)配置。新的 qmgr 屬性定義在兩個協議堆都可用的情況下,優先使用哪個協議堆。

注意 Windows 2000 不支持 IPv6 協議堆,如你運行 Windows,必須使用支持 IPv6 Windows XP SP1 Windows 2003

 

WebSphere MQ V6

 

SSL 增強

 

  • 動態刷新任何高速緩存倉庫和 LDAP 服務器數據

    • CRL 位置

    • 更新證書

    • 不需要重新啓動 CHIN

  • Windows 平臺上,SSL 工具現在使用與 Unix 平臺相同的工具箱

    • 提供共同模式

    • V5.3 配置可以移植到 gskit 倉庫

  • FIPS-140 證書

    • gskit 裏的加密模塊有 FIPS 認證

    • WMQ 可以配置爲只允許經過認證的算法

  • 安全出口函數 chstatus 可以使用 Certificate Authority Distinguished Name

    • 顯示誰授權用戶證書

    • 使你能夠區別不同驗證機構驗證的同一個用戶

SSL 處理有少許變化

主要是移植到 Windows 之後,使用 gskit 工具箱,而不是 Microsoft SSL 代理。這樣做有許多優點,包括多個平臺使用通用管理模式。提供一個工具把證書從 Microsoft 倉庫裏取出來放入類似的 gskit 倉庫。

提供 REFRESH 命令,當證書鏈發生變化時,例如取代過期證書,不需要重新啓動通道程序。下次啓動一個通道時,自動重讀修改後的倉庫。它還刷新用於訪問 CRL 的任何高速緩存 LDAP 服務器連接信息。CRL 本身不高速緩存,只高速緩存保存 CRL 的服務器位置。

 

 

WebSphere MQ V6

 

伸縮性和性能

 

  • AIXHP-UXSolaris Linux/pSeries 上,WMQ 現在是 64 位產品

    • 支持現有的 32 位應用程序

    • 提供兩組 MQI 庫,分別用於 32 位和 64 位開發

    • 大多數出口(IE 通道)將需要按兩種規格提供

  • 某些客戶希望他們的應用程序使用 64 位內存

    • 應用程序的性能沒有區別,除非重新設計應用程序

  • 優點主要集中在隊列管理器上

    • 更像數據庫引擎

  • 允許 WMQ 同時處理更多數據(消息和隊列)

    • 全新的內部設計提高 get-by-correlid 等操作的性能

    • 這些結構佔用 32 位系統上十分匱乏的內存

在此版本里,我們只支持 64 AIXHP-UX (PA-RISC)Solaris Linux/pSeries 系統。這是因爲如使用 64 位內存地址範圍,就可以大大緩解隊列管理器的限制。最近幾年銷售的大多數 Unix 機器都能運行 64 位程序。隊列管理器有一些內部變化,例如 correlid 索引功能更好,現在可以使用擴充內存了。

現有應用程序的運行保持不變,我們將推出 32 位版本的 libmqm。但出口等某些系統級部件可在 64 位進程裏運行的任何東西需要重新編譯。這包括 API 出口、通道出口和數據轉換出口。與隊列管理器的其它程序一樣,通道程序將是 64 位進程。

新應用程序可以選擇使用 32 位還是 64 位綁定到隊列管理器。此類選擇很可能要根據 WMQ 範圍之外的因素來確定;無論作出何種選擇,不大可能影響 WMQ 的性能。在大多數情況下,重新編譯的代碼不會立刻把性能優勢表現出來;如要充分利用大內存,通常需要重新設計應用程序。

 

 

WebSphere MQ V6

 

WMQ V6 性能

 

  • 提高持續消息吞吐量

    • 客戶機定標吞吐量較大

    • AIX Linux (X & Z) 提高 20% 以上

    • 分析並重新設計了高應用封鎖

  • 高性能非持續消息

    • 儘管有附加功能,性能還是保持不變

  • 由於採用 64 位和功能,虛擬內存(交換文件)增加了

提高性能示例

 

WebSphere MQ V6

 

移植 V5.3 刪除的功能

 

  • 32 hw for AIXSolaris HP-UX

    • 32 位應用程序支持保留

  • 移植到 64 位操作系統

  • DCE

    • HP-UX ("*_d")

    • DCE 安全出口和名稱服務出口

  • Windows NT 支持

  • AMI on z/OS -> Cat3 SupportPac

  • CICS Mover

  • Windows 上的 MMC 管理單元

  • Windows 自動啓動服務

  • AIX UDP 傳輸協議

  • 使用這些的應用程序需要重新鏈接

    • 使用 SSL 加強安全

  • 移植到較新的 Windows 平臺

  • 與其它平臺一致

  • 使用 CHIN

  • 使用新的 Eclipse 插件

  • 使用新的 WMQ 服務對象

  • 使用 TCP/IP

此版本刪除了這些功能,右邊顯示建議的替代產品(如有)

 

WebSphere MQ V6

 

其它 — z/OS

 

  • MQSC/PCF 命令審計跟蹤

  • 多個 TCP/IP 協議堆

  • IMS Bridge 使用的 SUSPEND/RESUME Bridge 命令

  • 提高了 Passticket 安全驗證粒度

  • 增加了通道 Message Retry 參數,以便與分佈式平臺相匹配

z/OS 上,MQSC PCF 命令可以被報告到事件隊列。這便於審計跟蹤誰發出了哪個命令。它使用 V5.3 提供的配置更改事件,向隊列管理器描述操作更改詳情。

內部變化可以更有效地在不同映像上有多個 CICS 區,便於從同一個共享內存讀取數據。

SUSPEND/RESUME 支持允許 IMS Bridge 暫停下來發出新請求,並允許返回應答。這適用於共享內存和非共享內存,並提供節流機制。

passticket 允許在與一個隊列相關的 STGCLASS 定義裏指定應用程序名稱用於 RACF passticket 檢查 從而提高更大的安全檢查粒度

 

WebSphere MQ V6

 

其它分佈式平臺

 

  • 安全

    • 管理命令 (setmqaut etc) 獲得與 PCF 相當的安全

    • 基於 OAM 的通道操作安全

    • 新出口點便於本地驗證

  • 某些錯誤記錄項的任選過濾

  • .Net 觸發監視器

  • 所有分佈式平臺包括 Pub/Sub Broker (nee MA0C)

  • 使用客戶機通道表的 JMS Java

  • 支持用 C 語言編寫的通道出口的 JMS Java

分佈式平臺上的 auth 命令現在可以通過 PCF 命令遠程發出。這便於集中管理工具管理 ACL

OAM 接口擴展同時允許修改定製編寫的模塊,用戶 ID 用於本地綁定應用程序。MQCONNX 增加了用戶 ID/口令字段;這些字段被傳遞到 OAM。注意配備 WMQ OAM 不進行任何驗證。但應該有一個例子說明很容易增加驗證(OAM 的鏈接工具便於編寫僅驗證模塊,並保持標準 OAM 用於其它任何地方)。

錯誤日誌過濾便於更容易地在錯誤日誌裏查看重大事件:當發生多個類似的事件時,它們將被一個消息所取代,提供類似上一個消息在 30 秒之內重複出現了 10 的說明。尤其是某些啓動/停止消息要被過濾掉;在系統發生故障後重新啓動隊列管理器時,嘗試同時重新連接數百個通道,過濾很有用。某些消息可以整個進行壓縮處理。

新對象類型 SERVICE 使所有分佈式平臺可以在隊列管理器啓動時自動啓動應用程序。這取代了 Windows MMC 圖形用戶界面上的定製服務。z/OS 操作系統有合適的機制可用,不需要此功能。

分佈式平臺上的通道現在可以把安全控制應用於它們,所以有的人可以啓動/停止通道,但不能修改定義。

Java 類更新使管理員更容易設置監視器,不必理會正在使用的客戶機。你再也不必瞭解客戶機程序是否是用 Java 編寫的。

V6 還具備 FP08 for V5.3 提供的 MA0C 發佈/訂閱代理。這意味着你不必下載 V6 64 位平臺可能需要的新代碼

 

WebSphere MQ V6

 

總結

 

  • 我們的核心消息發送技術的主要增強功能

  • 建立在企業解決方案所需的、經過實踐考驗的原理之上

  • 包括了許多客戶需求

本演示涵蓋的內容不到 WMQ V6 正在實施的約 200 項技術的一半。我挑選了一些最重要的項目。(未提及的某些項目照常提供,或者是在此提及的較大項目的前提條件,但沒有其它實際功能。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章