首页 > 代码库 > zoneday工作流开发与设计(一)--工作流序言
zoneday工作流开发与设计(一)--工作流序言
1 工作流定义
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它的主要目标是对业务过程中各步骤(或称活动、环节)发生的先后次序,和同各个步骤相关的人力资源、信息资料的调用进行管理,从而实现业务过程的自动化[1]。
工作流技术源于二十世纪七十年代中期办公自动化领域的研究[3],由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的有工作流特征的商用系统[4]。进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993年8月,第一个工作流技术标准化的工业组织——工作流管理联盟(Workflow Management Coalition,简称WFMC,下同)成立[5]。
1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。
2 工作流现状
进入二十一世纪以来,工作流技术已被越来越多的人认可,开发一个成功的项目管理系统,必须有一个成熟的工作流引擎。与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。 目前流程管理技术的研究主要包括三个方面:1)流程管理的理论基础,包括体系、模型、语言、接口等;2)流程管理实现技术,包括性能、可靠性方面的研究;3)流程管理技术的应用,包括实施方法、应用集成等。
尽管经过工作流产品供应商与工作流研究人员的不懈努力,使得工作流技术从最初的萌芽逐步发展起来,并取得了不错的成果,但目前工作流技术还有许多不成熟的地方[6][7][8],这里与产品的全面性、集成性有关,也与企业应用的状况有关[7][11][12][13],具体有以下几点:
1.标准化程度差
不同的厂商所提供的产品介绍具有独立的一套流程管理模型、流程管理定义语言和API函数。但难于在不同系统之间进行交互,集成的效果不理想,不能方便快捷地在不同系统间进行应用对象的重复利用和数据的方便交流[7]。
2.系统的集成性不理想
工作流没有达到真正的集成,还是在自己独立地运行,处理一些行政上简单的流程业务,不能很好将OA、ERP、CRM、SCM等具体事务处理系统紧密地联系在一起,达到数据录入一次即可有效的目的。
3.实现的复杂性[14] 与电子表单的局限性
实施一个完整的工作流,是一个复杂的过程,要了解其他应用系统的业务,进行流程处理分析、业务流程改造、管理规程和操作规范建立等,并且还必须有不同软件供应商的大力配合。 工作流产品实现了电子表单,在处理以数据填报及数据收集为主的应用中(数据不需要过多的逻辑处理和没有复杂的关系关联),电子表单能够显著的增加生产力,但是更现实的情况是企业应用大都具有复杂的业务逻辑,在这一方面,电子表单不是银弹,甚至是开发人员的噩梦!所以需要实现自定义表单与工作流的解耦和。
4.对业务变更支持的不好
在实际的业务需求中,很多情况下需要对已经办理过的业务进行变更,需要通过流程才能可以进行。此外变更流程与原流程不同,不能任意的变更,需要进行控制。这也算是中国国情吧,如果进行处理,目前的工作流很少对此有支持。或者干脆不涉及。
5.目前工作流java平台多,.net平台基本没有
有的同学可能会反驳说,微软有workflow,怎么说没有,呵呵,还是不用的好,微软目前这个实际上是个泛化的 图形DSL 工具,主要解决的是 程序代码逻辑流的图形化。而你的要求是 业务规则管理系统(BRMS),这个中间的差别还是挺大的,要把泛化的东西特例化,要走的步骤不是一般的多。
5.成本高昂,针对中小项目开发代价大,
² 如果购买商业化工作流,价格昂贵,成本高;
² 如果采用开源的工作流,系统质量不好保证,出现问题不好修改,可控性差,可修改性差,著名的jbpm工作流,量极大,流程修改需要重新发布,有些与中国的国情不符合。
² 如果自己开发工作流,费时费力,稳定性,流程的复杂性都需要考虑,工期也不一定允许。
在国内,对于很多做信息系统的中小心厂商来说,迫切需要一套符合中国国情的快速开发框架。目前有一些框架在易用性和文档等各方面还存在较多问题,和业务的扩展、集成能力也不足。大部分开发这类框架的技术人才对实际业务项目的参与可能并不多,不能完全理解业务项目程序员的实际需求[10]。
本项目开发的超轻量级的工作流,表单采用自定义开发,二者采用松耦合,通过配置进行挂接,加载,实现工作流串行、并行、汇聚等核心功能,可以极大地提高开发效率,帮助开发人员开发出用户满意的产品。
3 zoneday 作流主要功能
基于BS的工作流流程设计工具,实现工作流的可视化设计,实现活动的添加,经办人设置、审批签字设置,通过配置进行挂接,加载表单,实现工作流串行、并行、汇聚等核心功能。
(1)工作流配置工具,通过可视化的方式流程以图形化的方式显示与设置。(2)工作流引擎服务,进行节点流转,获取业务逻辑判断,完成节点的退回,递交,汇聚。
(3)自定义表单模块,根据节点信息加载智能表单业务数据完成权限的控制,完成退回、递交等按钮的流程编写与显示。
(4)流程监控:流程实例等数据的维护管理和以及执行情况的监控
(5)工程管理测试,将流程嵌入模块,实现工程立项、工程合同管理、需求订单管理等模块。
4 zoneday工作流当前业务运行环境
工作流不是实验室产品,也不是停留在理论层面,它需要有实际产品的支撑,需要经过多个业务系统的真正使用,才能证明自己的可靠性和价值。本系统开发工作流目前已经运行在多个生产制造项目中。
生产制造业为实现公司规范化管理,提高企业的竞争能力,进行了公司流程梳理、管理体系设计、组织机构职责和岗位职责规范工作,计划开发项目信息化管理系统,以项目管理标准知识体系为导向,辅以工作流风险控制,实现信息化和工业化的高层次的深度结合,走新型工业化道路。
通过工作流引擎有效地将施工、质量、安全、物资、设备、档案等信息衔接起来使之成为统一的工程项目管理平台。该平台的模块对公司人员可见,但是通过权限指定是否可操作,实现动态的分配模块显示顺序,使得不同部门人员进入系统后,首先看到自己关心的模块、业务、流程。主要功能如下:
(1)实现工程项目的全过程动态监控,能够对部门工程全过程的计划、进度、资金、问题等的监控,通过业务流、工作流对公司产生的各类合同进行采集,并分类管理,方便查询和合同金额的统计,满足领导对各种统计报表和图表的要求。
(2)实现工作任务全过程管理,提高各部门的协同作业能力,避免工作遗漏和互相扯皮现象发生;实现工作任务上传下达,能实时监控工程任务进展情况及任务问题汇总反馈,提高各部门的协同作业能力。
(3)实现工程资料、合同、项目资金等重点工作的网上审批,强化职能分工,明确责任,提高工作审批效率。实现对职能部门的预算处理以及对工程费用成本、工程资源的核算。
(4)能够根据施工进度、质量、安全等多方面数据输出施工周报等报表文件;可提供项目进度、质量、安全问题上报和审核功能,为切实遵循标准规范作业、安全作业、完成工程质量和安全目标提供保障;可提供符合规范的档案资料管理功能,为工程顺利完成资料移交、达标创优提供有力支持。
而有效的对各项工作进行监控,衔接,完成业务的传递以及业务的变更、回滚,实现工程任务的全过程管理,工作流是核心支撑部分。