999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JBPM工作流引擎在OA中的應(yīng)用研究

2012-03-17 07:20:54羅金濤
電子設(shè)計(jì)工程 2012年17期
關(guān)鍵詞:定義數(shù)據(jù)庫(kù)系統(tǒng)

張 瑞,羅金濤

(1.商丘師范學(xué)院 計(jì)算機(jī)與信息技術(shù)學(xué)院,河南 商丘 476000;2.東莞威遠(yuǎn)職業(yè)高級(jí)中學(xué) 廣東 東莞 523909)

工作流(WorkFlow)就是工作流程的計(jì)算模型,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計(jì)算機(jī)中以恰當(dāng)?shù)哪P瓦M(jìn)行表示并對(duì)其實(shí)施計(jì)算,其表現(xiàn)為參與者對(duì)文件、信息或者任務(wù)按照預(yù)定的規(guī)定來(lái)采用行動(dòng),并令其在參與者之間進(jìn)行傳遞。工作流要解決的主要問(wèn)題是:為實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo),在多個(gè)參與者之間,利用計(jì)算機(jī),按某種預(yù)定規(guī)則自動(dòng)傳遞文檔、信息或者任務(wù)。簡(jiǎn)單地說(shuō),工作流就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù),它需要人的參與[1]。工作流管理的最大優(yōu)點(diǎn)是將應(yīng)用邏輯和過(guò)程邏輯分離,可以不修改具體功能實(shí)現(xiàn)而只修改過(guò)程模型來(lái)改變系統(tǒng)功能,實(shí)現(xiàn)對(duì)生產(chǎn)經(jīng)營(yíng)部分或全部過(guò)程的集成管理,有效地把人、信息和應(yīng)用工具合理地組織在一起,提高軟件的重用率,發(fā)揮系統(tǒng)的最大效能。

1 JBPM介紹

管理),它是一個(gè)基于Java的工作流管理系統(tǒng)[2]。JBPM最大的特色就是它的邏輯定義沒(méi)有采用目前的一些規(guī)范,如XPDL、BPEL等,而是采用了它自己定義的JBoss JBPM Process Definition Language(JPDL)。JPDL認(rèn)為一個(gè)商務(wù)流程可以被看作是一個(gè)UML狀態(tài)圖[3]。JPDL就是詳細(xì)定義了這個(gè)狀態(tài)圖的每個(gè)部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。

JBPM底層所采用的持久層技術(shù)是Hibernate[4],Hibernate是開(kāi)源社區(qū)非常優(yōu)秀的持久層技術(shù),使用非常廣泛,它能夠方便的將數(shù)據(jù)對(duì)象和底層數(shù)據(jù)庫(kù)進(jìn)行映射,它能夠支持包括oracle,mysql,MSSqlServer在內(nèi)的各種主流數(shù)據(jù)庫(kù)系統(tǒng),并且提供緩存管理等多項(xiàng)其它優(yōu)化技術(shù),使用它可以更加方便的操作數(shù)據(jù)庫(kù)。而JBPM采用Hibernate作為持久層訪問(wèn)技術(shù),無(wú)疑是更加增強(qiáng)了JBPM的易用性和可擴(kuò)展性[5]。

2 系統(tǒng)功能分析

JBPM (Java Business Process Management,Java 業(yè)務(wù)流程

根據(jù)需求,本實(shí)例采用powerdesigner工具設(shè)計(jì)出users、application和checkup 3張用戶表,其物理數(shù)據(jù)模型如圖1所示。

圖1 用戶表數(shù)據(jù)模型Fig.1 User table datamodel

2.1 JBPM系統(tǒng)數(shù)據(jù)庫(kù)的生成

JBPM的所有操作對(duì)象以及操作狀態(tài)都會(huì)存儲(chǔ)到系統(tǒng)數(shù)據(jù)庫(kù)當(dāng)中,因此系統(tǒng)數(shù)據(jù)庫(kù)是JBPM工作流引擎的核心,并且JBPM是采用Hibernate來(lái)進(jìn)行持久層操作。有以下幾種方法可以生成系統(tǒng)數(shù)據(jù)表:

1)手工方式

