NetBPM:让一切变得简单

时间:2022-09-27 06:03:07

在BPM领域,活跃着大量开源的BPM项目,NetBPM就是其中优秀的一个项目,通过NetBPM,可以对不能实时获得的,由其他系统或人员产生的结果与程序逻辑进行结合,使业务流程管理变得简单。

所谓BPM(Business Process Management), 即业务流程管理,是指根据业务环境的变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。业务过程管理软件为企业工作流自动化和企业过程再造提供了一个基础平台,有力的简化应用开发的步骤,降低应用开发的难度,提高应用开发的效率及灵活性,节约应用开发的成本,极大的提高应用开发的生产力。

如今,随着软件开源趋势愈演愈烈,BPM软件也加入到这一潮流当中,许多大公司都将开源的BPM系统,如Apache等。在这些开源BPM软件中,NetBPM就是其中一个非常出色的BPM工具。

NetBPM概述

NetBPM是jBPM移植到.Net平台下的一款开源过程管理软件,它已经纳入到Apache软件许可(Apache SOFTWARE LICENSE)里面。NetBPM可以很容易和.Net应用程序集成在一起,可以创建、执行和管理工作过程序。NetBPM是一个实施灵活性和扩展性的工作流管理系统(WFMS),是一个.Net的企业应用系统。NetBPM由多个组件构成,每一个组件都有明确定义的接口。

实质上,NetBPM解决以下问题:如何把不能实时获得的由其他系统或人员产生的结果与程序逻辑进行结合。业务过程的执行常常是在等待和执行来自第三方的输入之间进行切换。NetBPM记录每一个参与方,同时也记录每一个参与方的动作。当这些外部的参与方提供结果给NetBPM引擎时,它将继续执行过程定义。

NetBPM允许用户通过使用NetBPM过程定义语言(NPDL)加载业务定义。NPDL是一种简单而又功能强大的定义语言。在NPDL中,一个业务过程包含在一个处理文档之内(处理文档是一个包含所有过程信息的压缩文件)。处理文档在创建之后就被装载入NetBPM应用中,一旦处理档案被载入,NetBPM为用户实施过程活动提供了第二个接口。

当一个活动实施时,NetBPM就会计算过程的下一个状态,同时为将要实施的活动分配新的实施者。NetBPM提供勾子以回应这些活动,同时,这些活动能够访问过程属性并且访问组织中所有系统。这些行动提供业务过程管理(BPM)和企业应用综合化(EAI)之间的链接。

NetBPM组件接口

NetBPM是由多个组件构成的,不同的组件都拥有其相应的接口,接口是不同组件之间进行交互的主要渠道,这些接口共同组成BETBPM的沟通网络,如图1所示。

1.过程开发者接口

此接口用来将过程定义加载到NetBmp引擎中。首先,过程开发者创建一个新的过程定义,这个过程的结果是生成一个新的过程文档。一个过程文档是一个完整的业务过程的说明。此处所说的接口能够为开发人员将过程文档通过NetBPM的WEB接口加载入NetBPM引擎中,过程文档在NetBPM数据库中被处理。

2.用户接口

这里的用户表示能够执行过程的人,过程执行的两个主要动作包括开启过程和实施行为。开始一个过程创建了一个新的过程实例,一个过程实例是过程定义的实施,一个过程实例由一个或多个并行执行的flows-of-execution组成。一个流是一个行为状态,活动的实施由用户或相应的功能单元负责。行为的实施是根据用户制定的过程实施相应的业务行为。

3.外部IT系统和NetBPM引擎接口

外部IT系统与NetBPM进行交互是通过以下两种方式。一是系统初始化交互,即当系统想在一个过程初始化一个动作时,它必须使用执行接口执行;二是过程初始化交互,即对于需要被初始化的交互,需要交互方的参与。交互方是过程定义的一部分,也被写进过程文档中。它是一个.NET类,它能够用来访问上下文,这样使得交互方在FlowContext和外部IT系统之间建立了一个的两路通讯。

BPM和机构数据仓库接口

NetBPM需要关于整个机构的信息,这些信息包括:人员、团队、部分、角色等等。为了保证NetBPM能够在机构中快速的实施,上述的所有信息通过一个中央机构部件进行信息收集。

对于不同的机构,此类信息被存储在不同类型的数据仓库中,比如LDAP系统,关系用户数据库,exchange server等等。通过使用session facade模式,能够使得机构信息数据与NetBPM的通信变的容易。

NetBPM架构

从本质上而言,架构表现为一系列的功能和应用的综合。NetBPM包括一个BMP引擎、客户端应用和一些管理工具等等,整个NetBPM的核心是其BMP引擎,它是整个NetBPM业务过程逻辑制定和实施的核心所在。NetBPM中包含多个组件,通过不同的组件实现不同的业务处理功能,NetBPM的组件结构如图2所示。

1.定义组件

定义组件负责系统过程的定义,业务逻辑的制定。定义组件解析过程文档,同时在NetBPM数据库中将信息存储起来。在一个过程被载入之后,用户能够通过执行组件实施一些简单的行为。

过程定义包含了所有使业务过程能被工作流执行系统执行的必要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。

2.执行组件

执行组件是系统中动作行为的主要实施者,两种最典型的功能包括开始一个过程实例和实施一个行为。执行组件的工作内容包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;提供监督和管理功能等。执行组件与定义组件一起构成NetBPM中最为核心的功能组件,是系统的核心所在。

3.日志组件

日志在现在信息系统中起着越来越大的作用,信息系统事件分析和审计的数据来源就是通过日志,在NetBPM中也提供了完善的日志功能。这个功能的实现是通过系统中的日志组件。

NetBPM作为一款优秀的开源BPM软件产品,其在功能、性能以及可用性上均有着无可比拟的优势。目前,NetBPM已经被广泛应用到业务流程管理中,已经在许多地方发挥着巨大的作用。同时,随着越来越多的人员加入到NETBPN的功能改进和扩展当中,NetBPM的功能和性能将会有一个明显的提升。

上一篇:没有万无一失的通行证 下一篇:移动DRM:无线“生机”