随笔 - 14  文章 - 0 评论 - 35 trackbacks - 0

1. 为什么要使用工作流系统

随着计算机的普及,企业信息化程度的不断加深,对软件系统的要求也越来越高,传统的软件系统的基本功能是记录数据和查询数据,这种方式已经落后,用户的需求越来越精细,如何让数据信息流转起来,让更多的人参与进来,体现出每个人的岗位职责,这就是工作流系统要完成的任务。

这种系统被定义为BPM,中文意思是企业业务流程管理系统,这种系统不仅仅是一个软件产品,其中包含大量的实施工作(协助客户梳理流程)。

举一个物品领用的例子来说明一下,传统的软件系统和工作流系统的区别。

传统的工作方式是这样的:领料人向本部门主管申请领用A物品,经部门主管审批后,拿着批条再请分管经理审批,最后拿着签有部门主管和分管经理名字的批条到仓库领货,仓库管理员确认批条后,办理领用手续,在软件系统中记录某人某年某月某日领用A物品一件,审批人某某和某某,完成领用。具体过程如下图:

clip_image001[4]

传统的软件系统只能记录“某人某年某月某日领用A物品,审批人某某和某某”这一个结果信息,所以只是一个记录信息的过程,没有体现中间审批的过程。使用工作流系统不但可以记录最终信息还可以记录中间过程。

工作流系统的工作方式如下图:

clip_image002[7]

工作流会把领用人申请、主管审批、分管经理审批、仓库提货等中间过程统统记下来,这就是工作流系统的优势。

这只是举了一个简单的例子,实际工作中流程远比这个复杂,一个物资领用申请经过的审批环节可能是不一样的, 我们会遇到特殊物品特殊审批、特殊情况特殊审批等情,。企业的业务流程是复杂的、也是多变的,这也正体现了每个企业的特点,如何应对这种复杂多变的业务需求,使用流程管理是必然的趋势。

2. 工作流系统的特点

l 体现实际业务特色

clip_image003[4]

工作流系统主要有很多业务流程组成的,每个流程代表一个日常业务,建立工作流系统的一个很重要的工作就是要梳理企业的业务流程,业务流程是随着企业的不断发展不断变化的,流程随时调整以适应这种变化。这个过程只需要重新配置一下流程图就可以,不需要修改程序,这是工作流系统的一大亮点。

l 追踪业务处理过程

clip_image004[4]

流程图是工作流系统运转的基础,流程引擎根据流程图进行工作流转,并记录每一步的工作数据,可以随时查看走过的每一个节点的处理结果(例如审批意见)。

l 协同工作提高效率

工作流的每一个节点都是有专人处理的,没有处理权限的人看不到该节点的数据信息,这一点提高了系统的安全性。工作任务自动流转,用户只需处理自己的任务,任务完成后提交任务,任务可以自动分配给下一个处理人,这样每个人只需坐在电脑旁完成好自己的工作就可以,无需拿着文件到处找人签字,提高了工作效率。

clip_image005[6]

3. HF业务流程管理平台简介

3.1 概述

   HF业务流程管理平台是我们根据多年的项目经验和项目实践,结合国内各大工作流产品的特点研发的一套流程管理系统,该系统不仅考虑到从零搭建业务系统,也考虑到与现有业务系统的整合。从零搭建业务系统,我们推出了BS结构的业务应用平台(HFWebApplication)和CS结构的业务应用平台(HFWinApplication),该平台采用模块化的软件架构,能够灵活的加载和卸载功能模块;与现有系统的整合,我们的流程引擎(HFWorkFlowEngine)提供了丰富的功能接口,供第三方业务系统调用,并提供源码级完全整合方案。

clip_image007[4]

3.2 程序架构

HF业务流程系统采用三层架构的模式,即客户端、应用服务和数据库。流程引擎和配置工具可以通过WCF的方式访问远程的服务器。

WCF程序访问架构

3.3 HF业务流程管理平台组成

HF业务流程管理平台架构

HF业务流程管理平台由三部分组成:1、流程配置工具(HFWorkFlowTool),2、流程引擎(HFWorkFlowEngine),3、业务应用平台C/S或B/S版。

程序结构如下图:

clip_image013[4]

3.3.1 流程配置工具HFWorkFlowTool

 

提供C/S版的(WinForm)流程配置工具,能够使用户通过拖拽的方式实现可视化的流程设计,流程模板发生变化时只需修改配置即可,无需重新编译程序;流程模板可以导入导出,方便备份和恢复。配置工具还可以建立企业组织机构、配置系统权限和表单管理。

流程配置工具主界面如下图:

clip_image017[4]

