基于SharePoint企业工作流管理系统设计

2010-09-26 01:59王元春孔庆玲
无线电工程 2010年10期
关键词:业务流程浏览器实例

白 洁,尚 伟,王元春,孔庆玲

(中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

工作流技术是近年来计算机应用领域发展最为迅速的几项新技术之一,可广泛应用于办公自动化、文件管理、群件应用和企业流程重组(BPR)等领域[1]。工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行[3]。SharePoint是微软公司推出的一个企业协作应用平台,提供了企业级的网站管理、文档管理、工作流管理、商业智能和企业级搜索等一系列强大的功能。使用SharePoint搭建工作流管理系统能够提高企业运营效率和运作的灵活性和适应性,充分发挥现有计算机网络资源的作用,缩短企业业务运营周期,改善企业内(外)部流程。

1 工作流管理

以往企业采用纸张表单、手工传递的方式,逐级审批签字,工作效率非常低下,且无法实现统计报表功能。而采用工作流管理系统,使用者只需在电脑上填写有关表单,即可按照定义好的流程自动执行审批,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查询、统计和打印等,大大提高了效率,实现了知识管理,提升了企业的核心竞争力[2]。

1.1 应用背景

工作流技术能合理、高效地支撑企业业务流程的运转,实现业务流程电子化、信息化,并能将业务流程中的信息流转与控制管理从手工填写、传递纸介质表单、文件的手工作业方式中解放出来。工作流管理系统可以帮助企业遵循一致的业务流程,并通过管理业务流程中涉及的任务和步骤来提高企业的工作效率和生产效能。

1.2 业务流程

工作流管理系统业务流程如图1所示。具体如下:

①创建业务过程描述,生成工作流定义。在定义中给出工作流所包含的所有任务、任务之间的执行次序和数据依赖;

②工作流引擎根据工作流模型的定义和组织/角色数据生成单独的工作流实例并加入工作流列表;

③工作流引擎或工作流列表处理器调用应用程序并维护应用数据。通过调用应用程序,部分或完全自动的完成一个业务活动;

④在业务流程处理过程中,用户持续通过用户界面与系统交互。

图1 工作流管理系统业务流程

2 系统设计

2.1 可行性分析

SharePoint是一个服务器功能集成套件,提供全面的内容管理和企业搜索来加速共享业务流程,可以应用工作流来简化批准、审阅和存档过程,从而提高企业的工作效率[3]。以下是使用SharePoint搭建工作流管理系统的主要优势:

①提供自带的协作工作流模板来生成交互式协作应用程序。这些应用程序将自动发送文档以进行审阅或批准、向参与者发送电子邮件通知;

②管理文档、记录和web内容。支持设定文档的生命周期;

③用户可以直接用浏览器填写表单,不必再登录单独的系统专门来填写表单。

综上所述,SharePoint在简化协作、内容管理和实施业务流程等方面提供了强大的功能支持,适宜作为工作流管理系统的基础框架。

2.2 系统方案

基于SharePoint工作流管理系统设计方案如下:

①建立阶段功能:使用Visual Studio开发的可视化工作流模板定义组件实现工作流过程和相关活动的定义和建模功能;

②运行阶段的控制功能:使用SharePoint工作流引擎构建工作流模板管理服务,使用SharePoint的运行时引擎构建的工作流实例管理服务结合消息路由中间件和接口服务,实现在一定的运行环境下,执行工作流过程,并完成每个过程中活动的排序和调度功能;

③运行阶段人机交互功能:使用自定义Web网页的应用程序实现各种活动执行过程中用户与IT应用工具之间的交互[3]。

2.3 系统架构

系统采用B/S(Browser/Server,浏览器/服务器)架构。利用WWW浏览器技术,结合浏览器的多种脚本语言,实现了原来需要复杂的专用软件才能实现的强大功能。在该架构中,除了数据库服务器外,应用程序以网页的形式存放于Web服务器上,用户运行某个应用程序时只需在客户端上的浏览器中输入相应的网址,调用Web服务器上的应用程序并对数据库进行操作完成相应的数据处理工作,最后将结果通过浏览器显示给用户。系统的安装、修改和维护完全可在服务器端解决,用户在使用系统时仅需要浏览器即可运行全部模块,真正达到了零客户端的功能。

工作流管理系统架构如图2所示,系统的具体结构分为3层:表示层、Web服务器层和数据库服务器层。表示层负责向用户提供对外接口,将工作流实例与应用程序关联,提供可视化的工作流模板定义组件,应用程序形式为ASP.NET制作的页面或脚本;Web服务器层负责利用工作流模板生成、监控并管理工作流实例和系统端口,管理外部端口的消息事件,其中的工作流模板管理服务和工作流实例管理服务起到工作流引擎的作用;数据库服务器层负责存储业务数据和工作流模板。

图2 工作流管理系统架构

2.4 实施步骤

基于SharePoint的工作流管理系统的数据库服务层采用微软的SQL Server数据库系统实现,主要用于存储系统业务数据和工作流模板。系统业务数据主要包括工作流管理系统运行过程中用到的数据字典和过程数据。

系统的Web服务器层使用微软的SharePoint搭建。本层提供工作流模板管理服务、工作流实例管理服务、消息路由服务、接口管理服务和接口扫描服务,以实现系统接口控制、消息传递和工作流实例控制。

工作流模板管理服务负责对工作流模板进行加载、执行和卸载等处理,并利用模板生成工作流实例。工作流实例是企业业务流程活动的一个实例,也是工作流实例管理服务处理消息的基本对象。工作流实例管理服务把某一个工作流实例相关的事件、消息和规则关联到相应的应用程序上。

接口扫描服务用于监视端口的变化(如文件的上传、修改,收到新的电子邮件等),然后通过消息路由将消息提交给工作流实例控制服务。接口管理服务用于管理系统的所有对外接口。

使用IE浏览器实现表示层与用户的人机交互。在该层提供与工作流实例关联的应用程序和组件,同时也提供可视化的工作流模板定义组件,以弥补SharePoint自带工作流模板的不足。所有服务和组件均可通过在浏览器输入相应的网址而实现。

2.5 关键技术及解决方案

虽然SharePoint提供了一些内置的工作流模板,但这些内置工作流模板仅能完成一些基本的业务流转功能,不能满足用户的复杂业务需要。而使用SharePoint Designer创建自定义工作流模板的过程又过于复杂和繁琐,对于没有编程经验的用户来说过于困难。

针对这种情况,在设计时增加了一个可视化的工作流模板定义组件,该组件使用Visual Studio实现,具有图形化的用户界面,将应用程序和业务流程用图形符号展现。一个工作流程包含一连串按业务逻辑连接的节点,每个节点上绑定一个应用程序,节点之间的连接上由用户设定触发或流转条件。用户触发起始节点即启动整个流程,根据预先设定的条件依次执行被调用流程节点上绑定的应用程序,以实现流程的功能目标。

3 结束语

分析了工作流管理系统的结构和应用背景,提出了基于微软公司的SharePoint的工作流管理系统设计方案。该系统结合Web Service技术,便于系统升级与维护;提供了可视化的工作流模板定义组件;具有完善的状态监视功能。与传统工作流管理系统相比,该系统的可扩展性和可维护性更好,工作流模板的制作更加友好、灵活。

[1]金飞腾,赵正德,张 东,等.基于 SharePoint的工作流引擎的实现[J].中国图形图像学报,2006,11(11):1552-1556.

[2]李一江.基于.Net的工作流引擎的设计与实现[D].武汉:华中科技大学,2004.

[3]屠立刚,吴翠凤.Microsoft Office SharePoint Server 2007管理大全[M].北京:电子工业出版社,2008.

猜你喜欢
业务流程浏览器实例
反浏览器指纹追踪
企业财务管理、业务流程管理中整合ERP之探索
互联网+背景下物流公司的业务流程再造
建设项目全过程造价管理咨询服务的业务流程分析
基于财务业务流程再造的ERP信息系统构建探析
环球浏览器
完形填空Ⅱ
完形填空Ⅰ
浏览器