xyz20003

          www.mossle.com
          隨筆 - 34, 文章 - 0, 評論 - 124, 引用 - 0
          數據加載中……

          jBPM創始人發布BPMN原生引擎Activiti-5.0-alpha1

          Tom Baeyens也就是jBPM的原作者,離開了Red Hat之后,另起爐灶搞了一個Activiti的項目,這個項目是基于BPMN的原生流程引擎。

          那么這個activiti到底有啥好處呢?讓咱們一一道來:

          它基于的Apache 2.0開源協議,比jBPM的LGPL更加寬松。

          它是基于BPMN2.0標準規范的,最大的好處就是可以用oryz這個web流程設計器直接在web瀏覽器上設計流程了。(注:別高興太早,oryz是用svg寫的,IE一律不支持。)

          它是基于ibatis的,數據庫層不再對hibernate有依賴。(注:alpha1只支持h2database,后面的版本會對mysql, oracle,postegl進行支持)

          選用BPMN作為標準流程語言,也意味著原來的jBPM里的jPDL流程語言將不會被繼續支持,也不知道PVM流程虛擬機是否會繼續下去,如果Tom不想 玩虛擬機了,activiti很可能就是一個只支持一種流程語言的引擎了。這點確實讓人感到有點兒遺憾。

          從www.activiti.org這個網站上可以下載到alpha1的發布包,其中包含了源代碼,草草看了一下,核心庫只有200多K,其中把原來自行實現的IoC自動注入的代碼都刪掉了。以后的IoC工作可能統一交給spring去管理,這對使用spring的同志來說,無疑是一個天大的好消息。

          api部分對外部接口進行了簡化,ExternalActivityBehaviour不見了,換成了EventActivityBehaviour,這一點讓我感覺很舒服,畢竟signal其實也只是事件的一種特例,換成eventActivityBehaviour之后,也就意味著我們可以讓活動節點支持更多事件處理操作了。

          持久化部分換成了ibatis,這部分暫時還只支持h2database,腳本什么的也只有h2database的,雖然因為alpha1版本,功能不多情有可原,但是我還是擔心使用ibatis會否大幅度增加數據庫存儲部分的維護量。希望后續發展不要因為這部分的問題遇到障礙。

          表結構似乎和原來的jbpm4差不多,有些表名發生了變化。表的數目又少了很多,但是我情愿認為這不是為了優化,而是因為這個版本不成熟,因為看不到log和history相關的表,所以,現在這個版本應該是沒有歷史留痕功能的。也沒有看到變量表,也許都是用二進制的方式來保存的吧?

          對BPMN2支持的部分,目前支持StartEvent, EndEvent, Task和UserTask,其他的都不支持,所以還是需要時間完善的。

          實際上Tom和Joram的編碼能力還是相當驚人的,從他們倆離開Red Hat到現在才不過兩個月,就立刻搞出這么一個東西,而且網站也搞得有模有樣的,真心希望他們能延續RoadMap,把這個項目完善起來。

          項目首頁:http://www.activiti.org/

          posted on 2010-05-20 09:25 臨遠 閱讀(2173) 評論(1)  編輯  收藏

          評論

          # re: jBPM創始人發布BPMN原生引擎Activiti-5.0-alpha1  回復  更多評論   

          大概看了下,就像是jbpm的翻版,不過功能還沒完善,能用還要點時間,另外如果用ibatis的話,性能上會比hibernate好
          2010-05-21 09:23 | itVincent

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


          網站導航:
           
          主站蜘蛛池模板: 宁阳县| 孝昌县| 中卫市| 乌拉特中旗| 桐柏县| 正宁县| 虹口区| 克拉玛依市| 兴文县| 阿克陶县| 岳池县| 西峡县| 铁岭县| 忻州市| 罗源县| 博客| 玉林市| 社旗县| 新密市| 灵武市| 通渭县| 阿尔山市| 鄯善县| 浦东新区| 新密市| 山东省| 慈溪市| 鄢陵县| 名山县| 彭山县| 砚山县| 南溪县| 昌江| 绥德县| 昌吉市| 伽师县| 祥云县| 丰城市| 井冈山市| 磴口县| 白银市|