企业移动设备 CTO 圆桌会议的重点是智能手机等移动设备在企业计算环境中广泛使用的影响。这些新的个人设备为保护有价值的信息资产和创造商业价值带来了巨大的挑战和机遇。以下是更广泛对话中的要点。要更深入地了解圆桌会议的涵盖内容,请阅读完整的专家组讨论。
从历史上看,当人们考虑面向企业的移动电话时,只有一个真正的选择:RIM(Research in Motion;http://www.rim.com/)的 BlackBerry。对 RIM 的抱怨主要集中在其作为一个完整的端到端企业解决方案。虽然这种架构使 RIM 易于部署和管理,但批评者认为它强制执行封闭式架构,外部 API 很少,使其难以根据业务需求进行定制,并且难以和/或昂贵地维护作为一个完全集成的、任务关键型平台。
今天的选择范围更广,除了 BlackBerry 之外,还包括 Apple 的 iOS (http://www.apple.com/ios/) 和 Google 的 Android (http://www.android.com/)。微软的 Windows Phone (http://www.microsoft.com/windowsphone/en-us/default.aspx) 产品表现如何仍是一个悬而未决的问题。虽然 RIM 过去那种包揽一切的做法让一些人感到沮丧,但在 RIM 的框架下,提供被认为是理所当然的功能的替代方案也可能非常具有挑战性。
移动设备市场非常分散,存在大量功能手机、大量智能手机以及可能不提供数据服务的运营商。至少有 18 个平台和/或操作系统可用。移动市场的变化速度比 IT 领域通常看到的速度快得多——想想每 18 个月就会有一个新的 Windows 版本发布。在计划开发新的应用软件时,不断询问未来 6 到 12 个月的市场状况非常重要。
不要期望移动市场很快会出现类似 Microsoft Windows 那样的赢家。如果你认为世界就是 iPhone 和 Android 的天下,眨眼之间就会变成其他东西。移动领域提供产品的供应商数量相对较多,预计不会出现整合。你的行业和应用集将决定最适合你的智能手机平台。随着移动设备市场的发展,现有参与者将相互交换市场份额,可能还会增加一两个新成员和/或退出者。除非有人生产出新的颠覆性杀手级设备,否则这种情况将持续下去。
由于高度分散和快速变化,希望获得移动应用开发专业知识的 IT 组织不应尝试内部开发。这太难了,犯新手错误的几率太高。最好聘请或外包专业知识,并在第一时间做对。
智能手机在全球许多地区的普及速度非常快。公司在开发移动应用程序方面的投资很大程度上取决于其希望服务的地理区域。这使得智能手机平台的选择尤其困难。你应该首先定义关键问题(例如,功能、安全性和普遍性),然后尽一切努力定义应用程序集必须支持的最低功能。
为了列出受支持平台的优先级列表,你必须对你的用户群进行基础研究:调查用户,查看市场趋势,并尽最大努力预测哪些手机将在你的业务领域流行。不要只看网站统计数据,也不要简单地说全部都支持。你应该问
* 解决方案需要多快到位?
* 必须支持多少个平台?
* 移动服务将在哪些地理区域使用?
* 是员工购买自己的智能手机,还是公司提供?强制的和/或公司提供的智能手机可以实现更好的控制。
如果做出正确的选择,移动设备将提供大规模提供信息服务的机会。错误意味着碎片化,并将导致陷入困境。
建议采用分层方法,每一层代表设备支持的级别不断提高(例如,好、更好、最好)和/或不同类型的可用功能。你需要为每个平台定义正确的功能,以及任何设备所需的最低功能。此外,你必须决定将支持多少层服务,并定义每一层包含的内容。这必然需要妥协,并且不可能让每个人都满意。
为了提高设备支持级别,你必须准备好进行参考端口和单独的设备认证,方法是将这些设备放置在特定网络上,进行物理测试,然后不断重新评估。这通常会导致支持的移动设备的三级层次结构
* 我知道它有效,因为我已经对其进行了认证。
* 我认为它有效,因为刚刚发布该设备的设备制造商表示它与我之前的设备完全兼容。
* 我不知道它是否有效,因为已经进行了多次更改。
或者,或者作为补充,你可以将业务角色与特定设备联系起来。这可能意味着采用一项政策,允许员工在内部网络上使用他们的 iPhone,除非他们想使用企业 CRM 应用程序,在这种情况下,他们必须使用 Android 或 BlackBerry。另一种方法可能要求安全堆栈中较高的服务使用 BlackBerry,而列表下方的服务将允许 iPhone 同步。对于每一层,定义致力于支持每个问题的 IT 资源级别以及该级别支持的设备。认识到试图让每一层都以最高级别支持每台设备是失败的秘诀。
在设计多平台软件时,请考虑以下几点
* 尽可能使用最少数量的 API——这限制了将软件移植到新设备的复杂性。
* 使用最旧的 API——它们已经存在足够长的时间,可以被许多不同的设备变体支持。
* 使用经过最佳测试的 API——它们将是最可靠的。
按照优先级顺序,多平台智能手机应用程序的三种实现选择是:基于浏览器的瘦客户端应用程序;在标准化执行平台(如 PhoneGap (http://www.phonegap.com/))上运行的可移植应用程序的混合方法;或原生编码应用程序。由于智能手机架构的高度分散性,一旦定义了最低功能集,目标就是选择技术解决方案,使程序设计尽可能接近单个应用程序。首先,努力查看应用程序是否可以在受支持设备上的 Web 浏览器(包括 HTML5;http://dev.w3.org/html5/spec/Overview.html) 中运行。由于移动浏览器领域的事情发展非常迅速,如果今天不行,未来是否可以支持该应用程序?查看 W3C (http://www.w3.org/) 和其他标准机构。如果应用程序不适合浏览器,请在考虑开发完全原生的应用程序之前,研究标准化平台是否可行。
许多人在开发多平台移动应用程序时选择 BlackBerry 作为基础平台。与其他移动设备相比,BlackBerry 是一个相对最小的平台,并且由于企业客户的持续使用,开发人员至少以操作系统版本 4.6 为目标。典型的开发策略是针对可以使用浏览器完成的操作,并以此为基础构建到 Android 和 iPhone。从 iPhone 或 Android 开始并向另一个方向发展到 BlackBerry 将会困难得多。
为了保护通常驻留在防火墙后面的信息资产,移动开发人员有三种选择
* 转向瘦客户端,并以与人们对瘦桌面相同的方式保护信息。
* 实施 BlackBerry 特定应用程序,利用 RIM 的专有企业功能。
* 效仿人们对笔记本电脑所做的事情,并安装端点安全产品,以直接对设备施加控制。
对于测试,虽然像 DeviceAnywhere (http://www.deviceanywhere.com/) 这样的工具是一个好的开始,但没有什么可以比得上将设备放置在其生产网络上并进行实际物理测试。计划在所有不同的受支持运营商上运行的所有不同的受支持设备上全面测试应用程序。仅仅购买所有设备并让一个人对每台设备进行基本测试是不够好的。为了实现足够的测试覆盖率,你可能需要聘请第三方测试服务。
虽然 Apple 试图使从 Mac 桌面环境到 iOS 的迁移变得容易,但它们不是同一个环境,并且由此产生的用户体验通常很差。人们普遍认为,将桌面/服务器 Linux 应用程序迁移到 Android 也会产生类似的问题。
使用运营商网络进行数据传输可能非常具有吸引力,因为它通常提供易于身份验证的安全通道。
在美国,批评人士指责运营商数据网络的可用性和性能正在稳步下降,导致智能手机数据服务变得不太有用。如果得不到补救,这很可能会导致用户放弃运营商数据网络,转而使用公共 Wi-Fi 接入点进行网络访问。
美国许多零售企业提供免费公共 Wi-Fi 服务,城市地区通常提供良好的 Wi-Fi 覆盖。几乎所有移动设备都支持 Wi-Fi,移动应用程序开发人员应利用这种替代网络访问模式。
除非数据连接已加密(例如 VPN),否则使用公共 Wi-Fi 进行智能手机数据服务会将你的数据流暴露给该接入点的所有用户。
由于智能手机是个人设备,因此它们通常用于专业和个人角色。为了保护一个或多个角色的信息资产,用户必须携带至少两部手机,或者一部手机必须有一种方法来分隔关键角色的数据和应用程序。
由于需要管理电源和其他有限的资源,虚拟化似乎不太可能成为解决此问题的可行方案。更可能的方法是类似 Unix 的多用户方法。
许多行业对机密数据的披露有明确的规则和法规,移动应用程序开发人员应寻求法律指导,以了解特定于行业的安全合规性要求。总的来说,重要的是创建一种文化,将安全视为一种手段,而不是敌人,以可持续的方式实现业务价值和受控风险的交付。
在金融领域,安全合规性一直围绕着防止敏感客户数据的泄露。为了避免触发强制性客户通知,重点通常是能够以某种技术确定性保证移动设备的丢失不会导致未经授权的信息泄露。
在短期内,由于公共和企业云服务的普及以及它们为数据提供的访问控制,消费者和企业角色中的应用程序架构预计都将趋向于瘦客户端。在某些时候,瘦客户端将变得没有吸引力,而胖移动客户端将更受欢迎,因为
* 可用的运营商网络可用性和带宽下降到无法支持瘦客户端连接要求的程度。
* 由于安全故障或服务提供商糟糕的数据聚合和收集策略导致数据泄露事件增加,将数据存储在公共云中变得没有吸引力。对于私有云服务的企业用户来说,这预计不会成为问题。
在未来两到三年内,平板电脑将在消费者和企业领域成为移动市场的重要组成部分,应用程序将从手机转移到平板电脑。预计平板电脑将成为媒体的主要设备和消费者移动计算的主要平台。
随着运营商网络带宽、可用性和成本对更多移动用户产生负面影响,移动网络空间的更多细分应该会发生。单个设备将能够通过个人区域网络在本地通话,并且将能够共享单个设备网关,以通过 MiFi、蜂窝网络上的电话、Wi-Fi 或任何其他方式获得网络访问。
通过支持始终可用的个人设备,移动平台将从根本上改变可以向最终用户提供的服务类型,更有效地提供这些服务,并显着增加可以从每个经济阶层参与的人数。
问
喜欢还是讨厌?请告诉我们
© 2011 1542-7730/11/0700 $10.00
最初发表于 Queue 第 9 卷,第 8 期——
在 数字图书馆 中评论本文
Andre Charland, Brian LeRoux - 移动应用开发:Web 与原生
几年前,大多数移动设备用一个更好的词来说就是“哑巴”。当然,有一些早期的智能手机,但它们要么完全以电子邮件为中心,要么缺乏复杂的触摸屏,无法在不使用手写笔的情况下使用。即使是更少的设备配备了能够显示简单文本、链接,甚至可能是一张图像之外的任何内容的体面的移动浏览器。这意味着如果你拥有其中一款设备,你要么是沉迷于电子邮件的商务人士,要么是希望今年成为智能手机年的 alpha 极客。
Stephen Johnson - 茶杯中的 Java
很少有技术领域像无线行业一样发展迅速。随着市场和设备的成熟,移动应用的需求(和潜力)也在增长。越来越多的移动设备交付时安装了 Java 平台,这使得大量的 Java 程序员可以尝试嵌入式编程。不幸的是,并非所有的 Java 移动设备都是相同的,这给新的 J2ME(Java 2 平台,微型版)程序员带来了许多挑战。本文使用一个示例游戏应用程序,说明了与 J2ME 和蓝牙编程相关的一些挑战。
- 流媒体和标准:交付移动视频
不相信我?请继续关注……移动电话无处不在。每个人都有一部。想想你上次在飞机上的情景,航班在地面上延误了。可怕的通知之后,你立即听到每个人都伸手去拿手机并开始拨号。
Fred Kitson - 移动媒体:使其成为现实
许多未来的移动应用都基于丰富、交互式媒体服务的存在。此类服务的承诺和挑战是在最恶劣的条件下以低成本向期望很高的用户社区提供应用。情境感知服务需要了解用户是谁、在哪里、何时以及在做什么的信息,并且必须及时且以最小延迟的方式交付。本文揭示了一些当前最先进的“魔法”和研究挑战。