多屏合一的统一流程平台建设及应用*

2016-11-26 03:10庞茂安赵奕赵永刚尹慧艳
电信工程技术与标准化 2016年11期
关键词:表单开发人员引擎

庞茂安,赵奕,赵永刚,尹慧艳

(中国移动通信集团北京有限公司,北京 100027)

多屏合一的统一流程平台建设及应用*

庞茂安,赵奕,赵永刚,尹慧艳

(中国移动通信集团北京有限公司,北京 100027)

本文目标为了解决信息分裂接口不畅,建设工期长风险高等系统建设问题,多屏合一的统一流程平台应需而生,通过配置式快速流程开发平台,用该平台来统一开发技术、简化开发流程、缩短开发周期,以便更好、更快的适应业务的变化,节约开发成本。

工作流;BPM;快速流程开发;配置式开发

1 统一流程平台现状

随着信息化程度的提高,在建设众多流程电子化子系统过程中发现,大部分的项目都具有相同的模式,都具有业务流程、业务流程对应的表单、报表、外部接口、权限等相关功能,虽然目前我们总结出了一套基本的信息系统类项目开发框架,但是开发的效率和工作量还是比较高,主要存在如下问题。

(1)需求调研和分析与系统的原型建设脱节,需求文档不能直接快速的反应到系统原型上,导致客户在系统实现后才提出变更,导致实施成本和项目质量不高;

(2)开发人员50%的开发工作都是重复拷贝代码,导致实施周期长、开发成本过高;

(3)需求变更的时候项目组反应时间和流程过长;

(4)每个开发人员技术背景、技能不一样导致系统开发的质量不能很好保证;

(5)每个项目的技术架构不统一,开发人员在项目组间切换需要重新熟悉技术框架,导致项目实施周期和开发成本提高;

(6)系统最终实现与客户期望实现差异较大,经常造成反复修改。

针对上述问题,我们迫切的需要建立一个快速的开发平台,用该平台来统一开发技术、解放开发人员让其更关注业务、简化开发流程、缩短开发周期、提高开发质量,以便更好、更快的适应需求的变化,节约开发成本。

2 统一流程平台的设计实现

2.1 对支撑系统的核心诉求及难点分析

(1)信息模型建设规划不统一,信息分裂、接口不畅。

门户与子系统间、同业务域的子系统之间、同生命周期的子系统之间消息传递广度和深度不够;

子系统间彼此独立存在,形成信息孤岛,无法提供支持管理决策分析的关联闭环数据;

图1 统一流程平台流程设计示意图

解决方案:统一注入标准。通过制定准入标准、严格接入要求,实现信息系统建设的科学规划、高效支撑。

(2)流程建设和维护成本高,工期长,风险大。

不同的子系统之间缺乏信息沟通、统一规划/标准,对相同及类似业务理解不一致,导致系统部分流程和功能重复、反复建设。

子系统之间框架、代码、组件复用度低,导致建设成本高,维护困难、风险高。

解决方案:引入快速流程开发平台。

流程引擎,支持简单流程结构参见图1所示。

表单引擎,支持不大于5个字段的自定义文本(如标题)+附件的简单表单页面的生成。

(3)同业务域流程分散、同业务线数据割裂,功能设计、交互方式不统一。

子系统出自不同的厂商和设计师之手,入口众多,用户很难快速找到新建入口。

首页/待办/已办/菜单风格等标准设计的交互方式、页面风格和操作习惯不统一,存在用户适应系统的弊端;当子系统越来越多时,代理人、邮件提醒等标配功能仍然需要重复繁杂的操作,降低了工作效率;用户无法通过组织角色、个性爱好等进行信息关联;业务信息数据割裂,无法形成闭环;解决方案:统一用户首页,参见图2所示。

2.2 整体技术方案基础

系统整体技术架构由引擎单元、第三方服务单元、SOA适配单元构成。

2.2.1 基于模型驱动

