Activiti Modeler初探實踐


以下內容對實踐activiti很有用,不過我用的不是github下載的源碼包編譯出來的war包,不知道什么原因我打出來的包會有點問題.不過這不重要,換個地方下載來源就行,下載網址:

http://dl.download.csdn.net/down11/20160510/5303e5b090e7342a64c826bae4e320e3.war?response-content-disposition=attachment%3Bfilename%3D%22activiti-explorer.war%22&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1487148374&Signature=EFs9XQqaiPG81LkcQ0vUZ%2B84L98%3D

扔進tomcat就可以用了.版本tomcat 7.0.61

訪問地址http://localhost:8080/activiti-explorer/

用戶和密碼:kermit/kermit 這是admin用戶,也可以用其他的.

1.新版Activiti Modeler簡介

在Activiti 5.6版本之前把Activiti Modeler作為壓縮包的一部分,但是后來不再這么做而是需要開發人員自己根據Signavio打包Activiti Modeler,我之前層寫過一篇博文講解如何打包:《如何使用Signavio打包Activiti Modeler》

但是現在不需要自己打包了,官方已經基於Signavio開發了新版的Activiti Modeler,新版的特點如下:

  1. 完全針對Activiti定制開發,支持目前Activiti引擎支持的BPMN2.0規范模型;
  2. 不需要開發人員自己打包,直接提供一個war包部署到Web Server(tomcat、jboss、jetty等)就可以使用;
  3. 整合到Activiti Explorer中可以把Activiti Modeler設計的流程定義直接部署到Activiti Explorer中;
  4. 和第三點相關,可以直接以已經部署的流程定義為基礎創建模型,重新設計之后再部署到Activiti Explorer中

這些新特性對於使用Activiti的開發者來說真是一個好消息;之前很多人抱怨說Signavio不好用,原因有兩個:沒有針對Activiti的特性支持、瀏覽器不支持IE(稍后我會單獨說說這個話題)。但是現在你可以像使用Activiti Designer一樣使用Activiti Modeler,而且比Activiti Designer更好用,再加上Activiti Modeler和Activiti Explorer兩者的結合更方便流程的管理。

按照慣例在發布Activiti引擎后應該隨之發布對應版本的Activiti Designer,因為有些引擎支持的新特性需要它提供可視化設計的支持,但是……5.10版本的Activiti Designer一再延期到時很多開發者很不爽,可以看看我在官網論壇發的帖子 When will it be released 5.10 version of the designer? 。但是好消息又來了,trademak(Activiti項目的Team Leader,@tijsrademakers)發布消息說他們把開發Activiti Designer的人員調去開發新版的Activiti Modeler了……這可是一個額外的消息呀,最后很多人表示根本不在意料之中,好吧,繼續由我帶領你人事一下新版Activiti Modeler。在這篇帖子里面還提到了新版的(5.10)Activiti Designer也會在近期發布,到時我會在微博和QQ群發布消息。

2.Activiti源碼倉庫轉移到Github

從開始使用Activiti的時候我就想說為什么不用Github呢?本來一個很明顯的bug我可以fork之后修改然后提交pull request,svn很難讓開發者參與進去。

在很多人的期待與建議之后官方終於決定把源碼遷移到Github(9月21號),果斷Fork並Star,地址:

https://github.com/Activiti/Activiti

會用Git的讀者可以在日后參與進來修復Bug提交自己的Request,不會Git的讀者建議去學習一下,如果需要下載最新的源碼也可以通過下載Zip包的方式獲取:https://github.com/Activiti/Activiti/zipball/master

3.獲取新版Activiti Modeler

在Activiti的下載頁面添加了新的下載項(Activiti Explorer),等等……新版的Activiti Modeler呢?

新版Activiti Modeler基於Signavio,重新命名為:KISBPM,意為:keep it simple,官網http://www.kisbpm.com/


筆者Fork的Activiti源碼提供最新的中文國際化支持,地址:

https://github.com/henryyan/Activiti


3.1 官方提供的War包

剛剛已經提到了,現在兩者合並在一起了,下載Activiti Explorer之后就可以直接使用Activiti Modeler了,下載地址:

http://activiti.org/alpha/activiti-explorer.war

下載之后直接部署到Web容器中,數據庫無需配置使用內置的h2,如果讀者需要更改數據庫可以把war解壓后把文件夾復制到容器的應用目錄(例如tomcat的webapps目錄),然后更改db.properties里面的配置,就是普通的JDBC屬性。

3.2 從Github獲取最新源碼手動打包

官方打包的war包可能會存在延遲(非最新的源碼),這個時候可以自己從Github獲取源碼打包,當然離不開Maven的支持(別問我為什么……)。

獲取之后的目錄結構如下:

Activiti源碼目錄結構

Activiti Modeler包含在activiti-webapp-explorer2模塊中,讀者可以導入Eclipse(需要m2eclipse插件支持)查看源碼

對應目錄modules/activiti-webapp-explorer2/src/main/webapp/editor

在終端中進入項目根目錄,執行以下命令:

?
1
mvn clean install -PbuildWebappDependencies

執行完成之后在modules/activiti-webapp-explorer2/target目錄可以看到activiti-webapp-explorer2-5.11-SNAPSHOT.war,然后把這個文件重命名為activiti-explorer.war部署到tomcat或者其他的Web Server。

