云计算和移动应用程序在移动开发环境中使用MEAP

作者还给出了他曾参与创建的一个实际的面向云的 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;需要注册。)

时间: 2024-08-01 20:14:53

云计算和移动应用程序在移动开发环境中使用MEAP的相关文章

克服云计算开发环境中的容器难题

如今,企业寻求超越虚拟化,甚至许多企业在寻找一个理想的公共云应用策略,而容器都人气暴涨.因为容器比虚拟机的开销更低,往往是更快.更容易部署,而且通常让企业的每个服务器上运行更多的应用程序.容器似乎是完美的发展目标,但他们还存在安全性和法规遵从问题.另外,开发人员必须处理质量和可用性风险问题.而在探讨在云开发环境使用容器时,不能解除他们使用容器的这些痛点. 开发人员应查看容器中的多道程序.多用户分区,以及虚拟机之间的事情.所以他们必须管理容器隔离的应用程序的组件,了解容器管理工具,如Docker的

在团队开发环境中使用 Visual Studio .NET (二)

脱机时签入文件 不可能在脱机时签入文件:因为您未连接到网络,签入命令未启用.这是故意设置的,这样可以在项目重新联机时方便地查看哪些文件在脱机时被签出. 进入联机状态 这与进入脱机状态基本上相同.若要使解决方案及其项目联机,请在"File"菜单上,单击"Source Control",然后单击"Change Source Control...".显示的对话框与进入脱机状态时相同.选择"Connected"即可使解决方案和项目联机

IFTTT在开发环境中使用Docker的经验

本文讲的是IFTTT在开发环境中使用Docker的经验,[编者的话]IFTTT是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便,其宗旨是"Put the internet to work for you"(让互联网为你服务).Docker在IFTTT中也在开发实践,以下是Nicholas Silva的一些介绍. IFTTT是一款新兴的互联网工具型应用,正如他们给自己的介绍"If This Then T

Linux集群和自动化维3.7.1 开发环境中的Fabric应用实例

3.7 Fabric应用实例 3.7.1 开发环境中的Fabric应用实例 笔者公司在开发环境下使用的都是Xen和KVM虚拟机器,有不少数据,因为是内网环境,所以直接用root和SSH密码连接.系统统一为CentOS 6.4 x86_64,内核版本为2.6.32-358.el6.x86_64,Python版本为2.6.6. 实例1,同步Fabric跳板机的/etc/hosts文件,脚本如下: #!/usr/bin/python # -*- coding: utf-8 -*- from fabri

让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改

第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改   [文章摘要]         Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中.        本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint规则A检查的常见错误,并描述了对应的修改办法.   [关键词]          VC++

详解将ASP.NET Core应用程序部署至生产环境中(CentOS7)_实用技巧

将ASP.NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署

在VC++开发环境中整合Pro*C/C++

c++ 本文所讨论的内容基于以下环境:Microsoft Visual C++ 6.0ORACLE 8i (8.1.7) 当前版本:1.0 (041221) 声明:本文所述的某些操作可能对系统产生重大影响,请慎重操作!本人不对此产生的任何后果负责! 在VC++开发环境中整合Pro*C/C++Pro*C/C++为C/C++语言访问ORACLE数据库提供了极大的方便,但是,在编译的时候往往需要在命名行模式下编译pc文件,而目前多数开发都是在VC++这种整合开发环境中完成的,要在两者之间不停的切换,不

如何在rails开发环境中取得上下文路径

问题描述 如何在rails开发环境中取得上下文路径下面是C#的写法string contextPath = Request.ApplicationPath;求教谢谢!先 解决方案 使用RAILS_ROOT常量解决方案二:查看一下environment.rb就知道了

使用xhprof在开发环境中测试php性能

以百分之一的概率产生测试数据,尽量不影响正式环境效率. class XHProf {     // private $XHProfPath = 'xhprof/';     private $XHProfPath = '/usr/local/apache/htdocs/xhprof/';     private $applicationName = 'sias_application';     private $sampleSize = 100;     private static $ena