APP下载

基于流程引擎的一站式服务大厅建设

2020-02-02杨祥

电子技术与软件工程 2020年18期
关键词:大厅引擎流程

杨祥

(南京财经大学信息化建设管理处 江苏省南京市 210023)

1 概述

随着信息技术的高速发展,智慧校园的建设也在各大高校如火如荼的展开。各种新思路新想法百花齐放,层出不穷。各个高校也乐于通过种种新技术新理念的尝试来进一步推动高校智慧校园建设的落地然后生根发芽。然而,传统建设思路的瓶颈依然存在。基于MIS 架构的数据管理型业务系统依然在各个职能部门承担着中流砥柱的作用[1]。然而我们不难发现正是这些使用多年的业务系统,却成为了打通业务流程的绊脚石,也成为了各大高校智慧校园建设进入一步深化发展的巨大阻碍。我们急需一种新的技术、一种新的思路来对现有的建设模式进行革新性推倒重构。而基于流程引擎的一站式服务大厅就成为了其中一种选择[2]。本文将以纵向论述的方式从流程引擎的原理到如何构建基于流程引擎的网上服务大厅进行论述。同时以南京财经大学为例对项目建设实施过程中所遇到的困难进行分析并提出较为详实的解决方案。

2 什么是流程引擎

流程引擎作为一个底层支撑软件开发平台,可以用来开发基于流程的应用系统。一个流程引擎主要包括流程的构建、流程的执行以及数据的流转和同步。而在解释流程引擎之前我们首先需要了解什么是BPM。BPM 是Business Process Management 的缩写即业务流程管理。它是一种通过规范化构造P2P 的业务流程,从而达到优化提高业务效率的目的。而对于软件行业而言,我们则是通过流程再造的方式来优化整个软件系统,从而实现快速部署、快速改造、快速调优的目的。

流程的构建需要使用BPMN 即业务流程建模与标记,是用于构建业务流程图的一种建模语言标准。目前标准已经发展到了BPMN2.0,该标准为开发者提供了一套简单易懂的标准化标记符号,这些符号就是BPMN 的基础元素,通过这些元素我们将整个系统开发时的业务流程建模简单化、图形化,将复杂的建模过程变成了可视化的操作。

整个流程引擎包括几个通用组件:可视化流程设计、表单设计以及代码生成器。开发者通过流程图标的绘画,相关参数的配置,最终生成可运行的代码。流程引擎的工作步骤主要包括:流程的加载、流程的执行以及数据的同步。而对于流程的建设,我们首先需要定义流程,完成初始的参数设置,包括:接口地址、操作参数、操作类型、逻辑判断类型等等。在完成初始参数的设置之后,根据逻辑流程图在可视化开发平台上对流程进行构建,构建完成后再进行流程的定义。流程名称等基本信息和定义流程的各个操作步以及流转规则是必不可少的信息。以及设置定义步骤类型(起始、中间、终结),入口步骤、出口步骤、通知模式、人员、角色、发送通知的内容等。接下来是对特殊情况的处理,比如涉及跳步情况的定义,比如需要根据参数的不同提交到不同的步骤进行审批,这里统称做流程步骤变迁规则设置。设置的内容包括:原步骤、目标步骤、变迁方向(正/负)、条件规则(判断参数时用“与”还是用“或”)。然后再设置参数和参数值及比较条件等。最后是授权的管理,即判断被提交的人是否处于授权状态,从而进行授权处理。通过这些步骤的建设与配置,一个完整的流程就可以进入测试环节。通过测试后,如无问题即可安排上线。

3 为什么选择基于流程引擎来构建网上服务大厅

随着高校智慧校园建设的深入推进,以及广大师生对于高校职能部门提出的要求。高校职能部门也定位也渐渐发生了转变,从行政管理逐渐转变成为服务型机构[4]。各部门所用的传统的基于MIS架构的业务系统也就无法满足职能改变所带来的需求的变化。也正因为这种需求,我们发现基于流程引擎构建网上服务大厅并通过加载轻应用的方式可以极好的匹配广大师生的业务需求[3],有如下优点:

3.1 规范标准

因为所有的轻应用均基于流程引擎进行开发,API 接口标准规范,数据接口标准统一。故不管是在平台内部各个流程之间的数据调用、功能模块复用,又或者各个流程与非流程引擎开发的业务系统之间都可以按照标准接口进行对接。开发难度小、效率高,开发成果可重复利用率较高,为广大开发人员所喜爱。

3.2 构建快速,响应及时

因为基于流程引擎的可视化开发界面,通过在线流程设计完成应用的建设,所以可以让开发人员快速的将用户的需求通过画流程图的方式变成应用程序,从而及时的完成用户的需求响应,极大的提升了用户的反馈。

3.3 后期维护修改简单快捷

基于流程引擎开发的应用程序,其程序代码均已通过流程图的形式进行展现,程序逻辑一目了然。不管是前期的开发人员又或者后期的运维人员,无需读懂代码,均可迅速上手接替后续的开发和运维工作。而这恰恰解决了各大高校信息化建设后期项目运维的难题:传统基于MIS 架构开发的程序,后续运维人员对于前期开发人员撰写的代码需要花费大量的时间才能够读懂,稍有差池就会对生产环境引起牵一发动全身的重大故障。也正因为这个原因,传动架构系统的后续业务需求变更所带来的系统修改就会变的极为艰难。然而流程引擎的出现让这个问题迎刃而解。

