基于Hybrid App技术的企业移动应用系统构建研究(2)
时间:2016-09-26 15:53
来源:发表吧
作者:王荣海
点击:
次
Hybrid App技术能够屏蔽移动设备的技术差异,使开发人员专注于具体业务实现,不用考虑过多底层技术细节。同时便于建立统一的技术架构和设计、开发、测试及运行维护规范,有助于提升项目开发效率和交付质量。并且有利于企业移动应用门户的建立,可以有效掌控每类应用的使得情况,实现集中管控的目的。通过Hybrid App技术构建企业移动应用门户,将成为今后一段时间内企业实施移动信息化战略的一个发展方向。
3.2 系统架构
目前对利用Hybrid App技术构建企业移动应用系统的研究相对较少。文献[13]对利用跨平台移动技术构建企业CRM系统提出了一个指导性的方案,但侧重于对功能的分析,对系统架构的描述相对比较简略。国内的文献基本上都是针对Hybrid App技术在小型系统上的应用进行研究,极少结合云平台。本文尝试性地给出一个结合Hybrid App技术和云平台的构建企业移动应用系统的解决方案,其系统总体架构如图2所示。
(1)利用Hybrid App技术开发的移动程序通过Hybrid引擎的打包服务可以生成Android、iOS等不同平台移动App,也可以生成供微信公众号访问的代码,还可以生成供移动设备Web端访问的代码。
(2)服务器使用云服务器,Web服务器与数据库服务器分开部署。
(3)各客户端与云端进行数据交换。
(4)通过MAS移动业务整合使得开发的移动应用可以访问企业原有业务系统,如ERP、CRM、OA系统等。
3.3 开发平台选型
针对主流的Hybrid App开发平台,结合企业移动应用的实际需求,需要在技术先进性、平台完备性、数据连通性、移动安全性、部署便利性、定制服务能力及成功案例等方面进行研究与比较,在研究中可以采用如下方法:
(1)理论评测。针对开发平台所需的产品特性,横向比较各个开发平台的功能特性,检查平台的完备性。
(2)POC原型验证。在固定周期内,对开发平台进行一项或多项功能原型进行验证,考核开发平台基础技术特性以及平台开发商的客户服务能力。
(3)综合实力考核。考察开发商的综合实力包括成立时间、人员规模、成功案例、业界口碑、技术服务能力及深度合作意愿等。
3.4 模板与插件机制
为提高开发效率,可以充分利用Hybrid App开发平台的模板与插件机制。
模板是在集成开发环境中预置的一些界面及代码,比如AppCan开发环境集成了多套应用模板,可以在新建项目时生成电商、新闻、阅读、移动OA及空模板,供开发者套用和定制,完成快速开发,如图3所示。另外还预置了上百套页面布局模板,支持各种形式的布局样式。如页面只有顶部栏、页面既有顶部栏又有底部栏、抽屉等;支持内容区域布局样式,如列表、表单、九宫格、表格等。
如果应用比较复杂,或者需要采用更多移动设备的本地功能,或者某些特定平台具有其他平台没有的一些特性时,就需要用到插件机制。不同Hybrid开发平台编写插件的步骤略有不同,比如对于PhoneGap通常插件至少包括两个部分:
(1)获得原生功能的JavaScript钩子文件。
(2)使用原生语言编写代码,对于Android使用Java,iOS使用Objective-C或Swift,Windows Phone使用C#,用于和设备底层进行交互。
插件编写完后,利用开发平台的功能生成插件包,就可以在移动应用系统的开发中使用了。
为了与企业原有的业务系统相集合,一些Hybrid App开发平台提供了MAS服务即移动代理服务用来实现移动业务整合。以AppCan为例,AppCan的MAS服务构建了统一的接口平台,可以通过Web Service、SOAP、ODBC、LDAP等协议整合原有业务系统各类服务接口,使得前端移动应用程序可以通过这些接口访问原有业务系统数据。通过MAS进行移动业务整合通常包括以下步骤:
(1)新建一个MAS服务。
(2)在MAS服务下面新建一个MAS项目。
(3)在MAS项目下面新建一个接口。
(4)调试并且部署接口。
(5)开发人员调用接口。
3.6 云端部署
云端部署依赖于所采用的Web服务器及数据库服务器。本文建议Web服务器采用Node JavaScript服务器,这样可以使得移动应用开发的前端与服务端使用统一的语言,可以极大地提高开发的效率。Node没有线程,但可以很方便地处理多个并发客户端的请求,比如移动应用程序要访问数据库并显示一些产品详细信息,其过程如下[14]:
(1)移动应用程序发送一个HTTP GET的请求,整个请求包括报头一共500字节。
(2)Node先接收250字节,其余被延迟接收,接收到的数据存储在临时缓冲区中,接着等待其他客户端的请求。
(3)其他几个客户端同时进行并发请求,它们数据一部分也已到达,Node缓存这些请求。这与多线程服务器类似,但没有线程化的开销。
(4)这时,第一个请求剩余250个字节到达。Node调用事件处理函数处理该请求。
(5)事件处理函数处理请求,通过产品标识符请求数据库加载产品信息。
(6)将请求发给数据库后,Node立即回来继续处理客户端请求,无须等待数据库响应结果,这是Node可同时处理多个并发请求的原因。
(7)经过一段时间,数据库发回产品详细信息,这些从数据库返回的字节和从移动应用程序发来的字节采用同样方式处理。当所有数据传送完毕后,Node调用数据库事件处理程序。
(8)将数据库结果集格式化成HTML发送回移动客户端。
(www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/
CSSCI核心/医学投稿辅导/职称投稿辅导。
投稿邮箱:fabiaoba365@126.com
在线咨询:
275774677、
1003180928
在线咨询:
610071587、
1003160816
联系电话:18796993035