手動(dòng)地把所需表的sql腳本通過(guò)MySQL的命令行方式來(lái)生成數(shù)據(jù)表,而且由于在JBPM套件包中的db目錄中,已經(jīng)自帶了各種版本數(shù)據(jù)庫(kù)系統(tǒng)的代碼,mysql的對(duì)應(yīng)代碼腳本為:jbpm.jpdl.mysql.sql,通過(guò)簡(jiǎn)單修改,就可以通過(guò)命令行方式生成JBPM系統(tǒng)數(shù)據(jù)表,最后可以生成32張系統(tǒng)數(shù)據(jù)表。 但是對(duì)于用戶數(shù)據(jù)表,也需要去單獨(dú)生成。

2)調(diào)用JBPM內(nèi)部方法

在配置好JBPM運(yùn)行環(huán)境以及Hibernate映射關(guān)系的情況下,通過(guò)語(yǔ)句:

JbpmConfiguration.getInstance().createSchema(); 就 可 以在指定的數(shù)據(jù)庫(kù)中生成32張系統(tǒng)表以及users、application和checkup 3張用戶表。

2.2 業(yè)務(wù)流程設(shè)計(jì)

通過(guò)系統(tǒng)業(yè)務(wù)流程的分析描述,可以通過(guò)JBPM在Eclipse下的圖形化插件設(shè)計(jì)出如圖2所示的流程定義[6]。

圖2 JBPM流程定義Fig.2 JBPM process definition

2.3 流程發(fā)布

JBPM流程的發(fā)布,有兩種方式,第1種是簡(jiǎn)單的方式,只發(fā)布流程定義文件,第2種是完整的發(fā)布方式,就是將流程定義文件,gpd.xml已經(jīng) processimage.jpg 3 個(gè)文件進(jìn)行打包成zip格式,然后再進(jìn)行發(fā)布,以發(fā)布zip格式為例,其核心代碼如下:

2.4 系統(tǒng)核心功能的實(shí)現(xiàn)

1)報(bào)銷單的提交

在以Hibernate作為數(shù)據(jù)庫(kù)持久層技術(shù)的JBPM工作流開(kāi)發(fā)中,表單的提交處理和采用純JDBC方式操作數(shù)據(jù)庫(kù)時(shí)有了很大的變化。Hibernate是JDBC的輕量級(jí)的對(duì)象封裝,它是一個(gè)獨(dú)立的對(duì)象持久層框架,通過(guò)它可以簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)操作。 Hibernate可以用在任何JDBC可以使用的場(chǎng)合,從某種意義上來(lái)說(shuō),Hibernate可以在任何場(chǎng)合下取代JDBC.以下是本例中對(duì)于報(bào)銷申請(qǐng)單的提交處理代碼片段:

//對(duì)報(bào)銷單內(nèi)容進(jìn)行持久化操作,在實(shí)際當(dāng)中,這些數(shù)據(jù)是從前臺(tái)表單取得,然后通過(guò)JavaBean中的setter方式,就可以將數(shù)據(jù)放入app中

2)流程實(shí)例的生成

流程實(shí)例就是業(yè)務(wù)的一次實(shí)際流轉(zhuǎn)過(guò)程,流程和流程實(shí)例的關(guān)系相當(dāng)于對(duì)象和類的關(guān)系,創(chuàng)建流程實(shí)例以后,還需要和公務(wù)進(jìn)行綁定。該方法實(shí)現(xiàn)如下:

流程實(shí)例擁有自己的ContextInstance環(huán)境變量對(duì)象。它實(shí)際上是一個(gè)HashMap,以key-value方式記錄了流程的上下文變量值,它以鍵值對(duì)的方式出現(xiàn)的,代碼中的 processIns tance.getContext

Instance().createVariable("application",app.getAppid ());就是向環(huán)境變量中添加一個(gè)key為application的對(duì)象。每個(gè)流程實(shí)例都擁有自己令牌(token)對(duì)象,主流程有自己的根令牌 (RootToken),子流程也擁有自己的子Token。父流程的Token和子流程的 Token相互關(guān)聯(lián),形成Token樹(shù)。 Token對(duì)象表示流程運(yùn)行的當(dāng)前位置,即流程運(yùn)行到哪個(gè)節(jié)點(diǎn)了。最后通過(guò)對(duì)Token對(duì)象的signal()方法調(diào)用,可以使流程向下運(yùn)行。

3 結(jié) 論

最近幾年企業(yè)對(duì)于過(guò)程建模的需求為工作流提供了一個(gè)廣闊的市場(chǎng),使得工作流產(chǎn)品得以迅速發(fā)展。文中選擇了開(kāi)源領(lǐng)域當(dāng)前最流行的JBPM工作流作為研究對(duì)象,并將其應(yīng)用于OA領(lǐng)域,主要完成了以下研究工作:

