第一章 ESB介紹
本博客介紹一款ESB產品,IBM WebSphere ESB。ESB(Enterprise Service Bus)也即企業服務總線。ESB有很多產品,IBM的IBM WebSphere就是其中一款。ESB是傳統中間件技術與XML、Web服務等技術結合的產物。雖然現在基於RPC的微服務結構興起,但是ESB作為傳統的解耦合技術。在一些企業里還是有應用的。
1.1 為什么使用ESB
在一個企業里必然有很多系統,但是不是操作系統之間的數據傳輸格式、傳輸協議等等都是不相同的。這樣的話,不同系統之間調用肯定是非常復雜的,接口的維護費用肯定是很龐大的,這時企業服務總線ESB應運而生。
1.2 ESB擔任的角色
中介、路由轉發、格式轉換、協議轉換、安全控制
1.3 ESB提供的服務
- 傳輸服務
安全、可靠的數據傳輸
持久性/非持久性
同步/異步 - 仲裁服務
基於內容路由
數據格式轉換
通信協議轉換 - 事件服務
事件發現和發布
事件的觸發和傳遞
第二章 IBM WebSphere ESB開發
2.1 IBM WebSphere的優勢
-
交易完整性保證
支持不同層次的交易完整性要求,例如:可以設定整個消息流為一個完整的交易,當某一環節發生錯誤時,整個消息流回滾,保證數據一致性; -
高可靠性和高擴展性
單節點:
多節點:強大的Cluster功能 -
具有理解和管理各類系統的能力
支持統一的監控和管理框架:Common Event Infrastructure
利用Tivoli相關產品進行全面的系統監控和管理 -
開發簡單
2.2 IBM WebSphere ESB開發
開發軟件的話可以去IBM官網下載https://www.ibm.com/developerworks/cn/,因為IBM的產品是非開源的,一般是通過企業合作的。
本博客介紹IBM IIB創建一個基本的ESB消息流,本指南所有涉及到的相關技術點都是圍繞該消息流展開描述的。使用IBM IIB可以很快的實現。
【創建工程】
第一步:創建工程
啟動IIB Tookit ,建個名稱為StoreMdata的工程
第二步:創建消息流
創建名為StoreMdataFlow的消息流,這樣一個沒有任何功能的ESB消息流就創建好了
第三步:創建消息集
創建名為StoreMdataMessageSet的消息集,鼠標右鍵點擊工程名StoreMdata,找到菜單:【新建】->【其他】雙擊彈出如下圖對話框,選擇消息集
點擊下一步,輸入名稱
可以看出此時消息集還處於“獨立資源”中,我們要把它合並到工程“StoreMdata”中去,點擊項目,右鍵,找到Manage included projects(管理應用程序中包含的項)
將之前創建好的消息集(StoreMdataZMessageSet)勾選上,點擊ok,然后消息集就添加到工程中來了。
【ESB消息流開發】
在IIB中提供了諸多節點可供選擇,比如
- 基於Web Service的SOAPInput節點:
- 基於Websphere MQ的MQInput節點:
- 基於Websphere適配器的SAPInput節點:
- 基於Http的HTTPInput節點:
IIBToolkit來開發是很簡單的,只要在開發界面右側組件欄中選擇適當的組件,通過拖拽放入消息流中,便可輕松的完成消息流框架的開發,后續就需要通過連接線將所有組件串接起來,組裝成一個可以提供服務並對消息進行處理,轉換和路由的ESB消息流了