图1:一站式服务大厅应用平台

3.4 支持多类型终端同步开发

智能手机的广泛普及对高校智慧校园的建设提出了新的要求。应用系统在移动端的使用程度越发的成为了衡量智慧校园建设水平的一个重要指标。传统业务系统开发对于移动端支持的不适配,是让众多信息化建设人员头疼一个的问题。而基于流程引擎建设的网上一站式服务大厅以及相关轻应用大多基于HTML 5 进行开发,可以很好的适配并嵌套进各大高校的APP、企业微信等移动端应用中。真正做到了一次开发就可同步适配PC 端、移动端,极大的缓解了广大开发者所面对的难题。

3.5 平台具有管理监控的功能

流程引擎平台对平台所开发流程具有管理和监控的功能。新开发流程可在平台上进行部署测试,待测试通过后,将旧版本应用下线,新版本应用上线,即可完成用户无感知切换,用户体验佳。同时对于运行流程,平台实时监控运行状态,管理员可通过平台随时监控各个流程是否处于正常状态,并在故障发生时,第一时间收到各类型(邮件、短信、微信)告警通知。方便管理员及时发现问题,第一时间处理解决,极大的减轻了平台管理员的工作压力。尤其是对于一站式网上服务大厅这种面向广大师生的平台型应用,一旦发生故障就会产生巨大的影响,所以管理监控的功能就尤为重要。

4 以南京财经大学为例具体分析建设难点和解决方案

综上所述,我们不难发现,基于流程引擎的网上服务大厅是具有种种优点的存在。也正因此,其越来越成为高校智慧校园建设的一种趋势。但在实际的项目建设中,我们不难发现一些无法避免的困难依然存在。故将以南京财经大学为例对建设中所遇到的一些困难进行阐述并简单分析,以一些个人浅见提出相对合适的解决方案。

4.1 业务系统对接困难

各大高校目前在用的业务系统大多还基于传统的MIS 架构,开发语言也多种多样,有JAVA、.NET 等。故与新的平台进行对接会存在一定的困难,主要包括两个方面:

4.1.1 统一身份认证对接困难

新平台认证大多基于标准的CAS 协议,有一些老的系统并不支持该协议,故需要对原有系统认证接口进行改造。如果不能改造,则可以选用LDAP 或代理的方式实现统一身份认证的功能。

4.1.2 数据的对接困难

对于各业务部门现有系统进行数据对接主要存在两个困难。首先,数据标准不一致,即各业务系统数据标准均为系统开发公司自定义或行业规范,与国标、校标存在一定的差异。在数据对接过程中需要对相关数据进行转换,才能收入共享数据中心进行使用。其二,数据质量比较差。各业务系统独立运行过程中,日常使用者大多抱着能用就行的态度得过且过,导致数据缺少日常维护,各种重复数据,错漏数据层出不穷,质量较差。这些数据如果直接进入共享数据中心,并作为源数据提供给其他系统使用的话,其后果不堪设想。故需对原有系统产生数据进行治理,倒逼业务部门提高源头数据质量,从而保证整个平台的顺利运行。

4.2 系统改造、重新构建困难

为了实现使用流程引擎重构业务系统,进而将系统以服务流程为导向,重新构建碎片化轻应用,并最终将其统一部署在一站式服务大厅中的这一目标。我们需要对原有业务系统进行重新构建。在重构的过程中我们面临两个问题:首先,我们需要结合现有系统来熟悉各个职能部门的业务流程,并逻辑化成为流程图。但是这个工作最大的挑战在于技术开发人员不懂业务,而业务骨干不懂软件开发技术。其中的衔接往往成为了项目实施过程中的问题所在。在实际的开发过程中,项目经理往往需要化身成为一名翻译员,先要吃透业务逻辑,然后翻译成技术人员所需的材料,进而才能进行系统的开发。其次我们需要对原有系统中的历史数据进行导出,并进行处理后导入新的系统中。这往往需要原系统开发公司的配合,故导致实际实施过程面临种种不可控局面的发生,导致项目进展颇为坎坷。这也提醒我们广大的高校信息化建设人员,在今后的系统建设中,需要从招标开始进行顶层设计,全盘考虑,深度考量。将系统的数据字段定义表,表结构关系等核心要素掌握在手中,变被动为主动。只有这样才能为后续的建设开发打下坚实的基础。

5 总结与展望

随着智慧校园建设不断深入,高校的信息化建设也已经步入了“深水区”。传统基于MIS 架构的数据管理系统的建设方式已经无法满足高校智慧校园应用建设的需求。而基于流程引擎的网上一站式服务大厅已经越来越成为各大高校智慧校园建设的唯一选择。通过该开放性技术平台的建设以及对各类型新技术(人工智能、大数据分析、物联网等)的融合,可以较好的满足各大高校对于智慧校园建设的各类需求,这也是高校未来建设网上一站式服务大厅的发展方向。

猜你喜欢

大厅引擎流程
吃水果有套“清洗流程”
跟踪导练(四)4
本刊审稿流程
析OGSA-DAI工作流程
网上办事大厅解决方案
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
One Engine Left只剩下一个引擎