摘 要: 集團企業必須適應動態的業務組織方式,以響應瞬息萬變的市場需求。在服務相關知識的基礎上,對服務工作流進行分析和定義,并構建基于服務工作流的引擎執行框架。針對服務工作流在組合過程中的不足,對服務進行語義信息擴展,建立動態的服務調度機制。提出一種面向集團企業的服務工作流系統體系架構,為集團企業在新環境下實現按需整合業務和優化資源配置提供解決方案。最后通過具體的集團制造應用實例說明該架構的實施方法。
關鍵詞: 集團企業;語義Web服務;業務協同;服務工作流;體系架構
現代企業從單個企業為主體的企業競爭,發展到今天的多企業間的業務協同。集團企業在跨地域經營和動態聯盟的情況下,業務活動需要經過企業各部門、供銷商以及客戶之間的協作,同時需要考慮設計需求和制造約束,與制造伙伴共同協調。要求企業必須柔性地適應動態的業務組織方式,以快速響應瞬息萬變的市場需求。從生產型制造向服務型制造轉型升級是全球制造業發展的重要趨勢,也是我國制造業尤其是集團企業轉型升級、增加產品附加值、走向價值鏈高端的重要手段[1]。新環境下的集團企業面臨著企業資源分散、物流網絡復雜、協調成本高、產品多樣化和需求個性化等問題,急需構建一個以服務為核心,能夠按需整合優勢資源,動態編排業務流程的企業系統體系結構。
本文基于服務工作流構建服務工作流引擎執行框架,并針對服務動態發現與建模不足,為工作流中的服務進行語義信息擴展,以此建立動態的服務調度機制。最后,提出一種適用于集團企業應用的服務工作流系統體系架構,為企業動態編排和執行業務流程提供有效方案,實現集團企業在新環境下的資源優化配置,以及與伙伴企業之間的業務協同。最后通過一個設計與制造業務的協同過程實例,詳細說明該架構的實施方法。
1 相關工作
面向服務的體系結構SOA(Service Oriented Architecture)作為一種架構模型,它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。SOA將企業應用看作由一些不同粒度、能跨越企業邊界以及能實現特殊功能的服務集合所構成,并通過定義良好的、獨立于平臺的接口進行聯系,使此類系統可通過一種通用的方式進行交互。因此,采用SOA實現企業應用系統架構能在更大范圍內達到信息共享,實現高度的互操作性和可擴充性,最終起到優化配置資源的作用。
在SOA體系結構下,服務與流程有著緊密的聯系,將面向服務的結構與工作流技術相結合,已經成為一種發展趨勢[2]。引入Web服務的工作流系統擴大了工作流的范圍,能夠解決復雜應用集成和跨組織的業務協同問題。目前,已有不少研究結合工作流技術對Web服務進行組合。其中,Cross-Flow[3]和Sword[4]等研究項目通過WSFL、LANG、BPEL4WS等技術為服務組合提供統一的建模和定義工具,以此構建一個動態的服務查找、發現與執行平臺。SciDAC-SDM項目[5]將抽象工作流與底層由服務組成的執行工作流嚴格區分,借用類似數據庫協調技術的方法將抽象工作流轉換成執行工作流。參考文獻[6]利用事務的概念擴展DAML-S本體中的過程模型,并提出了一個事務工作流本體概念的服務組織模型。參考文獻[7]提出了一種基于業務生成圖的工作流構造模型,并通過基于混合粒子群的QoS調度算法找出滿足應用需求的工作流執行路徑。
2 服務工作流及執行引擎
服務工作流是將Web服務作為工作流中的各項活動,以動態工作流方式組合起來,并根據工作流過程模型中所定義的各項活動之間的業務邏輯與規則,通過服務的動態查找和組合,實現工作流活動的動態部署及綁定,并由工作流引擎對各項活動的執行與交互進行控制。服務工作流是一種流程服務,但它還需要考慮工作流的相關數據交互問題和引擎問題。
2.1 工作流引擎
服務工作流的運行機制與傳統的工作流大不相同,工作流在執行過程中需要動態選擇、組合和調用服務。工作流引擎的執行框架如圖1所示。
用戶通過流程設計器進行抽象業務流程設計,并借助業務規則編輯器定義規則,由此構成服務工作流的過程描述文檔。文檔描述了服務的輸入和輸出參數、前置和后置條件,而業務規則明確定義了業務流程執行中的約束條件。工作流模型轉換器將抽象流程和業務邏輯進行組合,形成引擎支持的可執行工作流模型。
工作流引擎負責對服務工作流模型進行解析和實例構建,維持流程實例的執行狀態,并依據靜態的抽象過程描述和業務過程中的約束條件在運行時計算后續過程,動態調用服務。一個服務工作流的執行便是一個業務過程實例,是為實現特定的業務目標,由不同角色執行的一組具有偏序關系的、邏輯上相互關聯的、作用于一組相關業務對象上的Web服務。
流程監控器的功能包括流程與任務的監控、調度監視、消息監控以及日志查看。工作流API為任務處理器和業務應用提供接口,主要包括流程定義接口、查詢接口和監控接口等。
2.2 服務動態執行環境
服務調度器是工作流服務中的重要組件,負責根據模型定義的功能和非功能需求從ESB服務中心匹配和選擇服務,供引擎執行時調用。
目前,BPEL4WS、BPML以及Web服務編排描述語言等流程定義語言的模型缺乏對流程服務的語義描述,無法依據流程動態業務需求匹配服務,因而在服務的動態發現與建模方面存在不足。OWL-S是一種基于Web本體描述語言的Web服務本體,用于描述服務的屬性和功能,便于發現和集成不同種類的Web服務。本文結合OWL-S實現對服務的語義描述信息擴展,增強對服務能力的描述。建立基于語義的服務動態發現與調度機制,更好地實現動態選取和組合服務工作流。Web服務的執行環境,如圖2所示。
Web服務由發布在ESB服務中心上的WSDL、OWL描述文件和部署在Web服務器上的服務實體組成。其中,WSDL提供服務的訪問地址、方法列表和輸入參數類型等技術信息;而OWL提供給服務的語義信息,如服務名稱、服務類型、輸入輸出規范和前置條件、后置條件等。服務工作流在部署時動態地發現和選擇服務,并在執行時動態綁定和調用服務。
3 體系架構
在新的環境下,集團企業服務協同工作流系統開發和實施是一項復雜而系統的工程。其系統體系架構如圖3所示。
(1)表示層:主要為用戶提供流程建模的設計工具。當企業的業務邏輯發生變化時,只需通過設計器調整流程模型的活動順序,修改業務規則和數據并重新部署。表示層還需為用戶提供統一的門戶服務,包括單點登錄、權限控制和個性化服務等。
(2)業務層:實現過程定義服務的接口,并為工作流的運行實例提供任務表處理器,實現下層工作流引擎與上層應用的交互。過程定義服務將上層建立的抽象過程模型和業務規則組合為工作流引擎可識別的服務工作流模型。業務層還提供流程的分析和優化工具,更好地實現對流程實例的管理。
(3)服務層:其核心是工作流引擎,它負責對服務工作流模型進行解釋,控制過程實例的創建、激活、掛起和終止。引擎通過服務調度器對工作流模型中不確定的服務鏈接進行匹配、加載和實例化,并在執行過程中完成流程實例的狀態轉換和活動轉換。
(4)支撐層:完成架構中相關數據的映射和持久化,包括服務工作流的定義模型、運行實例、歷史實例和業務數據。支撐層還為系統提供各種基礎設施,包括DBMS、日志管理和系統監控等,以保證服務工作流在建模、服務選擇和組合以及執行等各個階段的數據安全和可靠性。
(5)ESB服務中心:由ESB組件、管理組件和服務管理組件三部分構成。ESB組件實現消息傳遞、服務路由、格式轉換、數據解析和處理、安全傳輸等功能。服務管理組件為ESB提供服務管理容器,針對集團企業的行業需求進行分析和梳理,建立領域內的服務目錄和服務庫,并對這些服務和元數據進行定義及存儲,以便進行服務的查找、發布、注冊和管理。ESB監控和管理組件能夠輔助故障診斷,并提供完整的服務質量評估報告,以衡量現有的應用系統效率,并為優化、升級提供指導。ESB是應用集成的樞紐,各個應用之間的信息和服務共享都將通過ESB來進行。
4 應用
服裝集團企業由于物流、商流、資金流和信息流分離的運營模式和產品特點,導致市場需求變化頻繁,要求企業必須動態調配資源,協調企業內部與伙伴企業間的業務合作。本文以一個服裝集團企業的服裝設計及制造的協作過程作為服務工作流系統原型的設計與實現示例,其業務過程如圖4所示。
(1)需求分析階段
根據業務目標分析業務執行過程、活動內容和活動要處理的數據。明確活動執行人,并分析業務對象與工作流對象之間的關系以及影響業務過程的業務數據。
在實例中,集團總公司提出服裝設計需求,包括服裝類型、款式、板型、圖案等服裝關鍵屬性;還可設置擴展屬性,如面料、涂層染整工藝等。這些屬性均采用OWL定義,并按照輸出規范傳送給下一節點。
(2)流程建模階段
在建模階段創建流程和定義活動,并分配業務單元、操作和執行人,定義相關數據。該實例協作過程可分為多個子流程,每個子流程都有具體的工作內容。例如我們將服裝設計、生產和庫存物流環節設計為子流程,每個子流程又是一個單獨的服務工作流模型。業務協作過程中各個活動之間存在相互依賴關系,例如,在用料采購活動和板房領料時,需用料出入庫;在生產過程中,也涉及庫存和物流活動。設計子公司根據需求進行設計,根據設計紙樣和工藝程序進行單件樣衣的原料用量計算和采購。在技術部板房領料完成樣衣制作之后,進行樣衣件實際原料用量核算,生成成衣物料清單數據。
(3)服務工作流部署階段
建模階段定義任務接口和業務規則(如材料、工序、期限和證書等約束),而服務的語義模型定義服務的功能和非功能信息,可用來查找和評估服務。工作流在部署時動態指定該任務的服務實體。伙伴公司能滿足該服裝制造需求,給出了該服務的實體注冊和信息,引擎通過匹配服務組合出可執行服務工作流,并將其部署到工作流引擎上。
(4)服務工作流執行階段
完成流程模型構建和工作流部署后,即可創建服務工作流實例。相關業務人員輸入設計需求,引擎自動啟動流程,實現業務流程的自動運轉和協作過程。服務工作流在整個系統開發、部署和執行的狀態如圖5所示。
本文構建基于Web服務的工作流系統,其架構具有松散耦合性、動態變化性、訪問透明性、粗粒度等特征,使服務工作流在執行上能夠動態完成任務,同時提高了工作流的靈活性,擴大了工作流的范圍。對服務進行語義描述信息的擴展,提高了服務發現和選擇的質量。工作流引擎根據業務需求和約束動態地進行服務組合,從而適應業務變化,提高服務重用性。通過實施此系統可以使跨組織間的業務流程與軟件系統相對獨立,可提高企業應用系統的柔性,以支持企業不斷進行管理創新和業務流程重組,實現集團企業的資源共享與整合。
參考文獻
[1] 戰德臣,趙曦濱,王順強,等.面向制造及管理的集團企業云制造服務平臺[J].計算機集成制造系統,2011(03).
[2] 劉博,范玉順.面向服務的工作流性能評價及指標相關度分析[J].計算機集成制造系統,2008(1).
[3] GRAFEN P, ABERER K, HOFFNER Y, et al. Cross-flow: cross-organizational workflow management in dynamic virtual enterprises[J]. International Journal of Computer Systems Science and Engineering, 2000, 15(5):277-290.
[4] PONNEKANTI S R, SWORD A F. A developer toolkit for building composite Web services[EB/OL]. Stanford: Stanford University, 2002.
[5] ALTINTAS I, MEMON A, LUDAACHER B. Design and execution of scientific workflows using Web services[C]. In: Proceeding of the Presentation, San Diego Supercomputer Center and San Diego Software Industry Council to Host Web Services Conference 2004.
[6] KORHONEN J, PAJUNEN L, PUUSTJRVI J. Automatic composition of Web service workflows using a semantic Agent. In: Proceeding of the IEEE/WIC International Conference[C]. on Web Intelligence (WI2003),2003:566-572.