张垚 张天一 袁帅
摘要:跨终端、多专业数字化流程解决方案是公司完全自主研发的一套业务流程数字化服务平台,采用先进、成熟的技术进行开发,界面简单,人性化强,为用户定制流程界面,同时具备很强的扩展性,快捷部署新增审批流程。同时,移动应用的推广使得公司原有流程业务的用户入口不再仅仅局限于局域网内的PC端浏览器,业务流程走入移动端,开发了移动版待办服务集成在公司移动云APP,设计了统一业务处理接口,提供相关的数据处理服务进行不同终端的数据同步,减少了开发工作和报错几率。随着业务的不断发展,数字化流程已覆盖多个专业领域,实现公司流程的全面数字化、规范化管理。
关键词:跨终端;多专业;统一业务处理接口;数字化流程
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)14-0271-02
1 背景
公司的内控制度中包含多个专业的业务流程,从科技管理到监察管理,从人力资源到行政管理,从财务管理到信息管理,这些业务流程早已成为了公司员工日常工作中的重要组成部分,每年都产生近千份各类流程纸质审批单,员工线下跑流程也极大降低了流程流转效率,影响其主业工作的开展。将纸质流程进行数字化搭建,对推进公司无纸化办公、实现工作降本增效有着重要意义。
近几年,为深入贯彻公司数字化发展的目标,实现公司各类业务审批流程的全面数字化、规范化管理,各部门所提出的数字化流程开发需求逐年增多,所涉及的专业类别越发多样,流程上线急迫的要求与开发人员稀缺的压力,需要有更完善的数字化流程解决方案来应对。
同时,为了提高流程待办处理效率,满足公司员工随时随地处理待办的要求,为员工提供一个任意时间、任何地点都可工作的办公环境,借助手机、平板电脑等各类移动终端在工作、生活中的广泛使用,需要实现数字化流程的跨终端运行。
跨终端、多专业数字化流程解决方案的设计目标是为公司各类业务流程提供一整套多种终端都可操作、集流程启动、审批、流转、查询、统计、管理、通知、控制等功能于一体的服务平台,实现提高工作效率,规范公司流程的目的。
2 技术架构
数字化流程基于JAVA语言进行开发,采用ORACLE数据库进行数据管理,使用WEBLOGIC提供WEB服务,通过JDBC实现ORACLE低层数据库通信,采用synchroflowBPM流程引擎进行流程模型搭建设计与流程流转控制管理,使用JQUERY等前沿技术进行功能的制定与完善,同时使系统功能具备良好的用户体验效果,利用润乾报表技术实现报表自动生成功能,使用NTKO文档控件技术实现审批单的在线预览、下载、填报、审批等操作,同时系统也在不断优化,采用POI等后台文档生成技术进行审批单自动生成,采用H5等前台技术实现流程附件批量上传,移动端使用基于AngularJS的混合应用UI框架进行前端设计,实现跨平台,利用nodeJS设计业务共享接口与移动端对接。随着技术上的不断创新,功能上的不断优化,系统的稳定性、健壮性、可操作性也不断提升,实现了用户需求和业务变更的快速响应与实现。
3 一整套完善的搭建模式
公司数字化流程已正式运行了3年多时间,随着业务范围的不断扩展,系统功能的不断升级和优化,数字化流程已覆盖了越来越多的专业领域,系统功能越发完备,流程中的各项完善服务对系统提供了有效支持,基于工作流模型的统一标准,结合流程实际的业务需求,对流程生命周期中所衍生的相关功能进行迭代开发,形成了一整套完整的数字化流程搭建模式,新流程的开发基本跳不出现有数字化流程的服务体系,能够实现全方位的功能覆盖,使其能够快速被搭建,持续交付并稳定运行。
图1
流程搭建模式涵盖工作流模型搭建、页面模版式开发、基础数据维护管理、流程信息检索模块、报表服务、审批单自动生成技术、邮件系统、电子签名服务、流程监控服务、文档批量上传技术等完善的流程要素,满足公司流程的全面数字化、规范化管理。
工作流模型:synchroflowBPM工作流引擎服务,实现模型可视化管理,对工作流实例以及全局变量进行管控。
流程节点:模版化定制开发,按照节点类型,利用JSP+主流前臺UI框架,定制代码级页面模版,提高开发效率。
工作待办:与公司门户网站集成,通过邮件服务接口实现提醒功能,并部署移动端审批应用。
流程审批单:利用POI后台文档生成技术,根据书签位置自动写入信息,用户一键生成。
统计报表:使用润乾报表服务组件,实现报表模型可视化,开发了报表服务接口,可生成多种类型报表。
电子签名:开发电子签名服务接口,自动获取用户签字图片,获取速度快捷。
大附件批量上传:利用H5技术开发大附件批量上传组件,实现可视化进度条。
通用基础数据维护:包括权限、功能点、人员、各类流程基础数据的全面控制。
业务流程共享接口服务:同步移动端与PC端的业务服务,实现流程业务与移动云对接。
混合应用UI框架:移动端的前端开发框架,原生轻量级框架,实现跨平台终端。
4 业务流程共享接口
移动互联网技术不断发展,使得人们对移动办公的需求越来越旺盛。通过手机、平板电脑等掌上智能终端,实现企业信息移动化,最终达到随时随地进行随身的移动化信息工作目的。公司数字化流程响应移动互联的建设要求,着手开发移动终端审批流程,形成一套针对公司所有数字化流程的移动应用开发、部署的技术解决方案。
其中最大的问题是公司业务流程源自公司内控制度,制度在运行过程中是不断地修订与完善,势必会经常对系统中的业务相关功能进行修改与优化,而PC端与移动端所部署的站点不同,PC端是公司独立的单体应用系统,而移动端是基于公司移动云应用的流程办理平台,属于两套系统,如何使移动平台拿到PC端系统的业务逻辑,以及如何将这两套系统的业务逻辑实现同步是个大难题。
提出方案:开发一个中间层,设计公司业务流程共享接口,按照移动端的标准接口规范,实现对外接口和对内接口,分别与移动应用和公司流程进行无缝对接,打开内外通道,使内部业务逻辑直接为外部应用系统提供服务。
设计思路:参考已有的WEB服务接口的格式规范,评价各个规范是否满足公司数字化流程共享接口的需求,并制定合理的数据传输标准;通过接口接收移动平台的数据请求,把数据封装成公司现有在线业务逻辑所能接收的格式,向业务逻辑层提交数据,封装业务逻辑返回的结果,发送移动平台进行响应;同时,使用公司业务流程共享接口的请求必须在请求中加入令牌,才可以使用WEB服务接口。
技术路线:封装通用性高的应用服务,迭代开发特殊的功能,使用螺旋上升式的软件开发模式[1],设计分布式的组件化软件构架。对外接口的研发基于Node.js,提供了5个对外接口,实现了一种统一输入规范的业务逻辑调用方式;对内接口的研发基于Java EE研发,对公司在线系统业务逻辑进行合理抽象,并提供了3个低粒度对内应用程序接口;文档的处理基于.NET Framework,研发了一个支持输入DOC或DOCX文档,输出相应的签字文档的Web 服务。
5 自适应UI+分布式架构的服务体系
公司数字化流程的发展也经历了从小到大,从少到多,从简单到复杂,从单一到多样的过程,最初的数字化流程,应用程序、数据库、文件等所有的资源都在一台服务器上,汇集一些免费开源软件和一台虚拟机服务器就可以开始提供流程服务,随着业务的增长,技术的发展,访问量的增加,用户体验要求的提升,以及移动设备走入工作环境,逐渐发展为多种终端UI体验,以丰富的服务接口为支撑,多个子系统为业务平台的分布式服务体系。将数字化流程按业务进行纵向拆分,将一个大应用拆分为多个小应用,形成了多个较为独立的子系统进行流程管理,技术上进行横向拆分,将可复用的业务,设计成服务接口,规范服务依赖关系,实现业务功能大分工,数据分离,存取分离,服务分离,应用级负载均衡[2]。目前已有多个独立的服务实现分布式,如电子签名服务、文档生成组件、工作流服务、邮件服务、报表服务、系统监控等。
同时,用户终端类型的丰富,也对不同终端的UI展示提出了兼容性的要求,为使相同的前端展示在不同的终端下都有良好的用户体验,提出了自适应UI设计,利用响应式UI與前端弹性框架的设计,仅用一套用户界面即可在不同终端正常显示,减少了开发与维护的工作量,使用户可在多种终端下实现良好的UI体验。
公司数字化流程经过多年的发展,已逐步形成自适应UI+分布式架构的服务体系,能够更好地应对公司未来越来越多的复杂业务流程。
6 总结
跨终端、多专业数字化流程解决方案是完全自主研发的公司业务流程数字化服务平台,具有完全自主知识产权,从2014年首批内控流程上线以来已使用4年多的时间,管理流程已达126个,启动流程近90000次,涉及专业包括了内部监督、财务管理、科技管理、人力资源、行政综合、党工团管理、信息化管理、物资与采办、法律管理、保密管理等;按照业务类型的不同,搭建了十多个子系统管理流程,对公司的流程数字化管理起到了很好的支撑作用。
参考文献:
[1] 周扬. 软件开发过程模型的应用与发展[J]. 电子制作, 2014(19): 54-55.
[2] 张俊鸿. 深入理解java:5. Java分布式架构[EB/OL]. https://www.cnblogs.com/my376908915/p/6813321.html.
【通联编辑:谢媛媛】