企业全面移动化实践指南

转载本文需注明出处:微信公众号EAWorld,违者必究。

引言:

随着智能手机普及和移动网络的提速,企业移动办公正在逐步成为主流工作模式,企业移动移动信息化是必然趋势。企业全面移动化不是一件简单的事情,在实践过程中肯定会遇到诸多的困难,本文主要是跟大家分享一下我们在企业移动化转型中的经验和解决方案。

目录:

一、企业全面移动化挑战

二、针对问题的实践化解决方案

三、某集团移动化案例

一、企业全面移动化挑战

企业全面移动化意味着是大量的业务系统要上移动,不是单一的app建设,也就意味着我们不能以开发一个项目的思维来看待企业全面移动化。

既然是大批量业务系统要上移动,也就会有更多的问题和挑战。我把挑战分为了三个角度,我们一一看下。

(1)开发实施角度的挑战

如上图所示,从开发实施角度来看,主要分为如下3点,安卓和ios多系统、多设备的兼容性适配是一个比较大的技术挑战;同时企业为了移动化转型还需要组建专业的移动团队,这会给带来更多的运营成本;并且因为每个业务系统要求的技术是不一样的,这对开发人员也是个极大的挑战。

(2)业务推广角度的挑战

采用原生ios和安卓开发,安卓和ios两个团队是否能保证在同一时间节点业务一致,体验一致,这是个未知数;同时ios版本升级的审核周期过长,也很难确保新业务在第一时间推广。

(3)大批量APP管理角度的挑战

单独一个或者两个app不会给企业IT运维带来问题,但是一旦数量比较大,问题会逐一暴露。如此多的APP该如何的统一管理,对企业而言确实是个比较头疼的问题。

二、针对问题的实践化解决方案

上面我们分析了几个维度的挑战,以下是针对这些问题的具体解决方案。

(1)以跨平台的思路解决开发实施问题

为了解决企业大量APP建设问题,我们采用决定选用跨平台的思路。为什么选择跨平台呢?

跨平台可以保证一套代码适配两个系统,对于开发者来说,就不用像之前一样既写ios代码又写安卓代码,并且也不用去过多的关心系统兼容性问题。

对于企业来讲,在减少人员投入、降低成本的同时,还可以保证两个操作系统业务的一致性。

  • 选择了跨平台的思路,那我们该选择哪种技术框架呢?

目前跨平台有两种技术方案:一种是采用h5的混合开发;另一种是驱动原生。我们最终选择了驱动原生框架。

混合开发结合了网页开发的和原生开发的优点,其大致的思路是采用H5作为UI,通过嵌入或者使用系统的浏览器作为渲染(通常采用Webkit),当需要本地能力的时候,采用原生语言的方式编写,并提供接口给UI端调用。这种方式依然采用的是浏览器渲染UI,比较耗费系统的cpu和运存资源,造成卡顿现象,影响用户的体验。

驱动原生这种方案的大致思路是:在运行态的时候,通过调用操作系统提供的接口,对UI进行渲染,而不是把渲染交给浏览器内核,因此在性能和体验上更好。

  • 驱动原生技术的优势。

驱动原生技术有三大技术优势,分别是体验好、热更新、原生能力。

  • 它拥有原生应用的流畅体验,这种流畅体验是html无法相比的。
  • 它支持动态热部署、热更新,可以做到无感知更新,有利于业务的推广。
  • 它可以调用本地能力包括摄像机、蓝牙、nfc等,html应用是无法做到的。

驱动原生技术的实现方式有很多种,我们以Primeton mobile的实现原理讲解一下,上图是实现原理的示例。开发者使用类web的开发语法,然后通过js解析引擎,驱动到原生层去渲染控件。开发期使用类web的语法是为了降低学习门槛,同时企业也不需要去招聘ios和安卓原生开发人员,有效降低企业成本。

(2)以微应用的模式加速业务推广

