文/郭宇光
近年来,随着智能手机与互联网的发展,移动应用变得愈加普及,企业都更加倾向选择使用移动应用来进行企业日常办公,以提高企业的效率并降低办公成本。但传统的移动应用模式在实际实施中存在着一些弊端,不能很好的满足企业办公的需求。因此本文将分析这些问题并提出一种移动门户方案,以更好满足企业移动应用在定制化、扩展性和集成性方面的高需求。
如图1所示,由于技术限制,传统移动应用在实施使用过程中存在一些弊端,表现在:
用户难以定制化自己得移动应用功能,移动应用功能冗余过多。移动应用一般在安装时就附带了业务系统的全部功能,这使得移动应用很复杂,用户被动安装了很多自己用不到的功能。这样用户不易定位自己需要的功能,而当用户寻找一个功能的时候,往往需要穿过多层菜单。
受传统原生开发框架数据组织方式限制,移动应用更新过程复杂。传统移动应用需要更新时,只能通过应用市场下载完整新版本移动应用安装包或者借助移动应用自带的热更新下载代码包,进行整体覆盖安装,频繁更新将会导致用户体验变差。
移动应用扩展困难,在实际应用中,一个移动应用往往需要分批次地集成接入业务系统,这使得原本不相干的业务系统之间也需要进行如用户的同步、身份认证等集成工作。当移动应用需要升级扩展新的功能模块时,除了移动应用的客户端需要升级开发加入新功能,负责集成的移动服务也需要升级接入新的业务系统服务。由于需要对旧有移动应用和服务进行改造,当集成的业务系统很多时,移动应用前后端升级实施的周期和成本也会很高。现实中,一些企业往往通过开发多个移动应用解决该问题,但是这种方案又会给移动应用的管理带来更多困难。
目前市面上也有一些办公软件使用通过浏览器跳转办公网站的方式集成企业的各个办公系统,但由于需要频繁拉取服务端网页、图片等资源,性能都较差,用户体验不好,也无法离线使用应用。并且这种移动门户方式应用的功能受限于门户应用的供应商,当移动应用需要扩展调用底层移动系统功能,如一些VPN的接入时,会难以实现。
以上这些传统移动用用的弊端是由两点技术限制导致的。基于系统安全性、可靠性考虑,移动系统为移动应用提供了两个不同的存储区,如图2,分别是移动应用安装时的只读包空间和存储数据用的可读写缓存空间。受原生开发框架限制,传统原生移动应用默认将编译后的业务逻辑程序段置于只读包空间,运行中产生的用户数据和下载的内容存储于可读写的缓存空间。而修改包空间的内容只能通过覆盖更新完整安装包来进行,这导致基于传统原生开发框架的移动应用安装后就无法再更改业务逻辑。应用增加新功能时,整个移动应用只能被动进行完全重新安装。
而在服务端,传统单节点单集群的移动服务设计无法适应移动应用快速扩展的需求。这种移动后台服务将移动应用运行时的功能如设备管理,身份认证等运行服务同系统集成服务耦合在一起。当有新的业务系统接入时,除了业务系统的接口开发工作,开发商还需要在移动服务端进行这些接口的集成和改造。所以必须设计一种将移动运行服务同系统集成服务分离开的移动系统来解决这个问题。
针对这些企业移动应用实施中的困难,本文提出了一种新的移动门户系统解决这些问题。
移动门户是提供用户个性化定制移动应用功能,管理各业务办公系统接入,并监控各应用、服务状态的管理软件。微应用是依赖于移动门户,可以被用户自行安装、升级、卸载的应用功能模块。
系统总体架构如图3所示。
该移动门户应用系统主要由移动门户客户端和移动门户服务端组成,业务系统的接入则是通过可扩展的移动网关服务实现。
图1:传统移动应用架构下的应用的升级
图2:传统移动应用存储的组织方式
为了打破客户端包空间的只读限制,该移动门户系统将业务逻辑部分按照功能模块分解为多个微应用,并将其与移动门户核心功能分别打包,以动态链接库或者html5文件的方式存储。通常情况下,移动门户内核存储于包空间,当应用首次运行时,移动门户的内核被从包空间复制到缓存空间。应用启动时,一小段包空间的启动程序直接加载启动缓存空间的移动门户内核,内核中包含了微应用的管理、首页模块、应用设置等移动应用运行核心功能;而微应用初始存储于移动门户服务端,用户可以通过移动门户内核的微应用下载模块选择自己需要的微应用进行安装。新安装的微应用也存放于缓存空间,其对应的服务地址等信息存入移动门户的配置文件。在这个系统中,移动应用首页的功能也可以进行动态的设置,用户可以使用微应用和移动门户内核提供的各种小工具拼装自己的应用首页。基于该客户端框架,移动门户应用的业务逻辑程序都存储运行于移动设备的可读写缓存空间,移动门户可以在不进行完全覆盖安装的前提下在运行期随时变更这些程序。
在服务端,该移动门户系统的服务端提供了一种可弹性扩展的移动运行服务,如图4。这种服务可以将移动应用运行需要的功能同业务系统集成服务独立出来。当新的业务系统接入时,只需要部署独立的移动接入服务,再将该服务对应的微应用上传到移动门户服务端,就可以完成新的业务系统接入,这个过程不会对已经运行的其他业务服务产生影响。
同传统移动应用比较,本文提出的移动门户系统有如下优点:
安装更加轻量化,在移动门户系统中,仅有移动门户内核是必要的安装组件,其他微应用组件均可在用户使用中自行安装。
应用升级方便,用户体验好。当微应用或者移动门户内核的功能需要升级调整时,门户应用只需更新需要升级的微应用即可,不会对其他微应用产生影响,也不会对无关用户产生影响。
图3:移动门户总体架构
图4:移动门户整体部署
通过移动门户系统提供的微应用市场,用户可以按照权限浏览下载各种自己需要的微应用,并根据微应用提供的首页组件,按照自己的习惯组合移动门户的首页区域,显著提高使用移动应用的体验。
应用响应更快,体验更好。由于微应用的界面、业务逻辑、图片等资源都存储于用户的手机本地,因此微应用响应很快,接近原生移动应用体验,同时也支持部分移动应用离线使用的需要。
在系统集成方面,该系统显著减轻了业务系统集成工作量。当移动应用需要扩展新功能接入新的业务系统时,仅需要部署新的移动接入服务并将其关联的微应用注册到移动门户系统后台即可,不再需要对旧有的业务系统升级开发,大幅度提高了集成效率,减少了开发周期和开发成本。
本文提出的移动门户系统是一种定制化高、扩展性好、集成快速的移动应用系统,同时具备部署简单,开发周期短、成本低等特点,可以很好满足企业办公移动化需要。