金剛波
【摘要】本文介紹了目前面向服務(wù)架構(gòu)(SOA)的特點(diǎn),構(gòu)造了一種基于SOA的企業(yè)服務(wù)總線的應(yīng)用模型,SOA主要是為了定義一個(gè)體系方法,以此來(lái)增加在IT系統(tǒng)整合的伸縮性.通過(guò)業(yè)務(wù)周期的各個(gè)條件,可以用一定的時(shí)間迅速提升體系和IT系統(tǒng)整合的伸縮性。主要包括:加快業(yè)務(wù)實(shí)現(xiàn)新產(chǎn)品或者新流程,或改變現(xiàn)有甚至以新的方式能組合它們.減少IT系統(tǒng)實(shí)現(xiàn)以及所有權(quán)的花費(fèi),減少系統(tǒng)之間整合。
【關(guān)鍵詞】SOA;企業(yè)服務(wù)總線
一、引言
面向服務(wù)的體系架構(gòu)(Service Oriented Architecture,SOA)是由Gartner在1996年提出的,但是由于其特性,當(dāng)時(shí)一直沒(méi)被引起重視。隨著互聯(lián)網(wǎng)技術(shù)的日益成熟和應(yīng)用日益普及,SOA的概念又重新被人們提到,并開始大力研究。當(dāng)前,SOA是軟件領(lǐng)域最炙手可熱的一個(gè)概念。SOA是面向軟件工程的,SOA就是一組服務(wù)的有機(jī)集合;從軟件和業(yè)務(wù)功能兩方面的觀點(diǎn)看,服務(wù)就是定義良好的軟件組件,它不依賴于任何調(diào)用它的應(yīng)用程序的上下文或狀態(tài),而且強(qiáng)調(diào)開放性、標(biāo)準(zhǔn)化、即插即用,實(shí)現(xiàn)組件之間以及組件與平臺(tái)之間的松散耦合。
二、SOA參考架構(gòu)
說(shuō)到SOA技術(shù)標(biāo)準(zhǔn)的應(yīng)用,需要從業(yè)務(wù)角度了解一下SOA參考架構(gòu)。不同廠商及組織定義的SOA參考架構(gòu),基本上大同小異,參照相關(guān)的國(guó)際標(biāo)準(zhǔn),充分考慮國(guó)內(nèi)的實(shí)際業(yè)務(wù)需求,提出了一個(gè)SOA參考架構(gòu),SOA參考架構(gòu)本身,體現(xiàn)了松散耦合特性,它結(jié)合了傳統(tǒng)技術(shù)和Web服務(wù)技術(shù),考慮了各種應(yīng)用場(chǎng)景,可靈活地分拆組合使用。服務(wù)總線,作為服務(wù)之間的協(xié)調(diào)中介,可將組織中的所有服務(wù)如適配器服務(wù)、信息服務(wù)、安全服務(wù)、業(yè)務(wù)服務(wù)等,集中管理起來(lái),暴露服務(wù)接口,并提供服務(wù)查找、內(nèi)容路由、服務(wù)質(zhì)量保障等功能,它在SOA參考架構(gòu)中起著核心中樞的作用;流程服務(wù),用來(lái)將組織中的服務(wù),進(jìn)行編排組合,以滿足業(yè)務(wù)流程的需要,同時(shí),也能夠封裝形成更大粒度的業(yè)務(wù)服務(wù)。能不能體現(xiàn)業(yè)務(wù)敏捷性及滿足用戶復(fù)雜的業(yè)務(wù)流程需要,流程服務(wù)起著關(guān)鍵的作用;頂層的交互服務(wù),是直接面向用戶的一層,能夠?yàn)橛脩籼峁┯押玫慕换ソ缑婕伴T戶集成的功能
三、企業(yè)服務(wù)總線的研究
ESB(企業(yè)服務(wù)總線)定義通常如下:它是基于中間件技術(shù)實(shí)現(xiàn)并支持SOA的一組基礎(chǔ)架構(gòu)功能,它主要實(shí)現(xiàn)消息的傳輸、轉(zhuǎn)換和路由,它是連接企業(yè)各種紛繁復(fù)雜應(yīng)用的骨干神經(jīng)系統(tǒng)。將連接到ESB上的不同的應(yīng)用程序定義為不同組件(或稱為服務(wù)),服務(wù)之間的接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。
(一)企業(yè)服務(wù)總線的功能
企業(yè)服務(wù)總線的功能可以簡(jiǎn)單概括為三點(diǎn):通信功能:提供位置透明性的路由和尋址服務(wù);控制服務(wù)尋址和命名的管理功能;至少一種形式的消息傳遞范型(例如,請(qǐng)求/響應(yīng)、發(fā)布/訂閱等等)。集成功能:支持服務(wù)提供的多種集成方式,比如Java 2連接器、Web服務(wù)、異步通信、適配器等等。服務(wù)交互功能:一個(gè)開放且與實(shí)現(xiàn)無(wú)關(guān)的服務(wù)消息傳遞與接口模型,它應(yīng)該將應(yīng)用程序代碼從路由服務(wù)和傳輸協(xié)議中分離出來(lái),并允許替代服務(wù)的實(shí)現(xiàn)。當(dāng)然,在許多甚至是大多數(shù)情形中往往需要其他的功能,并且這種需要變得越來(lái)越常見。主要包括:安全性、服務(wù)質(zhì)量和服務(wù)級(jí)別、消息處理、管理和自治和基礎(chǔ)架構(gòu)智能等功能。
(二)企業(yè)服務(wù)總線的特點(diǎn)
企業(yè)服務(wù)總線ESB是一種基于標(biāo)準(zhǔn)的、保護(hù)投資的軟件平臺(tái)產(chǎn)品。ESB將分屬于不同所有者的應(yīng)用系統(tǒng)所提供的功能抽象到服務(wù)級(jí)別,使系統(tǒng)的互聯(lián)不再糾纏于接口細(xì)節(jié)的描述。ESB具有以下的特點(diǎn):可擴(kuò)展的、基于標(biāo)準(zhǔn)的互連技術(shù):ESB包含了基于標(biāo)準(zhǔn)的消息系統(tǒng),使企業(yè)內(nèi)部以及外部系統(tǒng)之間可以很容易地通過(guò)異步或同步交換信息。ESB通過(guò)Web服務(wù)、J2EE、.NET和其它標(biāo)準(zhǔn)提供更強(qiáng)的系統(tǒng)互連功能。靈活的、基于服務(wù)的應(yīng)用組合:基于面向服務(wù)的架構(gòu),ESB應(yīng)用模型允許復(fù)雜的分布式應(yīng)用,包括跨越多個(gè)應(yīng)用程序、系統(tǒng)和防火墻的集成解決方案,由事先開發(fā)和測(cè)試好的服務(wù)靈活組合而成,通過(guò)業(yè)務(wù)流程編排簡(jiǎn)化服務(wù)間的耦合,為系統(tǒng)提供了易擴(kuò)展性,適應(yīng)了業(yè)務(wù)的多變性。
(三)企業(yè)服務(wù)總線與SOA的關(guān)系
面向服務(wù)的體系結(jié)構(gòu)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。ESB支持這些服務(wù)交互功能,并通過(guò)提供集成的通信、消息傳遞以及事件基礎(chǔ)架構(gòu)來(lái)支持這些功能。因此,它將當(dāng)今正在使用的主要企業(yè)集成模式組合成一個(gè)實(shí)體。ESB為SOA提供與企業(yè)需要保持一致的基礎(chǔ)架構(gòu),從而提供合適的服務(wù)級(jí)別和可管理性、以及異構(gòu)環(huán)境中的操作。ESB就是在SOA架構(gòu)中實(shí)現(xiàn)服務(wù)間智能化集成與管理的中介。
四、總結(jié)
隨著SOA在中國(guó)進(jìn)一步發(fā)展,面向服務(wù)架構(gòu)這一課題最近已經(jīng)是研究方向的一個(gè)熱點(diǎn)。如何說(shuō)明SOA使企業(yè)受益,或是通過(guò)SOA這層架構(gòu),如何讓企業(yè)更好的整合其內(nèi)部的IT部門,使之間的跨平臺(tái),跨部門,跨領(lǐng)域變的可操作性。SOA旨在將單個(gè)應(yīng)用程序功能彼此分開,以便這些功能可以單獨(dú)用作單個(gè)的應(yīng)用程序功能或“組件”。
參考文獻(xiàn):
[1]黃兆勤,倪志剛,王銘孜.SOA權(quán)威指南:通過(guò)BEA Aqualogic Service Bus實(shí)現(xiàn)[M].電子工業(yè)出版社,2008.1
[2]Josuttis,N.M.SOA實(shí)踐[M].東南大學(xué)出版社,2008.3