1、引言
“信息孤島”催生企業(yè)應(yīng)用集成技術(shù)(EAI,EntERPrise Application Integration)的產(chǎn)生于發(fā)展,但是傳統(tǒng)的EAI使用COM和CORBA等組件化技術(shù)進(jìn)行分布式、跨平臺(tái)的程序交互,系統(tǒng)整體的拓?fù)浣Y(jié)構(gòu)復(fù)雜,組件的連接協(xié)議私有、非標(biāo)準(zhǔn)。面向服務(wù)體系架構(gòu)(Service-Oriented Architecture,SOA)帶來了一種新的集成思想,它可以構(gòu)造出靈活的以服務(wù)為中心的架構(gòu)。
企業(yè)服務(wù)總線(ESB,EntERPrise Services Bus)的出現(xiàn),為EAI和SOA注入了新的活力。ESB在SOA 中充當(dāng)實(shí)現(xiàn)服務(wù)間智能化集成與管理的中介,是一種松散耦合的服務(wù)和應(yīng)用集成方式,在邏輯上與SOA所遵循的服務(wù)集成基礎(chǔ)架構(gòu)保持一致。
2、傳統(tǒng)的EAI方法
回顧EAI平臺(tái)的建設(shè)發(fā)展,主要包括三種架構(gòu):點(diǎn)對(duì)點(diǎn)架構(gòu),星型架構(gòu),基于消息的架構(gòu)。
2.1點(diǎn)對(duì)點(diǎn)架構(gòu)
點(diǎn)對(duì)點(diǎn)架構(gòu)是一個(gè)典型的網(wǎng)狀結(jié)構(gòu),系統(tǒng)之間兩兩建立連接,這樣N個(gè)系統(tǒng)就會(huì)有N(N-1)/2個(gè)連接,如圖1所示。
這種架構(gòu)技術(shù)簡(jiǎn)單,通常用Remote,F(xiàn)TP,IIOP或者批量接口的技術(shù)規(guī)范API來實(shí)現(xiàn)集成。但存在以下缺點(diǎn):
(1)高耦合:架構(gòu)中任意一個(gè)系統(tǒng)出了問題,會(huì)影響到與它相連接的所有系統(tǒng)。
(2)易用性差:架構(gòu)簡(jiǎn)單地實(shí)現(xiàn)系統(tǒng)兩兩連接,缺乏統(tǒng)一的監(jiān)控和管理。
(3)擴(kuò)展性差:新系統(tǒng)必須與其他所有需要交互的系統(tǒng)進(jìn)行點(diǎn)對(duì)點(diǎn)的開發(fā),不易擴(kuò)展。
2.2星型架構(gòu)
星型企業(yè)應(yīng)用集成架構(gòu)(Hub-and-Spoken架構(gòu)),是多個(gè)系統(tǒng)通過中心系統(tǒng)(相當(dāng)于Hub)建立連接。星型架構(gòu)相對(duì)點(diǎn)對(duì)點(diǎn)架構(gòu)是一個(gè)改進(jìn),實(shí)現(xiàn)了系統(tǒng)監(jiān)控和管理,減少了被集成系統(tǒng)之間的連接數(shù);另一個(gè)特征是每個(gè)系統(tǒng)通過連接器與Hub連接,使得系統(tǒng)整合很少改變或不改變已有的系統(tǒng)。架構(gòu)如圖2所示。
圖2中小橢圓代表各個(gè)系統(tǒng),大橢圓代表中央集線器系統(tǒng),三角代表輕量級(jí)連接器(Light Connector),直線代表系統(tǒng)之間的連接。結(jié)合架構(gòu)圖,可以看出Hub-and-Spoken架構(gòu)具有以下缺點(diǎn):
(1)單點(diǎn)故障和性能瓶頸:如果中央集線器出現(xiàn)問題,那么整個(gè)集成架構(gòu)就不能工作。
(2)技術(shù)不標(biāo)準(zhǔn):中央集線器與系統(tǒng)的連接并沒有統(tǒng)一的標(biāo)準(zhǔn)。
2.3基于消息的企業(yè)應(yīng)用集成架構(gòu)
架構(gòu)中所有節(jié)點(diǎn)通過一個(gè)適配器(Adapter)連接到總線上,總線主要負(fù)責(zé)數(shù)據(jù)的傳送、轉(zhuǎn)換和路由。架構(gòu)如圖3所示。
在圖3中,Message Bus是消息中間件,Adapter是應(yīng)用與消息的適配器,Application是各個(gè)系統(tǒng)。這種架構(gòu)具備更好的性能和擴(kuò)展性,但是缺乏對(duì)業(yè)務(wù)流程的處理。
3、基于ESB的企業(yè)應(yīng)用集成架構(gòu)
ESB是SOA架構(gòu)下實(shí)施EAI的方式,它是為了支持SOA設(shè)計(jì)的集成基礎(chǔ)平臺(tái)。
ESB的優(yōu)越性表現(xiàn)在:作為SOA架構(gòu)中充當(dāng)實(shí)現(xiàn)服務(wù)間智能化集成與管理的中介,是邏輯上與SOA所遵循的基本原則保持一致的服務(wù)集成基礎(chǔ)架構(gòu),改變了傳統(tǒng)的軟件架構(gòu),提供了服務(wù)管理的方法和在分布式異構(gòu)環(huán)境中進(jìn)行服務(wù)交互的功能?梢蕴峁┍葌鹘y(tǒng)中間件產(chǎn)品更為廉價(jià)的解決方案,同時(shí)可以更容易地消除不同應(yīng)用之間的技術(shù)差異,實(shí)現(xiàn)不同服務(wù)之間的通信與整合。
如圖4,架構(gòu)中從上到下各層實(shí)現(xiàn)功能如下:
(1)應(yīng)用系統(tǒng)層(Application System):包括各種需要集成的應(yīng)用系統(tǒng)。
(2)組件層(Components):實(shí)現(xiàn)用不同的組件把底層系統(tǒng)的功能封裝起來。
(3)集成層(Integration Architecture):集成服務(wù),引入一系列可靠的性能集合,比如智能路由,協(xié)議中介和其他轉(zhuǎn)化機(jī)制,通常被描述為ESB。
(4)服務(wù)層(Services):承上啟下,對(duì)上響應(yīng)業(yè)務(wù)模型,對(duì)下調(diào)用相關(guān)組件完成業(yè)務(wù)需求。
(5)業(yè)務(wù)處理層(Business Process):定義第三層中公開服務(wù)的合成和編排。
(6)表現(xiàn)層(Consumer Layer):實(shí)現(xiàn)與用戶溝通的接口。
該架構(gòu)是一個(gè)靈活的用于集成各種異構(gòu)環(huán)境中應(yīng)用和服務(wù)的基礎(chǔ)架構(gòu),能夠有效地實(shí)現(xiàn)各應(yīng)用和服務(wù)間的信息溝通和數(shù)據(jù)共享。它使用ESB作為服務(wù)集成基礎(chǔ),通過適配功能將分散在整個(gè)企業(yè)及外延的服務(wù)資源封裝為能被ESB部署和管理的業(yè)務(wù)服務(wù),這些業(yè)務(wù)服務(wù)可供服務(wù)請(qǐng)求者進(jìn)行調(diào)用。
4、ESB的關(guān)鍵技術(shù)
ESB是服務(wù)請(qǐng)求者和提供者的中介,提供數(shù)據(jù)轉(zhuǎn)換、消息傳輸以及路由選擇等重要功能。它通常涉及到下列關(guān)鍵技術(shù):服務(wù)適配網(wǎng)關(guān):通過該技術(shù)可以實(shí)現(xiàn)服務(wù)請(qǐng)求者和提供者之間的松散耦合、協(xié)議獨(dú)立、位置透明等特征。
消息路由技術(shù):通過在服務(wù)請(qǐng)求者與提供者的中介之間進(jìn)行過濾和轉(zhuǎn)發(fā)來配合服務(wù)適配網(wǎng)關(guān)完成消息的正確路由,這個(gè)過程涉及到消息路由器的設(shè)計(jì)與過濾機(jī)制的研究等問題。服務(wù)的匹配、選擇:良好的服務(wù)匹配算法可以保證較高的查全率、查準(zhǔn)率、良好的靈活性,和較高的效率。
安全技術(shù):是保證消息傳輸?shù)陌踩涂煽康。消息在服?wù)請(qǐng)求者與提供者之間傳輸,過程中可以根據(jù)需要來設(shè)置是否需要消息加密、數(shù)字簽名和身份驗(yàn)證等。
此外,還有消息轉(zhuǎn)換、適配器以及組件管理器等關(guān)鍵技術(shù)。
5、結(jié)語(yǔ)
企業(yè)服務(wù)總線為現(xiàn)代企業(yè)應(yīng)用集成提出了新的解決方案,其快速的部署實(shí)施能力、平臺(tái)無關(guān)性、標(biāo)準(zhǔn)性和松耦合性,使得可以在幾乎不更改原代碼的情況下,以一種無縫的非侵入方式使應(yīng)用間不同消息準(zhǔn)確、高效和安全地傳遞,增強(qiáng)了企業(yè)的內(nèi)聚性,使得整個(gè)企業(yè)流程更加流暢。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于ESB的企業(yè)應(yīng)用集成
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112154790.html