[摘 要] 本文分析了信息系統(tǒng)的發(fā)展,并對各階段的特點進行比較;隨后,介紹SOA的基本原理,論述業(yè)務流程框架的發(fā)展及傳統(tǒng)業(yè)務框架的局限性;最后,提出基于SOA的企業(yè)業(yè)務流程應用架構。
[關鍵詞] 信息系統(tǒng);面向服務架構(SOA);業(yè)務流程;應用架構
[中圖分類號]F270.7[文獻標識碼]A[文章編號]1673-0194(2008)23-0067-04
0 引 言
現(xiàn)今條件下,企業(yè)信息系統(tǒng)不僅是一個技術系統(tǒng),信息系統(tǒng)要想獲得徹底的成功,不僅要強調技術,更要強調用戶需求,而當今的競爭現(xiàn)實和快速多變的環(huán)境對企業(yè)或組織提出了越來越多有關業(yè)務方面的要求。因此,業(yè)務流程成為信息系統(tǒng)服務的對象,雖然企業(yè)IT系統(tǒng)已經(jīng)經(jīng)歷多年建設,但是也存在一些突出的共性問題,如集成效果不理想#65380;適應業(yè)務變化的能力差等。為了解決上述問題,設計人員依次采用了結構化#65380;客戶機/服務器#65380;3層#65380;N層#65380;分布式對象#65380;組件等多種信息系統(tǒng)架構[1],這些架構雖然在一定范圍#65380;一定程度上減輕了問題的壓力,但并沒有從根本上解決問題。面向服務架構(SOA,Service-Oriented Architecture)是敏捷性的面向服務的體系結構, 它把業(yè)務邏輯和具體實現(xiàn)技術這二者分離開來[2],它的出現(xiàn)為解決信息系統(tǒng)與業(yè)務之間的矛盾提供了一種方案。
1 信息系統(tǒng)架構發(fā)展概述
隨著信息技術的發(fā)展,信息系統(tǒng)架構也不斷變化,以適應多變的需求環(huán)境,大致經(jīng)歷了結構化#65380;客戶機/服務器#65380;3層#65380;N層#65380;分布式對象#65380;組件等多種信息系統(tǒng)架構階段,但其弊端日益凸現(xiàn),而在面向服務的應用示范中,獨立的#65380;來自不同開發(fā)商的系統(tǒng)或COTS(Commercial Off-The-Shelf)產品被視為可以動態(tài)共享的服務,使用這些共享的服務要求能夠屏蔽系統(tǒng)與服務間的差異[3],最終滿足基于面向服務#65380;面向流程的應用。

如表1所示,信息系統(tǒng)經(jīng)歷了各個發(fā)展階段。從信息系統(tǒng)的功能上來看,經(jīng)歷了從部門的簡單應用到系統(tǒng)的復雜處理;從信息系統(tǒng)涉及的范圍來看,從單個部門的業(yè)務處理發(fā)展到跨越部門甚至是跨越企業(yè)的應用;從其涉及對象來看,從面向功能的思想經(jīng)歷面向企業(yè)流程到現(xiàn)今的面向服務的理念。
2 面向服務的架構SOA
2. 1SOA概述
面向服務構架是一種面向服務的企業(yè)應用體系結構,靈活性與松耦合性是它最突出的兩個特性。首先,對比傳統(tǒng)的3層客戶服務器體系結構,具有一個靈活而功能強大的服務層,它能把各個應用的功能抽象成服務,通過請求/服務的方式來獲取跨應用的功能調用和數(shù)據(jù)獲取。其次,面向服務構架SOA是一種強內聚松耦合#65380;延展性與兼容性強的分布式信息體系。它不同于市場上許多打包應用,而是可以通過標準化的組件,根據(jù)業(yè)務的需求搭建出企業(yè)所需的系統(tǒng),并且可以方便地按照業(yè)務需求的改變而改變。SOA架構元素如圖1所示。
2. 2SOA基本結構
SOA的基本結構如圖2所示[5]。
(1)服務
由Web服務描述語言(Web Service Description Language,WSDL)來描述;WSDL 把服務抽象地描述為一組包含在面向文檔或面向過程信息的消息上執(zhí)行操作的端點的集合;多個相關的具體端點結合在一起就構成了服務。
(2)服務提供方
服務提供者是一個可通過網(wǎng)絡尋址的實體;它接受和執(zhí)行來自使用者的請求。它將A的服務和接口契約發(fā)布到服務注冊中心;以便服務使用者可以發(fā)現(xiàn)和訪問該服務。
(3)服務請求方
服務使用者是一個應用程序#65380;一個軟件模塊或需要一個服務的另一個服務。它發(fā)起對注冊中心中的服務的查詢;通過傳輸綁定服務;并且執(zhí)行服務功能。服務使用者根據(jù)接口契約來執(zhí)行服務。
(4)服務注冊庫
服務注冊中心是服務發(fā)現(xiàn)的支持者。它包含一個可用服務的存儲庫;并允許感興趣的服務使用者查找服務提供者接口。
(5)Web服務的操作
它是與Web服務相關的操作,主要有:發(fā)布#65380;查找#65380;綁定#65380;調用。
2. 3SOA范圍中的服務
在面向服務體系結構中,映射到業(yè)務功能的服務是在業(yè)務流程分析過程中確定的。服務可以是細粒度的,也可以是粗粒度的,這取決于業(yè)務流程。每個服務都有定義良好的接口,通過該接口就可以發(fā)現(xiàn)#65380;發(fā)布和調用服務。企業(yè)可以選擇將自己的服務向外發(fā)布到業(yè)務合作伙伴,也可以選擇在組織內部發(fā)布服務。服務還可以由其他服務組合而成。