3.3.2 流程引擎HFWorkFlowEngine

HF是一款自主研发的工作流引擎,它使用最流行的.Net语言和SQL Server数据库编写,具有可视化的配置工具和完善的业务展现平台,能够适应任何复杂情况流转。HF不但具有流程引擎一般的功能,还可以很方便的嵌入到您现有的业务系统中,不影响现有的业务系统的代码结构,使您在现有业务系统中增加流程功能的最佳选择。

HF 流程引擎的基本功能:

l 顺序流转

l 条件流转

l 分流

l 合流

l 指派

l 授权

l 回退

l 异常终止

l 流程挂起

l 召回(在下一任务未处理前可召回)

l 子流程(流程嵌套)

HF 流程引擎独有特色:

l 支持共享任务处理

多人都有权处理的任务,都能看到该任务,别其中一人处理后,其他人不会再看到该任务。

l 支持多启动节点

在流程环节基本相同只有开始任务不同时,可以利用多个开始节点并免多创建一个流程。

l 简化任务节点类型实现复杂流转

HF的任务节点类型是经过深入的归纳和抽象,类型少功能强,流程图更贴近实际的业务流程,没有多余的节点,一目了然,所见即所得。

3.3.3 业务应用平台HFWebApplication

  BS结构的业务展现平台,能够方便用户通过浏览器访问公司业务,积木式的软件架构使系统管理员灵活配置业务界面。该平台可以提供源码供用户自由修改,来实现符合自己的展现方式。您还可以完全由自己开发业务展现平台,按需所用,十分灵活。

clip_image019[4]

clip_image021[4]

3.4 开发业务流程

平台能够方便的开发业务界面,提供与数据库的接口,不需要太多编程知识就可开发业务流程。基本步骤如下:

clip_image022[4]

第一步:利用建模工具画好工作流程图,配置好每一个节点的处理者和处理方式。

第二步:利用Visual Studio(2005/2008/2010)制作工作流业务表单。

第三步:利用建模工具在流程图的每一个节点上配置业务表单。

第四步:把业务表单的界面文件和生成的dll发布到服务器。

做以上基本配置即可完成工作流开发,工作流平台不需要重新编译。

3.5 与现有系统源码级整合

HF流程引擎其提供全部源码,可以实现与第三方系统整合。

clip_image023[4]

业务整合需要整合三部分:第一原业务界面整合,一个数据保存业务整合伪代码如下图:第二 任务列表的整合,第三任务列表与原业务界面的连接。

clip_image024[4]

3.6 跨系统整合实现SOA

在使用工作流系统前可能正在使用其他软件系统,在企业中同时使用多套系统是经常遇到的情况,如何使各系统有效的工作避免重复性工作,是企业系统整合面临的首要问题。多套系统共存时应设计好完善的解决方案,避免冲突和重复性劳动,保证基础数据唯一和业务数据共享。工作流系统应该作为企业信息化的核心,因为它描述企业的业务流转,其他系统为其提供数据。每个系统都是独立的,通过工作流系统可以使个企业的整个软件系统有机的串联起来实现企业系统整合。

HF流程引擎提供丰富的调用接口,包括WCF和WebService等多种调用方式。

clip_image025[4]

与微软门户系统整合,在SharePoint2007中集成流程任务列表,如下图:

clip_image027[4]

clip_image029[4]

3.7 流程监控服务(手机短信、即时消息和Email

为了更好地监控流程运行状态,提供了流程监控服务,每当有了新任务或者任务超时能够及时通知处理者或者其他相关人员。可以实现手机短信、电子邮件、QQ、Msn、Ocs等多种方式的即时提醒。流程监控服务界面如下图:

clip_image031[4]

clip_image033[4]

4. 面向的用户群

l 软件开发者和集成商

需要工作流功能的软件开发者或者集成商,适合已经有也许系统的,可以方便的把流程引擎集成到已有的系统中,省去了开发流程引擎的工作,使其把注意力集中到业务开发中。

l 最终客户

由我们为客户定制开发业务流程,形成一套完整的业务系统,提供给客户使用。

5. 成功案例-威海网通流程支撑系统

主界面如下图:

clip_image035[4]

功能模块包括

clip_image036[4]

5.1 商品采购申请案例

5.1.1 采购申请流程图

clip_image038[4]

5.1.2 采购申请单

clip_image040[4]

5.1.3 采购单审批

clip_image042[4]

5.1.4 任务处理

clip_image044[4]

6. 较复杂案例-其他合同审批

clip_image046[4]

该流程是支持多个启动节点的典型案例。

(完)

posted on 2012-07-16 16:14 云飞扬 阅读(...) 评论(...) 编辑 收藏