基于Webservice的工作流系统

作者:开发工程师 郭宇 文章来源:北京机械工业自动化研究所 发布时间:2011-06-08
分享到

概述

近年来,以Web Service作为基础的分布式技术的广泛应用,为企业的分布式业务处理提供了基础平台。其中,工作流管理是一种正在快速发展的业务集成和组装技术,其主 要特点是流程自动化处理和人机交互结合,主要目的是提高工作效率,规范业务流程。当前,它主要应用于政府,银行,保险等企事业单位的办公自动化系统中。目 前,市场上的工作流管理系统结构过于复杂、适应异构环境能力差、交互能力有限,很难适应快速部署和满足跨平台系统集成。本文阐述了一个根据WFMC(工作 流管理联盟Work Flow Manager Coalition)的定义,结合实际开发需要的工作流模型。它在降低建模复杂性、可视化建模、增强跨平台集成能力和运行效率方面具有明显优点。

关于 Webservice

Web Service是描述一些操作(利用标准化的XML消息传递机制可以通过网络访问这些操作)的接口及其访问的信息。它定义了一种绑定机制。这种机制用于告 知协议、数据格式、抽象消息和服务位置的端点组。Web Service客户端向提供UDDI服务的服务中心请求查找服务,得到WSDL文档的URL地址。完整的处理流程如下图所示:

客 户端根据URL向Web Service的提供者请求和得到服务说明文件WSDL。最后,客户端将生成的SOAP请求嵌入到一个HTTP POST请求中,发送给网络服务器。网络服务器再把这些请求转发给Web Service请求处理器(Request Handler)。请求处理器的作用在于解析收到的SOAP应答后,以HTTP应答的方式把它送回到客户端。

系统结构

系统中包含工作流引擎、工作流用户界面、工作流定义工具、WebService几个组件:

1. 工作流引擎包含了流程运转的核心逻辑。

2. 工作流用户界面提供了用户管理和使用工作流表单、编辑数据的功能。

3. 工作流定义工具提供了用户自定义流程的完整功能,使用该功能可以实现任意复杂的流程定义,并可以和表单数据等进行绑定。

4. WebService接口模块提供了面向服务的标准接口,任意的异构系统都可以通过服务来和工作流系统进行通信和集成,在该模块中主要包含如下的服务:

a) 流程定义服务:负责从后台数据库中读取所有的已导人的工作流流程模板,并将选中的流程模板展示给用户,使其了解所选的业务流程。

b) 流程运转服务:这是引擎的核心,负责工作流实例的启动时,运行时,休眠时和终止的过程调用。

c) 角色和权限服务:负责角色和相应的权限的查询。

d) 消息服务:负责通过消息队列来完成和维护工作流实例运行时的相应的消息发送,同时也让用户了解业务流程的运行情况。

e) 日志服务:负责记录系统相关历史信息,尤其是工作流实例运行时过程执行信息,防止工作流实例的崩溃,以便使崩溃的工作流实例得到恢复。

小结

基 于WebService的工作流是一种新的工作流架构,基于这种架构,可以更清晰的将工作流引擎和表单、业务数据等内容相分离,降低了工作流系统和业务系 统之间的耦合度,提供了更宽松、快捷的部署方式,增强了系统的延展性。任何支持WebService服务调用的系统都可以通过调用WebService来 驱动流程的运转,实现真正的面向流程的业务系统。

收藏
赞一下
0