亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JBPM工作流引擎在OA中的應用研究

        2012-03-17 07:20:54羅金濤
        電子設計工程 2012年17期
        關鍵詞:數(shù)據(jù)表實例代碼

        張 瑞,羅金濤

        (1.商丘師范學院 計算機與信息技術學院,河南 商丘 476000;2.東莞威遠職業(yè)高級中學 廣東 東莞 523909)

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

        1 JBPM介紹

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

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

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

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

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

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

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

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

        1)手工方式

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

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

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

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

        2.2 業(yè)務流程設計

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

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

        2.3 流程發(fā)布

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

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

        1)報銷單的提交

        在以Hibernate作為數(shù)據(jù)庫持久層技術的JBPM工作流開發(fā)中,表單的提交處理和采用純JDBC方式操作數(shù)據(jù)庫時有了很大的變化。Hibernate是JDBC的輕量級的對象封裝,它是一個獨立的對象持久層框架,通過它可以簡化對數(shù)據(jù)庫操作。 Hibernate可以用在任何JDBC可以使用的場合,從某種意義上來說,Hibernate可以在任何場合下取代JDBC.以下是本例中對于報銷申請單的提交處理代碼片段:

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

        2)流程實例的生成

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

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

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

        3 結(jié) 論

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

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

        2)分析設計了OA系統(tǒng)中的一個典型工作流模塊,并給出了核心實現(xiàn)代碼,業(yè)務流程的實現(xiàn)嚴格按照JBPM標準。

        [1]王春華,吳業(yè)福,吳亞芳.工作流原理及應用[J].電腦知識與技術,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與實踐[M].北京:北京科學出版社,2006.

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

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

        [6]顧文軒,王瓊,徐汀榮.基于JBPM的工作流管理系統(tǒng)的研究與設計[J].計算機應用與軟件,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ù)表實例代碼
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        圖表
        完形填空Ⅱ
        完形填空Ⅰ
        基于VSL的動態(tài)數(shù)據(jù)表應用研究
        河南科技(2014年24期)2014-02-27 14:19:25
        无码av不卡一区二区三区| 蜜桃在线观看免费高清| 国产一区二区中文字幕在线观看| 亚洲成av人综合在线观看| 久久综合精品国产一区二区三区无码| 粉嫩极品国产在线观看| 91精品啪在线观看国产色| 91九色老熟女免费资源| 亚洲av无码精品色午夜在线观看| 亚洲免费av电影一区二区三区| 日本大片在线一区二区三区| 国产成人精品一区二区20p| 日本无码人妻波多野结衣| 亚洲AV毛片无码成人区httP| 亚洲最大的av在线观看| 精品精品久久宅男的天堂| 国产97在线 | 中文| 日韩精品欧美激情亚洲综合| 女同亚洲一区二区三区精品久久| 国产精品无码素人福利| 日日躁夜夜躁狠狠躁超碰97| 大陆啪啪福利视频| 亚洲黄色av一区二区三区| 亚洲 卡通 欧美 制服 中文| 国产一区a| 亚洲中文字幕一区高清在线| 天天做天天爱夜夜爽女人爽| 久久人妻少妇嫩草av蜜桃| 亚洲精品乱码久久久久久按摩高清| 区一区二区三区四视频在线观看| 午夜理论片yy44880影院| 亚洲免费黄色| 少妇又色又爽又刺激的视频| 色综合久久网| 天天做天天躁天天躁| 精品一区二区三区人妻久久| 中文字幕日韩有码在线| 久久久久久国产精品无码超碰动画| 精品91亚洲高清在线观看| 国产精品髙潮呻吟久久av| 无码视频在线观看|