天天看點

德瑪西亞之WorkFlow(一)工作流介紹德瑪西亞之WorkFlow(一)工作流介紹

德瑪西亞之WorkFlow(一)工作流介紹

1 什麼是工作流

工作流(WorkFlow),就是将一項多人或者多任務的工作按照固定的順序進行逐項操作,直至此工作結束。舉個簡單的例子:多個人協同做飯,首先A同學負責采購,B同學負責清洗,C同學負責刀工處理,D同學負責烹炸煎炒,E同學負責飯後清洗。為了完成一次晚餐,各位同學各司其職才能順利結束。

2 為什麼使用工作流

對上述示例來說,各位同學可以根據食材的外觀和氣味可以确定下一步是誰的任務,該做怎樣的處理。對于計算機來說,肯定不能根據資料的外觀和大小來随意的判斷如果确定這是誰的任務。然後我們一般情況常用的則是使用的資料或者是記錄狀态來标注這些資料處于一個什麼樣的階段,下一步操作如何。這樣确實能解決問題,但是狀态的之前複雜标注和曆史狀态的變更我們則要付出巨大的代碼和算法進行維護。是以我們需要一個架構幫助我們完成這些比較通用的功能記錄,這就是我們的工作流架構。

3 工作流都有哪些

常用的工作流有Activiti和jBPM

4 為什麼選用Activiti工作流

jBPM5與Activiti同樣支援BPMN2.0規範,但是實際上jBPM5已經推翻了jBPM3和jBPM4的架構,使用了Drools Flow作為工作流架構,這就對原來使用jBPM3和jBPM4的使用者來說就需要從頭開始。而Activiti則更像是jBPM4的延續。但是由于JBoss中有一些優秀的項目(例如規則引擎Drools、Seam等),jBPM5與這些項目進行整合具有先天的優勢,是以如何選擇還需要具體情況分析。

除了原來的架構有所改變之外, 還需要考慮的是,jBPM5采用的是LGPL開源協定, 如果要在其基礎上使用以修改和衍生的方式做二次開發的商業軟體,涉及的修改部分就需要使用LGPL協定, 對于這些商用的軟體來說, 需要對jBPM5的源代碼進行修改并做二次開發, 顯然這不是個明智的選擇。 相對千jBPM5, Activiti采用了更為寬松的ApacheLicense 2.0協定, 該協定鼓勵代碼共享并尊重原作者的著作 權, 其允許對 代碼進行修改和釋出而不管其用途。

5 Activiti由來

BPMN 2.0 規範在2011年後釋出,各個工作流引擎的提供商均向其靠攏,包括jBPM5和我們即将學習的Activiti。Activiti的第一版本為5.0alpha1,2010年12月才釋出Activiti5.0的正式版,期間經曆了4個alpha版本、2個beta版本和1個rc版本,隻到5.0正式版才出現對BPMN 2.0規範的支援。

5.1Activiti的出現

Activiti的創始人Tom Baeyens是jbpm的創始人,由于與合作夥伴在jBPM的未來架構上産生意見分歧,Tom Baeyens在2010年離開了JBoss并加入了Alfresco公司。Tom Baeyens的離開是的jBPM5完全放棄了jBPM4的架構,基于Drools Flow重新開發。而在2010年的5月,Tom Baeyens釋出了第一個Activiti版本(5.0alpha1),有次看來,Activiti更像是jBPM4的延續,也許是為了讓器看起來更像jBPM4的延續,Activiti團隊直接将Activiti的第一個版本定義為5.0。

5.2 為什麼選擇Activiti

Activiti是一個開源的工作流引擎,它實作了BPMN 2.0規範,可以釋出設計好的流程定義,并通過api進行流程排程。Activiti 作為一個遵從 Apache 許可的工作流和業務流程管理開源平台,其核心是基于Java的超快速、超穩定的 BPMN2.0 流程引擎,強調流程服務的可嵌入性和可擴充性,同時更加強調面向業務人員。Activiti 流程引擎重點關注在系統開發的易用性和輕量性上。每一項 BPM 業務功能 Activiti 流程引擎都以服務的形式提供給開發人員。通過使用這些服務,開發人員能夠建構出功能豐富、輕便且高效的 BPM 應用程式。Activiti是一個針對企業使用者、開發人員、系統管理者的輕量級工作流業務管理平台,其核心是使用Java開發的快速、穩定的BPMN e 2.0流程引擎。Activiti是在ApacheV2許可下釋出的,可以運作在任何類型的Java程式中,例如伺服器、叢集、雲服務等。Activiti可以完美地與Spring內建。同時,基于簡約思想的設計使Activiti非常輕量級。

6 搭建Action開發環境

6.1 Eclipse Designer

參照找官方提供的安轉文檔安裝即可。https://www.activiti.org/userguide/#eclipseDesignerInstallation。

The following installation instructions are verified on Eclipse Kepler and Indigo. Note that Eclipse Helios is NOT supported.

Go to Help → Install New Software. In the following panel, click on Add button and fill in the following fields:

  • *Name:*Activiti BPMN 2.0 designer
  • *Location:*http://activiti.org/designer/update/

Make sure the “Contact all updates sites…” checkbox is checked, because all the necessary plugins will then be downloaded by Eclipse.

德瑪西亞之WorkFlow(一)工作流介紹德瑪西亞之WorkFlow(一)工作流介紹
德瑪西亞之WorkFlow(一)工作流介紹德瑪西亞之WorkFlow(一)工作流介紹

繼續閱讀