基于工作流的协同办公通用服务组件的设计与实现
摘 要
随着企业信息化水平的提升及规模的扩大,在一定程度上提高了企业业务流程管理水平,基于工作流的管理信息系统的业务场景覆盖面也越来越广,从传统的OA系统到人力、财务、物资等管理系统均涉及工作流审批功能,小到请假审批、大到跨业务端到端的项目建设管理流程,业务流程管理已经渗透到企业管理的方方面面,工作流引擎与业务应用的集成架构也从紧耦合慢慢发展到松耦合,虽然如今工作流技术已经发展得相对成熟,但当前的几种工作流引擎集成架构下依然存在着各自的一些问题,比如耦合度高、复用度低、灵活度低、可扩展性差等问题。
本文基于在中大型集团企业中建设基于工作流的协同办公系统和平台建设经验的基础上,对标分析业界存在的几种不同的基于工作流的系统或平台的架构方案,提出在工作流引擎之上建设配套的通用业务组件的思路,可作为当前业界各类架构方案的一个有效补充,以应对其他方案较难适应的应用场景。
关键词:协同办公;工作流;组件化;服务化
1.3研究内容与方向
- 通过组件化的分析方法对工作流的通用业务进行分析及抽取,形成一系列与具体工作流引擎无关的可复用的组件模型;
- 通过微服务技术架构对通用业务组件进行设计实现,并提供组件的服务化能力;
- 通过MVVM前端框架实现通用组件、流程建模及其规则关系的一体化配置管理控制台;
- 通过服务化松耦合的方式适配某个工作流引擎来提供底层的流程驱动能力;
- 通过应用案例来展现该架构下的开发模式、交互关系,验证该架构的优势及成果。
1.4创新点
本文基于在中大型集团企业中建设工作流的协同办公系统和平台建设经验的基础上,对标分析业界存在的几种不同的基于工作流的系统或平台的架构方案,提出在工作流引擎之上建设配套的通用业务组件的思路,用于解决现有工作流系统架构的系列问题,弥补业务系统和流程引擎之间共性能力的空白,可作为当前业界各类架构方案的一个有效补充或替代,以应对现有架构方案较难满足的应用场景。
2.1相关概念
2.1.1工作流
工作流技术最早在1970年提出,主要应用于无纸化办公。在长时间的发展过程中,相关工作流组织或研究人员给出了不同的定义和模型规范,但没有形成统一意见,导致工作流产品各式各样,交互非常困难[9]。1993年成立的工作流管理联盟(Workflow Management Coalition,WfMC)发布了工作流管理系统参考模型,规范了不同的工作流厂商产品可以通过参考模型提供的接口及标准产生数据交互及协作[10],WfMC定义的工作流体系结构如图2-1所示。
图2-1 WfMC工作流体系结构参考模型
从上图可以看出,WfMC定义的工作流体系结构主要包括几个部分:流流程模型定义、工作流引擎、工作任务表、内外部接口、运维管理。
2.1.2微服务架构
随着领域驱动开发、持续交付、按需虚拟化、基础设施自动化、容器技术、小型自治团队、大型集群系统等实践中,人们发现细粒度的服务架构可用于提高交付速度,并且有更多的机会尝试新技术。微服务在技术决策上给予更大的自由度,更快地响应未知或不可避免的变化[11]。
微服务架构是指通过某一个维度将一个应用系统或平台拆解为一个个独立的程序包,每个程序包可独立部署和运行,相互之间通过某种标准和开放的协议进行通讯,从而降低程序的耦合性,同时提高能力的复用度。微服务的每个服务包是可相对自治的,可单独升级迭代和横向扩容,极大提高系统的资源利用率和支撑能力。
微服务的优点很多,其中以下优点最为显著[9]:
- 技术的异构性。一个系统或体系可以使用不同的技术栈解决不同的应用场景,通过开放的协议和规范进行交互。
- 弹性。单体系统中,服务之间是紧密关联的、相互影响的。微服务中一个组件不可用,并不会导致级联故障。
- 扩展。单体系统只能一个整体进行扩展,一小部分存在性能问题,也需要整体进行扩展。微服务因为是细粒度的、无状态的,所以可以方便地实现部分扩展和横向扩展。
- 简化部署。微服务架构中,各个服务部署都是独立的。
- 与组织结构相匹配。微服务架构可以通过与团队结构进行匹配,这样可以提升整体团队的协作运行效率。
- 可组合性。在微服务架构中,各个端点之间都通过服务形式交互,可以根据不同的场景进行组合使用。
- 可替代风险低。相比单体应用系统,每个微服务独立管理,可针对性地的替换、升级、迭代。
3.3.1用户组织组件
图3-1人员管理界面
2. 组织管理
图3-2 组织管理界面
3.群组管理
图3-4静态群组管理页面
图3-15正文编辑及展示效果
4.1系统架构及通用设计
图4-1 系统整体架构图
图4-14正文组件交互逻辑
5.3.3流程建模组件
图5-15 Web可视化流程设计器
图5-28附件空间管理配置
6.5性能测试
图6-7网络使用情况
目 录