常用的是:activiti-engine-5.91.jar,activiti-spring-5.9.jar;

創(chuàng)新互聯(lián)專注于泰和網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供泰和營(yíng)銷型網(wǎng)站建設(shè),泰和網(wǎng)站制作、泰和網(wǎng)頁(yè)設(shè)計(jì)、泰和網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造泰和網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供泰和網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
解釋:以上兩個(gè)只是activiti工作流的常用包,通常會(huì)配置如spring開(kāi)發(fā)的java包,還有數(shù)據(jù)庫(kù)jar包等進(jìn)行使用,但具體要用到什么包,這個(gè)和業(yè)務(wù)開(kāi)發(fā)的邏輯有關(guān)系,也沒(méi)辦法進(jìn)行詳細(xì)說(shuō)明的,所以只需要先下載常用的兩個(gè),其余的輔助包如:日志包、spring包、數(shù)據(jù)庫(kù)包、hibernate包、struts包、mybatis包等根據(jù)實(shí)際需要添加即可。
有很多方法,舉例一種吧,用Image方式,用ImageIO類的read方法讀進(jìn)來(lái),然后在窗口重載的paint()方法里面,用Graphics類的drawImage方法把它畫到窗口里。
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.imageio.ImageIO;
public class Test1 extends Frame{
public void initComponents(){
setTitle("圖片測(cè)試");
setBounds(100, 100, 300, 200);
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new Test1().initComponents();
}
public void paint(Graphics g){
try{
Image img1 =ImageIO.read(new File("c:/java.jpg"));
g.drawImage(img1, 50, 50, this);
}catch(Exception e){
e.printStackTrace();
}
}
工作流是業(yè)務(wù)流程的全部或部分自動(dòng)化,在此過(guò)程中,文檔、信息或任務(wù)按照一定的過(guò)程規(guī)則流轉(zhuǎn),實(shí)現(xiàn)組織成員間的協(xié)同工作,以達(dá)到業(yè)務(wù)的整體目標(biāo)。 工作流管理系統(tǒng)是支持企業(yè)經(jīng)營(yíng)過(guò)程高效執(zhí)行并監(jiān)控其執(zhí)行過(guò)程的計(jì)算機(jī)軟件系統(tǒng)。 典型的WFMS至少...
java 工作流引擎適用于多個(gè)行業(yè)領(lǐng)域及需求場(chǎng)景,利用低代碼開(kāi)發(fā)平臺(tái)可高效提供需求建模、系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)部署、仿真測(cè)試、運(yùn)行維護(hù)和版本更新的軟件開(kāi)發(fā)全生命周期支持!
還可快速構(gòu)建OA協(xié)同、公文督辦、KM文庫(kù)、項(xiàng)目管理、采購(gòu)管理、生產(chǎn)管理、供應(yīng)鏈管理、營(yíng)銷管理等一些列職能類和業(yè)務(wù)類管理系統(tǒng)并提供PC與移動(dòng)多應(yīng)用端入口。
提供BPM流程管控、數(shù)據(jù)跨平臺(tái)采集和報(bào)表展示、原系統(tǒng)流程補(bǔ)強(qiáng)、OA升級(jí)/替換、統(tǒng)一門戶、移動(dòng)辦公、多租戶SaaS應(yīng)用和智能硬件對(duì)接等解決方案。
Shark
Shark是體系和功能最為復(fù)雜的代表。它是另一款遵循WfMC的XPDL標(biāo)準(zhǔn)開(kāi)源工作流引擎,并且同時(shí)遵循OMG組織的Workflow Management Facility規(guī)范。在所有開(kāi)源工作流引擎中,Shark的體系最為完備和復(fù)雜。其一直秉承著“模塊化”的思想,所以比較容易擴(kuò)展。但是自從被Together公司收購(gòu)后,Shark的商業(yè)化色彩已經(jīng)越來(lái)越濃,改稱為Together Workflow Server,并僅以Community Edition的形式提供了部分開(kāi)源代碼供參考。
OSWorkflow
OSWorkflow是最輕量型的代表,也是一款非常靈活和低級(jí)別定位的工作流引擎的實(shí)現(xiàn)框架。低級(jí)別定位的意思是說(shuō),它不是定位在解決流程模型對(duì)象和運(yùn)轉(zhuǎn)場(chǎng)景,而是提供一套可維護(hù)調(diào)度的機(jī)制,供開(kāi)發(fā)人員自主擴(kuò)展。這個(gè)維護(hù)流程調(diào)度機(jī)制OSWorkflow選擇的是基于行為(Action)的FSM理論,所以O(shè)SWorkflow更像是一個(gè)復(fù)雜而靈活的有限狀態(tài)調(diào)度機(jī)。
OSWorkflow在國(guó)內(nèi)項(xiàng)目應(yīng)用得較多,很多國(guó)內(nèi)的簡(jiǎn)易審批流程項(xiàng)目都是基于其引擎二次開(kāi)發(fā)而來(lái)。這主要是由于OSWorkflow是基于Action驅(qū)動(dòng)的,而國(guó)內(nèi)的客戶也很容易接受這樣的操作習(xí)慣。但OSWorkflow所依賴的FSM模型對(duì)于分支、聚合、子流程的支持度很低,這一點(diǎn)在實(shí)施過(guò)程中需要注意。
jBpm
jBpm是最適合擴(kuò)展的代表,是在所有開(kāi)源引擎中最適宜被商業(yè)化應(yīng)用的一款。首先其流程建模模型是基于Activity Diagram(活動(dòng)圖)的,并在引擎構(gòu)建上融入了FSM和PetriNet思想,所以其內(nèi)核和根基比較牢固扎實(shí)。其次,自從被JBoss收購(gòu)后,其3. x系列的結(jié)構(gòu)更加趨于微內(nèi)核,Plug-in思想也更加深入。其同時(shí)還提供了對(duì)BPEL擴(kuò)展,存儲(chǔ)支持JBoss Hibernate實(shí)現(xiàn),集成了JBoss seam,規(guī)則引擎準(zhǔn)備采用JBoss rules,并準(zhǔn)備集成JBoss Messaging。這樣,不論從內(nèi)核和外圍應(yīng)用,jBpm都具有了強(qiáng)勁的動(dòng)力。
另外,jBpm對(duì)Token的應(yīng)用也很有特色,巧妙地利用Parent-Child Token的機(jī)制處理分支、父子流程等復(fù)雜應(yīng)用場(chǎng)景。這個(gè)設(shè)計(jì)思想很值得大家學(xué)習(xí)參考。
YAWL
YAWL是算法和模式最值得研究的代表,它是Alast力主倡導(dǎo)的一款基于PetriNet建模的工作流引擎,其將PetriNet的Token與And、XOR、OR算法進(jìn)行了融合,并對(duì)Workflow Patterns(工作流模式)中所有模式提供支持。但YAWL本身僅是一個(gè)研究性項(xiàng)目,所以其結(jié)構(gòu)和實(shí)現(xiàn)缺少了商業(yè)化應(yīng)用的特點(diǎn)。但有必要研究一下YAWL,一方面可以加深對(duì)工作流模式的理解,另一方面,YAWL的一些建模思想、處理算法很值得推敲和吸納。
ActiveBPEL
ActiveBPEL 是BPEL引擎的代表,也是一款可執(zhí)行BPEL4WS規(guī)范的開(kāi)源流程引擎,其結(jié)構(gòu)和實(shí)現(xiàn)方式具有很高的參考價(jià)值。目前國(guó)內(nèi)很多正在開(kāi)發(fā)基于BPEL產(chǎn)品的中小型軟件廠商,其實(shí)現(xiàn)的很多基礎(chǔ)性內(nèi)容和思想都參考自ActiveBPEL。受目前國(guó)內(nèi)中小型客戶對(duì)流程需求的限制,基于BPEL的開(kāi)源引擎或小型產(chǎn)品被市場(chǎng)接受度還很低。但BPEL所圍繞的業(yè)務(wù)流程及流程整合應(yīng)用是一個(gè)發(fā)展趨勢(shì)。
下面是一個(gè)調(diào)試shark的例子,通過(guò)它,你可以大致了解shark的工作流程
運(yùn)行和測(cè)試
到${tws}\bin目錄下,首先運(yùn)行tns.bat,然后運(yùn)行run.bat,接著運(yùn)行runSA.bat,啟動(dòng)管理器,輸入用戶名admin,密碼是enhydra,OK,進(jìn)入管理器了。
下面是一個(gè)Quick Start,翻譯自Shark自帶的Quick Start,精簡(jiǎn)了下,并修改了其中的幾處錯(cuò)誤:
到“Package management”,點(diǎn)“Load"按鈕,選擇"test-JavaScript.xpdl",然后點(diǎn)"Load"或者雙擊 "test-JavaScript.xpdl" 。等shark載入該包到內(nèi)存后,點(diǎn)"Exit"。
到 "Process instantiation management",從左邊樹(shù)形列表中選擇 "Package-test_js-Process definition-The Game"
這是一個(gè)猜數(shù)字的游戲,有兩個(gè)Player,系統(tǒng)開(kāi)始生成一個(gè)隨機(jī)數(shù),然后Player可以輸入一個(gè)數(shù)字,如果誰(shuí)輸入的數(shù)字更接近系統(tǒng)生成的隨機(jī)數(shù),他就的一份,游戲循環(huán)次數(shù)在游戲開(kāi)始時(shí)輸入。
到 "User management" - "Users" ,點(diǎn)擊"New"按鈕。
創(chuàng)建兩個(gè)用戶,分別是test1和test2,密碼自己設(shè)置啦,這兩個(gè)用戶將用到游戲中
到"User management" - "Mapping" sub-section,點(diǎn)擊"Add"按鈕.
在左邊選擇"Player 1",右邊選擇"test1",點(diǎn)擊"Apply" 按鈕,然后點(diǎn)"Close"按鈕
同樣對(duì)test2做同樣的操作,不過(guò)得選擇"Play 2"
好了,準(zhǔn)備開(kāi)始這個(gè)游戲了,轉(zhuǎn)到"Process instantiation management",選擇”The Game" process,然后點(diǎn)"Instantiate"按鈕。
系統(tǒng)提示是否update some process variables。選擇Yes,輸入3,這里的3就是游戲循環(huán)次數(shù)。
Disconnect當(dāng)前用戶,用test1登錄,到'Worklist management',刷新一下,就可以看到work list有內(nèi)容,點(diǎn)里面的"Accepted",然后點(diǎn)"Completed"按鈕,問(wèn)你是否update process varibles,點(diǎn)Yes,輸入一個(gè)數(shù)字,這個(gè)就是Player自己輸入的數(shù)字,輸入后會(huì)跟系統(tǒng)生成的隨機(jī)數(shù)進(jìn)行比較的。
好,對(duì)test2進(jìn)行同樣操作,操作結(jié)束后會(huì)產(chǎn)生“View Score” work list,這個(gè)是Player的得分,點(diǎn)“Accepted”,然后點(diǎn)“Completed",再點(diǎn)Yes就可以看到得分,當(dāng)兩個(gè)Player都completed view score后,就會(huì)進(jìn)入新的循環(huán),直到達(dá)到循環(huán)次數(shù)
網(wǎng)站欄目:java工作流代碼 java中的工作流
標(biāo)題路徑:http://chinadenli.net/article42/hpeohc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、App設(shè)計(jì)、面包屑導(dǎo)航、商城網(wǎng)站、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)