SOA從概念到實(shí)用,僅僅短短幾年時(shí)間,發(fā)展十分迅速。隨著SOA發(fā)展的深入,各種SOA相關(guān)技術(shù)標(biāo)準(zhǔn)也隨之發(fā)展和完善。SOA的優(yōu)點(diǎn)和特點(diǎn),已經(jīng)為大多數(shù)廠家和用戶所熟知,如松耦合、業(yè)務(wù)敏捷性、基于開(kāi)放式標(biāo)準(zhǔn)等,那么如何構(gòu)建企業(yè)或組織的SOA應(yīng)用呢?構(gòu)建SOA架構(gòu)的企業(yè)應(yīng)用或電子政務(wù),需要基于開(kāi)放式的SOA相關(guān)技術(shù)標(biāo)準(zhǔn),不然,基于非標(biāo)準(zhǔn)技術(shù)的應(yīng)用,也僅僅是傳統(tǒng)的應(yīng)用,而不是所謂的SOA,更談不上獲取SOA所帶來(lái)的好處了。那么,面對(duì)龐大而復(fù)雜的SOA相關(guān)技術(shù)標(biāo)準(zhǔn),我們?nèi)绾蝸?lái)有選擇的使用它們呢?下面,我們將從業(yè)務(wù)和技術(shù)兩個(gè)角度,淺談一下SOA技術(shù)標(biāo)準(zhǔn)的應(yīng)用。
1.SOA參考架構(gòu)
談到SOA技術(shù)標(biāo)準(zhǔn)的應(yīng)用,需要從業(yè)務(wù)角度了解一下SOA參考架構(gòu)。不同廠商及組織定義的SOA參考架構(gòu),基本上大同小異,本文以長(zhǎng)風(fēng)開(kāi)放標(biāo)準(zhǔn)平臺(tái)軟件聯(lián)盟所推薦的為例,作簡(jiǎn)單介紹。長(zhǎng)風(fēng)聯(lián)盟的SOA-RA-TF(SOA參考架構(gòu)工作組)參照相關(guān)的國(guó)際標(biāo)準(zhǔn),充分考慮國(guó)內(nèi)的實(shí)際業(yè)務(wù)需求,提出了一個(gè)SOA參考架構(gòu),如圖1所示。長(zhǎng)風(fēng)聯(lián)盟SOA參考架構(gòu)本身,體現(xiàn)了松散耦合特性,它結(jié)合了傳統(tǒng)技術(shù)和Web服務(wù)技術(shù),考慮了各種應(yīng)用場(chǎng)景,可靈活地分拆組合使用。
SOA參考架構(gòu)及相關(guān)技術(shù),主要應(yīng)用在企業(yè)應(yīng)用集成領(lǐng)域,它能夠以服務(wù)的方式共享和復(fù)用企業(yè)現(xiàn)有應(yīng)用資產(chǎn),保護(hù)用戶IT投資,并能夠以服務(wù)的方式構(gòu)建新的業(yè)務(wù)流程,對(duì)組織中的業(yè)務(wù)流程進(jìn)行靈活的重構(gòu)和優(yōu)化,增強(qiáng)業(yè)務(wù)的敏捷性。下面從業(yè)務(wù)的角度,簡(jiǎn)要介紹一下SOA參考架構(gòu)各個(gè)部分的作用與定位。
1)通過(guò)底層的適配器服務(wù),將組織現(xiàn)有應(yīng)用系統(tǒng)進(jìn)行封裝,形成可復(fù)用的服務(wù),來(lái)復(fù)用組織中的現(xiàn)有應(yīng)用資產(chǎn)。所以,適配器服務(wù)是應(yīng)用集成的基礎(chǔ);
2)服務(wù)總線,作為服務(wù)之間的協(xié)調(diào)中介,可將組織中的所有服務(wù)如適配器服務(wù)、信息服務(wù)、安全服務(wù)、業(yè)務(wù)服務(wù)等,集中管理起來(lái),暴露服務(wù)接口,并提供服務(wù)查找、內(nèi)容路由、服務(wù)質(zhì)量保障等功能,它在SOA參考架構(gòu)中起著核心中樞的作用;
3)流程服務(wù),用來(lái)將組織中的服務(wù),進(jìn)行編排組合,以滿足業(yè)務(wù)流程的需要,同時(shí),也能夠封裝形成更大粒度的業(yè)務(wù)服務(wù)。能不能體現(xiàn)業(yè)務(wù)敏捷性及滿足用戶復(fù)雜的業(yè)務(wù)流程需要,流程服務(wù)起著關(guān)鍵的作用;
4)頂層的交互服務(wù),是直接面向用戶的一層,能夠?yàn)橛脩籼峁┯押玫慕换ソ缑婕伴T戶集成的功能;SOA實(shí)施的效果,往往通過(guò)交互服務(wù)這張臉面來(lái)體現(xiàn);
5)當(dāng)然,要開(kāi)發(fā)和管理SOA所需要的運(yùn)行服務(wù),還離不開(kāi)集成開(kāi)發(fā)環(huán)境、運(yùn)行管理系統(tǒng)及服務(wù)資源的管理。SOA是否易于被用戶接受、開(kāi)發(fā)是否快捷高效、管理和維護(hù)是否方便,這幾種輔助工具非常關(guān)鍵。
2.SOA相關(guān)技術(shù)標(biāo)準(zhǔn)及應(yīng)用
根據(jù)SOA參考架構(gòu)所對(duì)應(yīng)的業(yè)務(wù)、構(gòu)建SOA涉及的技術(shù)要求以及技術(shù)標(biāo)準(zhǔn)在 SOA 中的角色功能,我們將SOA相關(guān)技術(shù)標(biāo)準(zhǔn)分為三大類:服務(wù)層次上的信息交互規(guī)范、基礎(chǔ)通信標(biāo)準(zhǔn)規(guī)范、元數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范。根據(jù)各種標(biāo)準(zhǔn)規(guī)范在SOA 體系中的角色功能,可以將 SOA 協(xié)議棧分為 7 層,如圖2所示。從底向上,包括傳輸層、消息層、描述層、管理層、服務(wù)組合層、表示層及服務(wù)資源注冊(cè)和發(fā)現(xiàn)層,其中除了ebXML和電子商務(wù)相關(guān)的技術(shù)標(biāo)準(zhǔn)(如資源注冊(cè)的ebRS、消息表示ebMS、外部服務(wù)資源編排的WS-CDL等)外,大多數(shù)在國(guó)內(nèi)已經(jīng)得到了相當(dāng)?shù)膽?yīng)用。下面簡(jiǎn)單介紹一下相關(guān)的技術(shù)標(biāo)準(zhǔn)及其應(yīng)用場(chǎng)合。
2.1 傳輸層
傳輸層作為傳統(tǒng)的傳輸協(xié)議,在SOA技術(shù)實(shí)現(xiàn)中,依然發(fā)揮著重要的作用。如HTTP、RMI/IIOP(分別用于Java的遠(yuǎn)程對(duì)象調(diào)用和CORBA的遠(yuǎn)程通訊)、SMTP、TCP/IP等。當(dāng)然,在使用基于Web的服務(wù)時(shí),常常使用HTTP協(xié)議,以便于互聯(lián)網(wǎng)上穿越防火墻。
2.2 消息層
SOAP協(xié)議基于XML描述,格式簡(jiǎn)單,語(yǔ)言獨(dú)立,便于解析和擴(kuò)展,因此,消息層SOAP已經(jīng)是Web服務(wù)消費(fèi)的消息傳輸載體的首選。Web服務(wù)協(xié)議棧中的許多規(guī)范,多是基于SOAP進(jìn)行擴(kuò)展的,如WS-Security、WS-Reliability、WS-Policy等。在有特殊要求的電子商務(wù)領(lǐng)域,消息傳輸還可以采用ebXML中的ebMS標(biāo)準(zhǔn),而基于J2EE技術(shù)的應(yīng)用中,還可以選擇JMS作為傳輸協(xié)議。
2.3 描述層
要消費(fèi)、發(fā)現(xiàn)和識(shí)別服務(wù)資源,需要對(duì)服務(wù)的語(yǔ)義進(jìn)行描述。雖然SOA中的服務(wù)并不一定是Web服務(wù),但由于Web服務(wù)的語(yǔ)言獨(dú)立性、協(xié)議的簡(jiǎn)單性及眾多廠商的支持,Web服務(wù)已經(jīng)是最常用的服務(wù)表現(xiàn)形式,而多數(shù)SOA的技術(shù)標(biāo)準(zhǔn)也大多是基于Web服務(wù)的。
WSDL從句法層面對(duì)Web服務(wù)的功能進(jìn)行描述,包括4個(gè)不同的粒度:數(shù)據(jù)類型、消息、方法和訪問(wèn)端口。WSDL在Web服務(wù)語(yǔ)義方面的描述還不完善,因此基于SOAP協(xié)議擴(kuò)展推出的WS-Policy,對(duì)表示W(wǎng)eb服務(wù)的限制條件和能力方面進(jìn)行了補(bǔ)充。鑒于WSDL比較簡(jiǎn)單,與傳統(tǒng)的對(duì)象和方法調(diào)用等概念較一致,而且語(yǔ)言獨(dú)立,得到了絕大多數(shù)廠商的支持,如IBM、BEA及國(guó)內(nèi)中間件廠商?hào)|方通等公司的產(chǎn)品,都提供了對(duì)Web服務(wù)及其標(biāo)準(zhǔn)的支持,而WSDL和SOAP已經(jīng)成為Web服務(wù)最基礎(chǔ)的標(biāo)準(zhǔn)。
由于WSDL的缺點(diǎn)和限制,DARPA組織發(fā)展了OWL-S協(xié)議,它是語(yǔ)義Web服務(wù)標(biāo)記語(yǔ)言的標(biāo)準(zhǔn),它比WSDL更能向用戶提供可理解的服務(wù)資源的描述形式,提高服務(wù)選取與推薦的準(zhǔn)確性。此協(xié)議相對(duì)完整和嚴(yán)謹(jǐn),但是相對(duì)復(fù)雜,目前它主要在學(xué)術(shù)界進(jìn)行研究和發(fā)展,實(shí)際應(yīng)用較少。
2.4 管理層
與傳統(tǒng)的IT技術(shù)相比,松耦合的分布式的SOA軟件系統(tǒng),處理服務(wù)質(zhì)量方面的管理問(wèn)題,更加棘手。例如安全性問(wèn)題,對(duì)于跨網(wǎng)絡(luò)的多個(gè)服務(wù)訪問(wèn),如何驗(yàn)證合法身份、防止飽和性攻擊、消息內(nèi)容如何防止篡改和竊取、多個(gè)信任域如何一次性驗(yàn)證身份等?如果使用傳統(tǒng)的多種非標(biāo)準(zhǔn)技術(shù)或不同廠家來(lái)實(shí)現(xiàn)這些要訪問(wèn)的服務(wù),要解決上述問(wèn)題簡(jiǎn)直是場(chǎng)噩夢(mèng)。這種情況下,統(tǒng)一使用標(biāo)準(zhǔn)的協(xié)議,才是解決的最佳方案。為此,一些標(biāo)準(zhǔn)化組織如OASIS等發(fā)展出了系列的標(biāo)準(zhǔn)。如WS-Security標(biāo)準(zhǔn)系列、WS-Trust、SAML等,結(jié)合傳統(tǒng)的安全標(biāo)準(zhǔn),如KPI、加密算法等,可以用來(lái)解決Web服務(wù)的安全性問(wèn)題;WS-Reliability、WS-ReliableMessaging標(biāo)準(zhǔn),可以用來(lái)解決消息傳輸?shù)目煽啃詥?wèn)題;WS-Transaction系列協(xié)議,用來(lái)解決傳統(tǒng)的多個(gè)Web服務(wù)消費(fèi)的事務(wù)完整性問(wèn)題。上述協(xié)議可用于服務(wù)容器、業(yè)務(wù)服務(wù)及企業(yè)服務(wù)總線等的服務(wù)管理擴(kuò)展。目前上述部分標(biāo)準(zhǔn)已經(jīng)在某些商用產(chǎn)品中使用,如應(yīng)用服務(wù)器(服務(wù)容器中實(shí)現(xiàn))、企業(yè)服務(wù)總線產(chǎn)品等。
另外,對(duì)于Web服務(wù)及資源的分布式管理,還可以參考Web服務(wù)分布式管理WSDM標(biāo)準(zhǔn)及Web服務(wù)資源框架WSRF協(xié)議,不過(guò)這些協(xié)議推出時(shí)間比較晚,目前還鮮有應(yīng)用。
2.5 服務(wù)組合層
服務(wù)組合層的標(biāo)準(zhǔn)規(guī)范,主要用來(lái)構(gòu)建基礎(chǔ)服務(wù)及將服務(wù)進(jìn)行組合編排,來(lái)形成滿足用戶需要的業(yè)務(wù)服務(wù)。
WS4BPEL,即Web服務(wù)業(yè)務(wù)流程執(zhí)行語(yǔ)言,它是一種可執(zhí)行語(yǔ)言,能夠與各種促使業(yè)務(wù)流程自動(dòng)化的軟件系統(tǒng)相兼容。Web服務(wù)編制,通過(guò)說(shuō)明性的方式(而不是編程的方式)表達(dá)了進(jìn)行Web服務(wù)合成的需求。此標(biāo)準(zhǔn)主要用于組織內(nèi)部的業(yè)務(wù)流程管理及服務(wù)編排,目前越來(lái)越多的BPM產(chǎn)品基于此規(guī)范實(shí)現(xiàn),大有代替?zhèn)鹘y(tǒng)工作流技術(shù)的趨勢(shì)。
WS-CDL,定義為在多個(gè)交易伙伴之間建立形式化關(guān)系,它不要求所有被集成的端點(diǎn)(endpoints)都有Web服務(wù)基礎(chǔ)設(shè)施。此規(guī)范更多地用于組織之外的服務(wù)與流程編排,目前在國(guó)內(nèi)還不常用。
SCA(Service Component Architecture),即服務(wù)組件架構(gòu),提供了一種編程模型,可以支持基于SOA的應(yīng)用程序?qū)崿F(xiàn)。它支持實(shí)現(xiàn)服務(wù)組件的各種技術(shù),連接服務(wù)組件的各種存取方法。SDO能夠使應(yīng)用編程人員可以用一致的方法操作異構(gòu)數(shù)據(jù)源,包括關(guān)系型數(shù)據(jù)庫(kù),XML數(shù)據(jù)源,Web services和企業(yè)信息系統(tǒng)。理想上,可以使用多種技術(shù)開(kāi)發(fā)組件,然后使用SCA標(biāo)準(zhǔn)來(lái)組裝組件及更大粒度的服務(wù)組裝,而SDO可以作為服務(wù)及組件之間傳輸?shù)臉?biāo)準(zhǔn)數(shù)據(jù)格式。SCA比較年輕(2007年推出第一個(gè)1.0版本),國(guó)內(nèi)實(shí)際使用的還比較少,而SDO由于發(fā)展較早,國(guó)內(nèi)已經(jīng)有部分用戶和廠商在使用。
JBI,即Java業(yè)務(wù)集成,它定義了一個(gè)標(biāo)準(zhǔn)的體系結(jié)構(gòu)允許第三方的組件插入到標(biāo)準(zhǔn)的基礎(chǔ)設(shè)施上,并且即使這些組件是有不同提供商提供的,它們也可以以一種可預(yù)見(jiàn)的和可靠的方式互操作。JBI標(biāo)準(zhǔn)可用來(lái)實(shí)現(xiàn)企業(yè)服務(wù)總線及企業(yè)應(yīng)用集成產(chǎn)品,但由于JBI限于Java技術(shù),目前商用的產(chǎn)品支持還比較少,倒是一些開(kāi)源實(shí)現(xiàn)比較多。
2.6 表示層
表示層的標(biāo)準(zhǔn)如JSR168和WSRP,主要應(yīng)用在Portal軟件的開(kāi)發(fā)。JSR168是java 規(guī)范要求,它為創(chuàng)建portlet建立標(biāo)準(zhǔn)的api,它是為實(shí)現(xiàn)porltet、基于java的門戶服務(wù)器和其他web應(yīng)用程序之間的互操作性而設(shè)計(jì)的。在開(kāi)發(fā)基于Java技術(shù)的門戶產(chǎn)品和Web頁(yè)面集成時(shí),可以考慮使用JSR168規(guī)范。而且,大多數(shù)的基于Java技術(shù)的Portal產(chǎn)品,都支持此規(guī)范。
WSRP,定義了如何利用基于 SOAP 的 Web 服務(wù)在門戶應(yīng)用程序中生成標(biāo)記片斷的規(guī)范。通過(guò)定義一組公共接口,WSRP 允許門戶在它們的頁(yè)面中顯示遠(yuǎn)程運(yùn)行的 portlet,而不需要門戶開(kāi)發(fā)人員進(jìn)行任何編程。WSRP是由OASIS組織制定,目前已得到多數(shù)廠商的支持,鑒于它基于Web服務(wù)標(biāo)準(zhǔn),而且技術(shù)相對(duì)獨(dú)立,因此隨著此標(biāo)準(zhǔn)的逐漸完善,相信越來(lái)越多的Portal產(chǎn)品會(huì)支持此標(biāo)準(zhǔn)。
2.7 服務(wù)資源的注冊(cè)與發(fā)現(xiàn)
在服務(wù)資源的注冊(cè)與發(fā)現(xiàn)機(jī)制上,主要有兩種標(biāo)準(zhǔn)規(guī)范可用,UDDI和ebXML中的ebRS標(biāo)準(zhǔn)。UDDI注冊(cè)內(nèi)容包括Web服務(wù)的技術(shù)模型和業(yè)務(wù)模型,本身可擴(kuò)展,但目前其注冊(cè)的內(nèi)容和描述還不夠豐富和完整,因此它主要用于Web服務(wù)的注冊(cè)和查找。在商用的Web服務(wù)注冊(cè)器的實(shí)現(xiàn)上,多有基于UDDI的產(chǎn)品。
ebXML中的ebRS標(biāo)準(zhǔn),其注冊(cè)機(jī)制要比UDDI豐富和完善的多。它的注冊(cè)機(jī)制用途廣泛,可以表示范圍廣泛的數(shù)據(jù)對(duì)象,包括 XML 模式、業(yè)務(wù)流程描述、UML模型、一般貿(mào)易合作伙伴信息及軟件組件。但正是由于其完善而復(fù)雜,因此它主要用于電子商務(wù)領(lǐng)域。
3.總結(jié)
本文不是SOA寶典,不可能覆蓋所有的SOA相關(guān)技術(shù)標(biāo)準(zhǔn)和應(yīng)用,如基于J2EE的或基于CORBA的SOA相關(guān)技術(shù)標(biāo)準(zhǔn)、Web服務(wù)完整協(xié)議棧、Web服務(wù)互操作協(xié)議等。因此,有興趣的讀者,可以借鑒本文提供的思路和線索,進(jìn)一步深入研究SOA相關(guān)技術(shù)標(biāo)準(zhǔn)和應(yīng)用,以滿足自身或企業(yè)的SOA實(shí)施和開(kāi)發(fā)需要。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:如何透過(guò)業(yè)務(wù)和技術(shù)看SOA的發(fā)展
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121511233.html