作者还给出了他曾参与创建的一个实际的面向云的 MEAP(即 Convertigo Mobilizer)作为示例
企业的移动性项目越来越多,那些有价值的项目需要创建更多的项目;但这一需求是一个主要瓶颈。现在已经不再是将一个数据源连接到某种移动设备,IT 基础架构面对的是多个设备平台、复杂的安全性问题、不同的企业应用程序和数据源,许多设备没有 API。
这种 “多设备对多平台” 的移动应用程序集成场景会带来一些移动集成挑战。
移动集成挑战
公司面临的将移动应用程序整合到其云环境中的集成挑战包括:
现有应用程序的移动支持。 复杂的移动开发语言。 自带设备 (bring-your-own-device, BYOD) 的趋势。 如何创建和定位业务逻辑。 如何才能不会将移动的面向 Web 的架构错认为 SOA。
让我们对它们做进一步的研究;稍后,我会更加详细地介绍我的团队如何在开发我们的产品过程中处理这些问题。
现有的应用程序不支持移动
支持移动意味着允许访问这些应用程序的数据和业务逻辑,但不幸的是,这些应用程序很少能够提供构建新的移动用户界面所需的 API 或服务。要减少改变现有应用程序的工作负载,一个解决方案是通过连接器在未发生改变的现有应用程序上支持移动功能。
开发人员可能没有使用复杂移动开发语言的经验
开发移动应用程序通常需要使用一些复杂的 Objective C 和 Java 资源,而初级的 Web 开发人员对这些资源往往并不十分了解。不过,在结构上,移动应用程序的确会使用要求提供 HTML5 和 JavaScript 技能的用户界面,而这些技能是 Web 开发人员所具备的。应对这一挑战的一个解决方案是提供一个转换桥(Bridge),让 Web 开发人员可以通过该转换桥使用自己知道的技术编写移动应用程序代码。
企业必须支持多个特定平台以及自带设备的趋势
跨平台挑战要求移动开发一次完成即可在多个平台(iOS、Android、Blackberry、Windows Phone 等)以及具有不同内存和显示器大小参数的多个设备(智能手机、平板电脑等)上运行。正如上一节中提到的那样,一个常见的、更易于使用的转换桥可能是解决这个挑战的关键。
何处是使用应用程序业务逻辑的最佳位置?
应用程序业务逻辑不应编码到移动设备中:设备内编码应用程序业务逻辑会导致跨多个移动应用程序的相同业务过程的难以管理和重复编码处理。如果业务逻辑集中在服务器端,则会带来更为有效和更易管理的架构,能够在多个移动应用程序中重用。在服务器上创建业务逻辑层,以便能够组合、编排和计算自多个企业源的数据,这是一种明智之举。
不要混淆 SOA 与 WOA
大多数企业都知晓(或者专长于)面向服务的体系架构的概念和结构。它们可能有一个基于 SOAP Web 服务的信息系统,由企业业务总线编排。但移动世界并不是以 SOA 为基础的。大多数移动设备环境都依赖于 WOA,即面向 Web 的架构,该结构基于 REST 或 JSON 服务,并通过 OAuth 协议进行验证。这些协议针对低带宽的 3G 网络进行了优化。在 WOA 世界中,应该有一种利用组织的 SOA 属性的方法;一种解决方案是在非常结构化的、严格的 SOA 与灵活而又敏捷的 WOA 之间建立一个接口层。例如,该接口层应该通过几次单击就能够让现有的 SOAP Web 服务转变成 REST/JSON 服务。
现在,让我们来快速看看移动企业应用程序平台(或 MEAP)如何适应我之前描述的移动应用程序集成场景。
MEAP 内幕
移动企业应用程序平台是一个产品和服务的综合套件,通过处理过程的某些细节来支持应用程序的开发和部署。在应用程序部署阶段和整个生命周期中,MEAP 通过添加一个管理层来处理设备、网络和用户组的范围,从而帮助开发人员解决开发移动软件的各种难题。
MEAP 的一些常见属性包括:
跨平台,“只需编写一次,即可到处部署” 的能力。 让您不再纠结于基础业务逻辑的界面。 适用于: 公司想要在单个基础架构上部署的多个应用程序。 可扩展到公司目前移动用户群规模的应用程序。 在联线和离线模式均可使用的应用程序。 易于开发的模板,让程序员无需
精通就可以利用较为复杂的语言。
常用的 MEAP 结构
MEAP 通常由三个组件组成:
移动中间件服务器:处理所有的系统集成、安全性、通信、可伸缩性、跨平台支持等。数据没有存储在服务器上;该服务器管理后端系统与设备之间的数据。 移动客户应用程序:连接到中间件服务器,并驱动设备上的用户界面和业务逻辑。它们有 “胖” 版本(安装在此设备上的本地应用程序上)和 “瘦” 版本(以类似 HTML5 这样的形式呈现在设备浏览器中)。 移动配置/开发工具箱:创建并调整移动组件。
我何时应该考虑使用 MEAP?
IT 分析公司 Gartner 建议,如果想让移动功能支持三个或更多的移动应用程序或移动操作系统,或是想要与至少三个后端数据源集成在一起,那么就可以考虑使用 MEAP。(Gartner RAS Core Research Note G00211688, 20 April 2011;需要注册。)