动态审批工作流平台的设计与实现
2014-11-19任焕萍刘俊峰
任焕萍 刘俊峰
摘 要:动态审批工作流平台的总体思路是建立一个开放的、标准的、可灵活自定义流程的业务审批平台,适应不同管理信息系统的业务审批需要,把企业各种不同业务的审批全部集中到一个统一的平台窗口中,根据业务实际自定义审批流程,支持条件分支、会签、不固定流程等特性,灵活调整和改变审批路径,实现“动态配置,随需而变”。
关键词:工作流 解析引擎 审批 流程
中图分类号:TP39 文献标识码:A 文章编号:1674-098X(2014)09(b)-0208-02
1 背景与意义
目前,大多数企业特别是国内企业均为金字塔式管理层级,在企业经营活动中往往会涉及到比较复杂的审批流程,而流程也会随着组织、人员、业务的变化而变化,且很难提前预知。以往使用以纸张为载体的传统审批方式需要花费太多的时间和精力,而且在信息处理和存储方面具有局限性,随着近些年信息化技术的高速发展,使用信息系统实现流程化审批已成为不可阻挡的趋势。
利用信息化系统实现流程化审批,常见有两种方式。一种是基于业务功能的审批,即在定制化的业务功能基础上实现审批,通常某业务单据的编制、审批在同一界面,由于审批环节嵌在业务功能界面中,这种方式的局限性在于无法做到集中统一审批,且不具备可配置属性,调整只能通过开发实现,时间长、难度大;另一种是基于OA系统的审批,即依靠传统OA办公系统实现审批,通常将业务单据或表单以附件形式出现,能够实现灵活审批,但这种方式源于公文审批流转,所有局限性是审批相对独立,而且与业务互通能力较差,如在流程定义过程中很难关联业务数据作为流程条件,流程执行过程中需要人为干预,指定下一环节审批人,自动化程度较低。
综上所述,常见的流程化审批管理在实际应用过程中无法与业务联系紧密,不能满足快速、高效调整流程的需求,急需要一个可配置的、动态调整的、集中审批的、高适用性的审批工作流系统,动态审批工作流平台的产生正是基于这一需求,不但满足企业对流程化审批管理的需求,提高工作效率,增加企业办事透明度,而且能适应企业的管理变化,帮助企业增强审批管理的可控性、易操作性、可扩展性。
2 总体思路与技术路线
动态审批工作流平台的总体思路是建立一个开放的、标准的、可灵活自定义流程的业务审批平台,适应不同管理信息系统的业务审批需要,把企业各种不同业务的审批全部集中到一个统一的平台窗口中,根据业务实际自定义审批流程,并随时灵活调整和改变审批路径,实现“动态配置,随需而变”。
本平台在自定义审批流程时,支持条件分支、会签、不固定流程等特性。与不同应用系统可以灵活绑定,每个审批流程可随时绑定或取消绑定任意业务功能,一个业务在应用系统处理后,会自动发起一个流程,推送消息到相关的审批人,审批人通过平台待办窗口进行集中审批,审批处理完成后审批结果会自动反馈到业务系统,业务系统根据反馈信息,继续处理相应业务,实现工作流平台与应用系统之间数据信息的共享与互通。
基于总体思路,动态审批工作流平台应该具备以下技术特性:
先进性,采用先进的软件技术来实现,包括SOA、WEB网页、XML、WEB SERVICE技术、工作流技术、软件构件技术等。
安全性,包括操作权限、数据权限等多级授权机制。
可靠性,系统架构设计合理,提供动态跟踪、流程监控、轨迹追溯、数据备份等功能。
扩展性,具有良好的扩充性,可灵活配置与扩充工作流,动态配置服务,同时对第三方系统提供WEB SERVICE开放性标准接口。
集成性,与业务系统有效集成,实现数据的高度共享,采用先进的SOA服务模式,为有效集成第三方服务提供保障。
易用性,采用图形化方式定义工作流,支持灵活拖拽,操作直观、友好。
技术路线上,运用先进的SOA服务架构,采用B/S结构设计,支持分布式部署、集成化管理,实现开发、运行、管理一体化的具有国际领先水平的技术架构。基于SOA面向服务的整体技术架构分为三个层次。
(1)组件层:包括组件的实现与装配。组件的实现完成特定的、单一的功能,功能单位甚至可以小到一个实体,比如:一个数据实体或文件的存取,字符大小写转换。组件采用接口+实现的方式,保证组件可扩展。组件的装配即完成组件的组合,组件相互之间具有逻辑关系,逻辑关系越复杂,组件就越多,必须有一个容器统一来装配组件、管理组件及其相互关系。技术上可以采用IoC容器的方式来装配和管理组件,如开源项目Castle中的Windsor就是一个轻量级的IoC容器。
(2)服务层:服务调用组件接口完成具体的功能操作。服务包含内部服务和外部服务,只有外部服务是可以暴露给外部系统调用。内部服务以公共函数的方式实现,供其它服务调用;外部服务一般是Web Service或者是请求页面,供表现层通过SOAP(Web Service)或者XMLHTTP(AJAX)进行调用。
(3)表现层:在B/S结构的系统中,表现层主要就是页面,作为服务接收者,需要采用客户端技术来实现与服务提供者的通讯,以及对最终结果的展示,即为富客户端,如ExtJS就是一个开源的javascript富客户端开发框架。面向服务的架构简化了系统内以及系统与系统之间的关联,关注的主体只有三个:服务提供者、服务接收者以及两者之间的通讯协议,相互之间都是一种松耦合的关系。这也使并行应用系统开发得到最大体现,更多的关注点放在了表现层上。
3 工作流平台的设计与实现
工作流平台按模块划分为前台操作、后台管理、接口交互三部分。前台操作包括工作流前台定义、工作单处理;后台管理包括工作流管理、工作流解析引擎、工作流跟踪与监控;接口交互包括数据接口、业务接口。
工作流前台定义即提供一个图形化WEB界面完成对工作流模型的定义与维护,支持同时维护多个工作流模型,工作流模型定义的主要元素包含流程节点与流程连接。流程节点可分为普通或者会签节点,会签主要满足企业中重要审批多负责人会签的要求,流程节点也可以设定审批时限,为流程监控和绩效考核提供数据支撑,同时流程审批人可灵活指定,即可以是直接上级、流程发起人、流程发起人上级等,也可以分配给某个系统角色或者用户。流程连接将流程节点通过连线联系起来形成流程的完整路径,在流程连接上可定义条件以形成流程分支,条件的数据可来源于流程本身(如:流程上环节审批人),也可来源于业务数据(如:预算审批流程中的预算金额)。另外,工作流定义能够支持不固定流程,以应变企业对审批流程的多种动态调整需求,不固定流程有两种含议,一种是指没有既定流程,在审批过程中由人为判断并指定下环节审批人;另一种是有事先设置了既定流程,但在流程执行到某一个环节时,允许人为干预,后续步骤不按照既定流程执行。endprint
工作单处理是通过提供一个统一的、可集中审批的交互界面,可以查看待审批工作单、当前所处审批环节,并完成工作流审批。工作单处理的前提是已依据先前定义的工作流模型而产生了工作流实例,针对实例的执行不会影响工作流模型,同时基于同一工作流模型产生的实例也互不影响,以达到定义与执行分离、执行与执行分隔的目的。工作流审批时可直接浏览业务单据,同时支持电子签名和密码验证,审批结果分为通过、不通过、驳回三种。其中驳回可支持驳回到当前审批节点之前的任意节点,如果选择驳回到流程起始节点,则需要流程发起人修改业务单据后重新提交;如果选择驳回到流程某一中间节点,则需要此节点审批人重新审批。
工作流管理即对应工作流前台定义的后台管理,通过提供基于SOA的服务与前台定义对接,完成工作流模型的后台维护及工作流模型数据存储功能,包括工作流前台定义所需的流程源数据模型维护、流程特性配置、工作流模型维护日志记录等,此外还提供例如安全管理、服务质量管理等平台支撑和辅助功能。
工作流解析引擎是整个工作流平台的驱动和关键,它的作用为工作流实例提供解析和运行环境,控制工作流实例中路径条件的解析和流程节点的转换,实现审批时的节点路由,并与即时信息系统(即时消息、邮件系统等)无缝连接。工作流解析引擎解释工作流实例的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的IT工具或应用。从工作流实例的启动、审批到结束,根据工作流定义的内容和信息按部就班的推动工作流实例的执行。所以,工作流引擎的设计直接影响到工作流执行的效率。
工作流跟踪与监控即通过平台提供的交互界面,通过图形化方式查看工作流实例执行进度,包括当前执行节点及历史节点审批意见等信息,实现对流程执行的跟踪与监控。同时,提供工作流实例的挂起与激活功能,方便流程管理员根据业务需要将工作流暂停审批甚至作废。
数据接口是指通过调用外部服务获取企业的组织、系统用户、系统角色等基础数据,为工作流定义提供基础数据支持。如某企业已建立统一身份认证平台,企业组织、用户、角色等都在此平台维护,并通过服务发布的形式提供接口,工作流平台将调用其提供的服务获取上述基础数据。
业务接口包含绑定工作流、启动工作流、业务单据查看、审批结果反馈。绑定工作流是指企业业务系统功能与工作流定义模型的关联匹配,业务功能由企业业务系统发布服务接口提供需使用工作流审批的业务功能,一个工作流定义模型可以在不同业务中重用,即一个工作流定义模型可与多个业务功能绑定。启动工作流由企业业务系统发起,即当业务系统功能需要启动工作流时调用工作流平台提供的服务接口,此服务将运行工作流解析引擎启动业务功能所绑定的工作流实例,同时激活工作流实例执行。业务单据查看是指在工作流实例审批过程中,审批人可以查看相关业务单据数据,此功能通过调用企业业务系统提供的服务接口实现。审批结果反馈即工作流审批流程结束后,工作流平台以开放的XML格式将审批结果信息通过服务接口传递给业务系统,当工作流审批节点为结束节点、审批终止或驳回时,都会调用业务系统服务接口,将审批结果和业务信息进行传递。
综上所述,动态审批工作流平台的设计目的是能够为企业提供灵活定义、高效配置、动态调整的流程化审批管理,工作流平台通过工作流定义、绑定工作流、启动工作流、工作单处理、流程跟踪和监控等操作完成一个审批工作流的完整管理。
4 工作流平台的实际应用
动态审批工作流平台作为通用化、开放化的工作流平台,由于其具有图形化拖拽方式建立工作流模型、可视化流程跟踪和监控、支持业务功能与工作流的灵活绑定、支持会签、支持不固定流程等特点,成功研发后在能源、化工等行业均有应用,涵盖生产管理、办公管理等领域的业务场景,得到企业用户的一致好评。
现以某企业办公管理系统公文流转功能为假设业务场景阐述工作流平台的应用,具体业务需求是:根据公文类型为条件定义流程分支,文件类型B部门经理审批节点需要各部门经理会签,文件类型C直接领导节点审批后可灵活指定下一环节审批人,即不固定流程形式。
以上述业务场景为需求,工作流平台与用户交互总体上分为工作流定义、绑定工作流、工作流审批、工作流监控四个环节。一是新增公文流转工作流模型,配置时按照公文类型作为条件定义分支,同时指定“部门经理”审批节点为会签节点,指定“直接领导”审批节点可指定下一节点审批,即不固定流程;二是将业务系统的公文流转功能与公文流转工作流模型绑定;三是由业务系统触发工作流启动后进入审批环节,审批节点如果为会签时,将需要所有审批人均审批通过才能进入下一流程节点,如果为允许指定下一节点审批人,本节点审批通过后将由当前节点审批人指定流程下一节点审批人;四是工作流监控,即可实时跟踪监控每个工作流实例的审批进度及其他信息。
5 结语
该文阐述了利用SOA理念设计和实现一个具有独立开放、可灵活自定义,具备图形化配置、实时调整、与业务灵活绑定的动态审批工作流平台,它有效弥补了传统审批工作流在集中审批、图形化配置、动态调整、业务互通、自动化程度低等方面的不足,在实现与业务高度互通的自动化审批流程的同时,又支持不固定流程设定,以满足企业灵活多变的动态审批需求。该动态审批工作流平台研发成功后,已经应用于能源、化工等行业,取得了非常不错的应用效果。
参考文献
[1] 王莘.工作流引擎与OA系统内涵的深化[J].办公自动化,2006(15).
[2] 李海波,战德臣,徐晓飞.基于工作流引擎的构件组装体系结构[J].软件学报,2006(6).
[3] 叶荣光.基于MAS的工作流程控制管理系统的研究与设计[J].电脑知识与技术(学术交流),2007(17).endprint