workflow的简介
工作流(Workflow)
是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。
工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(WfMS)
是处理工作流的电脑软件系统,其主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
J2EE项目中流行的工作流引擎 1、JBPM 2、Activiti 3、Shark 4、osworkflow
工作流引擎的边界:
1、必然存在自己的数据表,用来制定、存储工作流模板和实例
2、必然与操作用户关联
3、必然与用户表单关联
4、可以自定义模板,然后反复实例化(具体的每次运用)
5、模板的创建,可以图形化,可以用XML,可以用HTML本质都是把流程模板持久化
具体一个流程
工作流常用术语:
节点:操作的具体每个步骤(上图的,【项目组长审批】就是一个节点)
过度:过渡是连接各种工作流活动的通路。 节点通过过渡线相互连接以形成工作流。
模板::预先设置好一个工作流可能涉及到的节点、过度、关联用户,可以被多个具体的流程进行使用
实例::具体开始执行一个流程,实例会绑定上用户表单
历史轨迹:执行任何一次步骤都被保存下来
合并审批 如:总经理审批通过后需要,技术部副总裁和产品副总裁同时通过这个节点才算完成
优秀工作流引擎的特点
独立与应用系统存在(外挂式),一个工作流引擎可以外挂到所有需要用到工作流引擎的系统
工作流引擎PD分析
节点表: 也就是每个步骤的名称,独立存在不去主动关联任何表
流程模板表 保存模板名称
1、模板关联到多个节点(关联的节点还要指定在模板中的位置,也就是第几步执行这个节点)
2、模板关联的每个节点需要关联到多个操作人
流程实例表 正在进行的流程
1、关联当前执行到的最新步骤
2、关联模板可以查询出下一步执行节点
3、实例必须关联用户自定义表单,流程才会与表单数据绑定,也就是审批的产品
流程记录表:记录下实例化流程过程中的每一次操作
=====================
当今社会分工越来越细,在一个单位内部也越来越强调专业化,大部分工作都需要多个部门和员工合作完成。
一个制度良好的单位往往对各种工作的工作流程以文件的形式固定下来,即使是管理不太正规的单位也有约定俗成的工作步骤。
这种工作流程保证了一件任务能按预定的顺序从起点流向终点,并且在需要的时候可以跟踪、查询和统计。
工作流(Workflow)
就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。
工作流包括以下几个要素:
实体(Entity) :是工作流的主体,是需要随着工作流一起流动的物件(Object)。
例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。
参与者(Participant) :是各个处理步骤中的责任人
可能是人,也可能是某个职能部门,还可能是某个自动化的设备;
流程定义(Flow Definition) :是预定义的工作步骤,它规定了实体流动的路线。
它可能是完全定义的,即对每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据情况决定下一个参与者;
工作流引擎(Engine) :是驱动实体按流程定义从一个参与者流向下一个参与者的机制
可以看出,前三个要素是静态的,而第四个要素是动态的,它将前三者结合起来,是工作流的核心组成元素。
工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,
它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。
一个工作流包括一组任务(或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任务(或活动)的描述。
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
工作流在大多数的实际应用中的情况可以这样来简单地描述:
在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。
例如,在日常办公中,当撰写好某份报告之后,可能需要将其提交给领导进行审阅或批示;
审批意见可能需要汇集并提交给另外一个人,以便对报告进行进一步的修改。
这样,可能会形成同一篇文档在多个人之间的顺序或同时传递。
对于这样的情况,我们可以使用工作流技术来控制和管理文档在各个计算机之间自动传递,而非手工传递。
这就可以称之为工作流。
似的关于文档的自动化处理只是工作流技术的一种简单应用。事实上,工作流技术在现实生活中能够完成更多更复杂的任务。
如企业(或机构)内部的各种数据或信息的自动处理,多种业务流程的整合,企业(或机构)之间的数据交换,借助Internet技术实现跨地域的数据传输和处理等等。
一、工作流发展
工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。
进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993年8月,第一个工作流技术标准化的工业组织——工作流管理联盟(Workflow Management Coalition,简称WFMC,下同)成立。1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。
二、工作流的特点
1,图形化、可视化设计流程图
2,支持各种复杂流程
3,组织结构级处理者指定功能
4,B/S结构,纯浏览器应用
5,强大的安全性特色
6,表单功能强大,扩展便捷
7,灵活的外出、超时管理策略
8,处理过程可跟踪、管理
9,丰富的统计、查询、报表功能
10,与MAIL系统集成
三、工作流的优点
企业实施工作流管理所带来的好处是非常明显的,这包括提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集中精力处理核心业务、跟踪业务处理过程、量化考核业务处理的效率、减少浪费、增加利润、充分发挥现有计算机网络资源的作用。实施工作流将达到缩短企业运营周期、改善企业内(外)部流程、优化并合理利用资源、减少人为差错和延误,提高劳动生产率等目的。
总结实施工作流带来的好处,可以归纳为以下几点:
1,要处理的事项已自动传递到个人电脑上
2,不再需要对员工进行流程的培训,平滑实现流程变更
3,员工只需将精力集中在处理自己关心的数据上
4,随时得到历史数据
5,随时生成处理效率报表
6,达到无纸化办公的目标
7,完全支持移动办公,使作业同步化
8,科学管理更进一层,办公效率明显提高
9,企业的核心竞争力将有提升
10,通过流程自动化与数据库集成,以及各类表单统计查询功能,提高决策能力
四、工作流WorkFlow技术构架
五、工作流是如何实现的
工作流的实施需要三个基本步骤:映射、建模和管理。
映射是第一个步骤,其首要任务是确定并且文档化组织内全部现有的手工和自动化的业务流程;
建模则是开发一个有助于建成流线型业务过程的模型。
第三阶段是软件实施以及跨越全部工作部门、业务单元甚至是整个企业的无缝系统集成。
为了确保工作流系统能够“无缝地”实施到组织机构中,项目组都必须遵从已经定义好的、经过实践确认的行之有效的工作方法,并且在每个工作阶段都必须有可以度量的结果。一个深思熟虑的实施计划被有经验的团队执行,是成功地采用和实施工作流的决定因素。下图描述了一个推荐的、可供典型组织机构采纳的高层工作流(实施流程)。下面按图中步骤具体阐述。
建立项目管理办公室
项目管理办公室的组成是第一步,也是最重要的一步。项目管理办公室的成员须经过严格谨慎挑选,他们必须在恰当的程度上广泛代表组织内的业务、运营、IT以及审计等部门。产品供应方的产品专家、技术支持人员和管理人员也必须参与其中,以与用户互补。通常在PMO中还包含变更管理顾问,有助于形成组织中人员思路的多样化。每个成员的角色和责任必须定义清楚。PMO从整体上确立项目的实施范围、目标、实施时间框架以及优先级等等。PMO也负责管理和跟踪项目进度、设定检测项目是否成功的指标,以及定期向高层汇报项目状况等。
业务分析
项目组将分析用户现有的业务流程,找出哪些流程需要优化和改进以达到上佳效果,并分析每个流程的时间线和期望的结果。他们将与关键人员进行座谈,收集和鉴别正确的信息及数据,从而决定工作流系统如何满足需求。接下来的业务分析将辨别出哪些流程可以被优化、自动化、流线型化,哪些流程甚至需要重新设计。
确定目标
确定上佳目标是建立在业务流程详细分析的基础之上的。工作流项目的目标定义应该清晰并可以进行验证,好的目标意味着项目的成功。在实施过程的每一个阶段,项目组必须确认达到的结果是他们所期望的结果。例如,如果目标是缩短开发票周期两周,则必须分析现有的时间跟踪、记账和开发票等流程。
确定实施计划
目标确立后,由用户和软件供应商组成的项目组展示工作流解决方案具备的各种模块,根据用户提出的特定需求定义他们的功能和特性,并基于业务的优先级,共同决定每个模块的上线时间。
将业务流程在工作流系统中建立模型
在实施过程中建立业务模型是一个极重要的步骤。用户应当紧密地同软件产品应用专家进行合作,以在易用性和功能需求之间达到平衡。
用户可以在部署阶段前对模型进行测试,以确保该模型符合实际要求且没有过多的开销。需要指出的是,如果这个建模步骤没有完全正确地完成,将导致错误的报表或者多余的管理工作。
实现流程和软件集成
在这个阶段,项目组将确定现有的需要与工作流系统交互的流程与系统。如果处理不当,新旧流程的集成将导致失败。流程集成的一个重要方面就是在多系统之间消除或者最小化冗余数据,并在多个系统间复制这些数据。流程必须紧密集成,数据必须能跨越不同的流程和应用,顺畅流动。
项目组也必须确保工作流系统符合用户组织机构的安全标准,这一点经常在部署阶段前被忽视。
部署工作流系统
部署工作流系统包括两部分内容。第一部分自然是技术部分,涵盖了硬件和软件的安装、备份、恢复以及网络安装等等,这与一般的IT应用实施相似。
第二部分是指上线试运行。试运行小组应具有真正的代表性。项目组必须与试运行小组就项目的重要性进行沟通,并确保提供足够的培训,使得试运行小组能够对试运行工作得心应手。建议项目组建立清晰的沟通渠道,保证在试运行期间可以及时反馈用户的意见和建议。试运行将使项目组鉴别出原来设计和计划的弱点和缺点,并在大规模上线运行前加以解决。这也可以提高用户对于新流程的接受程度,因为用户感到他们也参与了项目的开发部分,解决方案不是强加给他们的。
一般认为,采用阶段性实施工作流系统可使用户更快地获得效益。因为用户可以更有效地渐进学习新系统,取得立竿见影的效益。阶段性实施还给予用户更多的时间了解、评估他们进一步的需求,使得项目实施期间的修改更加容易。另外,阶段性实施项目降低了风险。
系统评估
特别注意,在每一个阶段完成后,项目组都应该基于项目开始时设定的目标,对已经完成的结果进行评估,同时分析所达到的结果,并与最初的设计目标相对照。为了确保工作流解决方案在现有的业务环境中优化出更理想的结果,项目组必须进行定期的监控、评估和沟通,以了解什么需要更改。
系统支持
为确保实施成功,更佳地使用工作流软件,组织机构必须进行服务投资,组织机构应该委派专业人员提供第一线的服务,也应负责与供应商签订合同,以获得第二级支持。
六、工作流适用行业
消费品行业,制造业,电信服务业,银证险等金融服务业,物流服务业,物业服务业,物业管理,大中型进出口贸易公司,政府事业机构,研究院所及教育服务业等,特别是大的跨国企业和集团公司。
七、工作流具体应用
关键业务流程: 订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等
行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
人事管理类: 员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
财务相关类: 付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
客户服务类: 客户信息管理、客户投诉、请求处理、售后服务管理等管理等。
特殊服务类: ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。
作为一个成熟稳定的工作流产品,不仅提供日常办公和关键业务流程智能化管理,而且能根据公司的特殊实际要求轻松方便地随时定制各种流程,并可实现不同角色不同的跟踪、查询、统计、打印等强大功能
结论
许多组织机构都有雄心勃勃的计划,为了能够夺回失去的时间和获得竞争优势,希望能够以大的步伐,更深(企业级或多级)、更广(多应用)和更快(短时间)地进入数字工作流时代。我经常发现他们因为许多原因而惨遭失败。根据我个人经验,明智的做法是从小的范围开始做起,并随着工作流的成长而逐步做大。阶段性实施提供了转换到新的流程的平稳方法。由于用户看到了效益,使得用户更易于接纳新的工作流程。阶段性实施的另一个原因,是用户不能够承受一下子丢弃原有的全部流程,从零开始。组织机构应该在当前业务过程中最没有效率的地方,集中寻找他们的“痛处”,然后利用“案例驱动”原则影响他们。
组织机构也必须认识到,当计划实施一个新的工作流程时,行政力量和企业文化必须要考虑进去。
成功与否的最后一个关键要素就是“人”。当我们改变业务流程时,技术是一个方面,但更大的挑战来自员工。的确,数字工作流系统要分阶段进行,使人们“渐进式”地取得经验,而不是“革命式”地得到经验。
=====
1 什么是工作流技术
工作流(Workflow)
就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
2 工作流的功能与好处
工作流的主要功能:
----工作流管理系统(WorkflowManagementSystem,WFMS)是定义、创建、执行工作流的系统。在最高层上,WFMS应能提供以下三个方面的功能支持:
建造功能:对工作流过程及其组成活动定义和建模;
运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;
运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能。
工作流管理系统带来的好处:
----由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种对常规性事务进行管理、集成的技术,WFMS的出现是必然的。它可以带来以下收益:
改进和优化业务流程,提高业务工作效率;
实现更好的业务过程控制,提高顾客服务质量;
提高业务流程的柔性等。
3 工作流系统的主要组成部分
3.1.过程定义工具
过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。
3.2过程定义
过程定义(数据)包含了所有使业务过程能被工作流执行子系统执行的必要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。
3.3.工作流执行子系统(WES)和工作流引擎
工作流执行子系统也称为(业务)过程执行环境,包括一个或多个工作流引擎。工作流引擎是WFMS的核心软件组元。它的功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口(API)调用应用程序;提供监督和管理功能等。工作流执行子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同执行工作流。
3.3.4.工作流控制数据
指被WES和工作流引擎管理的系统数据,例如工作流实例的状态信息、每一活动的状态信息等。
3.5.工作流相关数据
指与业务过程流相关的数据。WFMS使用这些数据确定工作流实例的状态转移,例如过程调度决策数据、活动间的传输数据等。工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。
3.6.工作表和工作表处理程序
工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。工作表处理程序完成的功能有:支持用户在工作表中选取一个工作项,重新分配工作项,通报工作项的完成,在工作项被处理的过程中调用相应的应用程序等。
3.7.应用程序和应用数据
应用程序可以直接被WFMS调用或通过应用程序代理被间接调用。通过应用程序调用,WFMS部分或完全自动地完成一个活动,或者对业务参与者的工作提供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲是局部数据,对WFMS的其他部件来说是不可见的。
4 工作流管理系统的标准和产品
近年来,工作流技术得到长足的发展。1993年成立了工作流管理联盟(Workflow Management Coalition,WFMC)。此后,该组织颁布了一系列工作流产品标准,包括工作流参考模型、工作流术语表、工作流管理系统各部分间接口规格、工作流产品的互操作性标准等。这些举措加速了工作流技术的商品化。
现在,许多公司都基于这些标准推出了自己的工作流产品。工作流产品主要分为两大类:
一类是基础的工作流系统,提供引擎、设计器、相关接口等。应用系统的开发商可以基于此类系统开发具有工作流管理功能的应用软件。典型产品如ActionTechnologiesInc.的ActionWorkflow、IBM的FlowMark等。
另一类是应用了工作流技术,包括内置较完整的工作流功能,但面向应用的应用级软件系统,这种系统是直接面向最终用户的流程化应用。同时,系统中还往往针对应用需要,集成了其他功能。典型产品如神州数码工作流软件EasyFlow,就是以工作流技术为核心的全面的企业办公自动化(OA)产品。
5 工作流管理系统的应用
和其他的软件产品一样,用户可以引进成熟的工作流和群件产品,也可以自行开发适合自己业务的工作流系统,特别是基于Intranet的工作流应用。与Intranet技术相结合,工作流系统更具开放性,有更多的工具可供选用,且Browser/Server风格的界面简单易用,这也是当前工作流产品的发展方向。
另外值得注意的是,WFMS的引入是与管理思想和管理业务的转变密切相关的。一般来说,我们应把WFMS的引进视为改进或重组业务流程的机遇。WFMS可以和企业再造或规范化管理相结合。企业再造追求的是对企业的经营管理模式和生产作业程序进行彻底的革命性变革。规范化管理则是在管理经验的基础上对业务过程进行科学化、规范化研究,以建立一套完整的管理工作规范体系为目标。这种规范化一般会促进系统组织结构和运行的改善。
目前在国外,企业再造和工作流系统的关系较为人们所关注,然而,由于国情不同,我国多数企事业单位面临的主要管理问题是随意性大、运行不规范。除了少数企业外,大部分单位不需要、也不可能进行革命性的重组。因此,相对于企业再造理论,规范化管理在我国更现实、更可行,更适于和WFMS的引进相结合。
6 工作流引擎的五大接口
工作流参考模型确定了工作流管理系统的基本架构。该架构是开发工作流软件时应当采纳的系统模型,当然,一个工作流管理系统也可以不遵循这个模型标准,或只实现这个模型的一部分,但事实证明,这个模型结构是目前最为合理的。
系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作。WfMC没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多大的现实意义。
一个工作流管理系统可以包含一个或多个引擎,并通过API向外部提供五个方面的功能服务,这些功能分别为:
6.1接口1-流程定义的导入导出
许多不同厂商提供的工具可以进行工作流流程的分析、建模、描述和归档等工作。这些工具需要识别公共的流程交换格式,以支持在这些不同的产品之间传送工作流程流程定义。接口1便定义了这样的交换格式。此外,接口1还定义了设计环境与运行环境之间交换的规范,以使不同的建模工具产生的流程定义可以输入到不同的工作流产品的运行环境中。
为了提供一个访问和描述工作流定义的公共方法,需要引入一个工作流元数据模型(meta-data Model),这个模型确定了流程定义中用到的一般的实体,这些实体都有不同的属性,不同厂商开发的工具可以根据公共的交换形式向工作流运行环境传送这些模型,传送可以通过API实现,也可以通过批量(Batch)传送实现。
元模型
元模型(如上图所示)提供了流程定义交换中用到的基本的实体及其属性,这些都是工作流流程的组成部分,这些实体包括:
• 工作流流程定义
• 工作流流程活动
• 过渡信息(Transition Information)
• 工作流参与者
• 组织模型
• 工作流应用程序
• 工作流相关类型
• 工作流相关数据
• 系统和环境数据
• 数据类型和表达式
6.2 接口2-同客户端应用程序和工作列表处理程序之间的交互
工作流管理系统必须提供同用户之间交互的通道,以便用户参与到系统的运行中。接口2主要完成这方面的功能。
WfMC在关于接口2 的规范中定义了工作流管理系统必须提供的类型、数据结构、API和错误代码,并以C语言头文件的形式提供。接口2所提供的功能大致可以分为一下五个方面:
1、 会话的建立和与撤销;
2、 获取工作流流程定义及状态;
3、 工作流流程实例的操作,如创建、挂起、终止流程,获取和设置流程属性等;
4、 工作流活动实例的操作,如获取和设置活动的属性,改变活动的状态等;
5、 工作列表(worklist)及工作项(workitem)的操作,如获取工作列表,处理工作项等。
通过这些功能,用户可以完成与工作流管理系统之间交互的所有任务:登录系统、打开自己的工作列表、处理自己的工作任务、将完成的任务提交给系统、将自己的任务转交给其他用户等等。
具体的函数声明不再详述,可以到WfMC的网站(http://www.wfmc.org)去下载有关规范。
工作流系统在运行过程中有时需要调用外部应用程序,以完成系统不能完成的工作(比如,发送Email或传真,扫描文件等),或者与其他系统集成到一起。此时可以通过接口3来完成。
接口3的功能同接口2的功能大部分是相同的,因此,这两个接口有融合的趋势。接口3主要规定了调用外部应用程序的函数规范,以及外部应用程序返回数据的格式。
6.3接口3-软件工具和应用程序的调用
同接口2内容
6.4接口4-不同工作流管理系统之间的协同工作
在企业级的工作流系统中,流程往往需要跨越多个服务器或系统,比如应用于跨国公司或大型集团公司的工作流系统经常会有这种的需求,此时就需要服务器或系统之间进行通讯,交换流程控制信息和流程定义等数据,以实现流程跨地域运行。WfMC在规范中以C函数的形式提供了这些控制的定义,其中包括以下几个方面的功能:
1、 创建流程实例;
2、 获取流程实例状态;
3、 获取和设置流程实例属性;
4、 启动或终止流程实例;
5、 改变流程实例的状态;
6、 改变流程实例的属性;
7、 更新流程实例。
服务器或系统之间信息交换的格式有多种,例如:文件、数据库表、E-mail或直接通过网络传送的数据流等等。
6.5接口5-管理和监视功能
此接口提供给用户管理和监控系统的运行状态、查看系统运行的历史记录的功能。WfMC在此接口的规范中定义了各种审计信息的数据格式,这些格式包括:
1. 流程实例(Process Instance)审计信息:包括创建、启动流程实例和子流程实例的审计数据;流程实例状态变化的审计数据;流程实例属性变化的审计数据;
2. 活动实例(Activity Instance)审计信息:包括活动实例状态变化的审计数据;活动实例属性变化的审计数据;
3. 工作项(Workitem)审计信息:包括工作项状态变化的审计数据;工作项分配合重新分配的审计数据;工作项属性变化的审计数据;
4. 远程操作审计信息:包括开始和停止会话(Session)的审计数据;远程创建流程实例和远程改变流程实例状态的审计数据;远程获取和设置流程实例属性的审计数据;会话管理的审计数据;
5. 流程定义审计信息;
6. 扩展的审计信息及专用的审计信息。
这些审计数据在系统运行时刻由系统自动记录在数据库或文件中,可通过系统提供的API进行统计和查询,或者通过系统工具导出到系统外部。
另外,此接口还要提供系统管理与流程控制的功能,如:系统流程数据的备份和恢复,用户管理,流程管理等等。
通过这五个接口,工作流管理系统可以同外部的软件工具进行交互,这些工具可以由同一厂商提供,也可以由不同的厂商提供,但前提是这些工具都必须遵循WfMC的规范。用户也可以有充分的选择空间来决定哪一厂商的产品,或者自己开发属于哪一个接口的工具。
这五个接口一般通过API的形式提供给用户或软件开发商,这些API称为WAPI(Workflow API),也有厂商将API封装成组件形式提供,以简化开发难度、降低成本并提高效率。
可以用下面的图来表示这五个接口的作用:
7 浅谈企业工作流管理系统
企业生产经营活动是由各种业务流程交织在一起组成的流程因此无处不在。同时,业务流程和企业的生产经营息息相关。
流程固然重要,但许多流程隐含在日常的操作中,因而不被人们所重视,不能有效地进行管理。这些都使得企业不能很好地跟踪业务流程的执行。在市场竞争日趋激烈的时代,企业所处的商业环境也在悄然发生变化,客户需求瞬息万变,产品生命周期不断缩短,技术不断创新,企业要在这样一个竞争和变化的外部环境下、生存,必须随需应变,不断调整、优化企业的各种业务流程,对流程进行重构。利用信息技术可以加速企业流程重构,实现有效有序的管理和高度的灵活性。
7.1 IT和流程管理密不可分
人们对于IT和企业管理的关系已经不再陌生。在企业信息化大潮下的今天,大多企业,特别是有一定规模的企业都进行了信息化建设,如销售系统、SCM、MRP、财务系统、办公自动化等。然而,这类系统往往局限于解决企业内部的具体事务问题,面向企业内部功能,而不是面向市场和面向客户的系统;其开发模式通常是将业务流程硬编码到应用系统的整体结构中,每次业务流程的修改都可能引起程序结构的大幅变动。其僵硬的体系结构增加系统复杂性,阻碍系统灵活性。对于最终用户来说,业务流程变更的置后严重地影响了市场的响应速度,失去了市场机会;但对于系统集成商和软件开发商来说,业务流程不断变更,使之更陷入系统开发和维护的泥沼中。
7.2 业务流程发动机
我们迫切需要一种能够支持业务流程自动化(Business Process Automation,BPA)的软件工具来满足企业流程管理的需要。工作流管理系统正是顺应这一需求孕育而生,它是用于实现工作流建模、执行、监控、分析、度量和优化的基础中间件平台。工作流管理系统作为流程管理、实现工作流的关键基础设施,必须具有以下关键性功能:
• 可视化的流程设计工具,加速过程建模;
• 支持串行、并行、分支、汇合、循环、同步、子流程等流程逻辑结构,满足各类复杂流程建模需要;
• 电子表单设计工具,快速实现活动内容展现;
• 分布式工作流引擎,实现跨部门、跨企业、跨地理范围的多流程协作和流程自动化;
• 强大的应用集成服务,完成工作流与“信息孤岛”状的企业已有应用之间的无缝集成与互操作;
• 图形化的流程监控工具,即时动态监控、跟踪流程执行状态和相关数据;
• 图形化的流程仿真、分析工具,对流程执行语法/语义检查,为优化流程提供依据。
7.3 拓展工作流应用空间
7.3.1企业信息系统的开发平台
当前企业信息管理系统从最初的基于文件系统的应用,发展到现在的基于数据库系统的应用,在企业界得到了普遍的认可,许多企业基于数据库管理系统开发了自己的企业应用系统,许多专业公司也为广大用户开发了一系列成熟的数据库应用系统,如ERP、SCM、CRM、PDM、CPC(企业协作环境)等等。虽然这些数据库应用系统得到了一定的应用,但是对于大型的管理系统如ERP系统却鲜有实施成功的案例。分析这些失败的案例,笔者认为,除了企业计算机应用水平、管理水平的限制之外,这些计算机应用系统设计存在固有的缺陷,也直接导致了这些基于数据库的信息系统应用的失败。信息管理系统是信息收集、存储、处理、流转、发布的过程,数据库管理系统适于信息的收集、存储和检索,而复杂信息管理系统的大量工作都是信息的处理、流转和发布的过程,数据库管理系统对于信息的处理、流转和发布却显得力不从心。
为了解决以上问题,应用系统不是单单基于数据库管理系统,而是基于DBMS、工作流管理系统和通用报表系统组成的集成开发平台上。DBMS负责信息的存储和检索,工作流管理系统负责信息的流转,通用报表系统负责信息发布形式的表示和信息的收集,应用系统负责信息的处理,这种模块化的体系结构使信息的收集、存储、处理、流转、发布相分离,既保证了系统的可靠性,又保证了系统的柔性和扩展性。
当前工作流管理系统在许多企业信息系统已得到了一定的应用,典型应用如:图像处理领域、文档管理系统、产品数据管理系统、群件系统、电子商务领域、ERP系统等。
工作流结构图
7.3.2企业流程自动化的应用平台
工作流管理系统最直接的用途就是和企业业务流程重构(Business Process Reengineering,BPR)技术相结合管理企业的各种流程,实现企业流程的自动化。BPR是对企业过程中的核心流程进行根本的重思考和彻底的重设计,以便在现有衡量企业表现的关键如成本、品质、服务和速度等方面获得戏剧化的改善。许多企业对其流程进行了重组,取得了巨大的效果,例如,IBM信贷公司通过实施流程重组,把为顾客提供融资服务的周期减少了90%(由原来的7天压缩为4个小时);柯达公司对新产品开发实施流程重组,结果把35毫米焦距一次性照相机从概念设计到生产所需要的开发时间缩短了50%,从原来的38周降低到19周。
工作流管理系统则提供了流程自动执行、流程统计分析、实例实时监控和跟踪等功能的一系列软件工具集,一方面实现了流程在计算机上的自动处理,大大缩短了流程的生命周期,提高了企业的工作和生产效率;另一方面,又可以使用户方便地分析企业业务流程,找出不合理之处,快速给出流程重组的方案。因此,工作流是业务流程重构技术的实现和延伸。
7.3.3企业应用系统的集成平台
由于企业信息化过程是一个循序渐进的过程,导致企业存在许多老的应用系统。加上企业常常根据自己的需要来选择适合自己的应用系统,企业间应用系统的差别更是巨大,企业内部和企业之间各个应用系统不能进行有效的信息交换,企业内部和企业间存在许多“信息孤岛”。为了消除孤岛,人们提出了许多信息集成框架,如基于XML的信息集成框架、基于STEP标准的工程信息集成框架,纵观这些技术我们认为,它们多局限于静态信息的交换格式的定义,而对于各个应用系统间相互协作共同完成某项任务的情形却考虑较少,这种情况下需要多个应用系统按照结构化或非结构化流程来协同工作,在任务的不同时间激活不同的应用系统,并为应用系统传递相应的参数,而工作流管理系统正满足了这一要求。工作流管理系统可以按照流程的定义,在适当的时间激活相应的应用系统,传递给应用系统相应的参数,获取应用系统的处理结果,把其传递到下一应用,从而实现应用系统的集成。