3.3 直接用Maven的Jetty插件啟動應用

?
1
➜ ~ /Activiti/modules/activiti-webapp-explorer2 (git) mvn clean package jetty:run

然后就可以訪問Explorer了,地址:http://localhost:8080/activiti-explorer2

4.訪問Activiti Explroer和Activiti Modeler

使用過Activiti的讀者想必已經了解了Activiti Explorer,在用戶手冊里面有說明如何使用,今天重點說說如何使用Activiti Modeler。

4.1 新加的Activiti Modeler菜單

使用用戶kermit/kermit登陸系統,在菜單“Process”中多出了一個“Model Workspace”模塊,這個就是Activiti Modeler的入口。

Activiti Modeler的菜單

下圖是點擊了“Model Workspace”之后的頁面。 Activiti Modeler的菜單2

4.2 使用Activiti Modeler創建新的模型

Activiti Modeler創建新模型對話框

點擊“create”之后進入模型設計器,下圖:

Activiti Modeler加載頁面

加載完成之后進入首頁,風格和以往不同,這次是綠色調有點小清新……

Activiti Modeler主頁面

5.使用Activiti Modeler設計流程

先說一下設計器的操作三部曲:

  1. 從左側的倉庫中選擇組件(可以展開多個分類)
  2. 拖拽組建到工作區並調整位置
  3. 點擊組件在右側的“Attributes”邊欄中設置屬性

本文這種說說和原版的Signavio不同的地方。

  1. 移除了非BPMN2.0規范的支持
  2. 添加了針對Activiti擴展功能的支持
  3. 補充了Signavio中缺少的規范支持(例如邊界事件)

截圖說明添加的擴展屬性支持。

5.1 對用戶任務擴展支持

Activiti Modeler對Activiti擴展屬性的支持

5.2 添加執行、監聽器

Activiti Modeler對Activiti擴展屬性的支持-監聽器

5.3 activiti:initiator的支持

之前寫過一篇博文:activiti:initiator的作用及其使用

Activiti Modeler同樣提供了支持:

Activiti Modeler對Activiti擴展屬性的支持-activiti:initiator

5.4 表單支持

Activiti Modeler對Activiti表單支持

formkey同樣也是支持的,設置formkey屬性即可。

5.5 補充了對邊界事件的支持

在Signavio中缺少對邊界事件(Boundary Event)的支持,導致我在測試的不得不尋找其他的工具代替Signavio,現在Activiti添加了對邊界事件的支持,下圖:

Activiti Modeler對Activiti表單支持

5.6 部署到Activiti Explorer中

緊密結合的作用就是可以直接把設計好的流程部署到Activiti Explorer(實際使用的時候把Activiti Explorer的數據庫配置到真是環境就可以作為后台管理使用了)中。

在Activiti Modeler中保存后回到Activiti Explorer界面(瀏覽器回退即可),然后在列表中就看到多了一個剛剛設計的流程。

Activiti Modeler對Activiti表單支持


現在可以點擊按鈕“Deploy process definition”部署到引擎中。

Activiti Modeler對Activiti表單支持

5.7 對於Activiti Modeler的說明

現在僅僅是alpha版本,官方給出的說明是在下個版本(也就是5.11,預計在12.1日發布)發布的時候發布正式版本,目前大多數功能都可以正常使用。有興趣的可以緊跟官方的更新,重復第3節中打包的任務,使用最新的版本^_^。

目前只是第一版,還有些功能還不完善,可以先嘗鮮等慢慢完善。
另外官方日后會推出完整版的使用說明。

6.瀏覽器兼容的爭論

因為Activiti Modeler是基於Signavio的,所以瀏覽器方面就有限制了,不支持IE瀏覽器,這對國內大多數人來說可能不能接受,也是有一部分人放棄使用Signavio的原因。

說說國內廠商對設計器的要求吧:

  1. 支持IE
  2. 支持BPMN2.0規范
  3. 方便二次開發以便整合公司的基礎框架、組件

  • 定制開發的項目:這樣的項目一般不需要讓用戶自己設計流程,而是由業務需求人員設計再交由開發人員添加代碼邏輯以及其他的完善任務,業務需求人員和開發人員僅僅是少數,安裝一個非IE也不難吧。
  • 可以讓用戶自定義的產品:有些廠商喜歡拿完全自定義忽悠客戶,從表單設計到流程設計全部交由用戶,我一向不贊成這樣的設計……,流程圖可以畫出來,里面的邏輯誰處理?不是每個用戶都和程序員一樣知道如何應用設計器設計可以正常運行的流程,在ZF單位還有部分人不熟悉點操作呢……
  • 統一的開發平台:提供統一的開發架構培訓一批人,有一個統一的流程管理系統(類似於Activiti Modeler和Activiti Explorer的關系),都是開發人員安裝個非IE也不成問題吧,而且大多數程序員是不喜歡用IE的。

對於瀏覽器上的爭論,我的觀點就是:盡量不要讓用戶參與流程設計(只讓他們提供業務需求),少數人安裝個非IE瀏覽器就和喝杯咖啡一樣。

原創文章,轉載請注明:轉載自: 新版Activiti Modeler發布以及教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM