公司正在努力削减成本,提高生产力和迅速提供新功能,以便获得最大数量的用户和市场。云计算和移动是帮助您满足这些需求的两大技术驱动要素。正因如此,IBM 将 Worklight(一个移动企业应用程序平台)和 IBM WebSphere Cast Iron(一个云集成解决方案)一起放在 IBM Mobile Foundation 中,提供了一个全面的端到端解决方案来构建、连接、管理和保护您的移动企业。IBM Endpoint Manager for Mobile Devices 是 IBM Mobile Foundation 的第三个组件,可帮助您管理和保护移动设备。但是,此组件不属于本文的讨论范围。本文的目的是证明您可以使用 IBM Worklight 和 WebSphere Cast Iron 轻松地将移动应用程序连接到 CRM,比如 SalesForce.com。
IBM Worklight 支持执行丰富、跨平台的应用程序开发来满足移动企业的需求。通过利用标准技术和工具,比如 HTML5、CSS 和 JavaScript,IBM Worklight 的开放方法支持组织为广泛的智能电话和平板电脑开发丰富的 HTML5、混合和原生应用程序。
IBM Worklight 包含移动优化的中间件,这些中间件可用作应用程序、企业后端系统和云服务之间的网关。IBM Worklight 旨在与组织的现有基础架构相集成,并利用它们的现有资源和流程。
IBM WebSphere Cast Iron 解决方案是一个单一、完整且健全的平台,专为满足连接您的所有云应用程序、所有内部应用程序和两组应用程序的任何合并式组合的具体需求而设计。Cast Iron Cloud 集成简化了数据迁移和应用程序集成,提供了使用一种 “配置而非编码” 方法完成这样的项目所需的所有内容,这种方法不需要专业程序员或中间件专业化。
在本文中,您将学习如何将 Worklight 的生产力与 Cast Iron 的易用性相结合,构建出一个检索 SalesForce.com 信息的移动应用程序。
场景概述
您将使用 Worklight 和 Cast Iron 解决方案构建一个移动应用程序。这个移动应用程序将显示 SalesForce.com 帐户。对于选定的每个帐户,它将显示关联的 SalesForce.com 联系人。
此场景包含 3 个组件:
Worklight 用于构建移动应用程序 Cast Iron 用作连接到 SalesForce.com 的中间件 SalesForce.com 用作后
端的客户关系管理 (CRM) 系统
此场景的总结如下(参见图 1):
用户在移动设备上启动 Worklight 应用程序。 移动应用程序将用户请求发送到 Worklight 服务器。 Worklight 服务器使用 Cast Iron
Adapter 将用户请求传播到 Cast Iron,并发出一条 HTTP GET 请求。 Cast Iron 使用它的内置 SalesForce.com 连接器查询 SalesForce.com,以获得所请求的帐户或联系人信息。 Cast Iron 使用一个基于 HTTP 的 XML 响应回复原始的 Worklight 服务器。 Worklight 服务器使用一个基于 HTTP 的 JSON 响应回复设备。
图 1. 场景概述
本文基于 WebSphere Cast Iron Studio V6.1.0.9 和 IBM Worklight V5.0.3(任何版本)。
Cast Iron 假设
对于本文,我们为 Cast Iron 选择了以下假设:
Worklight 将通过 HTTP 请求与 Cast Iron 通信。 仅针对此场景,参数将传递到 URL 中。要获得特定帐户的联系人对象,需要将帐户标识符 (accountid) 传递到 Cast Iron。该标识符将是 URI 的一部分,
例如 http://castironserver/getContacts?id=accountid。但是,这样做不安全,帐户标识符需要有安全保护(加密或编码)。本文不打算介绍这种安全机制。 因为 Worklight 会自动将 XML 有效负载转换为 JSON 有效负载,
所以 Cast Iron 使用基于 HTTP 的 XML 响应回复 Worklight。 如果没有找到任何帐户或联系人,或者 Cast Iron 中出现任何错误,则会将一条 XML 错误消息发送回 Worklight,如下所示。Description 元素中填入了错误来源: <Error> <Name>Cast Iron Error</Name> <Description/></Error>
在文章的 下载 部分中,您会找到用于生成此错误消息的模式 ErrorLog.xsd。
Worklight 假设
出于本文的用途,我们选择了以下 Worklight 假设:
为了构建移动应用程序,我们选择创建一个混合应用程序并使用 Dojo 框架(jQuery 或 Sencha 是其他替代选择)。 我们未在移动应用程序中包含任何能提供一种富有吸引力的用户界面的图形设计元素;我们依靠 Dojo 框架默认情况下提供的元素。 我们为 Android® 和 iOS 平台生成并优化了该应用程序,这需要在您的开发环境中安装相应的 SDK。