- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Shark党务管理系统工作流设计与实现
基于Shark党务管理系统工作流设计与实现
摘要:随着经济环境的全球化,企业面临着越来越激烈的竞争。大多数有着竞争力的企业都把对业务过程的管理作为他们成功的关键,这样,工作流技术应运而生。本文结合党务管理系统中的一些经验,通过对一种优秀的工作流引擎Shark的介绍,旨在使人们对工作流技术有更深的了解。
关键词:Shark;工作流;办公自动化
中图分类号:TP319 文献标识码:A
1 引言
随着我国推行数字化办公的步伐加快和激烈的市场竞争,迫切要求所有企、事业单位采用高效的办公自动化系统和使用更加有效的方法处理他们的业务过程。工作流管理(Workflow Management)技术便由此而迅速发展起来。工作流引擎是工作流系统的核心部分。工作流引擎设计的好坏直接影响到工作流系统性能的优劣。
工作流管理系统目前处于技术发展曲线上的相对成熟阶段。鉴于不同的人对工作流的理解不同,出现了众多的工作流软件,如Ofbiz、Enhydra Shark、Osworkflow、Jbpm、Obe等。本文将结合开发某公司的党务办公自动化系统的一些经验,力图通过对其中一种优秀的工作流引擎Shark的介绍,来促进人们对工作流技术的了解。
2 工作流技术?
2.1 工作流的基本概念
自从工作流开始进入人们研究的视野,不同的研究者和工作流产品供应商从不同的角度给出了工作流的定义。对工作流不论何种定义,虽然表述方式略有不同,但基本上达成一个共识:工作流是经营过程的一个计算机表示,而工作流管理系统则是这一实现的软件环境。这些工作流的定义分别反映了经营过程如下几个方面的问题:即经营过程是什么(由哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、由谁来做(人或者计算机应用程序,也就是组织角色的定义)、做得怎样(通过工作流管理系统进行监控)。?
2.2 工作流引擎Shark简介
Enhydra是一个提供源代码开放产品的组织,Shark是其中著名的工作流引擎产品,在国内已经有不少的企业将其成功用于工作流项目中。因为它的源代码开放,便于借鉴它的内部架构和实现方式,所以我们选择了Shark作为研究对象。
Enhydra shark是用Java语言编写的,由Lutris 公司在其开源网站www.enhydra.org上发布的工作流系统框架,主要由服务器管理控制台、包管理器、持久层服务、日志管理器、流程库、过程实例等运行模块,以及客户端等功能模块组成。它具有下面几个特点:
(1)完全基于WFMC和OMG规范。
(2)使用了WFMC的XML过程定义语言(XPDL)作为自己的过程定义语言。
(3)它包括服务器端的用于活动节点执行的WFMC工具代理API。这个工具代理API可以服务于JavaScript、JDBC access、EJB access、pure Java classes、Corbacalls、Email、Webservice调用。流程的存储和活动的实例化都是通过一个可定义的持久层API来完成。
(4)使用DODS(一种来自Enhydra的OR/M工具),它几乎能够使shark使用任何的数据库系统来存储信息,并且它的目标数据库能够被简单地以url的形式配置。
(5)易于配置,并且可以同时用在多个Java虚拟机上。
(6)提供了激活外部应用程序的接口。
基于上述特点,我们特意选取了Enhydra shark工作流引擎为蓝本,来构建系统。
3 系统的设计与实现?
3.1 系统组成描述
我们选用Shark作为工作流引擎,以Java和JavaScript语言编制的用户界面作为客户端界面,SQL Server 2000作为数据库,以JaWE进行建模,生成过程定义文件,由Shark根据工作流相关数据来决定是否调用。下面以发文实现方案为例来说明如何完成发文流程。
3.2 JAWE建立工作流模型?
3.2.1 JAWE简介
JaWE (Java Workflow Editor)是基于Java语言的工作流建模工具,它与shark一样是出自Enhydra的开源软件。它为工作流建模过程中的过程定义的创建管理和编辑提供可视化界面及工具。由于JaWE工具的易操作性,可以使用户快速创建工作流过程定义以及进行深层次应用上的检查和存储。而且有效生成的工作流过程定义可以作为新的建模的接口或参考模型,从而有效的缩短开发时间并提高工作效率。?
3.2.2 过程模型分析和定义?
3.2.2.1 确定流程的参与人员
在整个
文档评论(0)