使用 IBM Worklight 进行服务器端移动应用程序开发: 第 3 部分. IBM Worklight 适配器与 RESTful 服务的集成

本文是一个文章系列的第 3 部分,该系列介绍了如何结合使用 IBM® Rational® Application Developer for WebSphere® Software 和 IBM® Worklight 开发用于移动设备的应用程序,这些移动设备包括运行 Android、iOS、BlackBerry 和 Microsoft Windows Metro 操作系统的移动设备。在第三篇文章中,Bhargav Perepa 介绍了三个重要主题:在 Rational Application Developer for WebSphere 中开发和测试一个 JPA 公开的 RESTFul 服务应用程序;使用该应用程序创建一个应用程序逻辑包,将它作为库在移动应用程序开发中使用的库;使用 Worklight Studio 开发和测试一个使用该库的服务器端移动应用程序组件。

Bhargav Perepa, IT 专家, IBM

Bhargav PerepaBhargav Perepa 是位于华盛顿特区的 IBM Federal Software Group 的 WebSphere 架构师和 IT 专家。他曾经是 IBM Austin WebSphere Development Lab 的 WebSphere 开发人员,并在 IBM 芝加哥积累了一些 Smalltalk 和 C++ 开发经验。Bhargav 拥有芝加哥伊利诺伊理工学院计算机科学硕士学位,以及奥斯汀市德克萨斯大学的 MBA 学位。



2013 年 10 月 10 日

简介

通过阅读本文,您将学习如何使用 IBM® Rational® Application Developer for WebSphere®, Version 8.5.1 的开发人员工作台开发和测试一个 JPA 公开的 RESTful 服务应用程序。然后将学习如何开发和测试一个移动应用程序,该应用程序包含一个使用了前面的 RESTful 服务应用程序的服务器端适配器组件。IBM® Worklight 支持开发服务器端组件来调用封装在 Java、Web 服务、RESTful 服务和企业 JavaBeans (EJB) 组件中的业务逻辑。它是 IBM MobileFirst 移动企业应用程序开发平台的一部分(请参见 参考资料 部分,获取有关二者的更多信息的链接)。


用例架构

本文使用了第 1 部分中开发的相同用例。实体 UsecaseUsecases 是从 FIPSDB 的基础 USECASES 表、IBM® DB2® 数据库使用 Java 持久性 API (JPA) 中生成的。

用例实现包含 8 个不同的活动,它们大体可分为以下步骤:

  1. 使用 Rational Application Developer 开发一个 JPA 应用程序。
  2. 使用 Rational Application Developer 开发一个 JPA 测试客户端应用程序。
  3. 在 Rational Application Developer 中使用 JPA 测试客户端应用程序测试 JPA 服务器应用程序。
  4. 使用 RESTful 服务应用程序公开 JPA 服务器应用程序。
  5. 使用 Web 浏览器测试 JPA RESTful 服务应用程序。
  6. 使用 Worklight Studio 开发一个移动应用程序。
  7. 将提供的 JPA RESTful 服务应用程序逻辑作为一个 Java 归档文件库合并到移动应用程序中。
  8. 使用 Worklight Studio 测试移动应用程序,这也是一个完整场景的端到端测试。

使用 Rational Application Developer 开发一个 JPA 应用程序

以下步骤列出了使用 Rational Application Developer for WebSphere Version 8.5.1 执行 JPA 应用程序开发的过程。

  1. 启动 Rational Application Developer,指定文件系统上的工作区位置:
    C:\temp\RADWS\Part3
  2. 如果用于 Java 应用程序开发的 Java Enterprise Edition (Java EE) 透视图尚未打开,请打开它 (Window > Open Perspective > Other > Java EE),然后单击 OK
  3. 创建一个新的 Java EE 项目:
    1. 选择 New Dynamic Web Project 创建向导:File > New > Dynamic Web Project
    2. 输入项目名称:WLUsecasesJPAProject
    3. 为剩余选项保留默认设置。
    4. 单击 Next 两次。
    5. Web Module 页面上,选中 Generate web.xml deployment descriptor 选项,然后单击 Finish
    6. 如果看到提示,在看到选择 Yes 还是 No 的选项时指定 Yes,以关闭 Open Associated Perspective? 对话框窗口。

Java EE 透视图的 Package Explorer 现在显示了新创建的 Java EE 项目。

  1. 选择 JPA 项目方面:
    1. 选择 WLUsecasesJPAProject > Properties
    2. 选择 Project Facets,然后选择 JPA
    3. 单击 Further configuration available
    4. Connection 下拉菜单中选择 FIPSDB
    5. 选择 Annotated classes must be listed in persistence.xml 的单选按钮。
    6. 选择 Create mapping file (orm.xml)
    7. 接受剩余选项的默认值。
    8. 对于 Modify Faceted Project,请单击 OK
    9. 对于 Properties for WLUsecasesJPAProject,请单击 Apply
  2. 选择 JAX-RS(RESTful Web 服务)项目方面:
    1. 选择 WLUsecasesJPAProject > Properties
    2. 选择 Project Facets,然后选择 JAX-RS (Rest Web Services)
    3. 接受所有其他选项的默认值。
    4. 对于 Modify Faceted Project,单击 OK
    5. 对于 Properties for WLUsecasesJPAProject,单击 Apply
    6. 对于 Properties for WLUsecasesJPAProject,单击 OK
  3. 配置 JPA 数据库连接:
    1. 创建 FIPSDB 后端数据库并填入数据。请参见 下载 部分中提供的项目文件,获取数据定义和填充数据。
    2. 选择 Window > Open Perspective > JPA 打开 JPA 透视图。
    3. 选择 Data Source Explorer > FIPSDB (DB2 Alias) > Properties > Driver Properties > Test Connection (参见图 1)。
      图 1. JPA 透视图,FIPSDB 数据库连接属性
      驱动程序属性视图和 ping 成功消息
    4. 选择 Data Source Explorer > FIPSDB (DB2 Alias) > Connect
    5. 选择 Data Source Explorer > FIPSDB (DB2 for Linux, UNIX, and Windows V9.7) > FIPSDB > Schemas > DB2ADMIN > Tables > USECASES > Data > Return All Rows。
      备注:
      此选项应返回 9 行。
  4. 从表中生成 JPA 条目:
    1. 选择 WLUsecasesJPAProject > JPA Tools > Generate Entities from Tables
    2. 选择 USECASES 表。
    3. 选择 Update class list in persistence.xml
    4. 选择 Next,然后再次选择 Next
    5. Customize Default Entry Generation 页面上,指定包:
      com.worklight.customcode.entities
    6. 单击 Next
    7. Customize Individual Entities 页面上,指定类名称: Usecases
    8. 单击 FINISH
  5. 配置 JPA 属性:
    1. 选择 WLUsecasesJPAProject > JPA Tools > Configure JPA Entities
    2. 选择 Available JPA Entities: Usecases
    3. 选择 Update class list in persistence.xml,然后单击 Next
    4. 选择 Primary Key,选择 seqno,然后单击 Next
    5. 选择 Named Queries,然后单击 Default 按钮。
    6. 选择 Concurrency Control,然后指定 Collision Attribute:seqno: int
    7. 选择 Other。选择 Add an equals and hashCode method if not present
    8. 选择 Other。选择 Convert Java Set objects to Java List objects
    9. 选择 Other。选择 Convert Java SQL Temporal Types to Java Util Temporal Types
    10. 单击 FINISH
  6. 配置项目,以便将它用于 Java Database Connectivity (JDBC) 部署:
    1. 选择 WLUsecasesJPAProject > JPA Tools > Add JPA Manager Beans
    2. 选择 Available JPA Entities: Usecases
    3. 选择 Next
    4. 检查并接受默认选项。
    5. 单击 Finish
  7. 添加 JPA 管理器 bean:
    1. 选择 WLUsecasesJPAProject > JPA Tools > Configure Project for JDBC Deployment
    2. 检查并接受默认选项。
    3. 单击 OK
Usecases.java 实体类
这是一个 JPA 生成的 Java 类,表示 FIPSDB DB2 数据库的 USECASES 表中的一行。这个类包含一组构造函数、GET、SET、hashCode 和 equals 方法。
 
UsecasesManager.java 实体管理器类
这是一个 JPA 生成的 Java 类。为了让应用程序能够管理相关的实体类,JPA 定义了 EntityManager 的概念。EntityManager 帮助实体类将它们的状态持久化到基础的关系数据库表中。一个相关实体类的集合在 JPA 中称为一个持久性单元。应用程序中的一个 EntityManager 实例可管理一个持久性单元,使用 persistence.xml 配置文件创建可以编程方式访问的持久性上下文。
清单 1. persistence.xml 文件的内容
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="WLUsecasesJPAProject">
<jta-data-source>java:comp/env/FIPSDB</jta-data-source>
<class>com.worklight.customcode.entities.Usecases</class>
</persistence-unit>
</persistence>

EntityManager 跟踪在应用程序中的持久性上下文内发生更改的所有实体类。它然后将这些更改同步到持久性存储中(DB2 FIPSDB USECASES 表)。

使用 Rational Application Developer 开发一个 JPA 测试客户端应用程序

使用以下步骤作为指导,使用 Rational Application Developer for WebSphere Version 8.5.1 执行 JPA 测试客户端应用程序开发。

  1. 创建一个新的 Java 测试客户端项目:
    1. 选择 File > New > Java Project
    2. 输入项目名称WLUsecasesJPATestClientProject
    3. 选择 Next
    4. 选择 Source 选项卡,以便选择默认的输出文件夹:
      WLUsecasesJPATestClientProject/src
    5. 单击 Finish
  2. 在此项目的 src 文件夹下创建一个 META-INF 文件夹:
    1. 选择 WLUsecasesJPATestClientProject > src > File > New > Folder
    2. 指定文件夹名称META-INF
    3. 选择 Finish
  3. 在 META-INF 文件夹内创建一个 persistence.xml:
    1. 选择 WLUsecasesJPATestClientProject > src > META-INF > File > New > Other > XML > XML File > persistence.xml
    2. 选择 Finish
  4. 在 persistence.xml 文件中填入配置条目,检查源文件内容。使用服务器项目的 persistence.xml 文件作为模板来理解配置条目。
  5. 配置测试客户端项目的 Java 构建路径条目:
    1. 选择 WLUsecasesJPATestClientProject > Properties > Java Build Path > Projects Tab > Add > WLUsecasesJPAProject
    2. 选择 WLUsecasesJPATestClientProject > Properties > Java Build Path > Libraries > Add Variable > ECLIPSE_HOME > Extend > runtimes > base_v85_stub > lib > j2ee.jar,然后单击 OK。
    3. 选择 WLUsecasesJPATestClientProject > Properties > Java Build Path > Libraries > Add Variable > ECLIPSE_HOME > Extend > runtimes > base_v85_stub >plugins > com.ibm.ws.jpa.jar,然后单击 OK
    4. 选择 WLUsecasesJPATestClientProject > Properties > Java Build Path > Libraries > Add Variable > ECLIPSE_HOME > Extend > runtimes > base_v85_stub > plugins > com.ibm.ws.prereq.commons-collections.jar > OK
    5. 选择 WLUsecasesJPATestClientProject > Properties > Java Build Path > Libraries > Add External JARs,然后指定以下 Java 归档文件:
      • C:\I\SQLLIB\java\db2jcc_license_cu.jar
      • C:\I\WAS\runtimes\com.ibm.ws.jpa.thinclient_8.5.0.jar
      • C:\I\SQLLIB\java\db2jcc4.jar
    6. 选择 OK
  6. 创建并实现一个 Java 测试客户端类:
    1. 选择 WLUsecasesJPATestClientProject > src > File > New > Java Class
    2. 指定包:com.worklight.customcode.test
    3. 指定名称:WLUsecasesJPATestClient
    4. 选择 Finish

WLUsecasesJPATestClient.java 客户端类程序创建了一个 EntityManager,还创建了一组查询,运行它们,然后返回查询结果集。

  1. 检查 WLUsecasesJPATestClient 的 Java 源文件内容。

在 Rational Application Developer 中使用 JPA 测试客户端应用程序测试 JPA 服务器应用程序

以下步骤列出了使用 Rational Application Developer for WebSphere Version 8.5.1 和 JPA 测试客户端应用程序来测试 JPA 服务器应用程序的过程。

  1. 将 JPA 服务器应用程序部署到 WebSphere Application Server v8.5.0.2 上:
    1. 选择 Servers View > WebSphere Application Server v8.5 at localhost
    2. 右键单击并从上下文菜单中选择 Add and Remove > WLUsecasesJPAProjectEAR,然后单击 AddFinish
    3. 使用 Servers 视图确认应用程序已成功运行。
  2. 执行 JPA 测试客户端 Run Configurations 操作:
    1. WLUsecasesJPATestClientProject > src > WLUsecasesJPATestClient > Run > Run Configurations > Java Application > New > (x) = Arguments 选项卡 > VM arguments 输入 VM 参数字符串:
      -javaagent:C:/I/RAD/runtimes/base_v85_stub/plugins/com.ibm.ws.jpa.jar
    2. 选择 Apply,然后选择 Run
    3. 查看 Console 输出,以验证 test 已成功运行,如图 2 所示。
图 2. 在控制台视图中验证 JPA 服务器应用程序是否正确执行
结果表明 ‘EntityManager successfully created’

公开 JPA 服务器应用程序作为 RESTful 服务应用程序

接下来,将刚创建的 JPA 服务器应用程序包装为 RESTful 服务应用程序。这涉及到将一个 JAX-WS servlet 添加到您的 JPA 服务器应用程序中,在 Java 类中创建 RESTful 服务实现逻辑,并注释用于 RESTful API 访问的类文件资源。以下步骤给出了操作细节:

  1. 将 JPA 服务器应用程序公开为 RESTful 服务应用程序:
    1. 使用 Web Application 3.0 Deployment Descriptor 编辑器,选择 WLUsecasesJPAProject > WebContent > web.xml 来打开 web.xml 文件。
    2. 选择 Web Application (WLUsecasesJPAProject) > Servlet (JAX-RS Servlet) > Add > Initialization Parameter > OK。一定要保存更改: File > Save or Ctrl+S
    3. 选择 Problems View > JSR-311, 2.3.2。param-name 应该是 javax.ws.rs.Application 警告消息。
    4. 右键单击 Quick Fix 并选择 Create a new JAX-RS Application subclass。设置 web.xml 文件中的 param-value,然后单击 Finish
    5. 指定包com.worklight.customcode.jaxrs
    6. 指定名称:WLUsecasesJAXRSApplication
    7. 选择 Finish
  2. 为 Java 类创建 RESTful 服务实现。
    1. 选择 WLUsecasesJPAProject > src > New > Class
    2. 指定包:com.worklight.customcode.resources
    3. 指定名称:ErrorUtil.java
    4. 选择 Finish
    5. 选择 WLUsecasesJPAProject > src > New > Class
    6. 指定包:com.worklight.customcode.resources
    7. 指定名称:UsecasesResource.java
    8. 选择 Finish

将 JPA 实体类公开为 JAX-RS 资源,这涉及到将 UsecasesResource.class 添加到 HashSet 对象中。这样,getClasses 方法就能返回一个包含 JAX-RS 资源的 HashSet 对象,这些资源在 WLUsecasesJAXRSApplication.java 源文件中被实例化。

ErrorUtil.java 类
这是一个异常处理类,包含 4 个方法的逻辑。其中两个方法接受一个字符串消息作为输入参数,将它转换为一个 JSON 对象或 JSON 数组对象。另外两个方法接受一个字符串和一个状态对象作为输入参数,构建一个包含 JSON 对象或 JSON 数组对象的响应对象。
 
UsecasesResources.java
这个类包含 Path、GET 和 Produce 注释。
 
Path 注释
用于定义资源的 URI。
 
GET 注释
用于修饰一个执行安全的、重要的 HTTP GET 操作的方法。
 
Produce 注释
表明一个使用 GET 注释修饰的方法返回的媒体类型。

@Path("/usecases") 映射到以下 URI:
http://host:port/WLUsecasesJPAProject/jaxrs/usecases

UsecasesResource.java 源代码中的 com.worklight.customcode.resources.UsecasesResource.getAllUsecases() 方法响应 HTTP GET 请求。

@Path("/seqno/{seqno}") 映射到以下 URL:http://host:port/WLUsecasesJPAProject/jaxrs/usecases/seqno/{seqno}。

UsecasesResource.java 源代码中的 com.worklight.customcode.resources.UsecasesResource.getMyUsecasesBySeqno(int seqno) 方法响应 HTTP GET 请求。

  1. 检查并分析代码。

使用 Web 浏览器测试 JPA RESTful 服务应用程序。

