隨筆 - 19, 文章 - 93, 評論 - 17, 引用 - 0
          數據加載中……

          Java版 工作流 實現技術大比拼

          ?Java版 工作流

            Shark

            Shark是體系和功能最為復雜的代表。它是另一款遵循WfMC的XPDL標準開源工作流引擎,并且同時遵循OMG組織的Workflow Management Facility規范。在所有開源工作流引擎中,Shark的體系最為完備和復雜。其一直秉承著“模塊化”的思想,所以比較容易擴展。但是自從被Together公司收購后,Shark的商業化色彩已經越來越濃,改稱為Together Workflow Server,并僅以Community Edition的形式提供了部分開源代碼供參考。

            OSWorkflow

            OSWorkflow是最輕量型的代表,也是一款非常靈活和低級別定位的工作流引擎的實現框架。低級別定位的意思是說,它不是定位在解決流程模型對象和運轉場景,而是提供一套可維護調度的機制,供開發人員自主擴展。這個維護流程調度機制OSWorkflow選擇的是基于行為(Action)的FSM理論,所以OSWorkflow更像是一個復雜而靈活的有限狀態調度機。

            OSWorkflow在國內項目應用得較多,很多國內的簡易審批流程項目都是基于其引擎二次開發而來。這主要是由于OSWorkflow是基于Action驅動的,而國內的客戶也很容易接受這樣的操作習慣。但OSWorkflow所依賴的FSM模型對于分支、聚合、子流程的支持度很低,這一點在實施過程中需要注意。

            jBpm

            jBpm是最適合擴展的代表,是在所有開源引擎中最適宜被商業化應用的一款。首先其流程建模模型是基于Activity Diagram(活動圖)的,并在引擎構建上融入了FSM和PetriNet思想,所以其內核和根基比較牢固扎實。其次,自從被JBoss收購后,其3. x系列的結構更加趨于微內核,Plug-in思想也更加深入。其同時還提供了對BPEL擴展,存儲支持JBoss Hibernate實現,集成了JBoss seam,規則引擎準備采用JBoss rules,并準備集成JBoss Messaging。這樣,不論從內核和外圍應用,jBpm都具有了強勁的動力。

            另外,jBpm對Token的應用也很有特色,巧妙地利用Parent-Child Token的機制處理分支、父子流程等復雜應用場景。這個設計思想很值得大家學習參考。

            YAWL

            YAWL是算法和模式最值得研究的代表,它是Alast力主倡導的一款基于PetriNet建模的工作流引擎,其將PetriNet的Token與And、XOR、OR算法進行了融合,并對Workflow Patterns(工作流模式)中所有模式提供支持。但YAWL本身僅是一個研究性項目,所以其結構和實現缺少了商業化應用的特點。但有必要研究一下YAWL,一方面可以加深對工作流模式的理解,另一方面,YAWL的一些建模思想、處理算法很值得推敲和吸納。

            ActiveBPEL

            ActiveBPEL 是BPEL引擎的代表,也是一款可執行BPEL4WS規范的開源流程引擎,其結構和實現方式具有很高的參考價值。目前國內很多正在開發基于BPEL產品的中小型軟件廠商,其實現的很多基礎性內容和思想都參考自ActiveBPEL。受目前國內中小型客戶對流程需求的限制,基于BPEL的開源引擎或小型產品被市場接受度還很低。但BPEL所圍繞的業務流程及流程整合應用是一個發展趨勢。

          posted on 2006-12-03 10:07 BPM 閱讀(2054) 評論(0)  編輯  收藏 所屬分類: workflow 、工作流基礎BPM 、BPEL


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 寻乌县| 彰化市| 龙南县| 荥阳市| 宁晋县| 安徽省| 陕西省| 琼结县| 金沙县| 延津县| 平和县| 子洲县| 随州市| 正镶白旗| 沈丘县| 福州市| 定远县| 杂多县| 胶州市| 内丘县| 禹州市| 宕昌县| 微山县| 云龙县| 天镇县| 京山县| 元阳县| 收藏| 阿拉善左旗| 湖口县| 新蔡县| 丹棱县| 工布江达县| 贵南县| 额济纳旗| 正定县| 阿勒泰市| 大城县| 丽江市| 汨罗市| 凉城县|