基于开源工作流的企业协同信息平台研究

基于开源工作流的企业协同信息平台研究
邢暕,张慧琳
北京交通大学信息管理系,北京 (100044)
E-mail:cyranoxing@sina
摘要:通过对CSCW及工作流技术的研究,本文提出了基于开源工作流jBPM的企业协同信息解决方案,其中对于系统总体架构,工作流组件层设计及实施关键技术做出了详细的阐述,解决了企业在分布式、多信息系统环境下的协同工作问题。
关键词:CSCW;工作流;开源;jBPM
中图分类号:TP311
1.引言
企业信息化发展到今天,越来越体现出体性、协作性的特征,工作人员地理位置不同、信息系统采用分布式架构、并且种类数量越来越多、分工越来越明确、越来越强调系统分工协作。如何更好的实现人与系统以及系统与系统之间协同工作、充分满足企业业务需求,是企业信息化需要重点考虑的问题。
计算机支持的协同工作(CSCW:Computer Supported Cooperative Work)理论主要研究和解决的即是人与系统、系统之间的协同工作问题[1]。CSCW借助于网络技术,使逻辑上(包括空间与功能)分散的一个体(包括人与信息系统)借助于计算机,共同协调与协作来完成一项任务,其主要目标是开发支持体协同工作的工具或系统。目前,计算机支持的协同工作系统已经广泛的应用于制造业、商业金融、政府行政部门、远程教育及协同编著等领域,典型应用包括协同计算机辅助设计(CO-CAD)、OA和MIS、远程医疗等。
2.工作流技术
工作流作为一种重要的协同工作技术,是针对日常工作中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成定义良好的任务、角,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。
2.1工作流管理系统
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作(任务)以及体成员之间的信息交互[2]。
工作流管理系统将业务流程中工作如何组织协调在一起的规则抽象出来,从而分离了具体的业务处理
逻辑、业务交互逻辑、执行者。工作流管理系统的协助下,开发人员遵从一定的编程接口及约定,就可以开发出更具灵活性的业务过程处理系统,最终用户无需重新开发业务过程处理系统,就可以自己更改工作流程,以适应业务变化的需要。
工作流管理系统(如图1所示[3]),主要包含如下几个接口:
(1)定义:工作流系统的定义接口使流程开发人员能够部署流程定义,这里的“流程开发人员”可以是业务分析师和软件开发人员的组合。
(2)执行:执行接口使用户和系统可以操作流程实例。流程实例是流程定义的执行,流程定义的控制流通过状态机描述,执行接口的两个主要方法是启动一个流程实例和通知工
作流系统一个状态结束了。
齿槽转矩
(3)应用:应用接口代表了由工作流系统发起的工作流系统和外部系统之间的交互。当一个用户或系统操作一个流程实例的运行时,会生成一些事件(如一个迁移的执行),流程定义中可以指定一段响应一个事件的可执行代码逻辑,这段代码和组织内外部的其他系统打交道。
人民币利率市场化(4)监控:管理人员通过监控接口获得流程运行的确切数据。有时,运行日志也可用于审计。
图1 工作流管理系统体系结构图
2.2 开源工作流jBPM
jBPM是JBOSS下的一个开源java工作流项目。JBoss jBPM 是一个复杂的可扩展的工作流管理系统,使用直观的流程语言来描述企业业务流程,将业务流程中的环节、因素抽象成任务、异步通讯的等待状态、定时器、自动操作等,把这些操作捆绑在一起,JBoss jBPM 就有了强大和易扩展性的控制流机制,并且可以配置任何数据库,可以部署在任何应用服务器上。nsis
JBoss jBPM工作流系统结构如图2所示[4]:
(1)流程定义:jBPM使用基于JPDL语义的业务流程描述语言,并提供使用Eclipse 插件形式的图形化编辑界面,业务描述直观,涵盖了子流程、邮件节点等高级应用。
(2)流程控制:jBPM中角都以参与者形态表示,参与者通过功能接口对工作流引擎实现操控,实现流程实例的创建,推动流程节点的转移。
(3)实体组件:jBPM定义的实体对象,用以表示组织内的权限、角,用户通过实体组件的映射实现由显示人员向虚拟参与者的转变,从而实现与工作流的协同工作。实际情况中,通常扩展实例组件或者使用企业自定义权限角体系替代。
图2 JBoss jBPM结构图
3.基于Jboss jBPM的企业协同信息系统
3.1 系统总体架构
企业协同信息系统的目标是物理上串联各个信息系统,功能上实现各个信息系统之间的协同工作,将
各功能系统组合成企业信息化的统一平台,为企业提供业务功能上的支持。基于上述目标设计的协同信息系统结构如图3所示:
图3 企业协同信息系统架构
该架构基于J2EE标准设计,逻辑上分为WEB层、中间层和数据层:
(1)Web层
采用Struts MVC框架实现,针对多种客户端(IE、桌面程序、手持设备、手机短信等)提供支持,支持SOAP Web Services和HTTP Invoker web services等通讯方式。实现方式通过自定义DispatchServlet拦截客户端请求,根据请求格式的不同将其派发给相应处理器进行处理,如拦截*.do格式的请求交由Struts的ActionServlet处理。
(2)中间层
中间层为企业信息系统的业务核心,为企业的运营提供业务支持,其中工作流部分又是企业协同系统的核心功能。工作流部分实现对jBPM的封装,以向用户展示一致的jBPM行为,流程的驱动完全由工作流引擎完成。并且,通过对工作流监视,可实现各项工作任务及工作人员的完成情况的统计功能。
历史研究投稿
结合企业组织结构、权限系统实现人与系统的协同:
业务流程是与企业组织结构紧密联系在一起的,企业的组织结构映射到信息系统之中就是权限体系。jBPM工作流的每个人工节点,都需要指示该任务的参与者(参与者可以是个体的单个用户,也可以使拥有某一类权限的集体用户)。流程定义体现的是任务在各个节点之间的流转,在现实中就是工作任务在企业各个部门和各个工作人员之间的流动。因此,实现人与系统的协同工作,就必须将企业的权限体系和工作流系统紧密结合,将企业的组织结构映射到流程定义的各个节点上去,实现工作流对工作任务的自动派发,用户对任务的自动获取。
使用消息中间件实现系统之间的协同:
企业的业务流程并不是局限于某个系统内部,而经常是跨越了多个信息系统范围的,实现个系统之间的协同工作,就必须将相应的业务流程片段从各个独立的信息系统中提取出来,将其组合以供工作流引擎调配。本系统架构中,异构系统之间的通讯采用消息中间件实现。
(3)数据层
该层保存企业运营各类数据,使用中间层O\R mapping工具屏蔽数据库异构的影响,因此数据层可以支持Oracle、SQL Server等多种类型数据库。
3.2 工作流组件层设计
功能上,工作流组件层是用户操控、使用工作流引擎工具,通过该层为用户提供包含流程定义列表获取、任务获取和结束、流程变量编辑等服务[5];结构上,该层服务于所有业务逻辑,即对于不同业务调用,该层能提供统一的且符合功能需求的方法支持。因此,在工作流组件层的设计上除了满足功能需求外,着重考虑的就是如何提供一致的、可复用的支撑方法。
基于上述考虑,工作流组件层通过三个接口提供服务:
工作流操控接口(TaskBean):实现对流程引擎的控制,提供任务的获取、结束、挂起等服务,不参与用户交互,仅供HomeBean调用。
统计等其他服务接口(ProcessBean):对工作流数据库的查询,提供工作流引擎状态、任务跟踪、员工工作情况统计等服务,不参与用户交互,仅供HomeBean调用。
用户交互接口(HomeBean):是用户访问、接受工作流引擎服务的唯一入口,采用多态的
设计思想以统一的方法响应不同业务逻辑的调用。与任务节点有关的操作交由TaskBean处理,其他操作交由ProcessBean处理,处理结果以相应格式封装后提供给用户。
3.3 实施关键技术
(1)安全认证
在多应用系统的环境下,用户认证使用统一的身份验证机制,采用LDAP技术。客户端登录所有系统时,均首先访问LDAP服务器进行用户身份认证,减少数据库服务器和应用服务器的访问压力。
安全性上,采用J2EE标准的ACL(Access Control List,访问控制列表)形式实现系统的方法安全访问。通过使用JCA、JCE、JAAS、JSSE等加密、认证与授权安全套接模块,可以进一步提高系统的安全性。
(2)流程定义与权限体系的结合
jBPM对于企业的权限体系并未提供丰富的支持,但是它的开源特性是我们可以另辟道路来解决这一问题——即扩展jBPM。可采用的办法有两个:一是扩展jBPM提供的identity 类;二是扩展jBPM的流程定义工具。本方案采用第二种方式,将企业的权限体系直接置于流程定义器Designer中,在定义流程的同时即可选择相应任务的参与者(用户、角),实现流程定义与权限体系的结合。
(3)jBPM与Spring框架的集成民商法争鸣
Spring作为优秀的开源J2EE框架提供了企业级信息系统开发过程中众多基本问题的解决方案,本架构设计采用Spring作为开发框架,集成管理jBPM。Spring-Module提供了Spring 与jBPM的集成方案,使
用Spring-Module提供的JbpmTemplate简化开关JbpmContext的代码,统一为jBPM提供数据库资源的访问,并将异常处理集中在一起,将jBPM事务与业务数据库的事务统一管理,大大简化开发工作量。
4.结论
本文通过对现代企业信息系统及计算机支持的协同工作的分析,通过对工作流管理系统的研究,给出了以开源工作流jBPM为核心建立企业协同信息平台的方案,以解决现代企业管理过程中遇到的一系列关于信息系统的问题,如信息系统的异构、多元化和分工的细致化等,建立统一的协同工作平台是很好的解决方案。本文的写作基于实际的科研项目研究,研究过程中借助开源工作流的灵活性、扩展性等强大性能,来解决现代企业信息系统之间的协同问题。现阶段的重点在于将遗留系统整合于协同平台,下阶段目标将是平台的扩展性,为新建信息系统提供标准接口。
参考文献
[1]史美林,向勇,杨光信.《计算机支持的协同工作理论与应用》[M],北京:电子工业出版社,2000.12.
[2]Wil van der Aalst,Kees van Hee.《Workflow Management Models,Methods,and Systems》[M],王建民,
闻立杰.北京:清华大学出版社,2004.2.
[3]Tom Baeyens.State of Workflow[EB/OL].www.jboss/products/jbpm/stateofworkflow.
[4]李怀林,余八一.《新型信息管理系统构建》[M],北京:经济日报出版社,2006.7.
[5]宋海刚,陈学广.计算机支持的协同工作(CSCW)发展述评[J],计算机工程与应用,2004.1.
Research on the Enterprise Cooperative Information Platform Based on Open Source Workflow
Xing Jian,Zhang Huilin
Department of Information Management,Beijing Jiao tong University,Beijing(100044)
Abstract
According to the research on CSCW and workflow, this paper makes researches on the solutions of enterprise cooperative information platform based on open source workflow-jBPM, in which the structure of the system, workflow components and key technology are elaborated, so as to provide a
政府预算收支科目solution for cooperate work in the environment of distributed and multiple enterprise information systems.
Keywords:CSCW;workflow;open source;jBPM

本文发布于:2024-09-22 03:50:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/35945.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:工作   企业   流程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议