<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    三大工作流引擎對比

    1.從《功夫》說起

    時下的新新人類看到我,一定會認為在下是個十足的老古董,這不,《功夫》這樣的片子我到今年2月底才看。不過看過《功夫》,我想的一定比一般的人多:周星星浪跡江湖,和他胖子大哥出去敲竹桿時,為什么要他大哥胸前畫兩把斧頭?找個假靠山唄!裝是斧頭幫的人才不會被人欺負啊。

    這讓我想到年前的一則新聞:jbpm joins jboss and becomes jboss-jbpm。也就是說了,jbpm找了個靠山jboss,以后不用自己在外流浪了。

    好,我們轉入正題,談這里說的三大主流開源工作流引擎:Shark,osworkflow,jbpm。

    Shark的靠山是Enhydra。Enhydra做過什么呢?多了!從j2ee應用服務器,到o/r mapping工具,到這個工作流引擎等等。為什么Shark的持久層采用DODS來實現(xiàn)?就是因為他們是一家人。

    Jbpm的靠山是jboss。Jbpm3的持久層采用hibernate3來實現(xiàn),也是因為這個原因吧。Jbpm3的圖形化流程定義已經(jīng)決定嵌入到jboss eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我們已經(jīng)可以用插件方式編輯一個jbpm3流程定義文件了。

    Osworkflow的靠山是opensymphony。我是非常喜歡這個組織的,它做出了很多的好東西。在開發(fā)工作流管理系統(tǒng)時,我就推薦用它的另外一個東西:webwork2。筆者主持的開源工作流引擎AgileFlow就是基于ww2+spring+hibernate架構實現(xiàn)的。

    完成本段時說句題外話:現(xiàn)在基本上所有的J2EE應用程序服務器都有自己的工作流引擎,如上面提到的Enhydra,jboss和沒有提到的websphere和weblogic等,可見,學習工作流引擎技術的確是非常重要的。

    2.如來神掌

    光有靠山是不行的,周星星加入了斧頭幫還不是被邪神打扁了頭?要救自己,還是要靠如來神掌。

    Shark的流程定義語言是XPDL,我們知道,XPDL的兩個最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活動圖的概念。活動圖天生的適于工作流程建模,它相對于狀態(tài)圖的一個最大的優(yōu)點是容易做并發(fā)線程的分叉控制,這些并發(fā)線程可以同時執(zhí)行也可以順序執(zhí)行;它還有一個優(yōu)點是有泳道的概念,可以控制工作流引擎中的任務的產生。Shark的如來神掌是活動圖。

    Osworkflow的如來神掌又是什么呢?我們知道,它有個重要概念是State……呵呵,我們知道了,它的如來神掌是FSM。不知道FSM是什么東西??那你讀大學時肯定不是好學生;當然了,不知道也不打緊,你把他類似理解為狀態(tài)圖就可以了。Osworkflow中的State是由step和status聯(lián)合表達的,一個State就是一個step中的某個status;而state的轉換由action來驅動,類似狀態(tài)圖中的event,因為一個event對應一個action嘛。

    Jbpm的如來神掌就沒有上面的簡單了,它結合應用了狀態(tài)圖+活動圖+PetriNet的知識,而且,這里的活動圖還是UML2.0版的。UML2.0的活動圖中,節(jié)點不叫活動(Activity)而叫動作(action),活動成了一個高層次的概念,它包含一個動作序列。一個活動圖展現(xiàn)一系列的動作,這些動作組成了活動。Jbpm把action也改名了,稱為state。Jbpm使用的狀態(tài)圖的概念有transition/event等,這個自己去看吧。Jbpm來內部實現(xiàn)中還采用了PetriNet的概念,如token,signal等。什么?又不知道PetriNet什么東東?那你大學是學計算機的嗎?不是?那你可能是學文科的,學機械/電氣/土木工程/交通運輸?shù)葘I(yè)都有接觸PetriNet的課程,如果沒有學過,還是看看jbpm吧,反正我們也不搞理論,知道大致概念就行。

    3.市場預測

    做預測是件吃力不討好的事情,好多國外的大師做的預測也是被人罵得……幸虧我去年年中在《工作流之大局勢》中做的預測還是基本正確。那時我的預測是:Shark……將登上頭號寶座。應該說,在那篇文章發(fā)表前,國內的工作流引擎使用率最高的是osworkflow;到去年年底,Shark就占有了明顯的優(yōu)勢地位,我分析有如下原因:

    1.????????? 國內的企業(yè)都看中XPDL,因為這意味著在產品說明書中又可以吹牛說“我們遵循WFMC……”

    2.????????? 因為我自詡“Shark工作流引擎在國內的主要推廣者”,大部分給我反饋工作流管理系統(tǒng)開發(fā)選用技術的朋友都是用的Shark

    3.????????? Shark的確是一套不錯的工作流引擎,就算你只是想學習XPDL,你也可以從學習Shark開始

    現(xiàn)在已經(jīng)到了《工作流之大局勢》中說的從封建社會向資本主義轉型的時代,而驅動這一轉型的,不是別人,正是上面說的jbpm。Jbpm3將在3月發(fā)布阿爾發(fā)版,jbpm3的最終版將支持bpel4ws的核心部分。所以,我估計,Shark將在引領風騷數(shù)百天后,被jbpm3趕下第一寶座。筆者的開源敏捷工作流開發(fā)框架AgileFlow將整合jbpm3,同時對agile引擎和jbpm3引擎提供支持。

    但bpel4ws真的就和我們這么快的親密接觸了嗎?沒有。我估計在今年它是不會真正走進我們的生活的,那會是什么時候呢?這將是我下篇文章要預測的內容,我現(xiàn)在可不敢亂說,我現(xiàn)在考慮的是,是不是要自詡“jbpm3工作流引擎在國內的主要推廣者”,呵呵。

    http://www.360doc.com/showWeb.aspx?ArticleID=4713

    posted on 2006-04-14 12:10 BPM 閱讀(5949) 評論(1)  編輯  收藏 所屬分類: workflow

    評論

    # re: 三大工作流引擎對比  回復  更多評論   

    jbpm和數(shù)據(jù)層的接口只能幫定hibernate嗎? 這個應該讓人比較郁悶啊
    2006-09-21 16:00 | liu

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲精品福利在线观看| 中国极品美軳免费观看| 亚洲AV综合色区无码一二三区| 性色av极品无码专区亚洲| 黄色网页免费观看| 国产精品黄页在线播放免费| 亚洲男人av香蕉爽爽爽爽| 久久国产亚洲电影天堂| 亚洲综合小说另类图片动图| 精品特级一级毛片免费观看| 57pao一国产成视频永久免费| 国产精品国产午夜免费福利看| 亚洲AV日韩精品久久久久久久 | 国产乱妇高清无乱码免费| 美女被cao免费看在线看网站| 亚洲日韩精品一区二区三区| 亚洲精品无AMM毛片| 在线观看免费av网站| 亚洲日韩精品一区二区三区| 无码的免费不卡毛片视频| 好吊妞视频免费视频| 色噜噜亚洲男人的天堂| 7x7x7x免费在线观看| 亚洲av永久无码精品古装片| 女人裸身j部免费视频无遮挡| 国产老女人精品免费视频| 亚洲综合在线一区二区三区| 日韩一区二区a片免费观看 | 老司机精品视频免费| 免费看AV毛片一区二区三区| 亚洲欧洲日产国码在线观看| 日韩插啊免费视频在线观看| 亚洲高清国产AV拍精品青青草原 | 美女被免费视频网站a| 免费一级毛片在线观看| 亚洲αⅴ无码乱码在线观看性色| 国产精品色午夜免费视频| 国产99久久亚洲综合精品| 色噜噜亚洲精品中文字幕| 国产精品永久免费视频| 亚洲一区无码精品色|