Service-Oriented Architecture (SOA)
是最近幾年新提出的解決應(yīng)用系統(tǒng)互聯(lián)互通的一種新架構(gòu)和新思想,
SOA
采用了很多業(yè)界所共同遵守的標(biāo)準(zhǔn)或規(guī)范,這種設(shè)計(jì)架構(gòu)已經(jīng)逐步成為軟件應(yīng)用系統(tǒng)集成的主流架構(gòu)。
Enterprise Service Bus
(
ESB
),即企業(yè)服務(wù)總線是
SOA
的一個(gè)基礎(chǔ)和最佳實(shí)現(xiàn)。
ESB
不僅解決了令企業(yè)最頭痛的信息系統(tǒng)整合問題,還能為企業(yè)提供了一個(gè)軟件的基礎(chǔ)體系架構(gòu)。它是一個(gè)基于標(biāo)準(zhǔn)的,松散耦合的,靈活性和擴(kuò)展性非常高的平臺(tái),適合于對(duì)企業(yè)組織的各種異構(gòu)系統(tǒng)進(jìn)行整合,并為以后開發(fā)的各種面向服務(wù)的應(yīng)用提供自動(dòng)的集成,當(dāng)企業(yè)的業(yè)務(wù)需求有變化時(shí)也不需要對(duì)原來的系統(tǒng)進(jìn)行改造,真正達(dá)到“按需互連”的效果。
JSR 208
—
Java Business Integration(JBI)
是標(biāo)準(zhǔn)的組件模型整合,是一種松耦合,事件驅(qū)動(dòng)方式的整合。
JBI
促進(jìn)幫助了和
ESB
的整合,使
ESB
在組件模型層面提供了一致性的接入標(biāo)準(zhǔn)。
JBI
有下面幾個(gè)特征:
2???????
可插拔的整合組件;
2???????
協(xié)議獨(dú)立。支持
HTTP
、
SOAP
、
JMS
、
JDBC
、
TCP
、
UDP
、
SMTP
、
POP3
、
XMPP
等多種協(xié)議之間的交互和轉(zhuǎn)換;
2???????
松耦合。基于
SOA
的整合模型;
2???????
基于標(biāo)準(zhǔn)的接口;
2???????
提供
SPI
而不是
API
;
2???????
規(guī)格化的消息路由。
SOA
、
ESB
、
JBI
這三者從架構(gòu)理念到架構(gòu)標(biāo)準(zhǔn)再到組件標(biāo)準(zhǔn),充分描述了未來應(yīng)用架構(gòu)的整體思想和具體構(gòu)建思路。基于服務(wù)和組件化的架構(gòu)示意圖如下:
?

應(yīng)用拓?fù)鋱D如下:
??
??? 從實(shí)際建設(shè)的角度看,門戶要充分可以通過基于標(biāo)準(zhǔn)的服務(wù),通過統(tǒng)一的
ESB
與現(xiàn)有業(yè)務(wù)進(jìn)行整合,也可以通過門戶本身所具有的頁(yè)面整合能力,對(duì)部分關(guān)鍵應(yīng)用(如協(xié)同辦公系統(tǒng))在界面進(jìn)行整合。
通過
SOA
的技術(shù),可以實(shí)現(xiàn)以下價(jià)值:
2???????
基于標(biāo)準(zhǔn)的接口定義
?????????
消費(fèi)者和提供者之間松散耦合關(guān)系保證了彼此的獨(dú)立性
?????????
企業(yè)級(jí)的應(yīng)用整合和流程管理更容易理解和實(shí)現(xiàn)
2???????
構(gòu)建一次,使用多次
?????????
一個(gè)地方的改變只影響自己
?????????
更少的開發(fā)、運(yùn)營(yíng)和維護(hù)成本
2???????
少的、粗粒度的交互
?????????
加強(qiáng)了系統(tǒng)的獨(dú)立性
?????????
簡(jiǎn)化了數(shù)據(jù)定義和流程
?????????
易于管理,減少了復(fù)雜程度
?????????
容易封裝成為更大的流程模型
?
?