3 業(yè)務流程框架的發(fā)展
3. 1企業(yè)應用集成
由于電子數(shù)據(jù)處理系統(tǒng)的應用局限性,隨著集成化數(shù)據(jù)庫的要求提出,一個跨越職能部門#65380;面向流程的新視角產生了。集成化的應用系統(tǒng)包括兩個集成方向:橫向和縱向。橫向集成是指沿著企業(yè)的價值鏈跨越部門將辦公系統(tǒng)和業(yè)務系統(tǒng)連接起來,而縱向集成則強調將辦公系統(tǒng)和業(yè)務系統(tǒng)的數(shù)據(jù)提供給計劃和控制系統(tǒng),即集成化的信息系統(tǒng)轉向遵循面向流程的設計思想。
如圖3所示,集成系統(tǒng)基于面向流程的基本原則,幾乎覆蓋了企業(yè)所有的管理功能。在橫向上,實現(xiàn)了跨越各個職能部門來處理經(jīng)營管理任務,從而使得業(yè)務流程更好地面向客戶需求;在縱向上,實現(xiàn)了同價值創(chuàng)造密切相關的業(yè)務活動和面向價值創(chuàng)造的流程的集成。
3. 2業(yè)務流程平臺ERPⅡ
ERPⅡ是由Gartner Group提出的,它是一個跨企業(yè)面向流程的架構。其主要目的是消除系統(tǒng)信息孤島,實現(xiàn)系統(tǒng)的整合,使系統(tǒng)全面支持業(yè)務流程。對比ERP和ERPⅡ,在其基礎之上進一步擴展,延伸到了企業(yè)的外部,可以支持和優(yōu)化企業(yè)內外的協(xié)同流程。具體如圖4所示。
3. 3傳統(tǒng)業(yè)務框架局限性
(1)集成基本都是面向功能
該情況都是基于功能定義的設計方式,只注重從技術和內容去分類,偏重于各自實現(xiàn)的功能,沒有強調各類集成間的相互關系和相互影響,以及作為一個整體對企業(yè)IT和業(yè)務的影響。難以形成靈活配置和擴展的體系架構,管理上也不能提供適應多變的業(yè)務需求。
(2)忽略流程的設計和集成
在進行系統(tǒng)設計時,只是簡單直接地套用現(xiàn)有的具體業(yè)務流程,一旦流程變更或者增加就重新去開發(fā)新的流程控制邏輯,使現(xiàn)有資源未被重用,造成資源的浪費。
(3)靈活性#65380;適應性#65380;可擴展性較差
很多都是針對特定的軟硬件或者特定的應用環(huán)境去開發(fā)的,系統(tǒng)的自適應能力差;面向特定應用,體系結構與整個組織關系不大,流程管理作用無法充分發(fā)揮。
(4)缺乏合理的粒度規(guī)則
各組件要與現(xiàn)有應用程序匹配,就要選擇合適的粒度進行系統(tǒng)分析和設計,難度較大且缺乏靈活性。
由以上論述可知,如何根據(jù)當前環(huán)境要求,把分布在網(wǎng)絡中的各種核心流程整合在一起,以客戶為中心設計方案,提高企業(yè)的核心能力就擺在企業(yè)的面前。SOA理念和技術的成熟為這種需求的實現(xiàn)提供了可能,下文將著重論述基于SOA的業(yè)務流程應用框架。

