基于jBPM的工作流技术在SP行业中的应用

基于jBPM的工作流技术在SP行业中的应用
发表时间:2010-2-7 朱君 来源:万方数据
关键字:工作流 引擎 SP 流程管理
信息化应用调查我要找茬在线投稿加入收藏发表评论好文推荐打印文本
将工作流技术引入到SP业务的开发和运营中,在开源工作流jBPM基础上,提出了面向SP交互业务的工作流引擎SPworkflow,给出SPworkflow的分析、设计和实现方法.该工作流引擎具有以下特点:流程实例完全根据流程定义规则和手机用户的消息自动地流转,满足一个流程实例只有一个用户参与的要求;处理性能高,满足同时存在较多的流程实例的要求;通过维护XML业务流程定义文件完成开发及维护新的SP交互业务,提高了开发效率;使业务开发适应市场多变需求多变的特点。

0 引言

开放源代码(简称开源),作为一种新的软件开发和传播发行模式,对于软件技术的研究和交流具有独特的优势,引起了业界的广泛重视。从低层的操作系统软件到高层的应用软件,开源的范围正在不断扩大,开源工作流系统是其中一个重要的组成部分。SP业务是通过移动通信网和计算机技术获取移动终端(手机)的相关信息,从而开展一系列应用服务的新型移动数据业务,它已成为我们舒适生活中密不可分的一部分。与其他信息网络相比,SP业务最突出的优势在于手机的可移动性,可随身携带,随时随地享受服务。而目前SP业务种类繁多,开发过程重复,代码重用度低。新推出一个SP业务,开发周期长,技术人员需要全程投入整个开发过程,造成企业大量人力物力浪费。本文以工作流管理联盟提出的参考模型为依据,以开源工作流系统jBPM为基础,分析了SP交互业务的特点,提出了面向SP交互业务的工作流引擎SPworkflow,并给出了SPworknow的分析、设计和实现方法。

该工作流引擎具有以下特点:流程实例完全根据流程定义规则和手机用户的消息自动地流转,满足一个流程实例只有一个用户参与的要求:引擎省去了一般工作流引擎的参与者管理和任务管理等业务逻辑,所以处理性能高,满足同时存在较多的流程实例的要求;引擎的用户能通过以文件制定业务流程的方式来开发新的SP交互业务,提高了开发效率;引擎的用户还可通过修改流程定
义文件完成业务变更,使得业务开发适应市场多变需求多变的特点。

1 开源工作流系统jBPM的选用

SPworlmow引擎是在jBPM的基础上开发出来的。jBPM,是一个开放源代码的基于J2EE的轻量级工作流管理系统。jBPM开源项目遵循在众多的开源工作流系统中选用jBPM作为开发基础,主要是因为jBPM有以下特性:

1)jBPM采用jPdl(npm Process definition language)流程描述语言,这种语言使用简单而功能强大,它使得业务分析人员与软件开发人员都能很直接地与软件进行交互,从而有助于获得高效的业务解决方案。

2)jBPM采用JAvA语言实现,其核心功能都被封装作为一个简单的java库,提供了功能丰富、对外交互的API集合,可以在其之上进行功能扩展。

3)jBPM使用了优秀的Mapping工具Hibemate来管理它的数据库。Hibemate是目前Java领域最好的一种数据持久层解决方案。通过Hibemate jBPM将数据的管理职能分离出去,自己可以专注于商务逻辑的处理。

2 SPworkfIow引擎的分析设计与实现

2.1 SPworIcflow引擎的系统分析

系统边界是本引擎所包含的所有系统成分与系统以外各种事物的分界线。

根据图l所示,与系统交互的活动者有业务分析人员,业务实现人员,流程发布人员和流程监控变更人员。业务分析人员是领域问题专家,能够比较准确地理解用户需求并对系统的职能进行分析,但因为他们一般没有程序设计能力,他们只能定义流程的基本元素如流程的节点(Node)和简单的动作(Action)。业务实现人员是系统责任问题专家,能够理解系统责任范围的功能应该怎么实现;他们有程序设计能力,在与业务分析人员交流后,能够定义流程的复杂功能。流程发布人员发布流程后,引擎就能够解析该流程定义,并在外界的触发下进行运行。流程监控变更人员能够监控流程的运行状态,在发现流程的定义不满足业务的变化后,可以变更流程,让新启动的流程按变更后的流程定义来执行。

本系统中有五大用例。定义流程基本元素是指对流程中的Node和简单的Action进行定义;当开发一个比较简单的业务流程时,如果不需要定义复杂的功能,那么整个流程定义可以由业务分析人员独立完成。定义流程复杂功能是指对流程中的复杂的Action进行定义,这个功能甚至可能需要按流程规范进行程序设计开发工作。流程发布运行的用例是在流程定义完成后,引擎需要能够执行它来完成业务功能,这是系统中执行时间最长的用例。流程变更控制是在流程运行过程中,需要触发和管理对流程的变更。前面的四个用例都通过流程定义解析器来融合,流程定义解析器是引擎中的核心功能,它分解开了流程的静态工作和动态工作。

2.1.2系统主题的划分

主题是把一组具有较强联系的类组织在一起而得到的类的集合,它提供了一种比类和对象层次更高粒度更大的抽象手段,通过主题可以在系统分析基本模型的基础上建立多层次的系统视图。根据前面的用例分析,将系统分为如图2所示5个包3个组件:

2.2 SPworI flow工作流引擎的系统设计与实现

本系统中提供了接口worknowAPI,以便用户使用。当SP业务开发人员需要开发新的或修改SP业务,他首先需要先用xML定义业务流程文件,然后通过调用引擎提供的workflowAPI就可以解析执行该业务了。

3 结束语

工作流引擎是工作流管理系统中核心的内容。将工作流技术运用到sP交互业务的开发过程具有很大的应用价值。本文提出的面向SP交互业务的工作流引擎SPworknow对于改善sP交互业务的开发现状具有很大的意义。但是同时,在以后的研究中,还需要在以下的工作中继续努力:1)建模工具的完善;建模工具是用户来定义流程的工具,目前本文是通过定义舭文件来定义流程。如果能提供图形化的流程定义工具将大大提高系统对用户的友好性:2)监控和管理工具:在企业应用中,系统在运行过程中不可避免地会出现许多意外情况,提供良好的系统管理与监控工具对于提高系统的应变能力是非常必要的。



本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值