基于JBPM的协同设计工作流管理系统的设计与实现_第1页
基于JBPM的协同设计工作流管理系统的设计与实现_第2页
基于JBPM的协同设计工作流管理系统的设计与实现_第3页
基于JBPM的协同设计工作流管理系统的设计与实现_第4页
基于JBPM的协同设计工作流管理系统的设计与实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

垒!!兰生!翌竺基于JBPM的协同设计工作流管理系统的设计与实现DesignOnJBPM-basedwOrk们OwmanagementsystemOfCO¨abOratiVedeSignci陀uit周德俭L2。刘电霆2.一,郭磊2ZHOUDe.jianl一。LIUDian.tin92.-,GUOLei2(1.广西工学院机械工程系.柳州545006:2.桂林工学院电子与计算机系。桂林541004;3.西安电子科技大学机电工程学院,西安710071)搞要:在协同设计中采用工作流管理技术,可以减少业务过程中间环节的人为因素的影响,提高活动之间的协调和控制的效率,减少协作过程中的冲突和混乱,从而达到企业协同设计过程效率的最大化。本文针对异地协同设计的特点,提出了一种基于Jbpm的协同设计工作流管理系统体系结构,对该系统作了相应的分析和设计,并给出了其主要组成部分的运行测试工作界面。从运行结果分析表明:该系统结构的实现具有良好的可移植性、可扩展性和可维护性。关键词:协同设计I工作流;Jbpm;MVc中图分类号:TP301文献标识码:A文章编号:1009—0134(2009)03一0116—040引言协同设计是一种通过计算机网络把处于不同地域的多种异构资源紧密联系在一起,快速、及时地为企业解决制造产品设计中的技术问题,共同进行产品设计的技术;它是一个强调多主体、协同性、共同性和灵活性的过程。而工作流技术通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,从而提高办事效率uJ。目前,许多学者主要研究基于web的工作流管理系统,虽然提出了不同的体系结构,没有考虑系统应同时具有可扩展性、维护性和跨平台性等;而对协同设计工作流管理系统的研究,则更多的在于分析系统的功能模块∞】。针对以上不足,结合Jbpm(JavaBusinessProcess系统的整体架构采用目前流行的MVC(Modl—View・Con仃01)模式进行设计,不仅实现了功能模块和显示模块的分离,同时还提高了系统的可维护性、可扩展性、可移植性和组件的可复用性等。而MVC采用S仃Ilts来实现,它是使用Servlet和JSP技术的一个比较好的MVC框架,提供了对开发MVC系统的底层支持。系统的整体架构如下图l所示:嚣图1S仃uts实现的系统MVC模式1.2系统体系结构系统采用持久层框架Hibemate,只需简单地修改其配置参数,即可实现底层数据库的切换,又由于Jbpm是一个java库,解决了工作流引擎的跨平台性使用,使得本工作流管理系统可应用在不同的操作系统之间,后台的数据库也可以任意切换。系统的体系结构如下图2所示。MaIlagement)‘71等特点,本文提出了一种基于Jbpm工作流引擎、以MVC模式设计的异地协同设计工作流管理系统体系结构。1系统设计与分析1.1系统的整体架构收稽日囊:2009.02.09基盒项目:广话制造系统与先进制造技术重点实验室开放课题(桂科能07109008-024.K)。广西科学研究与技术开发计划项目(桂科攻071900l一17)作者简介:周德俭(1954一),男,博士,教授,研究方向为制造自动化与信息化。【116l第31卷第3期2009—03万方数据J1mmAPT1fj[.Jbpm工作流引擎¨jIHibe删他数据库映射{【nF=二二=≥F:二=二=≥I工作流数据l应用数据I图2系统体系结构图其中,乃pm工作流引擎是系统的核心模块,其主要功能是解释JPDL定义的流程过程文件,为过程实例提供运行时环境,调度过程实例的运行,并提供协同设计系统、管理监控工具的接口,协调工作流系统的正常运行,这些接口是以API形式来提供的,工作流管理监控的功能主要完成对工作流的动态监控实现工作流程变更通知、设计任务状态的监控与提醒,以及设计项目进度实时监控的方法与策略,为Intemet环境下协同设计过程的动态规划与管理提供有效的途径;本系统利用Hibemate提供的HQL面向对象查询语言,在对象数据和关系型数据库之间构建了一条快速、高效、便捷的沟通渠道,从而实现在不同操作系统之间切换。2系统实现2.1工作流模型的建立Jbpm的流程建模采用的是改良的眦活动图,它定义了自己的流程定义语言JPDL来精确描UML活动图的每一个部分,采用的是XJⅥL格式的。利用Eclipse的图形化流程设计工具,可以得到异地协同设计的工作流程图,如右图3所示:2.2系统数据库的设计实现系统采用Mysql数据库存储工作流数据和应用数据,对于工作流数据的存储,Jbpm自带了数据库表初始化脚本。利用这个初始化脚本就可以产生相应的数据库表,而对于应用数据的存储,要自建数据库表。万方数据图3异地协同设计的工作流程图首先要建立与数据库的连接。打开MySql数据库,假设Mysql数据库的用户名为删,密码1234。创建名为JBPM的数据库,然后修改src,config.files底下的Hibemate.c绝.xml文件。将连接数据库的部分换成Mysql数据库的内容如下:<!一jdbccoIlIlectionpropenies一><prOpertyname=“hibernate.dialect”>org.1libemate.dialect.MySQLDialect《却roperty><propertyname=“hibernate.cOnnection.“Vef_class”>com皿ysql.jdbc.C啊V∞<,pmpert),><propertyname=“hibemate.connection.url竹>jdbc:Inysql:饥ocalhost:3306/JBPM郇rope啊><propertyname=“hibernate.connection.usem锄e”>r00t‘却ropeny><propertyname=“hibernate.connection.password”>123划pmpert),>接着,连接数据库。用Mysql的前台工具MysqlQueryBrowser载入JBPM自带了初始化脚本,初始化JBPM数据库产生工作流数据表。如流程定义表和任务实例表:JBPM—_PROCESSDE咖TIONJBPMTASKINSTANCE然后,把定义好的流程定义文件prIocessdefini.tion.xml部署到刚刚初始化好的Jppm数据库,以下是部署的代码,它可以写在一个简单的Java类中:publiccl私sDeploy第31卷第3期200旷03【1仃l{publicstaticVoidmain(String【】args)throwsFileNotFoundException{JbpmConfigurationconfig=JbpmConfiguration.geⅡnstaIlce();JbpmcontextjbpmContext=config.createJbpmContext();InputStr.e锄is=newFileInputStre锄(“processes/processdefinition.xml”);ProcessDefinitionpd=ProcessDefinition.parseXmlInputS仃e锄(is);,bpmContext.deployProcessDefinition(pd);JbpmContext.close();1)这时,连接Mysql,查询JBPM—PROCESSDE-FINITION表,会发现多了一条记录,说明已经成功的把流程定义文件部署到数据库中,随着流程的进行,工作流程数据会自动的存入到其他的表中。再建立应用数据库,并建立用户信息表(User_Info)、项目信息表(Xm_Info)、任务信息表(Rwjnfo)、任务进度表(Jindu-Info)和领取任务信息表(GetRwjnfo)等应用数据库表。2.3协同设计过程监控管理的设计实现2.3.1项目设计过程的监控管理采用Monit耐ngBe锄.Java来实现监控流程的功能。以”M锄ger”身份登录,并点击流程监控功能,所示页面如下图4所示:图4项目监控流程实例图2.3.2项目及任务的状态监控该功能主要是在项目执行过程中时刻监视项目及任务的进展情况,使项目负责人和管理员能够随时查看项目和子任务进度等信息;另外,还具有报【118l第31卷第3期2009~03万方数据警功能,一旦某些任务超过完成期限,能够以电子邮件的方式及时通知任务负责人和项目负责人,以便及时做出调整。通过实时地获取应用数据库中项目定义的时间数据或项目子任务的时间数据与当前时间比较来计算项目或子任务的进度情况,以条形图表示的项目进度,进度以红色的百分比表示,如下图5所示:图5项目进度图2.4任务管理的设计实现任务执行引擎是整个任务管理的核心,实际上它是一个项目实施过程的任务调度器。它的作用是根据过程执行的情况,判断各个任务的出发条件,不断将激活的任务和必要的数据分发给各个设计者,对于任务表的管理是有后台业务逻辑层的JaVaBe锄:TaskBean.Java能根据角色的不同从数据库取不同的工作流任务,把它们显示在用户的任务表中。例如,以项目负责人的角色登录系统,开始新的工作流程,其代码如下:ProcessDefinitiOnpfocessDefinition=graphSession.findLatestProcessDefinition(“collabor撕ve”);PrOcessInstanceprocessInstance=newProcessInstance(processDefinition);processInstance.getContextInstance().createVariable(“usem锄es”,ss);TaskInstancetaskInstance=prOcessInstance.getTaskMgmtInstallce().createStanTaskInstance();项目管理包括:定义项目、分解项目、任务分派、领取任务、协同设计、申请审批、审批等各个环节。由于篇幅有限,以上任务管理的具体实现程序和运行界面未列出。3系统运行测试通过系统设计和代码的编写,完成了系统的开发,既可作为模块嵌入相应的网络化制造平台中,又可以独立运行,由于界面比较多,下面列出系统运行的一些主要页面。在地址里输入http:饥ocalhos咖ollab/indexl.jsp,图6是登录界面:输入项目信息后,数据会保存到后台的数据库中,如图9。流程将自动进入下个环节。图9表Ⅺnjnfo的记录4结束语工作流管理技术应用于制造业信息化的前景光明,它可以给制造企业进行网络化制造提供良好的工作流程管理的运行平台。本文提出了一种协同设计过程管理系统的体系结构,并描述了该结构的各个组成部分。系统整体上采用struts+图6用户登录界面Jbpm+Hibemate开发技术,系统面向应用需求,遵循工作流系统相关标准并结合网络的特点,与以往的系统相比具有更好的开放性、可重用性和跨平台性。参考文献【1】范玉顾.工作流管理技术基础fM】.北京,清华大学出版社,2001.以项目负责人身份登录成功后,进入图7,这时项目负责人可以开始一个新的流程。【2】袁国强,郭伟.网络化协同设计制造中的柔性工作流管理研究[J】.计算机集成制造系统,2003,9(12):20-23。图7开始新的工作流程【3】丁建军,杨岳,罗意平.基于工作流管理的远程协同设计系统研究【J】.制造业自动化,2004,26(3):21・25.【4】王坚。李巍丽.基于web的可视化工作流建模与解析【J】.同济大学学报,2007,35(10):1406-1010.【5】来锋,张春海.一种基于web服务的工作流过程模型【J】.计算机应用。2008,28(6):315-317.【6】Ch州esV.Trappey,AmyJ.C.Trappey,Ching-J即Huallg,C.C.Ku.Thedesignofa开始一个新的工作流程后,将进入定义项目的环节,如网8所示:JADE.basedautonomousworknowm柚agementsystemforcollaboratiVeSoCdesigIl叨.ExpenSystemswitllApplic州ons,IIlPress,Co巾ectedPro(’f’2008.【7】JBossJbpm3.OU∞rGuide.JBoss,2005.图8输入项目相关信息也^^出血^山^也血血啦趣血皿也血4血血^血血血广告索引上海思博机械电气有限公司……刊花德州恒力电机有限责任公司……封面上海天安轴承有限公司…………封二北京微达电子技术有限责任公司………………封三中创国技(北京)科技发展有限公司……………封底第12届武汉国际工业控制自动化及仪器仪表展览会………前彩l深圳市业海科技发展有限公司………………前彩2正泰电器………箭彩3万可电子(天津)有限公司……前彩4第31卷第3期20。9—03【119J万方数据HYPERLINK"/retype/zoom/583a40fb0242a8956bece41f?pn=5&x=0&y=186&raww=27&rawh=15&o=png_6_0_0_300_156_27_15_753_1099.5&type=pic&aimh=15&md5sum=b6bb9a8724671061a37ab6910667a85e&sign=b6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论