Uniflow V3.5系统与应用结合的模型

导读:

  在前面我们主要关注Uniflow V3.5系统的整体结构及功能,接下来,我们自然要回答这样的问题,即如何有效利用信息技术从而实现理想的业务过程。为此,我们一定不能忽视面向过程的方法,必须以能够应对未来变化的方式构建应用系统,建立与应用结合的模型[8]。一般工作流应用模型的建立都要遵循一些原则和方法:

   企业应用系统的构建必须能够清晰地反应业务过程的结构[26]。这使得业务过程更容易被用户理解,进而降低系统开发和执行业务过程中出错的概率。

   必须有一种把非计算机化任务综合进来的集成方法。现今业务过程的拓展已经远远超出了传统意义上信息系统能构处理的范畴。

   企业应用系统的构建方式必须保证业务过程的结构容易被修改。这使组织能够灵活应对不断改变的环境以及相应地重构业务过程。

   能够灵活应对不断改变的环境以及相应地重构业务过程。

   能够正确检测业务过程的性能以确保能够及早发现问题,这一点非常重要。发生故障时,干涉应该是直截了当的并且是可行的。最后,业务过程的性能应该容易测量,并且可以得到改善。

   工作的分配及良好的工作量管理对提高业务过程的效率和效果至关重要[28]。

  通过这些原则来指导基于WFMS构建企业应用,才可以更大地发挥工作流管理系统的优势。众所周知,WFMS只处理工作流数据,而业务数据是由业务应用系统来处理的。要处理业务数据,实现具体的业务应用必须将WFMS和应用系统相结合,在工作流数据的协助下,实现各类业务应用在流程中的集成。应用程序可以是有人员参与的,也可能是自动执行的。从前面一章介绍的工作流参考模型我们可以看到,有两处涉及到WFMS与应用程序结合的部分,一处是工作流客户端应用,另一处是在过程事例的执行过程中由工作流引擎直接调用的应用。下面将对这两种应用模型分别进行讨论。

  工作流客户端应用模型

  在工作流模型中,客户端应用与引擎之间的交互通过定义良好的接口完成,这个接口就是工作流任务表。在最简单的情况下、引擎通过存取工作流任务表来完成特定任务到特定用户的分发过程,而工作流任务表管理器存取工作流任务表是为了获取任务项,将它们提供给用户进行处理,并得到处理结果,一般通过任务表管理器来进行任务处理的方式适用于需要人员参与的活动[27]。

  Uniflow V3.5使用标准化的API接口中的函数实现应用参数到Uniflow V3.5系统的映射,通过消息队列的通信机制来实现参数的传递和连接。

  对于审批类型的流程,都是需要人员参与的,这类有参与者的应用程序是不需要实现App-Agent接口的,只要给出应用程序的执行路径即可,由于Uniflow V3.5的办理客户端是完全基于Struts的MVC框架结构实现的,所以在执行Web类型或Form表单类型的应用程序时,可以做到办理客户端与应用程序无缝结合。

  工作流引擎直接调用的应用模型

  这种情况适合于不需要人员参与的活动。引擎调用外部应用程序可通过两种方式,一种方式是将应用紧密的集成到WFMS中,完全有工作流引擎来进行启动并控制应用的执行,这类应用可以称之为工作流使能的应用,如文字处理系统。在更广泛的应用场合,采用代理的方式来启动应用是一种具有较好柔性的方法。WfMC规范定义了一套应用程序调用接口API,这套接口定义了由引擎通过App-Agents(应用程序代理)来控制自动应用程序的启动,通过工作流和应用程序传递的相关数据信息来和应用程序进行交互数据[14]。因而能够被工作流所调用的应用程序只要实现标准的WAPI中定义的接口方法即可。当用户的应用系统发生变化,或者需要自己开发新的应用时,无需改变WFMS的结构与操作模式,也无需修改应用代理与引擎之间的接口,用户仅需要修改应用程序代理与这个特定应用之间的接口。因此,采用应用代理是提高WFMS柔性和适应性的有效方法。

  在Uniflow V3.5模型中引入了应用程序管理器的架构,引擎对所有外部应用的调用和管理都是通过它来统一管理、统一调度的,是用来连接引擎和外部应用或遗留系统的一个标准架构。这个架构也正是符合WfMC提出的Interface3的实现。它主要具有下面几种功能:

   平台独立性;

   远程调用;

   错误控制;

   容易使用;

   接口开放,可以自己实现接口来调用各种类型的应用程序

  Uniflow V3.5通过使用JAVA RMI的通讯方式在引擎和应用程序之间传递相关数据,并且控制应用程序的运行状态,应用程序管理器封装了外部应用程序的API,允许应用程序管理通过标准化的方法控制外部应用程序的运行。

  对于自动应用程序的调用在工作流管理系统中也占有很重要的位置,下面再详细描述一下程序的执行过程。

  应该说工作流客户端应用模型和引擎直接调用的应用模型的区别主要体现在:引擎直接调用的应用在WFMS运行的过程中将程序的执行信息发送给应用程序执行服务器,由执行服务器来启动应用程序的执行,应用程序执行服务器与其他服务器端的应用服务一样,是一个服务器端的组件,可以像其他服务器组件一样支持群集部署;而对于工作流客户端应用,WFMS在运行过程中把应用与工作流任务相关联,在用户通过任务表管理器打开工作项时调用应用程序,由用户来控制其提交完成。但总的来说,这两种程序的大部分功能特性是完全一致的

  首先,引擎根据节点中定义的应用程序信息将应用调用请求发送给消息中间件;

  然后,应用程序代理通过消息中间件取得应用调用请求,并通过请求信息调用相应的应用程序;

  接着,应用程序执行完成后,调用应用接口将应用执行结束消息发送到消息中间件中;

  最后,引擎从消息中间件取出应用执行完成的消息,执行相应的清理工作(删除应用程序调用消息等)后,继续下一步的工作。



本文转自

http://soa.5d6d.com/redirect.php?fid=7&tid=71&goto=nextoldset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值