WMB在項目中的應用

 
提綱:

1、 WebSphere Message Broker Introduction

a) ESB Overview

b) Message Broker Overview

c) Message Broker Performance Report

2、 ESB Project Sharing

內容:

1、 Message Broker是建立在MQ基礎之上的。【說明消息中間件對於MB是何等的重要,可靠的傳輸是前提、是基礎。】

2、 Business Integration Reference Architecture

上面是IBM的業務集成參考架構,而下面的圖則用IBM的產品充滿了整個架構。

3、 ESB所處的位置,作爲連接層,組織服務請求方和服務提供方之間的信息

4、 ESB解決連接性問題

a) Decouple interfaces from application.【ESB可以從應用中解耦接口。注意:當前的項目中,總是在對付接口】

b) Enable all applications to communicate with each other regardless of

i. Programming languages

ii. System Platforms

iii. Programming models

iv. Protocols

v. Data formats

可以在以上5層無關性的前提下,應用程序互相通訊。

5、 What is Enterprise Service Bus (ESB)?

c) A flexible connectivity infrastructure for integrating applications and services.【一個柔性聯通基礎架構,用於集成應用程序和服務。】

d) Used to reduce the number, size, and complexity of interfaces.【用於減少接口的數量、大小、複雜性】

6、 ESB的功能

e) Matches & routes (message between services)【原來應用系統是直連的,相互之間是知道對方存在的,是依賴於接口的】

f) Converts (transport protocols between requestor and service)【協議轉換】

g) Transforms (message format between requestor and service)【消息格式轉換】

h) Distributes (business events from/to disparate sources)【分發事件】

7、 ESB提供的通訊服務

i) 傳輸 (包括JMS消息和異步協議)

j) 事件

k) 中轉

8、 什麼是Brokering ? (注意:數據的格式不一樣)

Broker願意是經紀人的意思,在這裏可以理解爲代理。

使用Message Broker之後,還可以很方便連接新的應用。

9、 Message Broker 產品家族

IBM劃分基礎產品和高端產品的方式可以學習。

10、 Message Broker核心概念

l) 消息處理(Message processing)

i. 處理消息中的獨立項

ii. 物理和邏輯消息模型

m) 轉換和路由(Transformation and Routing)

i. 消息操縱(Message Manipulation)【我理解爲各種處理,類似於handle】

ii. 基於內容的路由(Content based routing)

n) 簡單的,清晰的編程模式

i. 可視化編程模式:消息流

11、 Message Broker概況

從這個處理流程中,可以看出MB的基本功能:

1) 收到並路由消息

2) 轉換消息到另一格式,或者到多個其他格式

3) 給訂閱者發佈一個消息

4) 訪問外部數據庫處理增量消息或存儲

5) 應答事件和錯誤

12、 MB的組件――部署時

Broker 有Domain的概念,另外Message sets和Message flow都運行在Broker之內,多個Broker部署在同一個Broker Domain內,在同一個Domain內通過Configuration來進行配置。

13、 MB的組件――運行時

1) Broker(消息代理):是MB的消息處理引擎,它提供MB的所有運行時服務。

2) Configuration Manager(配置管理器):CM是工作臺,配置存儲庫和Broker之間的一個接口,它維護Broker Domain的配置信息,向Broker提供初始化配置信息以及之後的變化信息。配置管理器是MB用於管理那些組成Broker Domain的全部部件和資源的核心運行時部件。

3) Broker Domain(消息代理域):共享相同配置的若干Broker組成一個消息代理域,每個消息代理域由一個唯一的配置管理器來控制,在一個消息代理域中,可以創建、啓動一個或多個Broker,和一個可選的User Name Server。

4) Execution Group(執行組):執行組是若干消息流的組合,是消息流運行引擎。每個執行組是一個獨立的進程,這樣,在同一個執行組中的消息流可以做到在運行時相互獨立。在一個執行組內部,消息流在不同的線程池內運行,爲了提高性能,我們可以通過設置每個消息流的運行實例的個數來指定每個消息流的線程池的大小。

5) User Name Server(用戶名稱服務器):任何關鍵系統的一個重要的組成部分就是通過提供一個有效的安全機制來確保資產安全的能力。用戶名稱服務器是可選的運行時組件,它提供Publish/Subscribe操作相關的用戶和組的安全控制。

6) Message Flow(消息流):在MB中對消息的運算處理、格式轉換和路由等功能是通過消息流實現的,每個消息從輸入MB到從MB中輸出,都將被一個消息流處理,然後發往目的應用系統。消息流由各種消息處理節點(Message Processing Node)組成,消息處理節點可對消息進行各種處理操作,節點與節點相連,便組成了一個消息流。

7) Message Processing Node(消息處理節點):在MB中,對消息的所有計算和處理是通過消息節點實現的,消息節點實際上是被Broker運行環境調用的動態鏈接庫(DLL),通過ESQL語句對消息進行操作,通過對消息節點屬性的客戶華處理,將使節點能夠對流經自己的消息執行特定的功能。

8) ESQL:在MB中,消息流開發使用的使ESQL語言。ESQL是對SQL V3的擴展,除了用於數據庫的操作之外,它還可以操作消息數據,包括Generic XML和MRM格式的消息。

14、 Message Flows【簡直就是針對消息的工作流】

15、 Message Processing Nodes (6.0在此基礎上又有增加)

從我的觀點來分析,最重要的節點:

a) MQInput & MQOutput

b) HttpInput 可以做WS服務,HttpRequest可以去訪問WS

c) Publication 用於發佈

d) ESQL語句節點,可以用於手工寫ESQL,屬於萬能的節點。

e) Mapping,消息到消息和消息到DB的映射

f) Filter, 實現if-else。返回4種狀態:failer,true,false,unknow。

g) RouteToLaber配合Label,相當與case語句。

h) TryCatch 和Throw

i) Trace,用於打印調試信息。MB也提供命令行調試方式。

j) Aggregate Request、Reply、Control,聚合

新版本中增加了

a) Timer節點

b) JMS節點

16、 MB Toolkit

17、 ESQL editor

18、 Message Set Development

19、 Mapping editor

20、 Deployment

MB需要打包成bar包,這具有更強的靈活性,更高的性能,當然要稍微麻煩一些。自己開發的產品,打包、部署一定要簡單,最好能支持熱部署。

21、 mqsideploy 命令行部署工具,較大型的項目,需要做開發環境、測試環境、聯調環境、生產環境等。生成腳本可以多次執行。這就是大型軟件和一般軟件的區別之一。

22、 MB性能報告

4160 個 1KB的包/秒,建議交易用的包在1—2K。

MQ消息持久,是指寫文件,保證服務宕機的情況下消息的完整性。而非持久性能更高。

比如:銀行ATM最大等待時間60妙,超時後消息本身就沒有意義,可以選擇非持久。

23、 MQInput/MQOutput消息流的基準值

24、 Parallel Processing Option

MB可以通過多instance或者多執行組來並行,具體哪個效果更好,看具體應用的情況。

 

轉自: http://www.cnblogs.com/dabing/archive/2008/07/16/1244503.html

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