隨著移動通信業務的發展,增值業務市場也呈快速發展的趨勢,增值市場規模逐年增長。用戶對業務的需求也呈現出多樣化的趨勢,移動通信運營商在激烈的市場競爭中,利用現有的業務平臺及資源,靈活組合,適時推出用戶所需的各種新業務,將會極大地增加運營商的市場競爭能力。然而傳統的服務實現使用不同的語言和技術,并且運行于不同平臺和操作系統之上。因此,各個系統相互孤立,難以進行通信,并且其內部信息處理手段的差異較大,數據存在不一致性,彼此之間難以進行信息、數據的交換和共享。現在,隨著SOA(service-oriented architecture,面向服務的架構)技術的出現和快速發展,可以很好地解決該問題。SOA架構以服務為基本單元,通過把不同應用封裝成統一的Web服務來屏蔽系統間的差異性;以服務作為構建時的基礎組件,通過服務組合技術對散列的組件進行組合,從而解決服務間數據的交互和共享,以松耦合的方式實現跨機構的協作業務流程;通過服務組合技術對業務流程的全過程進行監管,實現流程的簡化和優化。
1.面向服務的體系架構SOA
SOA 是以服務為基礎的組件模型。服務作為封裝特定功能的實體,以業務為其核心理念,通過定義良好的接口的契約彼此間進行聯系。同時,服務是中立的,可以獨立于特定的技術和平臺。服務具有可重用性,一個定義良好的服務可以在多個業務流程的組裝中使用。也正是因為SOA 中所有應用都是服務,基于SOA 的系統平臺可以采用服務組合技術將單獨的、中立的、封裝完善的服務組合成新的、復雜的服務,從而實現數據共享。又因為服務之間的交互是通過標準定義的接口進行的,基于SOA 的系統平臺可以屏蔽由于平臺、操作系統以及實現語言不同而造成的差異。
基于SOA 的IT 架構以一系列執行業務功能的服務為基礎,通過服務的形式重用企業現有資產。同時,通過服務的不同組合不僅實現異構環境中的消息、數據的交互和共享,還可以使業務流程變得更加靈活,從而迅捷有效地滿足現實生活中快速變化的業務需求。可見,要使搭建的架構靈活多變,就要考慮服務構建、數據模型和服務編排這三方面采用何種技術來實現。如圖1 所示為SOA關鍵技術及其關系。
本文重點研究服務組合技術。SOA架構中的服務組合編排模型不僅要滿足異構、松耦合的要求,還要是敏捷的,因此與Web 服務關聯的服務組合技術BPEL (Business Process Execution Lan原guage)以其基于服務、松耦合、高度敏捷等特點成為構建SOA 架構的首選服務編排模型。BPEL 的描述文件是WSDL,不僅支持Web 服務,也可以更好地支持SCA定義的服務。同時,BPEL 規范可以把其定義的流程本身暴露為Web 服務對外提供服務。同時由XML Schema 定義的BPEL 規范可以直接把SDO 定義引入到自己的變量到中,作為其變量進行操作。總之,BPEL 是SOA 服務編排的核心技術,同時也是具體業務流程的體現。
圖1 SOA關鍵技術及其關系
2.基于BPEL 的服務組合技術
BPEL 技術規范即業務流程執行語言規范,是以Web服務、XML 為基礎的諸多規范上提出的一種新型的業務流程的定義語言規范。它的靈感來源于IBM 的WSFL 以及微軟的XLANG。其中,WSFL是一種以圖為基礎的流程模型,其特點是靈活、直觀;XLANG 即工作流程描述語言,它以過程代數為基礎,具有結構化構造的優勢。BPEL 作為兩者結合的產物,以用Web 服務接口標準描述的伙伴和業務流程的交互為基礎,定義了描述業務流程的語法規范,主要用于業務流程建模。作為一個Web 服務組合標準,BPEL可以直接描述一組Web 服務的操作順序,以及服務間交互時共享的數據,還可以處理Web 服務使用過程中發生的異常;作為執行流程的建模語言,BPEL 可以組合現有的服務,從而生成一個新的更為復雜的Web服務。
BPEL是一個基于開放標準的技術規范,這些技術規范為BPEL 流程的執行提供環境。圖2展示了BPEL 規范與其相關技術標準的關系。
圖2 BPEL規范與相關技術標準的關系示意圖
BPEL規范描述的是各成員服務何時、為何、以何種順序被調用,還為服務提供錯誤處理和補償機制。因此,基于BPEL 規范的流程定義總體可分為三個部分,這三部分之間的關系如圖3所示。
圖3 BPEL流程規范分類示意圖
3.基于BPEL 的服務組合實現方法
基于BPEL 的服務組合方法可歸納為兩個部分,一是為業務流程中涉及的每個活動設定一個抽象服務,形成抽象服務流程定義;二是執行前通過中間環節進行服務匹配和綁定,將每個抽象服務替換成一個實體服務,將抽象服務轉換成實際的符合BPEL 規范的業務流程文檔,此部分是整個方法實現的核心。
3.1 抽象服務流程定義
由于BPEL 業務流程通過WSDL 技術規范對其與成員服務之間交互的接口進行描述,相關活動的實現要發布成WSDL 文件描述的服務。這些生成的WSDL 文件即為抽象服務流程定義。在本文中Web 服務是基于Axis2 框架搭載Tomcat 服務器發布實現的,把Axis2 與平臺開發環境進行整合,整合后開發好的類直接在Tomcat 服務器上發布即可通過在瀏覽器中鍵入網址獲得相應的WSDL描述。
3.2 服務接口的調用
在BPEL 流程中,流程與成員服務之間的交互是通過伙伴鏈接調用WSDL 描述的服務接口實現的,因此,服務接口的調用是對伙伴鏈接的定義。在實際執行過程中,難免會發生錯誤或者異常,需要對其進行處理以及進行一些必要的補償操作。使用流程處理器可以提高服務質量,增強BPEL 流程的健壯性。在業務流程中,可能發生人工審批和業務取消同時操作并生效的錯誤,此時需要添加錯誤處理器捕獲錯誤和補償處理器添加補償措施。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.vmgcyvh.cn/
本文標題:基于SOA的服務組合技術研究