专栏首页EAWorld技术中台应用集成架构之移动微应用集成

技术中台应用集成架构之移动微应用集成

企业移动门户是企业现有应用与新应用的集成节点,使用户能够与人员、内容、应用和流程进行个性化的、安全的、单点式的互动交流。它也是一个集成业务中台、数据中台的使用者,而微应用集成是企业门户之中重中之重的一环,接下来让我们一起了解微应用的集成方式。

目录:

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 下载微应用

用户可以登陆企业移动平台,在应用商店中管理自己发布的微应用,包括版本、权限等。显示如下:

微应用发布在应用商店后,给用户分配权限,用户登陆移动门户,就可以在移动门户的应用商店中找到发布的微应用。如下图:

在应用商店中,用户可以执行微应用的下载、打开、更新、卸载这些操作。通过以上步骤,就可以在移动平台中轻松集成我们的微应用

本文分享自微信公众号 - EAWorld(eaworld),作者:哆啦猫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-12-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【架构拾集】: Android 移动应用架构设计

    在这一个多月里,我工作在一个采用插件化的原生 Android 应用项目上。随着新技术的引入,及编写原生 Android 代码的技能不断提升,我开始思索如何去解锁...

    Phodal
  • 「应用架构」 EA874系列:企业应用集成概述

    有预测称,公司在应用程序集成方面的支出将超过目前的支出。云、移动、社交和信息等力量之间的联系将有助于企业推动业务流程创新和改进,但也会使要集成的应用程序、设备、...

    首席架构师智库
  • 系统架构师论文-论企业应用集成(-集成ERP/PDM/E-mail)

    本文讨论了某公司的应用系统集成项目。某公司为了应对市场变化的需要,决定把公司几个主要的应用系统ERP系统,PDM系统,E-mail系统集成在一起,系统集成完成后...

    cwl_java
  • React Native 移动技术在企业架构的应用

    很高兴在今天下午与各位有这样一次关于驱动原生(React Native) 技术的交流。 此次交流的内容,主要是我在Pworld2016 大会的讲解内容,本想比较...

    yuanyi928
  • “BIM+” 9大技术PM、云计算、GIS……集成应用

    来源:湖南省人民政府 编辑:柯南聊BIM 一、BIM+PM PM是项目管理的英文缩写,是在限定的工期、质量、费用目标内对项目进行综合管理以实现预定目标的管理工作...

    企鹅号小编
  • 系统架构师论文-企业应用集成的实践

    为了向铁路各部门用户提供高可用、整合的信息,受铁道部科技司委托,我单位承担了“信息应用集成的研究”这一项目的研究和开发工作。本人作为该项目的负责人之一,担任了方...

    cwl_java
  • 手把手教你移动端AI应用开发(二)——将AI模型集成到安卓应用中

    上篇文章我们介绍了如何快速在安卓上跑通OCR应用,本文以Android Studio 自带的C++ Native模板项目为例,详细讲解如何将OCR模型代码集成到...

    用户1386409
  • 移动应用的左膀右臂:持续集成与自动化测试

    本文目录: 一、为什么要做移动应用的持续集成与自动化测试 二、移动应用持续集成与自动化测试的四大挑战 三、移动应用持续集成与自动化测试的最佳实践 四、总结 一、...

    yuanyi928
  • 系统架构师论文-论企业应用集成(车站综合信息平台)

    2004年10月,我参加了某车站综合信息平台项目的开发,承担项目的方案设计任务。该项目力图通过対车站现有信息子系统的集成,以达到共事各子系统的数据,优化企业运输...

    cwl_java

扫码关注云+社区

领取腾讯云代金券