SYS MANAGEMENT    系统管理
摘要:移动应用大厅是移动互联网应用到公司信息化的重要项目。根据移动应用大厅实际管理需要,研究探索一种业务数据及简单流程动态可配置的应用框架设计实现移动应用后台管理功能。动态可配是指当新增需求或需求变化时,可以通过配置方式实现功能定制,不需要或只需要少量开发即可实现系统功能增加或修改的灵活框架。论文主要介绍了设计的背景、意义及目标,阐述了可以通过哪些方式实现可配置化,深入地分析了相关技术,根据现状及技术分析结果明确了技术路线,并对应用框架的开发进行了初步设计,最后对简单介绍了目前已经完成的系统框架及功能。
关键词:可配置流程;系统框架;Node.js;React
一、前言
(一)研究背景及意义。随着移动互联网在社会各个领域深入应用和移动智能设备的普及,移动应用帮助企业开展业务的灵活处理,利用碎片化时间开展工作,提升工作效率,提高企业生产经营管理水平,移动化已经成为企业信息化发展的重要方向。
(二)项目现状及分析。今年移动应用大厅平台开始正式建设,移动应用大厅项目主体由移动应用大厅、移动应用后台管理及个性化移动应用组成。为满足移动应用后台管理将来可能面对的不断变化和增
加的新业务需求,项目组需要花费大量时间进行定制设计与开发;同时,为了适应需求的变化,也要花大量的时间和精力,采取不同的设计与实现方式。因此,研究系统功能可配置化是一条行之有效的道路,是能够有效提高运维能力和效率的解决方案。当需求发生变化或新增时,系统能够实现不需要定制开发或少量定制开发,仅通过界面配置就可以满足用户需求。
(三)研究内容。本次动态可配置应用框架应用光加的研究主要是为了提供移动应用后台管理系统的开发效率,提高用户需求响应度,保证平台高效稳定运行。研究动态可配置应用框架的目标对象有以下两个:
1.面向用户的配置。当用户单位需求发生变化时,用户使用已有功能对平台进行自行修改,修改完毕后保存配置,系统不需要进行编译即可自动时应配置后的结果,这是最理想的动态可配置应用框架实现目标。
2.面向开发人员的可配置性。将系统常用的功能集合形成系统框架,开发人员无需考虑底层技术细节,可以完全专注与业务逻辑的设计,不再为底层技术考虑,从而极大地提高开发效率,减少新增需求实现的时间。对常用功能开发模板页面,只需要配置格式及内容数据即可实现功能,开发人员只需要完成测试工作[1]。
目前研究的主要内容是对业务数据操作界面的可配置化以及简单流程可配置化的技术探索、研究、设
计与实现。
二、动态可配置应用框架研究概述
(一)可配置界面相关技术。目前,流行的前端框架很多,比较常见的有:ExtJS、React、easyUI、Bootstrap、Amaze UI、MUI等。根据实际掌握技术和学习成本,主要使用React。
React:React 是facebook发布开源的一个前端开发框架,其本身作为 MVC 中的 View 层可以用来构建 UI,也可以以插件的形式应用到 Web 应用非 UI 部分的构建中,轻松实现与其他 JS 框架的整合。 
(二)可配置数据相关技术。MongoDB: MongoDB是一个基于分布式文件存储的数据库。具有高性能、易部署、易使用,存储数据非常方便等特点。
Nodejs:Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,采用事件驱动和非阻塞I/O模型。 Node.js是服务器端JS的代码解析器,存于服务器端的JS代码由Node.js来解析和应用。
三、动态可配置应用框架的设计
(一)动态可配置应用框架总体设计。根据对动态可配置应用框架相关技术的探索研究,采用前后端分离的方式实现。动态可配置应用框架总体框架设计为前端UI与后端数据服务相结合的方式,通过JSON格式数据进行数据交互,实现系统功能[2]。
(二)可配置界面设计。可配置页面主要通过React 来实现可配置化的目的,基本设计思路是通过配置用户页面显示相关信息,实现用户界面的可配置。首先根据初步
移动应用后台管理系统可配置框架的设计与实现
殷    浩    张一光
40
SYS MANAGEMENT    系统管理
系统设计,系统主要现有功能如下表所示:
表1 移动应用管理后台主要功能分析表
功能模块主要功能点
用户管理系统用户管理、用户映射、机构映射、数据权限管理等
移动应用管理应用立项管理、应用资料管理、应用发布管理、应用资源申请、应用过程管理等
权限管理功能管理、元数据权限管理、角管理、角映射等
react开发框架组织机构
管理
应用组织机构映射、组织机构管理等
(三)可配置数据设计。可配置数据主要分为两部分,一部分是为配置页面提供必需的格式及内容配置字段,支撑配置页面的正常使用;另一部分是为流程配置等提供数据支持。这两种数据源分别采用不同的方式实现[3]。
1.通过二维数据表拆分实现动态业务数据配置。本次设计采用拆分数据表的办法,把传统的单表拆分成信息集定义表、列定义表和列值表。
2.MongoDB:MongoDB的特性使用面向集合的原理进行数据操作,数据被分组存储在数据集中。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库里的表,但是不需要定义任何结构,可以在一个集合中存储大量不同类型和结构的数据,通过K-V存储数据,便于实现流程配置功能。
四、动态可配置应用框架的实现
(一)动态可配置应用框架实现目标。本次研究与应用最终的实现目标就是初步构建一套动态可配置应用框架并在实际工作中检验和丰富动态可配置应用框架的功能。借助动态可配置应用框架的开发使用,极大的用户需求响应时间,最快速度实现功能开发上线,提高平台开发,提升用户满意度。
(二)设计实现说明
1.React基本组件实现。使用Ant-design作为React 框架的前端控件集,实现表格(table)、树控件(tree)、表单(form)等控件,通过加载动态数据实现可配置的目标。下面以表单控件为例,详细解释实现过程及效果,formManagement.jsx核心代码略。其中,const Formtable 就是创建表单控件的主方法,add、edit、delete即为实际用户操作,export default Formtable是将控件render回主页面进行渲染。Render是React的最基本方法,用于将模板转为HTML语言,并插入指定的DOM节点。通过ajax api调用与后端进行数据交互,达到可配置化流程管理的目的。
2.可配置的格式及内容数据。可配置页面需要加载动态的格式及内容数据方能最终实现用户页面的展示及交互。目前采用数据标准格式化和拆分表提供动态的格式及内容数据,下面以一条动态生成的JSON数据为例,详细解释动态格式及内容数据。以下是动态生成的UserManage 格式及内容数据,其中含有6个JSON数据对象,2条是标
注内容,表示配置格式及数据关系,4条是数据,表示有
4条业务数据要显示和操作。模板页根据动态生成的JSON
数据加载内容及格式。handlerUrl是页面申请的AjaxAPI请求,用来实现用户的操作及数据交互。
3.MongoDB数据库使用,主要是借助MongoDB特性,
实现非结构化数据及流程过程数据的存储,下图是图形化
展示MongoDB使用界面,具体的就不再详细解释。
(三)实现效果。截至目前,可配置系已经目前已经
完成基本系统搭建和基础功能的实现,可以通过加载配置
字段实现用户界面的渲染和展示,实现基本的流程发起和
审核。借助初步搭建的动态可配置应用框架,完成移动后
台管理系统功能的初步实现,并在进一步探索更加丰富的
应用和功能,希望能够完成一套快速实现移动应用后台管
理功能的动态可配置应用框架。同时,可配置流程开发也
初步完成基本框架搭建,可以实现简单的流程配置及发起、审核功能,并可配置随流程流转的简单表单,目前正在进
一步开发工作中。下面简单展示开发完成的界面与功能。
1.基本操作界面。基本操作界面是实现对业务数据的
增删查改,其显示格式及内容都是通过动态加载格式内容
数据完成,基本实现界面的可配置化。下图是通过配置实
现的基本表格页面,可以完成数据展示,添加新数据,编
辑数据及删除等基本功能。
2.个人主页。个人主页是管理系统的个人工作台,
目前实现个人主页的主要功能是代办任务的通知下达,简
单的工作确认及审批功能以及通知类消息的公告功能。下
图是通过动态加载格式内容数据实现个人主页的个性化定制,实现个人代办工作、系统通知,简单审核等功能。
3.可配置流程。可配置流程实现了简单的流程配
置及流程发起、审核功能。通过组件及动态数据完成
流程可配功能。下图是可配置流程实现示意图,使用react+nodejs+mongodb搭建的一套可配置流程系统,目前能
够实现简单的流程配置、发起、审核等基本功能。
五、结语
本文通过对动态可配置应用框架的研究应用背景意义
介绍、平台现状分析等阐明了本次研究的必要性。通过对
动态可配置应用框架技术、设计及实现的介绍和说明,简
单总结了目前的研究应用方法和成果,为下一步继续完善
动态可配置应用框架指明方向,满足移动应用后台管理的
功能需求。
参考文献
[1]赖小平.可配置的程序设计[J].电脑知识与技术,2008(14):880-882.
[2]Jones Matt,Marsden Gary.移动设备交互设计[M].电子工业出
版社,2008:41-49.
[3]王伶俐,张传国.基于NodeJS+Express框架的轻应用定制平
台的设计与实现[J].计算机科学,2017(S2):596-599.
(作者单位:中国石油兰州石化公司自动化研究院)
41

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。