简单介绍一下什么是微应用模式?微应用模式,一般是开发一个框架App,这个App提供了除所有用户必须的基础功能,剩余的独立的功能可以拆分出来,分别去开发部署,最后集成运行在框架APP中。大家在使用的支付宝里的各种应用都是采用这种模式实现的。

  • 微应用的三个特点

上图所示,我们总结了微应用的三个特点,业务上独立、开发期项目隔离、运行态动态部署。

开发的独立性,确保了多个团队能够并行开发且不需要相互依赖,其应用的功能又可以与框架App相互独立,确保其自身功能的自由性。运行态动态部署,开发人员不需要把所有的模块应用都打包发。

上图是我们总结了微应用模式给企业带来的价值。

在企业内部应用的访问是有权限的,结合组织管理权限,可以提高业务的响应速度,提升运营的精细化。

(3)建设企业应用监管平台

当企业的app数量一旦上来后,会暴露出很多的管理问题,比如这些app放在哪儿,如果都上Appstore和安卓市场的话,工作量太大,时间成本太高。并且这些大批量的app散落在各个市场,不利于企业运维的人员对应用的统一管理。所以我们提出了构建企业内部应用商店的方案,解决企业内部应用的托管和分发问题。

那企业级应用商店的是什么样子的呢?

有的企业有过移动的实践开发,所以应考虑多种类型的应用,目前常见的应用类型有ios、安卓、混合、h5、微应用,要做到对这几种应用的统一管理。

为了保证对应用的全生命周期管理,应当有健全的审核机制,包括应用创建、灰度、发布、升级、下架全流程审核管理。

在企业内部应用是分权限的,有的应用不是所有人都能使用的,应支持按权限进行管理。

为了业务的推广,应用商店还应该支持多种更新机制。

刚才讲了企业应用商店应保证应用的全生命周期管理,我们看下应用商店怎么样做才能保证应用的全生命周期管理。

我们把应用商店授权分为系统管理员和应用管理员(开发者)。

开发者主要权限是应用创建、申请灰度发布,申请上线,申请下架等。

开发者的每一步基本都离不开系统管理员的管控,比如灰度发布,应用管理员需要申请,并且提交用户白名单。

应用上线的时候同样也是需要系统管理员的审核。

整个设计机制有点参考APPStore的审核管理。

三、某集团企业移动化实施案例

上面是针对问题的解决方案,接下来看下某集团企业移动化的实施案例。

(1)小团队借助“跨平台”高效率完成多业务系统移动化

以几人小团队不到一年的时间内完成了20多个移动app上线。完成了多种业务场景的移动化,比如财务报销、投资管理、隐患排查、智慧党建等多种业务场景的移动化需求,后续还会有更多业务系统移动化。

这些移动APP基于微应用的模式开发,既可以集成到门户里面去,比如财务共享、投资管理、资产管理等,又能以单独的APP发布出去,比如首安云、党建系统等,保证了业务的灵活性。

同时我们基于企业应用商店对这些APP做了统一管理,解决了集团应用托管的问题,同时也给系统优化部做IT运维提供了强大的工具。

(2)“门户+微应用+企业应用商店”加快企业全面移动化脚步

上图是某集团企业门户,该企业门户采用微应用的模式,门户提供了应用商店的能力,我们把开发的财务共享放到了应用商店里面。

有权限的用户可以在商店里面看到财务共享,下载使用即可,不需要额外安装新的APP。

通过门户提供了应用的统一入口,通过商店可以对多类型应用进行管理,这种模式加快了企业全面移动化的脚步。

如上图所示,财务共享、投资管理等微应用的待办信息都聚合到了门户的文件办理模块,从文件办理列表点击任何一条信息,通过判断流程信息和传递参数都能跳到对应的微应用的详情界面。

(3)部分业务系统移动化案例

  • 互联网财务系统#打破报销壁垒,提高报销效率
  • 隐患排查系统:互联网工业#打造安全高效的移动巡检系统
  • 党建一点通:移动党建学习办公平台
  • 物资计量