图2 统一流程平台首页集成示意图

本文基于模型驱动的理念,通过对多个业务流程开发系统和日常信息管理开发系统的开发抽象,抽象出日常业务流程项目开发和信息系统开发项目主要围绕着以下几个方面进行:业务对象、表单、流程、权限、报表、接口这几个方面,围绕这几个方面还有相关辅助的系统、功能菜单、组织结构等支撑。平台经过对业界常规流程和信息系统的开发过程和业务进行抽象,引入模型驱动开发理念,通过平台实现对于系统模型、组织模型、业务对象模型、表单模型、流程模型、权限模型、报表模型、接口模型等的管理,通过在平台直接定义相关的模型,平台能自动生成对应的模型驱动运行期环境+部分定制化的代码开发,实现业务流程和信息系统的快速定义与实施。

模型管理:实现包括系统模型、组织模型、业务对象模型、表单模型、流程模型、权限模型、报表模型、接口模型的添加、删除、修改、发布等维护功能,实现模型的生命周期管理等。

引擎驱动:通过后台对于模型定义的动态解析,平台通过后台的流程引擎、表单引擎、权限引擎、报表引擎、接口引擎自动生成相关的模型运行期环境与代码,实现模型的系统实例化运行。

2.2.2 基于Activiti的开放流程引擎

Activiti是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台。其核心是使用Java开发的快速、稳定的BPMN 2.0流程引擎。它可以运行在任何类型的Java程序中,例如服务器、集群、云服务等,可以完美地与Spring集成,设计非常简约。

“快速开发平台”基于开源的activiti流程引擎,进行了二次封装,增加了如“越级回退”、“会签”、“通用回退”等特殊流程要素,形成了中国移动北京公司独有的流程引擎。

引擎单元可细分为工作流引擎、规则引擎、报表引擎和工单引擎。对上层各模块提供了强大的支持。其中工作流引擎和规则引擎作为支撑平台的核心功能,起到了业务流程解释和执行的作用,对服务层的流程设计、流程监控、人工流程处理、系统管理等功能提供了支持。报表引擎为流程平台的使用提供了数据统计和分析的功能。工单引擎能方便地生成各种工单,并提供与工作流程快速结合的能力,方便地进行工单的流转。

2.2.3 基于SOA平台的交互接口

系统建设中参与跨系统流程协作的接口,遵循中国移动北京公司SOA平台的流程引擎(IBM Websphere Process Server 6.1)和BPM (BPMN2.0引擎)规范,并由SOA平台的流程引擎进行流程串联,避免直通式的流程串接,确保灵活的流程的组合和编排,满足新流程快速部署的要求。

由SOA平台流程引擎驱动的服务必须遵循按照SCA组件和SDO服务数据对象的方式进行封装,以支持WebSphere Process Server中内置支持BPEL的流程服务引擎的服务编排和流程封装。

2.2.4 基于云平台的基础设施承载

中国移动北京公司管理支撑云计算平台门户以服务的方式为系统提供完整的IT资源虚拟化管理,实现为用户提供自助服务申请管理以及对基础设施资源的自动化配置管理,用户可以通过申请审批的方式定制所需要的服务,服务即可以是一种资源如云计算、存储、网络等,也可以是一种工具如对资源使用的监控、工单审批等; 其中服务管理为云计算平台门户的基础框架,负责平台所有服务的申请、审批与扩展;资源管理、监控管理以及自动化部署则是平台的扩展服务,未来随着业务需求的不断扩充,平台可实现横向资源能力的动态扩充。

2.3 平台功能架构

2.3.1 架构核心思想

在正常的信息系统项目开发中,主要围绕以下几项内容进行设计与开发:流程、表单、权限、报表,可能有的项目还有与外围系统的数据集成与接口,可能组织与人员需要从LDAP或者其它系统同步。

开发人员大部分时间都是围绕这几项业务功能的具体需求建立数据库模型并围绕这些数据库进行增、删、查、改的实现。