以下步骤列出了使用浏览器测试 JPA RESTful 服务应用程序的过程。

  1. 干净地编译项目并将编译好的项目重新发布到服务器。
  2. 将浏览器 URL 指向:http://localhost:9080/WLUsecasesJPAProject/jaxrs/usecases(参见图 3)。
图 3. 验证 RESTful 服务调用 getAllUsecases() 是否正确执行
RESTful 服务调用 getAllUsecases() 的成功执行结果
  1. 使用浏览器导航到此 URL(参见图 4):http://localhost:9080/WLUsecasesJPAProject/jaxrs/usecases/seqno/{seqno}
图 4. 验证 RESTful 服务调用 getUsecase(8) 是否正确执行
RESTful 服务调用 getUsecase(8) 的成功执行结果

将 JPA RESTful 服务应用程序逻辑包创建为 Java 归档文件,以供移动应用程序使用

以下步骤列出了通过将 JPA RESTful 服务应用程序打包让其逻辑在移动应用程序中可用的过程。

  1. 将 JPA 应用程序逻辑导出为 JAR 文件。选择 File > Export > Jave > JAR file > Next > > WLUsecasesJPAProject > WebContent > WEB-INF > classes > com
  2. 输入此信息作为要导出的文件的名称:
    JAR 文件:c:\temp\WLUsecasesJPAProjectUtil.jar
  3. 单击 Finish,检查 WLUsecasesJPAProjectUtil.jar 文件的内容(参见图 5)。
图 5. WLUsecasesJPAProjectUtil.jar 文件的内容
WLUsecasesJPAProjectUtil.jar 归档文件的内容结构

使用 Worklight Studio 开发一个移动应用程序

执行以下步骤,使用 IBM® Worklight Studio Version 5.0.6.1 开发一个移动应用程序。这些步骤适用于该工具的早期版本,只需细微修改,甚至无需修改。(作者在给出的版本上测试了该用例。)

创建一个新项目

  1. 启动 Worklight Studio,在文件系统上指定以下路径作为工作区位置:
    C:\temp\WRKLT\WSAdapterCall2JPARESTfulServices
  2. 使用项目创建向导创建一个新的 Worklight 项目:File > New > Worklight Project
  3. 指定 HybridWLUsecasesJAXRSProject 作为 Worklight 项目名称
  4. 选择 HybridApplication 作为 Worklight 项目模板
  5. 单击 Next
  6. 指定 HybridWLUsecasesJAXRSApp 作为应用程序名称。
  7. 保留此屏幕上剩余的默认值,然后单击 Finish

创建一个新的 Worklight 适配器

  1. 要启动新的 Worklight 适配器创建向导,请选择 WLHTTPAdapterCall2JavaProject > adapters > Worklight Adapter
  2. 单击 New > Worklight Adapter 启动该向导。
  3. 选择 HybridWLUsecasesJAXRSProject 作为项目名称
  4. 指定 HTTP Adapter 作为适配器类型
  5. 指定 UsecasesJAXRSHTTPClientAdapter 作为适配器名称
  6. 单击 Finish
  7. 检查 UsecasesJAXRSHTTPClientAdapter.xml 和 UsecasesJAXRSHTTPClientAdapter-impl.js 源文件的内容。

图 6 在编辑器中显示了已完成的适配器逻辑设置。该适配器在 JavaScript 函数中实现了两个方法,每个函数都调用了您在前几步中开发的 JPA RESTful 服务应用程序逻辑。JPA RESTful 服务应用程序逻辑可供 Java 归档文件库中的移动应用程序使用。该实现演示了如何调用 JPA RESTful 服务应用程序实例方法。

图 6. 编辑器中的 Worklight 适配器实现
JavaScript 中的适配器函数实现

启动 Worklight 服务器来部署适配器

要启动 Worklight 服务器,请执行以下步骤:

  1. 选择 HybridWLUsecasesJAXRSProject
  2. 单击 Start Worklight Server
  3. 将 Worklight 适配器部署到 Worklight 服务器上:
    1. 选择 HybridWLUsecasesJAXRSProject > adapters > UsecasesJAXRSHTTPClientAdapter
    2. 选择 Run As > Deploy Worklight Adapter

控制台视图确认 Worklight 适配器已成功部署到 Worklight Studio 中。

