基于工作流的业务流程管理技术应用

发布-流程管理网 | 查看- | 发表时间-2009-10-28

张意 蒋玉明 傅静涛 赫熙煦 来源:万方数据

传统的企业应用集成(Enterprise Application Integration,EAI)技术经历了3个阶段:数据层集成,功能层集成和代理层集成。它们关注底层数据格式的转换、应用层点对点的集成,具有以代码为中心的开发模式。因此,缺乏对流程的认识,业务流程逻辑深嵌在应用程序的代码中。业务流程管理(Business Process Management,BPM)系统的目标是协助达到“业务流程与期望的业务结果一致”,并确保IT系统能够支持这些业务流程。BPM能将业务逻辑从其他的应用程序代码中分离出来,采用图形化建模的方式来集成应用,可从根本上解决现有EAI技术的缺点,有利于提高生产力、降低运营成本和增加灵活性。
1 工作流与BPM
BPM是一套软件系统、工具和方法的统称,它关注机构如何识别、建模、开发、部署和管理上述业务流程,是基于工作流技术、EAI的全新管理信息系统开发技术。它利用先进的工作流技术,从业务流程的角度对企业进行全方位的管理,并支持业务流程的持续改进,其核心思想是为企业内及企业间的各种业务提供一个统一的建模、执行和监控的环境。
BPM的优点如下:
(1)减少业务需求与IT系统间的失配;
(2)提高员工的生产力,降低运营成本;
(3)提高企业的机动性和灵活性;
(4)降低开发成本。
工作流是将一组任务(task)组织起来完成某个业务的过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。如果触发顺序和触发条件用来定义并实现任务触发、任务的同步和信息流(数据流)的传递,这种预先设定好的静态流程随着时间的改变不易变化,有时不能适应企业对业务流程变化快速反应的需求。
BPM是基于工作流等一些相关技术而出现的,在功能上有些相互交叉,但BPM与工作流也存在区别。共同点在于:BPM与工作流将过程逻辑和过程执行分开,使信息系统能够快速地适应流程的变化。区别在于:工作流侧重予业务流程的自动化和管理结构化的过程,强调业务流程的自动或部分自动执行,而BPM则是业务流程管理的整体解决方案,涵盖业务流程的建模、运行、监控、分析、优化、重组等多个方面,以及从生产管理到战略管理的各个层次,对业务流程的并行、协同和分布的支持能力更强。
2 基于BPM的应用系统
2.1 系统设计核心思想
该系统是某国有大型制造企业的业务电子化解决方案——设备全生命周期管理系统。在BPM技术的基础上,提出了BPM的3层体系结构,如图1所示,包括整合层、自动层以及协作层,它能快速灵活地定义和部署企业业务流程。
图1 BPM体系结构
(1)整合层:采用EAI的业务整合技术,整合企业内部的应用系统(ERP)、数据库、目录服务和其他数据资源。能根据系统的动态要求与企业的应用系统、数据库、目录服务等数据资源进行数据交互。动态映射引擎主要负责实现整合层和自动层的信息交互的路由工作,根据信息交互的需要动态形成链接。
(2)自动层:采用工作流技术,核心是流程引擎,由BPM设计器、BPM管理器以及封装了各种应用逻辑及数据逻辑的组件容器构成。主要负责业务流程的解析与执行。BPM设计器主要完成业务模型构建,以没定各种流程规则,从而达到对业务流程的设计、建模和开发。BPM管理器作为一个用户应用界面,负责监视和控制流程引擎的运行,并产生报告,以协助系统完成人机交互工作。
(3)协作层:通过XML消息引擎,实施定制、支持协作协议。XML消息引擎是实现消息转换和交互的关键,支持统一的多协议、多渠道消息交换转发,负责从企业外部接收信息,并转化为XML格式进入系统内部进行相应的业务流程处理。XML消息引擎支持基于Socket的接入方式。
2.2 系统架构和功能
本系统主要包括设备台账、备件采购、运行维护、基建管理、业务查询、系统管理6个业务部分,其基本结构如图2所示。
图2 系统体系结构层次
(1)用户层使用一个统一的Web接口,根据用户权限的不同,在登陆以后显示的业务操作也不同。
(2)业务流程管理系统层主要包括流程的定义和相关控制,主要由一个图形化的建模工具以及工作流引擎构成。
(3)业务应用层
1)设备台账管理:从提出采购一台设备的申请开始一直到设备报废处置结束,其整个流程中的所有关于设备的信息和资料的记录,包括采购合同、大修记录、保养记录、转固信息等。
2)备件采购管理:备件的申请及计划。
3)运行维护管理:设备的大修,项修,保养,润滑,事故处理等运行维护的信息的管理。
4)基建管理:企业基础建设项目的相关信息管理,包括合同、资料等信息。
5)业务查询:所有业务信息的查询,包括信息的导出和生成报表。
6)系统管理:组织结构,人员职责以及信息发布的管理。
(4)应用集成平台:与该企业已有的ERP系统进行接口。
2.3 业务流程的建模与实现
业务过程集成的目的是实现企业内或跨企业的业务系统联结,以及在这种联结机制中的业务文档转换和传递。过程工具的主要功能是设计定义组织联结各个业务过程的规则以及基于规则创建业务过程。使用一个简单易用的过程定义工具Module Designer(MD),实际业务过程被定义成一个可视流,使用者无须进行程序开发。
定义工具从窗口使用,业务过程定义使用箭头表示活动之间的控制流,在业务活动之间指定数据的输入和输出。业务过程中的控制流包括简单移动、条件分支、与执行、或执行及其他可用控制。
对过程定义的可设定信息包括:标题,属性,权限。权限即参与此活动的权利,应先将权限分配给对应的岗位,再将岗位分配给具体的人员;属性包括数据箱、控制模式,数据箱定义整个过程中涉及的变量,控制模式定义活动激活和结束的模式以及活动的特性;定义工具中提供了过程活动、控制连接、逻辑运算、条件运算等。这些对象都可通过简单的拖动、点击、放置来实现其增加、删除、复制和属性设定。
以如下系统中的定期保养流程的例子来表现MD对业务过程的建模,见图3。
图3 定期保养流程建模
该流程的执行顺序如下:由开始节点到活动“生产单位确认保养计划”,到达一个或节点,指向它的任意一个活动结束都能激活它的输出,然后同时到达“管理组会签保养计划”和“技术组会签保养计划”2个活动,只有2个活动同时完成后才能通过它们下面的与节点,到达“审核计划”活动,完成此活动之后到达异或节点,对一个过程变量的值进行判断,按照判断的结果进入其中一条输出。可以看出共有5个活动以及4个逻辑运算,其中,由工作流引擎生成的活动“审核计划”的XML代码如下:
<Activity name=“审核计划”id=“771EE054-2693-49F5-A834-7F6ECB8F2BE8
type=“Conversation”
entrymode=“MANUAL”
finishmode=“MANUAL”
competemode=“CLOSE”
assignmode=“mutcx”persistance=“false”
autocommit=“true”orderLevel=“0”
timeLimit=“-1”timeRemind=“false”
in=“772AA303-1232-40A2-A735-ED1B3446AF80
out=“AFDl3639-C3D1-4EBA-BCCB-C1382C206CCl”>
其中,属性name表示名称;id为唯一标示符;type表示类型;entrymode表示激活模式;finishmode表示完成模式;competemode表示竞争模式;assignmode表示分配模式;persistance表示持久性;autocommit表示是否自动提交;orderLevel为优先级;timeLimit为时限;timeRemind为是否按时间提示;in和out表示输入和输出的id。
第1个逻辑运算或生成的XML代码如下:
<Activity name=“逻辑运算(:@ Event_Or_17)”
id=“53156EDA-587F-4335-B3C3-8F87258948AB”
type=“None”
entrymode=“AUTOMATION”
finishmode=“AUTOMATION”
in=“5E3FB9E5-8779-4FFl-8831-68885774lFF7
out=“567DF783-0EOF-408F-A576-626F2DI17854/>其属性的意义与活动的相同。
根据图形建模的变化,生成的XML代码会发生相应变化,通过工作流引擎的解释和执行,系统就有很强的灵活性和可扩展性。
3 结束语
BPM是一种新型的工作流技术,它以流程为中心,有效地整合企业资源。本文采用基于工作流的BPM技术,实现了对代码的封装和图形可视化建模方法,改变了以代码为核心的传统方式,缩短了开发周期,提高了开发效率。同时,生成的XML文件易于系统之间的信息集成与共享,基于规则的执行系统也给应用系统带来了较大的灵活性。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门文章
最近评论
访客留言
京ICP备09031912号-13 京公网安备110112000845号 | 流程管理网
POWER BY Z-Blog