经过对平时的项目需求和项目实施工作的抽象,本文引入模型驱动的开发模式进入开发平台,抽象出与具体业务需求无关的几类模型:流程模型、表单模型、权限模型、报表模型、数据集成模型、接口模型、菜单模型;并围绕这几种模型实现可视化的模型定义工具,平台通过解析这些模型定义来实现自动化运行。下面通过实施流程对比的方式来直观的说明传统项目实施和平台模型驱动项目实施的区别如图3所示。

图3 传统项目和平台模型驱动项目实施的区别示意图

模型驱动开发所能解决的问题:

(1)需求人员、测试人员、开发人员都可以从需求调研开始直接参与平台开发,不需要经过复杂的需求文档编写和确认过程,直接在平台上建模,通过实际实现的系统情况与客户进行需求确认,提高了需求收集效率和质量。

(2)开发人员的大部分时间只需要关注业务需求和对应的模型设计,基本上很少或者没有编码工作,节约实施成本,缩短实施周期。

(3)需求变更的提出直接改变对应的模型配置即可,因为采用的平台开发模式,自定义的代码很少,所以对于现有程序的影响很小,变更的代价和变更周期都会变少。

(4)开发平台的核心技术框架固定,减少开发人员的学习周期。

(5)用平台开发出来的系统技术架构一样,开发人员在项目间切换可以平滑过渡。

(6)系统用最终实现与客户进行需求确认,实现出的系统与客户期望吻合度高,减少反复修改的风险。

2.3.2 系统功能架构图

系统功能总架构如图4所示。

平台分类三类门户,一类是最终用户使用门户,在该门户上可以看见在该用户的所有待办、已办、可以发起具有发起权限的业务流程、可以进行业务流程导航,也可以通过各自系统入口进入各业务子系统;一类是开发者门户,在该门户上开发者可以通过门户的内部功能支撑进行子系统的建模:包括业务建模、表单建模、流程建模、报表建模等,开发者可以在“开发门户”快速的通过可视化定义方式快速定义一个可运行的业务系统;一类是子系统门户,在该门户上可以看见通过平台开发的自定义子系统相关功能。

图4 系统功能总架构图

整个平台需要几个主要的引擎进行支撑:包括流程引擎、表单引擎、报表引擎、接口引擎、任务调度引擎、数据引擎;整个平台具有两个总线概念:服务总线、数据集成总线。

服务总线:所有平台提供的服务与各子系统调用和发布服务都是通过服务总线进行交互,平台通过服务池的方式提供各类服务的发布、调用、部署功能。

数据集成总线:数据集成总线提供从外部各类数据源集成数据发布成通用的统一数据视图,该视图在数据集成总线上,所有平台内部子系统需要使用这些数据视图都是直接与总线交互,并不关心这些数据的来源,数据来源全部被集成总线屏蔽,数据视图可以当成是一个本地数据表使用。

2.4 平台技术架构

平台技术架构如图5所示。

整个系统基于J2EE企业级技术进行架构,采用在业界广泛使用的成熟组件和技术,使整个技术架构在开放性、稳定性、扩展性和易维护方面都有优异表现,为平台的可持续发展和演进提供良好的技术支撑。采用的主要组件和技术有:

展现层:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。

服务层:流程引擎——Activiti,Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速,稳定的BPMN2流程引擎,易于与 Spring集成使用。

图5 统一流程平台技术架构图

数据访问层:作为一个开放源代码的对象关系映射框架,hibernate对JDBC进行了非常轻量级的对象封装。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。

数据持久层:SQL Server提供高安全性、高效管理、智能的数据仓库功能,同时具备丰富的服务集合来与数据交互作用:搜索、查询、数据分析、报表、数据整合,和强大的同步功能。

4 实现成果及未来工作

4.1 取得的成果