4 基于SOA的業(yè)務流程應用框架
4. 1基于SOA的業(yè)務流程應用
從圖5中可以看出,基于SOA 的業(yè)務流程應用框架的主要特點是在傳統(tǒng)架構基礎上增加流程管理器和業(yè)務服務層。
業(yè)務服務層由特定的業(yè)務服務族#65380;可復用的服務以及Web Service 平臺組成。其中業(yè)務服務族是針對特定業(yè)務領域的一些服務及其相應的數(shù)據(jù)模型。可復用的服務是指能夠在不同業(yè)務領域共享的一些服務。Web服務平臺則為服務的定義和使用提供一個獨立于業(yè)務應用平臺和技術平臺的環(huán)境。
流程管理器包括流程引擎、流程定義庫、流程實例庫、事務管理器和連接器框架等部分。一般首先采用圖形方式建立業(yè)務流程模型,再存儲于塊模型中(如BPEL4WS或BPML),并由流程引擎執(zhí)行。其核心是流程引擎,引擎創(chuàng)建和解釋正式流程定義的運行時實例。流程定義(開發(fā)時)和流程實例(運行時)存儲在庫中,系統(tǒng)提供適當?shù)慕涌冢栽O計、部署和配置流程定義,并監(jiān)控和管理流程實例[7]。
業(yè)務服務層和流程管理器之間通過服務緊密聯(lián)系在一起。業(yè)務服務族提供了粗粒度的業(yè)務功能, 它們能夠映射成業(yè)務流程中的任務; 服務描述則為業(yè)務服務族提供了定義明確合理的接口, 從而使業(yè)務流程不必了解業(yè)務應用和技術平臺的細節(jié)就可方便調用; 業(yè)務服務層中的服務注冊處確保業(yè)務流程層可以在必要的時候動態(tài)地定位和訪問所需服務。服務之間的通訊采用XML 格式的數(shù)據(jù), 獨立于業(yè)務應用系統(tǒng)。組合應用通過統(tǒng)一的接口如Web服務來訪問分布式組件,向用戶提供一個完整的面向流程的方法,來管理企業(yè)的各種任務。通過在業(yè)務層面上消除系統(tǒng)邊界,可以更好地實現(xiàn)流程化。
4. 2基于SOA業(yè)務流程應用的優(yōu)點
企業(yè)正在處理兩個問題:迅速改變的能力和降低成本的要求。為了保持競爭力,企業(yè)必須快速地適應內部因素(如兼并和重組)和外部因素(如競爭能力和顧客要求)。需要經(jīng)濟而靈活的IT基礎設施來支持企業(yè)。基于SOA業(yè)務流程應用有以下優(yōu)勢:
(1)可利用現(xiàn)有的資產
SOA提供了一個抽象層,通過這個抽象層,企業(yè)可以繼續(xù)利用它在IT方面的投資,方法是將這些現(xiàn)有的資產包裝成能提供企業(yè)功能的服務。組織可以繼續(xù)從現(xiàn)有的資源中獲取價值,而不必重新從頭開始構建。
(2)敏捷和管理復雜性
SOA使核心業(yè)務邏輯和流程控制邏輯分離開來,首先提高了敏捷性,可以比較順利地更改現(xiàn)有流程或引入新的流程,因為更改僅限于表示流程控制的服務中;其次,該方法允許封裝關鍵狀態(tài)代碼,這意味著在更改一個流程時,不會影響其他流程;最后,由于只需一次性實現(xiàn)業(yè)務邏輯,故可以減少冗余,避免出現(xiàn)不一致的情況。
(3)更快的響應和上市速度
快速從現(xiàn)有的服務組合新的服務,為現(xiàn)代企業(yè)提供了獨特的優(yōu)勢。通過利用現(xiàn)有的組件和服務,可以減少完成軟件開發(fā)生命周期(包括收集需求、進行設計、開發(fā)和測試)所需的時間。這使得企業(yè)可以快速地開發(fā)新的業(yè)務服務,并允許組織迅速地對改變作出響應和減少上市準備時間。
(4)增加重用和易維護
SOA采用適當粒度的對象模式,并使用松散耦合的組件接口,減少復雜性,能夠有效重用,易于維護。
(5)易于使用
SOA業(yè)務流程是由一系列業(yè)務服務組成的,可以更輕松地創(chuàng)建、修改和管理它來滿足不同時期的需要。SOA提供了靈活性和響應能力,這對于企業(yè)的生存和發(fā)展來說是至關重要的。
5 結 論
基于SOA的業(yè)務流程應用框架能夠實現(xiàn)更多的復用和集成,流程的自動化不僅使業(yè)務流程更加流暢,還加快了流程的周轉時間,而且提供了一個靈活、方便的流程集成機制。采用面向服務的架構,使企業(yè)業(yè)務流程能夠靈活地適應外界變化,因而具有很高的業(yè)務敏捷性和投資回報率;使其控制的系統(tǒng)不受外部變化的影響,并提供一個更準確、更有適應能力的可擴展架構,對企業(yè)信息化建設具有一定的參考價值。
主要參考文獻
[1]Patterns. Service-Oriented Architecture and Web Services [EB/OL].http: //www. IBM.com/Redbooks.
[2] 麻志毅,陳泓潔. 一種面向服務的體系結構參考模型[J]. 計算機學報,2006,29(7).
[3] 徐罡,黃濤,劉紹華,等. 分布應用集成核心技術研究綜述[J]. 計算機學報,2005,28(4).
[4] 李學軍, 張明玉. 基于SOA 的物流信息系統(tǒng)架構研究[J]. 物流技術,2007,26(1).
[5] 方江雄,何紅波,李義兵. 基于SOA和BPM的ERP系統(tǒng)的研究與實現(xiàn)[J]. 計算機應用,2007,27(5).
[6]Auguest-Wilhelm Scheer 等. 下一代業(yè)務流程管理[M]. 黃官偉,武亞平,譯. 上海:同濟大學出版社,2007:7-13.
[7] Dirk Krafzig,Karl Banke,Dirk Slama. Enterprise SOA中文版——面向服務架構的最佳實踐[M]. 韓宏志,譯. 北京:清華大學出版社,2006:79-81.