1)研究了工作流管理系統(tǒng)的作用,意義,重點(diǎn)研究了標(biāo)準(zhǔn)工作流參考模型以及JBPM的系統(tǒng)架構(gòu)以及軟件體系結(jié)構(gòu)。

2)分析設(shè)計(jì)了OA系統(tǒng)中的一個(gè)典型工作流模塊,并給出了核心實(shí)現(xiàn)代碼,業(yè)務(wù)流程的實(shí)現(xiàn)嚴(yán)格按照J(rèn)BPM標(biāo)準(zhǔn)。

[1]王春華,吳業(yè)福,吳亞芳.工作流原理及應(yīng)用[J].電腦知識(shí)與技術(shù),2005(10):106.

WANG Chun-hua,WU Ye-fu,WU Ya-fang.The principle and application ofworkflow[J].Computer Knowledge and Technology,2005(10):106.

[2]JBoss Enterprise.JBPM Overview[EB/OL].(2010-04).http://www.jboss.org/jbpm.

[3]宋波.UML面向?qū)ο蠹夹g(shù)與實(shí)踐[M].北京:北京科學(xué)出版社,2006.

[4]夏昕,曹曉鋼,唐勇.深入淺出Hibernate[M].北京:電子工業(yè)出版社,2005.

[5]孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005.

[6]顧文軒,王瓊,徐汀榮.基于JBPM的工作流管理系統(tǒng)的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(5):104-106.GU Wen-xuan,WANG Qiong,XU Ting-rong.Study and design of JBPM based workflow management system[J].Computer Applications and Software,2009,26(5):104-106.

猜你喜歡
定義數(shù)據(jù)庫(kù)系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
數(shù)據(jù)庫(kù)
修辭學(xué)的重大定義
主站蜘蛛池模板: 在线欧美a| 99草精品视频| 亚洲男人天堂2018| 黄色片中文字幕| 午夜一区二区三区| 九九热精品免费视频| 高清亚洲欧美在线看| 91美女在线| 尤物特级无码毛片免费| 亚洲中文字幕23页在线| 999国内精品视频免费| 亚洲美女操| 色婷婷亚洲综合五月| 国内精品视频在线| 一级香蕉人体视频| 日韩天堂在线观看| 国产一区二区三区精品欧美日韩| 国产丰满大乳无码免费播放| 日韩在线网址| 日本国产在线| 最新国产在线| 久久久久免费精品国产| 18禁高潮出水呻吟娇喘蜜芽| 亚洲男人天堂2020| 精品国产三级在线观看| 亚洲AV无码乱码在线观看代蜜桃| 欧美视频二区| 久久毛片网| 欧美成人免费午夜全| 日本一区二区不卡视频| 香蕉网久久| 成人av专区精品无码国产| 97久久精品人人| 日韩欧美一区在线观看| 自偷自拍三级全三级视频| 自拍欧美亚洲| 88av在线播放| 一区二区三区在线不卡免费| 国产综合精品日本亚洲777| 自偷自拍三级全三级视频 | 国产凹凸视频在线观看| 狠狠综合久久久久综| 激情综合网址| 中文精品久久久久国产网址| 高h视频在线| 久久国产精品嫖妓| 91丨九色丨首页在线播放 | 久久99国产精品成人欧美| 亚洲国产精品日韩专区AV| 亚洲第一区欧美国产综合| 亚洲成人精品| 欧美高清三区| 国产精品亚洲а∨天堂免下载| 最新国产在线| 91久久偷偷做嫩草影院电| 人人看人人鲁狠狠高清| 狠狠做深爱婷婷综合一区| 午夜精品区| 亚洲AⅤ综合在线欧美一区| 国产成人综合久久精品尤物| 欧美国产日产一区二区| 五月天香蕉视频国产亚| 国产精选小视频在线观看| 久久国产精品波多野结衣| 成人午夜免费视频| 97成人在线视频| 69免费在线视频| 亚洲精品无码日韩国产不卡| 精品乱码久久久久久久| 欧美啪啪视频免码| 欧美色视频日本| 欧美啪啪精品| 激情视频综合网| 欧美精品aⅴ在线视频| 国产欧美在线| 91精品综合| 91九色视频网| 色婷婷丁香| 日韩欧美色综合| 日韩欧美高清视频| 一级做a爰片久久毛片毛片| 国产精品深爱在线|