针对“统一流程平台”业务能力及系统功能分析中充分借鉴了北京公司业务流程管理成果和经验,充分考虑了应用快速实现与远期系统拓展的平衡。

为确保系统应用的推广应用,系统建设采用了“快速迭代”的开发模式,2014年9月至2015年2月期间共完成大小版本迭代81次,完成“统一流程平台”雏形建设,通过信息模型建设、流程引擎建设、业务模型建设有效保障了中国移动北京公司管理信息系统的规范化管理、低成本建设、高效率支撑,并实现了以下创新。

信息模型建设,规划统一在统一流程平台中整合了现有流程电子化平台已实现流程的入口,可以从portal直接发起相关流程,并集成相关流程的待办任务等功能。平台自身开发的流程中,实现了统一设置(统一代理人、统一邮件提醒)、统一权限等功能。

流程引擎建设-经济高效。降低了单流程的开发/维护成本,提高了单流程电子化的工作效率,实现了降本增效的管理要求。

业务模型建设-科学直观。将过去的入口众多、风格各异、操作各式的各类业务系统进行改造,通过减少系统入口,统一表单风格,规范操作体验,统一待办/语义搜索/快速起草等技术手段降低系统使用门槛,大幅度提升员工工作效率。

通过抽象业务模型、搭建业务虚拟门户,实现业务处理全局性预览、一站式办公。

最终,支撑管理战略实施 通过整合让用户更好的使用IT化管理手段,提高业务数据及管理数据来源的真实性、有效性,对于管理战略的落地、决策支撑、办公协同效率等多方面都有积极的意义。

同时对于系统的安全性、稳定性、易维护性等方面都具有实际的提升效果。

4.2 未来工作规划

4.2.1 平台功能全面实现

在整体功能架构中,本文阐述了当前按照整体规划实现了基本的子系统、菜单、权限、业务流程的基本建模,其中在整个规划中还有其它几个很重要的模型驱动功能(业务对象模型、表单模型、报表模型、接口模型、服务模型)仍未实现,计划后期会对这些模型管理进行支撑,以实现出一个全面支撑业务流程快速开发的平台—BPM Portal。

4.2.2 实现多屏合一适配

自动适配多终端,且规范了流程设计交互方式、页面风格和操作习惯,提升了用户体验和任务处理效率。通过WEB端开发门户快速流程开发工具配置,“五步法”快速定制化流程开发业务系统发布后,同时支持手机端、PAD、Phone等多终端适配访问,而不需单独开发终端APP。

A design of multi screen unified process platform

PANG Mao-an, ZHAO Yi, ZHAO Yong-gang, YIN Hui-yan
(China Mobile Group Beijing Co., Ltd., Beijing 100027, China)

With the continuous improvement of the company's information technology, in various management areas have been building a large number of IT systems, in the production, management and other aspects have played an irreplaceable role; At the same time, with the gradual increase of the subsystem, it also produced a series of problems during the construction and use. The goal of this article is to solve the problem of poor interface information division, the construction of the long construction period of higher risk system, multi screen platform, a unified process should be born, by configuring the fast process development platform, this platform is used to develop a unifi ed technology, simplify the development process and shorten the development cycle, in order to better and faster adaptation the business changes, save development costs.

BPM; rapid process development; confi guration development

TP311.11

A

1008-5599(2016)11-0010-06

2016-10-24

* 中国移动集团级一类科技创新成果,原成果名称为《多屏合一的统一流程平台建设及应用》。

猜你喜欢
表单开发人员引擎
电子表单系统应用分析
新海珠,新引擎,新活力!
Semtech发布LoRa Basics 以加速物联网应用
基于图表示和匹配的表单定位与提取
浅谈网页制作中表单的教学
三生 三大引擎齐发力
蓝谷: “涉蓝”新引擎
后悔了?教你隐藏开发人员选项
动态表单技术在教学管理中的应用*
三星SMI扩展Java论坛 开发人员可用母语