构建一个集成了 Web 服务的可移植 Java 旅行应用程序(1)
 
- UID
- 1066743
|

构建一个集成了 Web 服务的可移植 Java 旅行应用程序(1)
为了演示在云中构建和部署应用程序所带来的高级互操作性与可移植性,我决定构建一个有趣的小小旅行应用程序。
我的应用程序由两部分组成,利用保存在用户配置文件中的用户偏好设置来展现一幅地图,其中会显示一片区域内有哪些空闲的酒店房间。第一部分通过使用 MongoDB 服务来管理用户偏好,并将结果服务通过一个 API 向外部公开。第二部分将第一部分与外部服务集成在一个 Web 应用程序中。
“云应用程序必须是可扩展和可移植的,并能够与内部服务轻松集成。它在整个生命周期内的使用和管理绝不能令人厌烦。”
Note:
- 单击 Run the app 后,您可以使用任意 ID 和密码登录。
- 为了编写本次练习的代码,单击 Get the code at JazzHub 后,单击右上角的 EDIT CODE 按钮(如果尚未登录,请输入您的 JazzHub 证书),然后单击菜单上的 FORK 按钮创建一个新项目。另外还可以导出代码,具体操作是在左侧导航中选择 File > Export。
构建一个类似的应用程序的前提条件- 基本熟悉
- (或 Eclipse IDE),并安装 Cloud Foundry 插件
- NoSQL 数据库
- 帐号
- 帐号
- ,用于 jQuery 的 Google Maps V3 插件可以简化使用 Google Maps API 的工作
步骤 1. 创建云应用程序我是在 Bluemix 上创建和部署这个示例应用程序的。对于这个示例,我选择使用 Java 和 Spring 框架。要创建应用程序,请访问 Bluemix 并选择应用程序的类型(Java 单机、Java Web、Ruby 等),在我们的示例中使用的是 Java Web。
图 1. 使用 Bluemix 站点创建一个应用程序的屏幕截图 步骤 2. 安装和使用命令行工具可以使用 Bluemix Web 界面或 Cloud Foundry 项目提供的命令行界面管理应用程序。我为这个示例选择了命令行界面 cf。使用命令行可以部署、关联服务,控制(启动和停止应用程序)等等。从 下载 CLI,并运行安装程序。安装结果是一个可执行文件:cf.exe。首先必须设置目标 API 端点,然后登录。
图 2. 登录到 API 端点的屏幕截图 现在可以列出应用程序、服务和绑定服务。
步骤 3. 准备开发环境这个示例使用了 MVC Spring 框架。所使用的环境是 Spring Tool Suite 和 Cloud Foundry 插件。所使用的工具和技术包括:
- Spring 3.1.1
- JDK 7
- Spring Tool Suite 3.4.0+ Cloud Foundry Integration for Eclipse 1.5.1
创建 Java Web Project 时,需要在 Cloud Foundry 平台上进行部署,因此必须给项目添加 Cloud Foundry 性质。这样做可以创建描述应用程序的 manifest.yml 文件和它对 Cloud Foundry 运行时的资源需求。
我们将开发应用程序的两个部分:
- 第一部分是 UserService。它公开用于管理用户信息的 API。它使用内部的云平台 MongoDB 实现数据持久化,这是一个流行的 。
- 第二部分是 MyVacations,它允许登录用户使用一些参数搜索可用的酒店。UserService 应用程序提供一些搜索参数的值。Expedia Services 提供酒店的列表与详细信息。 在地图上定位酒店的列表。
图 3. 部署模型 UserService 显示了如何使用 MongoDB 服务将用户相关信息保存在一个集中的位置。
UserService 的功能包括:
- 登录功能 — UserService 接收用户名与密码,然后在数据库中搜索用户。如果找到了用户,UserService 会返回它;否则,它会创建一条新纪录。
- 配置功能 — UserService 接收用户名并搜索用户信息(偏好位置、成人数量和小孩数量),并将这些信息返回给客户端。
|
|
|
|
|
|