企业移动门户是企业现有应用与新应用的集成节点,使用户能够与人员、内容、应用和流程进行个性化的、安全的、单点式的互动交流。它也是一个集成业务中台、数据中台的使用者,而微应用集成是企业门户之中重中之重的一环,接下来让我们一起了解微应用的集成方式。
目录:
1.应用集成架构简介
2.移动微应用平台架构分析
3.移动微应用集成
一、应用集成架构简介
1.1 数字化中台建设之技术中台
作为企业数字化中台建设支撑的技术中台,其前台是企业应用,后台是企业基础设施(网络、存储、计算等资源),可为企业数字化中台建设提供标准化、端到端、柔性(可变化)的软件生产能力,从而提升企业IT系统建设的效率与可用性。
技术中台主要包括:
- 应用集成架构:提供应用整合能力,提升用户体验。
- 微服务平台:运行分布与体验聚合,沉淀微服务化的应用技术架构与技术组件
- Devops:建立柔性的软件生产线,提升软件交付效率
1.2 技术中台之应用集成架构
所谓集成就是要做整合,从业务使用视角和实施运维的视角看,相关集成组件一般有页面集成、流程集成、服务集成、数据集成和一些其他公共的集成所需组件,例如统一身份认证、统一应用门户框架、统一任务中心、统一组织机构用户、统一流程集成、服务集成、批量文件传输、作业调度等等。
统一身份认证
身份认证或身份验证(Authentication)就是对应用程序的“访问者”身份进行验证识别。不同渠道的登录方式不同,需要支持各种不同账号登录,而对于不同登录方式的支持,用户与账号的关系应为1:N,即从概念模型上支持一个用户从不同渠道使用不同的账号登录。
统一组织机构
组织机构用户数据是企业运营的基础数据,IT系统中的业务运行离不开组织机构数据。金融企业的IT建设规模大,动辄数以百计的业务系统,如果组织机构数据放任由业务系统各自管理维护,会造成数据标准不统一,系统集成统计等工作无法进行。定义组织机构、岗位、角色、用户等组织机构实体的唯一编码和名称,实现组织结构的统一,能有效规避以上问题。
统一应用门户
企业门户是企业现有应用与新应用的集成节点,使用户能够与人员、内容、应用和流程进行个性化的、安全的、单点式的互动交流。它也是一个集成的、可配置的、个性化定制的工作环境,可以随时随地提供给员工、客户和合作伙伴使用,是企业实现高效管理的重要工具和手段。
统一任务中心
任务中心简单来讲就是整个企业业务人员的待办任务数据池。任务中心可以接收来自流程平台或其他应用系统推送过来的任务、通知、流程等任务数据。业务人员访问业务门户的任务中心应用后,对自己当前的任务可以一目了然。
作业调度
作业调度平台能够为系统的集成和运维提供以下价值:
- 解放人力,提高工作效率
- 及时告警,减少损失。
- 多应用分权管理,保护核心功能和资源。
- 集中式的全面的作业运行状况分析、预警和系统状态监控。
二、移动微应用平台架构分析
Primeton® Mobile移动平台是一款集移动开发、运营、运维、管理一体化的智能平台,为客户提供一站式移动解决方案,帮助客户快速高效的构建移动生态,提升企业工作效率和管理模式,加速企业信息化商业模式的创新和变革。
Primeton® Mobile移动平台采用微服务架构,通过服务中台化提供全面高效、安全稳定的移动运行支撑和管理能力。同时,平台提供强大的跨平台开发能力,集成React Native、H5等移动开发技术,快速构建高质量的移动应用,一次开发,跨多终端运行。基于“Low code”理念,平台还提供动态配置化能力,帮助客户快速应对移动业务需求变化。
2.1 核心概念模型
Primeton® Mobile移动平台的核心概念模型如下:
平台管理域
平台管理域主要包括对企业组织结构的维护,其中员工和用户是多对多关系,一个员工可以拥有多个用户账号,一个用户账号也可以给多个员工使用。
应用管理域
a. 应用管理域则是对企业多个App的管理维护。
b. 应用具有多个版本,版本可以通过全量包和增量包两种方式发布;
c. 支持一个应用中维护多个微应用,微应用可理解为App内的独立迭代模块,比如OA应用中的车辆管理,会议室管理;
d. 应用和微应用都有对应的后台API,供终端访问;
e. 应用具备消息推送能力,支持多个消息推送通道的统一管理;
f. 移动平台支持对移动终端门户的配置,一个应用可以有多套门户方案,用于灰度或动态切换;在一个门户方案中,支持多个页面管理(如欢迎页、通讯录、开屏页、工作台等),在一些复杂页面中(如工作台),支持页面的多层配置;
应用开发域
应用开发域中主要包括开发期结构的核心概念,项目与App对应,支持对App不同发布环境的配置管理,支持对App中使用的标准组件的选择。
2.2系统架构
Primeton® Mobile移动平台由四大部分组成,分别是开发环境、移动门户、移动服务、移动运营平台4部分组成。
开发环境:
开发环境提供移动应用在开发期的支撑。开发工具平台推荐使用VS Code,并提供VS Code插件,无缝支持独立应用、门户应用、微应用的开发和调试。同时还提供完整的组件开发、发布、管理体系,支持动态化的APP编译打包。
移动门户:
移动门户是一个超级APP,可作为企业移动的统一入口,通过微应用的管理模型,可高效的进行企业业务聚合、信息聚合和应用聚合。
移动服务:
基于微服务架构,通过移动中台化提供全面高效、安全稳定的移动运行支持。移动服务包括:
API网关:提供安全高效稳定的API接入和管理
应用商店:提供应用版本、应用权限、应用下载等能力
消息推送:提供统一高效的消息管理和推送
用户中心: 提供统一的用户管理、用户认证等服务
统计服务:提供移动用户行为、Crash等统计分析服务
门户服务:门户服务是为移动门户提供后端能力
二维码服务:二维码服务提供二维码管理及调用统计功能
管理平台:
管理平台是一个移动集成管理门户,为移动应用运维人员,运营人员,开发人员提供统一入口,以移动应用为维度提供全面的运营、运维和管理。
2.3 开发环境
Primeton® Mobile移动开发环境提供了应用在开发期的支撑,包括应用的开发、调试、测试、编译和发布全流程。开发环境支持多种应用类型开发,包括独立应用、门户应用、微应用、小程序等。
- 移动平台采用VS Code,作为App端的开发工具基础平台,提供可视化的mobile-dev-cli操作,普元移动平台的插件将发布在VS Code商店中,方便获取,全面迎合前端工程师的习惯。
- 提供主流的移动开发技术支持。开发环境支持React Native技术、HTML5技术、iOS和Android原生技术等主流技术的应用开发。平台提供原生真机调试基座,可以连接多个不同平台真机设备同时调试,代码变化实时更新,界面所见即所得
- 平台全面拥抱React Native生态,对常用的组件进行插件化升级,支持组件动态的选择和集成编译。同时,提供插件化组件规范,支持企业快速进行插件化的组件开发和发布,积累企业组件资产。
- 通过Mobile-dev-cli NPM包,提供了一系列打包调试的命令操作,包括:环境检查,打包配置,启动调试服务,导出介质包等操作。
- 在dev_tools中, 包含debug、server及编译引擎等,为应用调试打包提供支持。
2.4 移动门户
移动门户是一个超级APP,可作为企业移动的统一入口,通过微应用的开发和管理模型,高效的进行企业业务聚合、信息聚合和应用聚合。
基于“Low code”理念,移动门户提供了强大的配置化开发能力。移动门户可随门户管理平台配置信息随时做出响应和改变,快速应对移动业务需求变化;移动门户提供个性化的配置能力,根据业务需求配置,实现不同的用户展现不同的界面和信息,真正做到千人千面。移动门户具有一下特点:
- 高体验,热更新:
- 个性化,千人千面
- 微应用,业务聚合
- 单点登录
- 企业通讯录
- 个性化工作台
- 全面安全保障
2.5 管理平台
管理平台是一个移动集成管理门户,为移动应用运维人员、运营人员、开发人员提供统一入口。以应用为维度提供全面的运营、运维和管理。结构如下:
管理平台采用微服务架构,通过对各移动服务提供的管理接口的调用 ,实现统一的移动管理功能。
管理平台提供以下管理能力 :
系统管理:提供平台成员、操作权限的管理功能。
应用管理:提供应用版本、应用发布、应用权限等管理。
用户管理:提供移动用户的管理、用户组织机构的管理。
微应用管理:提供微应用版本、微应用发布、微应用权限等管理。
API管理: 提供API发布、路由、安全等方面的管理。
消息管理:提供消息渠道配置、消息推送、消息模板、消息安全等管理。
统计管理: 提供移动用户行为、终端设备、Crash异常、API性能、消息发送等信息查询能力。
三、移动微应用集成
3.1 微应用运行原理
微应用运行原理如上图所示,微应用运行会涉及门户APP,移动平台服务和微应用本身的业务服务。
整体发布运行流程如下:
1. 发布微应用
2. 发布微应用业务服务API
3. 下载安装更新微应用
4. 加载容器,运行微应用
5. 加载微应用显示界面
6. 请求微应用业务数据
7. 转发业务数据请求
8. 验证请求用户信息
3.2 微应用分类
微应用作为门户应用进行业务聚合和管理的最小粒度,本质上他是一种开发和管理模型,从开发技术上来讲,并不限定具体的开发语言和技术,理论上通过实现相应的微应用运行容器,任何移动开发技术都可以进行微应用开发。
平台支持的微应用类型包括:
- React-native微应用:使用React-native语言开发的微应用。
- 原生微应用:使用iOS/Android原生言语开发的微应用。
- H5微应用:使用HTML5技术开发的微应用,常见的开发框架有Vue,React等,H5-微应用按加载方式,还可以分为在线H5微应用和离线H5微应用。
- Cordova微应用:使用Cordova技术开发的微应用。
3.3 微应用创建
在VsCode界面上,点击创建APP就可以打开APP创建页面,在创建页面,需要填写应用ID,应用名称,应用存放位置以及应用类型,就可以创建一个模版微应用。
在创建页面我们提供了两种类型应用的创建,包括RN项目,以及离线H5项目。同时提供了多个通用的模版,针对不同的行业提供一套统一的界面UI框架,用户可以根据自己的需要,选择合适的框架,加上自己的业务逻辑即可。
3.4 使用平台接口
微应用开发与移动应用开发,最大的区别就是去除了iOS和Android原生项目。开发时,无论是H5还是RN应用,开发者只需要关注前端的页面展示和业务逻辑,不需要关注iOS和Android原生技术。
涉及到与原生交互,平台会提供大量常用的接口,包括定位,支付,推送,分享等,在接口说明页面会提供接口的详细说明和使用示例,开发者使用时只需要直接调用接口就行,而不需要关注底层原生的实现。
3.5 使用标准组件
标准组件是基于普元移动平台,开发和编译过程中可插拔式的UI和功能库。平台提供了六十多个开发中常用的组件,基本能满足开发者正常的开发需求。使用时按照标准的第三方组件使用方式,直接import使用即可。
标准组件的优势:
- 可插拔:组件作为独立的项目,在主项目的支撑下,可以做到无需修改任何代码,在打包配置页面,选中即可使用。
- 易维护:在需要使用三方能力时,用户无需关注主项目结构框架,只需关注业务代码部分,将三方的能力按照标准封装为组件,这样既降低了项目成员熟悉项目的成本,也大大降低了项目的维护难度。
- 统一管理:组件将会发布到组件中心,用户可以直观的看到组件列表及详情
- 快速迭代:用户可以在组件中心快速预览各类已封装的组件,同时方便快捷地管理组件发布及版本迭代。
- 丰富的三方库:普元移动平台标准产品即提供了丰富的组件,后续会持续增加。
3.6 应用调试
平台提供调试能力包括UI调试和日志调试。
UI调试:在移动端实时看到开发界面代码。
日志调试:应用在运行过程信息通过日志输出到调试服务窗口。
UI调试原理图如下:
调试服务启动后,监听应用项目的资源变化,当发生页面代码修改时,触发调试服务的编译。调试服务将页面编译后,推送给调试基座,调试基座更新代码后,刷新页面。
日志调试原理如下:
当调试基座运行到console.log代码时,会将日志发送给调试服务。调试服务在收到日志后,在调试控制台输出日志。
启动调试:
在VSCode插件菜单中点击【Primeton Mobile: Start Debug Server 启动调试服务器】即可启动当前项目的调试服务,然后在调试基座中设置当前主机电脑的IP和端口,就可以将代码运行在调试基座,看到运行效果。
3.7 微应用编译打包
应用项目包括应用代码和配置,在编译打包时,React Native编译器把应用项目编译成应用ZIP包。ZIP包中包含应用配置信息,应用资源,以及应用JS文件。
应用ZIP包手机不能直接安装,需要通过管理平台发布,在门户的应用商店中下载运行。
在VsCode的当前项目中,打开Primeton Mobile插件菜单页面,点击【Primeton Mobile: compile app 打包app】就可将当前项目编译打包成发布的ZIP包,编译成功,控制台会显示出ZIP保存的位置。
3.8 微应用发布
在企业管理平台中,通过应用商店模块来发布用户开发的微应用。
应用第一次发布时,需要现创建应用,并补充应用的信息,包括:应用名称、应用标示、应用无权访问策略、应用图标等。
应用创建完成,就可以发布版本,版本发布时,需要上传微应用介质包,并指定开发商、更新方式、版本预览图以及版本说明。
每个微应用可以存在多个版本,每个版本有新建、灰度、上线、下线几个状态。新发布的微应用版本处于新建状态,进行灰度发布授权或正式发布授权后,被授权的对象才能在微应用列表下载并使用相应版本的微应用。
版本经正式发布后即处于上线状态,每个微应用只能有一个处于上线状态的版本,新的版本上线后,原上线状态的版本将自动改为下线状态,下线后用户便无法获取相应版本的微应用。
3.9 服务API网关配置
API网关主要用于转发系统之间调用的请求。在微服务治理平台中, 一个系统将部署一套网关. 系统内部应用的前端访问后端, 或者其它系统的应用需要访问此系统内的应用提供的接口, 请求必须走网关。
网关对外提供治理数据的 rest 接口,治理平台通过此接口将治理数据发送至网关。网关收到治理数据之后, 由统一存储接口保持至持久存储之中,然后由存储的通知机制,通知所有网关实例。网关缓存也支持通过懒加载的方式, 按需加载所需治理数据。
配置网关需要通过:API发布、路由管理和API授权操作
API发布:导入微应用业务服务API的swagger.json格式文件,并发布API。即把导入的API发布到移动网关上,只有发布到网关上的API才可以进行授权。
路由管理:新建路由,路由类型选择为自动移请求前缀配置路由信息,并启用路由。
API授权:对各个微应用授权对应的API接口。如对会议室预定微应用授权会议室操作相关的API接口。
3.10 下载微应用
用户可以登陆企业移动平台,在应用商店中管理自己发布的微应用,包括版本、权限等。显示如下:
微应用发布在应用商店后,给用户分配权限,用户登陆移动门户,就可以在移动门户的应用商店中找到发布的微应用。如下图:
在应用商店中,用户可以执行微应用的下载、打开、更新、卸载这些操作。通过以上步骤,就可以在移动平台中轻松集成我们的微应用