本文配套源码
面向企业的云计算:第2 部分:Amazon EC2公共云上的WebSphere sMash 和DB2 Express-C
简介
在 3 种类型的云中 —— 公共云、私有云和混合云 —— 公共云 提供的产品是最出色、最成熟的。可访问性和廉价性是导致公共云日趋流行的两个关键特征。为了实现 可访问性和廉价性,Amazon Elastic Compute Cloud (EC2) 基础设施提供了宿主 Amazon Machine Image 实例的公共云,AMI 可向用户交付各种功能。为了让用户能够利用 EC2,IBM 最近发布了 Amazon Machine Images (AMI),它包含了一些针对 EC2 平台的流行软件;这些 AMI 可以根据开发许可免费获 得。此外,IBM 还支持运行在 EC2 基础设施中的特定 IBM 软件。
本文概述了公共云,并讨论了 如何使用 IBM WebSphere sMash 和 IBM DB2 Express-C Amazon Machine Images 交付宿主在 EC2 基础 设施上的 Web 应用程序。
企业和公共云
为了理解企业如何才能利用公共云计算解决方案 ,请从以下两方面考虑:
企业使用公共云提供的应用程序。这个应用程序可能用于处理雇员的工 资数据,也可能是一个客户关系管理系统。通过利用以这种方式交付的应用程序,企业就不再需要在私 有数据中心上安装和维护应用程序。企业还可能节省一部分与许可费用相关的成本,因为大部分云提供 的服务都是根据使用量计费的。
企业利用基于云的宿主解决方案向用户交付应用程序。通过这种 方式,企业就不再需要维护和更新产品系统,因为云供应商负责提供基础设施资源,以满足用户对应用 程序的需求。这个模型还能促进企业服务的普及,因为任何连网的计算机都可以随时随地访问通过公共 云交付的解决方案。
不管在什么场景下,一个常见的主题就是业务的底线价值。很明显,公共云 能够帮助企业减少与拥有软件和数据中心基础设施组件相关的成本。虽然不是很直观,但是使用公共云 能够让企业快速响应服务需求变更,从而使服务能够进入新的市场,并且让宝贵的人力资源集中于业务 创新,而不是仅交付支持业务的技术基础设施。
IBM 和公共云
IBM 是公共云的积极贡献 者,它提供的解决方案让企业能够从云获得应用程序,以及通过公共云交付自己的终端用户应用程序。 从应用程序提供商的角度来看,IBM 提供了 IBM Lotus Live、IBM Lotus Sametime Unyte 和宿主在公共云上的软件开发工具。这套工具让用户能够利用云提供的服务进行交流、讨论 、协作和创新。除了提供这些服务之外,IBM 的 Global Business Services 部门还帮助组织实现利用 公共云产品的解决方案,从而实现所需的云价值。
本文的剩余部分主要关注 IBM 如何使您通过 利用公共云基础设施交付高效的应用程序。如前所述,IBM 在 Amazon Machine Images 中包含了几个企 业级产品,因此可以在流行的 Amazon EC2 基础设施中使用这些软件。IBM AMI 包括:
IBM WebSphere Portal
IBM Lotus Web Content Management Standard Edition
IBM WebSphere sMash
IBM Informix Dynamic Server Developer Edition 11.5
IBM DB2 Express-C 9.5
通过在 Amazon EC2 基础设施上免费提供这些软件,IBM 实现了一个为超过 400,000 个用户提供服务的生态系统,并且吸引了 80% 以上的利用云计算开发服务的开发人员。
要更多地了解 IBM 关于开发人员和云计算的信息,请访问 developerWorks 空间 云计算 站点 。本文分别阐述了 WebSphere sMash 和 DB2 Express-C AMI 的平台即服务(Platform as a Service, PaaS)和数据即服务(Data as a Service,DaaS)。
WebSphere sMash 和 DB2 Express- C
WebSphere sMash 和 DB2 Express-C 都是面向开发人员的强大工具。通过 WebSphere sMash, 您可以使用流行的技术和模式(比如 Dojo、PHP、Groovy 和 REST 服务)创建 Web 2.0 式的应用程序 。DB2 Express-C 提供高效、响应性好和可靠的企业数据,并且包含了纯 XML 处理功能。然而,通过综 合利用这些技术交付响应性好、面向数据的富 Web 应用程序,甚至还能实现更大的价值。
本文 包含的样例应用程序 演示了一个餐馆座位应用程序,它粗略的展示了 WebSphere sMash Zero Resource Model (ZRM) 和 DB2 Express-C 数据库提供的功能。可以轻松地扩展这个应用程序使用的模式,以处理 更加复杂的数据和数据关系。Zero Resource Model 通过与 DB2 Express-C 集成提供了丰富的前端体验 ,该前端由轻量级的高效、高响应性后端所支持。
设置 AMI
要使用 IBM AMI,必须遵循 以下步骤,并且第一步是先决条件:
设置一个 Amazon Web Services (AWS) 帐户。这个帐户用 于管理 EC2 使用。
获取并配置 WebSphere sMash AMI 和 DB2 Express-C AMI。在配置 DB2 Express-C 实例时,为了进行演示请使用默认的用户名。现在还没有创建数据库;这些细节在下一小节 描述。
根据提供的说明将 AMI 部署到您的 AWS 帐户。
创建并激活数据库
在将 DB2 Express-C 和 WebSphere sMash AMI 部署到 EC2 之后,配置正在运行的 DB2 Express-C 实例的数 据库。这个数据库存储应用程序需要使用的表。
使用 SSH 登录并验证您的 DB2 AMI 实例。在登 录之后,使用 su - db2inst1 命令切换到 db2inst1 用户。
使用 createDatabase 命令为应用 程序创建数据库。在 /home/db2inst1/bin 目录中,输入 ./createDatabase RSTDB 命令。
图 1. 创建数据库
停止并重启 DB2 服务以激活新的数据库。使用 su 命令切换回根用户,然后运行 rcdb2 stop 和 rcdb2 start 命令。
图 2. 激活数据库
在重启服务之后,RSTDB 数据库就被激活,并且 DB2 Express-C 实例在端口 50001 上运行。现在, DB2 Express-C 实例的配置已经完成。WebSphere sMash 中的 ZRM 用于与后台集成,因此所有表都被自 动配置好。