[TOC]
第一章 ESB介紹
本博客介紹一款ESB產(chǎn)品,IBM WebSphere ESB。ESB(Enterprise Service Bus)也即企業(yè)服務(wù)總線携悯。ESB有很多產(chǎn)品,IBM的IBM WebSphere就是其中一款。ESB是傳統(tǒng)中間件技術(shù)與XML钦睡、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。雖然現(xiàn)在基于RPC的微服務(wù)結(jié)構(gòu)興起躁倒,但是ESB作為傳統(tǒng)的解耦合技術(shù)荞怒。在一些企業(yè)里還是有應(yīng)用的。
1.1 為什么使用ESB
在一個(gè)企業(yè)里必然有很多系統(tǒng)秧秉,但是不是操作系統(tǒng)之間的數(shù)據(jù)傳輸格式褐桌、傳輸協(xié)議等等都是不相同的。這樣的話象迎,不同系統(tǒng)之間調(diào)用肯定是非常復(fù)雜的荧嵌,接口的維護(hù)費(fèi)用肯定是很龐大的,這時(shí)企業(yè)服務(wù)總線ESB應(yīng)運(yùn)而生砾淌。
1.2 ESB擔(dān)任的角色
中介啦撮、路由轉(zhuǎn)發(fā)、格式轉(zhuǎn)換汪厨、協(xié)議轉(zhuǎn)換赃春、安全控制
1.3 ESB提供的服務(wù)
- 傳輸服務(wù)
安全、可靠的數(shù)據(jù)傳輸
持久性/非持久性
同步/異步 - 仲裁服務(wù)
基于內(nèi)容路由
數(shù)據(jù)格式轉(zhuǎn)換
通信協(xié)議轉(zhuǎn)換 - 事件服務(wù)
事件發(fā)現(xiàn)和發(fā)布
事件的觸發(fā)和傳遞
第二章 IBM WebSphere ESB開發(fā)
2.1 IBM WebSphere的優(yōu)勢(shì)
交易完整性保證
支持不同層次的交易完整性要求劫乱,例如:可以設(shè)定整個(gè)消息流為一個(gè)完整的交易织中,當(dāng)某一環(huán)節(jié)發(fā)生錯(cuò)誤時(shí),整個(gè)消息流回滾衷戈,保證數(shù)據(jù)一致性抠璃;高可靠性和高擴(kuò)展性
單節(jié)點(diǎn):
多節(jié)點(diǎn):強(qiáng)大的Cluster功能具有理解和管理各類系統(tǒng)的能力
支持統(tǒng)一的監(jiān)控和管理框架:Common Event Infrastructure
利用Tivoli相關(guān)產(chǎn)品進(jìn)行全面的系統(tǒng)監(jiān)控和管理開發(fā)簡(jiǎn)單
2.2 IBM WebSphere ESB開發(fā)
開發(fā)軟件的話可以去IBM官網(wǎng)下載https://www.ibm.com/developerworks/cn/,因?yàn)镮BM的產(chǎn)品是非開源的脱惰,一般是通過企業(yè)合作的搏嗡。
本博客介紹IBM IIB創(chuàng)建一個(gè)基本的ESB消息流,本指南所有涉及到的相關(guān)技術(shù)點(diǎn)都是圍繞該消息流展開描述的。使用IBM IIB可以很快的實(shí)現(xiàn)采盒。
【創(chuàng)建工程】
第一步:創(chuàng)建工程
啟動(dòng)IIB Tookit 旧乞,建個(gè)名稱為StoreMdata的工程
第二步:創(chuàng)建消息流
創(chuàng)建名為StoreMdataFlow的消息流,這樣一個(gè)沒有任何功能的ESB消息流就創(chuàng)建好了
第三步:創(chuàng)建消息集
創(chuàng)建名為StoreMdataMessageSet的消息集磅氨,鼠標(biāo)右鍵點(diǎn)擊工程名StoreMdata尺栖,找到菜單:【新建】->【其他】雙擊彈出如下圖對(duì)話框,選擇消息集
點(diǎn)擊下一步烦租,輸入名稱
可以看出此時(shí)消息集還處于“獨(dú)立資源”中延赌,我們要把它合并到工程“StoreMdata”中去,點(diǎn)擊項(xiàng)目叉橱,右鍵挫以,找到Manage included projects(管理應(yīng)用程序中包含的項(xiàng))
將之前創(chuàng)建好的消息集(StoreMdataZMessageSet)勾選上,點(diǎn)擊ok窃祝,然后消息集就添加到工程中來了掐松。
【ESB消息流開發(fā)】
在IIB中提供了諸多節(jié)點(diǎn)可供選擇,比如
- 基于Web Service的SOAPInput節(jié)點(diǎn):
- 基于Websphere MQ的MQInput節(jié)點(diǎn):
- 基于Websphere適配器的SAPInput節(jié)點(diǎn):
- 基于Http的HTTPInput節(jié)點(diǎn):
IIBToolkit來開發(fā)是很簡(jiǎn)單的粪小,只要在開發(fā)界面右側(cè)組件欄中選擇適當(dāng)?shù)慕M件大磺,通過拖拽放入消息流中,便可輕松的完成消息流框架的開發(fā)探膊,后續(xù)就需要通過連接線將所有組件串接起來杠愧,組裝成一個(gè)可以提供服務(wù)并對(duì)消息進(jìn)行處理,轉(zhuǎn)換和路由的ESB消息流了