摘 要: 集團企業(yè)必須適應動態(tài)的業(yè)務組織方式,,以響應瞬息萬變的市場需求,。在服務相關知識的基礎上,對服務工作流進行分析和定義,,并構建基于服務工作流的引擎執(zhí)行框架,。針對服務工作流在組合過程中的不足,對服務進行語義信息擴展,,建立動態(tài)的服務調度機制,。提出一種面向集團企業(yè)的服務工作流系統體系架構,為集團企業(yè)在新環(huán)境下實現按需整合業(yè)務和優(yōu)化資源配置提供解決方案,。最后通過具體的集團制造應用實例說明該架構的實施方法,。
關鍵詞: 集團企業(yè);語義Web服務,;業(yè)務協同,;服務工作流;體系架構
現代企業(yè)從單個企業(yè)為主體的企業(yè)競爭,,發(fā)展到今天的多企業(yè)間的業(yè)務協同,。集團企業(yè)在跨地域經營和動態(tài)聯盟的情況下,業(yè)務活動需要經過企業(yè)各部門,、供銷商以及客戶之間的協作,,同時需要考慮設計需求和制造約束,與制造伙伴共同協調,。要求企業(yè)必須柔性地適應動態(tài)的業(yè)務組織方式,,以快速響應瞬息萬變的市場需求。從生產型制造向服務型制造轉型升級是全球制造業(yè)發(fā)展的重要趨勢,,也是我國制造業(yè)尤其是集團企業(yè)轉型升級,、增加產品附加值、走向價值鏈高端的重要手段[1],。新環(huán)境下的集團企業(yè)面臨著企業(yè)資源分散,、物流網絡復雜、協調成本高,、產品多樣化和需求個性化等問題,,急需構建一個以服務為核心,能夠按需整合優(yōu)勢資源,,動態(tài)編排業(yè)務流程的企業(yè)系統體系結構,。
本文基于服務工作流構建服務工作流引擎執(zhí)行框架,并針對服務動態(tài)發(fā)現與建模不足,,為工作流中的服務進行語義信息擴展,,以此建立動態(tài)的服務調度機制,。最后,提出一種適用于集團企業(yè)應用的服務工作流系統體系架構,,為企業(yè)動態(tài)編排和執(zhí)行業(yè)務流程提供有效方案,,實現集團企業(yè)在新環(huán)境下的資源優(yōu)化配置,以及與伙伴企業(yè)之間的業(yè)務協同,。最后通過一個設計與制造業(yè)務的協同過程實例,,詳細說明該架構的實施方法。
1 相關工作
面向服務的體系結構SOA(Service Oriented Architecture)作為一種架構模型,,它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署,、組合和使用。SOA將企業(yè)應用看作由一些不同粒度,、能跨越企業(yè)邊界以及能實現特殊功能的服務集合所構成,,并通過定義良好的、獨立于平臺的接口進行聯系,,使此類系統可通過一種通用的方式進行交互,。因此,采用SOA實現企業(yè)應用系統架構能在更大范圍內達到信息共享,,實現高度的互操作性和可擴充性,,最終起到優(yōu)化配置資源的作用。
在SOA體系結構下,,服務與流程有著緊密的聯系,,將面向服務的結構與工作流技術相結合,已經成為一種發(fā)展趨勢[2],。引入Web服務的工作流系統擴大了工作流的范圍,,能夠解決復雜應用集成和跨組織的業(yè)務協同問題。目前,,已有不少研究結合工作流技術對Web服務進行組合,。其中,Cross-Flow[3]和Sword[4]等研究項目通過WSFL,、LANG,、BPEL4WS等技術為服務組合提供統一的建模和定義工具,以此構建一個動態(tài)的服務查找,、發(fā)現與執(zhí)行平臺,。SciDAC-SDM項目[5]將抽象工作流與底層由服務組成的執(zhí)行工作流嚴格區(qū)分,,借用類似數據庫協調技術的方法將抽象工作流轉換成執(zhí)行工作流,。參考文獻[6]利用事務的概念擴展DAML-S本體中的過程模型,并提出了一個事務工作流本體概念的服務組織模型,。參考文獻[7]提出了一種基于業(yè)務生成圖的工作流構造模型,,并通過基于混合粒子群的QoS調度算法找出滿足應用需求的工作流執(zhí)行路徑,。
2 服務工作流及執(zhí)行引擎
服務工作流是將Web服務作為工作流中的各項活動,以動態(tài)工作流方式組合起來,,并根據工作流過程模型中所定義的各項活動之間的業(yè)務邏輯與規(guī)則,,通過服務的動態(tài)查找和組合,實現工作流活動的動態(tài)部署及綁定,,并由工作流引擎對各項活動的執(zhí)行與交互進行控制,。服務工作流是一種流程服務,但它還需要考慮工作流的相關數據交互問題和引擎問題,。
2.1 工作流引擎
服務工作流的運行機制與傳統的工作流大不相同,,工作流在執(zhí)行過程中需要動態(tài)選擇、組合和調用服務,。工作流引擎的執(zhí)行框架如圖1所示,。
用戶通過流程設計器進行抽象業(yè)務流程設計,并借助業(yè)務規(guī)則編輯器定義規(guī)則,,由此構成服務工作流的過程描述文檔,。文檔描述了服務的輸入和輸出參數、前置和后置條件,,而業(yè)務規(guī)則明確定義了業(yè)務流程執(zhí)行中的約束條件,。工作流模型轉換器將抽象流程和業(yè)務邏輯進行組合,形成引擎支持的可執(zhí)行工作流模型,。
工作流引擎負責對服務工作流模型進行解析和實例構建,,維持流程實例的執(zhí)行狀態(tài),并依據靜態(tài)的抽象過程描述和業(yè)務過程中的約束條件在運行時計算后續(xù)過程,,動態(tài)調用服務,。一個服務工作流的執(zhí)行便是一個業(yè)務過程實例,是為實現特定的業(yè)務目標,,由不同角色執(zhí)行的一組具有偏序關系的,、邏輯上相互關聯的、作用于一組相關業(yè)務對象上的Web服務,。
流程監(jiān)控器的功能包括流程與任務的監(jiān)控,、調度監(jiān)視、消息監(jiān)控以及日志查看,。工作流API為任務處理器和業(yè)務應用提供接口,,主要包括流程定義接口、查詢接口和監(jiān)控接口等,。
2.2 服務動態(tài)執(zhí)行環(huán)境
服務調度器是工作流服務中的重要組件,,負責根據模型定義的功能和非功能需求從ESB服務中心匹配和選擇服務,供引擎執(zhí)行時調用,。
目前,,BPEL4WS,、BPML以及Web服務編排描述語言等流程定義語言的模型缺乏對流程服務的語義描述,無法依據流程動態(tài)業(yè)務需求匹配服務,,因而在服務的動態(tài)發(fā)現與建模方面存在不足,。OWL-S是一種基于Web本體描述語言的Web服務本體,用于描述服務的屬性和功能,,便于發(fā)現和集成不同種類的Web服務,。本文結合OWL-S實現對服務的語義描述信息擴展,增強對服務能力的描述,。建立基于語義的服務動態(tài)發(fā)現與調度機制,,更好地實現動態(tài)選取和組合服務工作流。Web服務的執(zhí)行環(huán)境,,如圖2所示,。
Web服務由發(fā)布在ESB服務中心上的WSDL、OWL描述文件和部署在Web服務器上的服務實體組成,。其中,,WSDL提供服務的訪問地址、方法列表和輸入參數類型等技術信息,;而OWL提供給服務的語義信息,,如服務名稱、服務類型,、輸入輸出規(guī)范和前置條件,、后置條件等。服務工作流在部署時動態(tài)地發(fā)現和選擇服務,,并在執(zhí)行時動態(tài)綁定和調用服務,。
3 體系架構
在新的環(huán)境下,集團企業(yè)服務協同工作流系統開發(fā)和實施是一項復雜而系統的工程,。其系統體系架構如圖3所示,。
(1)表示層:主要為用戶提供流程建模的設計工具,。當企業(yè)的業(yè)務邏輯發(fā)生變化時,,只需通過設計器調整流程模型的活動順序,修改業(yè)務規(guī)則和數據并重新部署,。表示層還需為用戶提供統一的門戶服務,,包括單點登錄、權限控制和個性化服務等,。
?。?)業(yè)務層:實現過程定義服務的接口,并為工作流的運行實例提供任務表處理器,實現下層工作流引擎與上層應用的交互,。過程定義服務將上層建立的抽象過程模型和業(yè)務規(guī)則組合為工作流引擎可識別的服務工作流模型,。業(yè)務層還提供流程的分析和優(yōu)化工具,,更好地實現對流程實例的管理,。
(3)服務層:其核心是工作流引擎,,它負責對服務工作流模型進行解釋,,控制過程實例的創(chuàng)建、激活,、掛起和終止,。引擎通過服務調度器對工作流模型中不確定的服務鏈接進行匹配、加載和實例化,,并在執(zhí)行過程中完成流程實例的狀態(tài)轉換和活動轉換,。
(4)支撐層:完成架構中相關數據的映射和持久化,,包括服務工作流的定義模型,、運行實例、歷史實例和業(yè)務數據,。支撐層還為系統提供各種基礎設施,,包括DBMS、日志管理和系統監(jiān)控等,,以保證服務工作流在建模,、服務選擇和組合以及執(zhí)行等各個階段的數據安全和可靠性。
?。?)ESB服務中心:由ESB組件,、管理組件和服務管理組件三部分構成。ESB組件實現消息傳遞,、服務路由,、格式轉換、數據解析和處理,、安全傳輸等功能,。服務管理組件為ESB提供服務管理容器,針對集團企業(yè)的行業(yè)需求進行分析和梳理,,建立領域內的服務目錄和服務庫,,并對這些服務和元數據進行定義及存儲,以便進行服務的查找,、發(fā)布,、注冊和管理。ESB監(jiān)控和管理組件能夠輔助故障診斷,,并提供完整的服務質量評估報告,,以衡量現有的應用系統效率,,并為優(yōu)化、升級提供指導,。ESB是應用集成的樞紐,,各個應用之間的信息和服務共享都將通過ESB來進行。
4 應用
服裝集團企業(yè)由于物流,、商流,、資金流和信息流分離的運營模式和產品特點,導致市場需求變化頻繁,,要求企業(yè)必須動態(tài)調配資源,,協調企業(yè)內部與伙伴企業(yè)間的業(yè)務合作。本文以一個服裝集團企業(yè)的服裝設計及制造的協作過程作為服務工作流系統原型的設計與實現示例,,其業(yè)務過程如圖4所示,。
(1)需求分析階段
根據業(yè)務目標分析業(yè)務執(zhí)行過程,、活動內容和活動要處理的數據,。明確活動執(zhí)行人,并分析業(yè)務對象與工作流對象之間的關系以及影響業(yè)務過程的業(yè)務數據,。
在實例中,,集團總公司提出服裝設計需求,包括服裝類型,、款式,、板型、圖案等服裝關鍵屬性,;還可設置擴展屬性,,如面料、涂層染整工藝等,。這些屬性均采用OWL定義,,并按照輸出規(guī)范傳送給下一節(jié)點。
?。?)流程建模階段
在建模階段創(chuàng)建流程和定義活動,,并分配業(yè)務單元、操作和執(zhí)行人,,定義相關數據,。該實例協作過程可分為多個子流程,每個子流程都有具體的工作內容,。例如我們將服裝設計,、生產和庫存物流環(huán)節(jié)設計為子流程,每個子流程又是一個單獨的服務工作流模型。業(yè)務協作過程中各個活動之間存在相互依賴關系,,例如,,在用料采購活動和板房領料時,需用料出入庫,;在生產過程中,,也涉及庫存和物流活動。設計子公司根據需求進行設計,,根據設計紙樣和工藝程序進行單件樣衣的原料用量計算和采購,。在技術部板房領料完成樣衣制作之后,,進行樣衣件實際原料用量核算,,生成成衣物料清單數據。
?。?)服務工作流部署階段
建模階段定義任務接口和業(yè)務規(guī)則(如材料,、工序、期限和證書等約束),,而服務的語義模型定義服務的功能和非功能信息,,可用來查找和評估服務。工作流在部署時動態(tài)指定該任務的服務實體,?;锇楣灸軡M足該服裝制造需求,給出了該服務的實體注冊和信息,,引擎通過匹配服務組合出可執(zhí)行服務工作流,,并將其部署到工作流引擎上。
?。?)服務工作流執(zhí)行階段
完成流程模型構建和工作流部署后,,即可創(chuàng)建服務工作流實例。相關業(yè)務人員輸入設計需求,,引擎自動啟動流程,,實現業(yè)務流程的自動運轉和協作過程。服務工作流在整個系統開發(fā),、部署和執(zhí)行的狀態(tài)如圖5所示,。
本文構建基于Web服務的工作流系統,其架構具有松散耦合性,、動態(tài)變化性,、訪問透明性、粗粒度等特征,,使服務工作流在執(zhí)行上能夠動態(tài)完成任務,,同時提高了工作流的靈活性,擴大了工作流的范圍。對服務進行語義描述信息的擴展,,提高了服務發(fā)現和選擇的質量,。工作流引擎根據業(yè)務需求和約束動態(tài)地進行服務組合,從而適應業(yè)務變化,,提高服務重用性,。通過實施此系統可以使跨組織間的業(yè)務流程與軟件系統相對獨立,可提高企業(yè)應用系統的柔性,,以支持企業(yè)不斷進行管理創(chuàng)新和業(yè)務流程重組,,實現集團企業(yè)的資源共享與整合。
參考文獻
[1] 戰(zhàn)德臣,,趙曦濱,,王順強,等.面向制造及管理的集團企業(yè)云制造服務平臺[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.