企业移动化十年发展中几项关键技术梳理

2016-03-02

 

IM协议

在移动信息的传播方面,必不可少的是信息协议。现在,移动IM经常用的协议包括以下三种:

第一类常用的是 SIP/SIMPLE 等协议,这个在电信网络用的比较多,包括全球运营商都在推广的下一代融合通信。这类协议的特点是非常健壮,但是规范非常复杂,光是看英文规范文档可能就要学习一两年,它能够让信息在通信节点之间传输得到很好的安全保障,非常高的互通行,扩展性,同时在私有部署的时候也可裁剪,所以实际上现在仍然非常多的业务在使用这类协议。

第二类常用的就是 XMPP 协议,XMPP 是互联网开源标准的典范。常用的还是 C/S 架构。XMPP 协议的初衷是为互联网设计的一套协议,基于 XML协议,是可扩展的,所以理论上你可以将它扩展和配置成你想要的业务。但是,XMPP 协议是基于互联网早期标准所衍生的,所以它在某些特性上是不适合移动端的,更适合于 PC 端,比如它的数据包比较大,另外在断线重连上做的也不够好。

XMPP协议也会产生一些问题,比如丢消息、延迟响应慢等等,根源还在于 XMPP 机制上更多的还是考虑了稳定的网络环境设计的。XMPP 虽然是开源的软件,开源代表免费,但开源不代表不需要花时间,很多时候为了解决一个小小的问题,你必须通读它的源代码,你才知道问题出在哪里,如何解决。

第三类常用是物联网协议,比如目前比较知名的MQTT协议,这是 IBM 开发的一款支持多平台的,非常节省资源的一套通信协议。这类协议的特点就是预设场景很简单,发送和接收信息都是一次,报文尽量简短。

数据管理

数据管理涉及到各个层次的元数据,管理的内容包括元数据的获取、元数据的更新、使用和面向应用项目的元数据使用处理等多个方面。

数据的管理涉及数据库、数据处理软件、数据使用系统、面向应用的数据分析等各个环节。下面给出了一种普通意义的以元数据信息系统为基础的元数据管理模式:

通常意义上的数据管理是指元数据通过各种途径形成后,对其内容的添加、删除、更新等涉及内容改变的操作和元数据内容检索、查询、放置、组织等常规性元数据操作,从这种意义上元数据的管理可以通过两种方式实现,即系统管理模式和用户管理模式。系统管理模式是面向数据库的,由数据库管理系统专业人员完成,数据用户只有使用权,没有元数据的操作权,数据应用项目中新生成的数据集的元数据也有应用系统传递给数据库管理员,然后由数据库管理员统一管理。

这种方式中,数据在处理过程中形成的动态元数据很难及时记录下来。另一种管理方式是用户管理模式,它是面向应用项目的,即允许某些数据用户在数据应用元数据的变动信息直接反馈给元数据库,这样则能保证元数据的动态更新和新生成数据集元数据的及时捕获及写入元数据文件。

Hybrid

Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。由于Hybrid App技术基于HTML5低成本跨平台开发优势又兼具Native App特质,并且很快吸引了众人的目光。其大幅的降低了移动应用的开发成本,可以通过现有应用商店模式发行,在用户桌面形成独立入口。

Hybrid App方案是一把双刃剑,一方面它平衡了Native App和Web页面的优缺点,一定程度上解决了Native App开发过程中迭代慢,版本依赖,Native开发资源不足的问题,但另一个方面过度依赖Hybrid方案会造成Web前端开发成本快速上升,甚至造成App整体体验下降以及功能缺失。

时间/地理围栏

时间/地理围栏(Geo-fencing)是LBS的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。当手机进入、离开某个特定地理区域,或特定的时间,手机可以接收自动通知和警告。有了时间/地理围栏技术,位置社交网站就可以帮助用户在进入某一地区时自动登记。其有几个关键点:

1.地理区域是被网格化的。网格化的标准是根据一个地理区域内的业务和商业聚类的,而不是纯粹的经纬度和城市地图的匹配。

2.实际上地理围栏的各个围栏的区隔是一个个的应用需求群地图。主要的商业需求聚集在特定区域,形成的一个聚合信息服务区域。

3.终端自己或者在网络帮助下能够识别所处的围栏。

4.用户的围栏信息彼此之间能够共享,也能够与应用开发商分享。

5.双向、互动是关键。

6.商业群落是地理围栏的核心,类似城市的商圈。

7.价值整合、场景整合、信息流资金流整合是关键。

容器化

容器为应用程序提供了隔离的运行空间:每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。为了能达到这种效果,容器技术使用了一系列的系统级别的机制来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,确定每个容器可以利用多少资源。此外容器之间共享同一个系统内核,这样当同一个库被多个容器使用时,内存的使用效率会得到提升。

目前,有更多客户正朝着应用的容器化迁移,确保第三方应用可以分享我们容器化的环境并启用带有SDK的私有应用。

文章来源:中国软件网

 

返回新闻首页 »