以上便是我们企业移动的简单实施案例,希望能给大家带来帮助。

精选提问:

问1:移动应用与原eos平台集成的过程中是共享的后台业务逻辑(逻辑流),是建议使用restful规范重新封装还是直接调用逻辑流?

答:建议直接调用逻辑流即可,因为Primeton Mobile 已经实现了和eos做了很好的融合和对接。

问2:跟bps集成,提交工作项目前需要提交的参数很多,有没有好的封装好的类似coframe的开源包可以使用?

答:在移动端做流程参数提交,首先要简化移动端提交的参数,因为有很多业务字段是可以在后台关联填进去的。移动端只需要保留一些必填字段就可以。

问3:请问微应用的开发,你们有用到什么框架吗?

答:微应用的开发我们使用的是Primeton Mobile框架。

问4:企业中怎样将各app统一认证登陆? 有借鉴的方式吗?

答:统一认证登录,一般是在门户里面做。门户需要对接统一认证服务,拿到用户身份认证的授权。然后把授权通过定义好的传参方式传给微应用。同样微应用的后台系统也需要对接统一认证服务,通过微应用传的授权去统一认证服务器拿到用户的信息。


关于作者:罗登林,普元移动产品研发团队核心成员,拥有首钢集团、 韵达快递、胜利油田、广州农信等众多移动平台项目实施研发经验。

原文发布于微信公众号 - EAWorld(eaworld)

原文发表时间:2018-08-13

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

采用云计算和虚拟化的益处

在目前的情况下,IT部门热衷于降低成本和提高性能。创新使用先进的技术,这是一个合乎逻辑的解决方案,但很难实现。数据中心需要优化的基础设施和部署策略,以提高数据中...

3615
来自专栏云计算D1net

多云环境带来管理挑战

企业中多云环境的增长点燃了降低复杂性和冗余性管理工具的需求。 根据Gartner的数据,接近半数的大型企业将在2017年末之前运行混合云架构。灵活性、可伸缩性和...

42710
来自专栏安全领域

剖析物联网解决方案

物联网(IoT,Internet of Things)是一个强大的变革力量,它是数字商业利用来融合物理与数字世界的基石。

5876
来自专栏葡萄城控件技术团队

为什么Web 设计会‘死’?

高质量的Web 模板,成熟的Design Pattern,人工智能的引用,移动技术的冲击是否标志着Web Design 结束的时代已经到来? Web Desig...

2137
来自专栏程序你好

为什么Devs喜欢GitHub(和微软购买它)?

822
来自专栏程序人生 阅读快乐

构建高可用VMware vSphere 5.X虚拟化架构

《构建高可用VMware vSphere 5.X虚拟化架构》以VMware vSphere 5.1版本为例,介绍在企业应用平台上,如何构建高可用ESXi主机、高...

831
来自专栏嵌入式程序猿

Matlab和Simulink R2018a来了

因为最近有项目要用到Matlab和Simulink,今天刚好是Matlab在西安的研讨会,就去到了现场,现场大量讲了有关人工智能和大数据,算法分析,建模等相关,...

1521
来自专栏云计算D1net

多云工作负载迁移:自动化是何作用?

为了高效地管理一个多云计环境,请同时考虑应用架构和用户部署两方面的选项。此外,自动化可有助于多云的高效管理,但它对于工作负载决策方面具有战略意义。 ? 云计算正...

2817
来自专栏云计算D1net

什么是云原生应用 有哪些关键点?

最近讨论云原生应用越来越多,其是指原生为在云平台上部署运行而设计开发的应用。公平的说,大多数传统的应用,不做任何改动,都是可以在云平台运行起来的,只要云平台支持...

2917

Code2Cloud:不只是瓦解ALM

VMware新发布的Code2Cloud很吸引人。根据公告,开发基础设施将作为一项服务交付,不需要安装,也不需要管理硬件或软件。Code2Cloud会替代编程/...

2196

扫码关注云+社区

领取腾讯云代金券