Worklight 管理控制台还显示了 Worklight 适配器的成功部署,要验证它,可在 Google Chrome 浏览器(首选的浏览器,因为它支持 Web 开发)中输入以下 URL:
http://localhost:8080/console

将 RESTful 应用程序逻辑合并到移动应用程序中

以下步骤介绍了如何导入 JPA RESTful 服务应用程序库,以便在 Worklight Studio 中开发的移动应用程序中使用它:

  1. 启动导入向导,将 Java 归档文件库导入您的 Worklight Studio 工作区中,以便在您将移动应用程序项目部署到 Worklight 服务器上时,移动应用程序可以使用导入的库。
  2. 选择 HybridWLUsecasesJAXRSProject
  3. 选择 server > lib > import > File System > Next 导航到服务器。
  4. 指定要在移动应用程序中使用的 Java 应用程序库。
  5. 选择要从文件系统中导入的 .jar 文件:
    C:\temp\WLUsecasesJPAProjectUtil.jar
  6. 接受默认位置,将文件导入工作区中:
    HybridWLUsecasesJAXRSProject/server/lib
  7. 单击 Finish

图 7 显示了已完成的 Worklight 应用程序项目,它已经可以用于测试。

图 7. Worklight 应用程序项目已完成并且可用于测试
Project Explorer 的 HybridWLUsecasesJAXRSProject 内容

使用 Worklight Studio 测试移动应用程序

以下步骤将会指导您对移动应用程序执行端到端测试。JPA RESTful 服务应用程序逻辑是从移动应用程序的适配器组件调用的。

调用 getNumOfUsecasesInstances 静态适配器方法

  1. 对于要测试的实例适配器方法,请选择 getUsecase(id)
  2. 选择 HybridWLUsecasesJAXRSProject > adapters > UsecasesJAXRSHTTPClientAdapter
  3. 选择 Run As > Invoke Worklight Procedure
  4. 指定项目名称:HybridWLUsecasesJAXRSProject
  5. 指定适配器名称:UsecasesJAXRSHTTPClientAdapter
  6. 指定过程名称:getusecase
  7. 检查签名:getUsecase(id)
  8. 指定参数(以逗号分隔):8
  9. 单击 Apply,然后单击 Run

图 8 显示已成功调用实例方法 getUsecase(8)。

图 8. 对 getUsecase(8) 的请求
该屏幕显示了结果的详细信息

调用 getAllUsecases() 实例适配器方法

  1. 选择要测试的 getAllUsecases() 实例适配器方法。
  2. 选择 HybridWLUsecasesJAXRSProject > adapters > UsecasesJAXRSHTTPClientAdapter
  3. 选择 Run As > Invoke Worklight Procedure
  4. 选择项目名称:HybridWLUsecasesJAXRSProject
  5. 选择适配器名称:UsecasesJAXRSHTTPClientAdapter
  6. 选择过程名称:getAllUsecases()
  7. 单击 Apply,然后单击 Run

图 9 显示已成功调用 getAllUsecases() 适配器方法的这个实例。

图 9. getAllUsecases() 的结果
该屏幕显示了结果

结束语

此文章系列的第 3 部分介绍了如何使用 Rational Application Developer for WebSphere Software 工作台完成多项工作:

  • 开发一组服务器和客户端 JPA 应用程序
  • 使用已开发的 JPA 客户端应用程序测试 JPA 服务器应用程序
  • 将 JPA 应用程序公开为 RESTful 服务应用程序
  • 测试 JPA RESTful 服务应用程序
  • 打包 JPA RESTful 服务应用程序逻辑,以供移动应用程序使用
  • 使用 Worklight Studio 开发一个移动应用程序,它包含一个使用以前开发的 JPA RESTful 服务应用程序逻辑的 Worklight 适配器
  • 端到端地测试移动应用程序。

请参见 “下载” 部分,下载本文的样例文件。


致谢

衷心感谢来自 IBM 的 Sujatha Perepa 和 Roger Snook 提供的审阅反馈、建设性建议、支持和创造性的团队工作。


下载

描述名字大小
应用程序样例、配置和日志文件RAD_WL_ArticleBundle_03182013.zip11.7MB

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational, 移动开发
ArticleID=947947
ArticleTitle=使用 IBM Worklight 进行服务器端移动应用程序开发: 第 3 部分. IBM Worklight 适配器与 RESTful 服务的集成
publish-date=10102013