将 Java Spring Framework 应用程序迁移到 Windows Azure
我们刚刚发布了一个新教程和示例代码,以阐述如何在Windows Azure中使用 Java 相关技术。在该指南中,我们提供了分步教程,说明如何将 Java Spring Framework 应用程序(PetClinic 示例应用程序)迁移到 Windows Azure 云。此文档附带的代码同样也发布在 GitHub 中。我们鼓励 Java 开发人员下载并探索此新示例和教程。
详细信息
Windows Azure 是一个开放的云平台,它支持各种编程语言和框架,包括 Microsoft .NET、Java、Node.js、PHP、Python 和 Ruby。该指南专为 Java 开发人员编写,演示如何将典型的 Java 应用程序迁移到 Windows Azure 云。该教程主要阐述基于常用的 Spring Framework 构建的示例应用程序 (Java PetClinic),并向您介绍适用于 Eclipse 的 Azure Java SDK、使用 memcached 的 Windows Azure 缓存、Windows Azure 云服务、Windows Azure SQL 数据库以及用于许多其他类型 Java 应用程序的各种其他技术。
Windows Azure 云服务 (PaaS) 还是 Windows Azure 虚拟机 (IaaS) ?
从根本上说,有两种不同的方式在 Windows Azure 上运行应用程序层,例如网站。第一种方式是通过基于 Azure 云服务的平台即服务 (PaaS)。第二种方式是通过基于 Windows Azure 虚拟机 (VM) 的基础结构即服务 (IaaS)。不管使用哪种方式,开发人员都可从多个全球数据中心(美国四个、欧洲两个、亚洲两个)选择一个来托管其应用程序。
- 使用 Windows Azure 云服务,开发人员只需关注应用程序,平台会根据运行的应用程序层自动配置并维护实例(在表层下为 Windows YHyperHY Hyper-V VM)。实例可以水平伸缩一至数百个克隆,并自动进行负载平衡。您可以修改实例大小(具有不同的虚拟核与内存量),但实例本身(包括操作系统层的所有修补和安全更新)基本上由 Windows Azure 自行进行管理。该指南主要阐述在 Windows Azure 云服务上运行 Java Pet Clinic 示例应用程序。
- 通过 Windows Azure 虚拟机,开发人员可以创建自己的 VM 映像,并负责安装和管理此 VM(包括安装在 VM 上的任何软件)。我们为Java 开发人员提供了各种可用的预构建 VM 映像,包括 Windows 和多种 Linux版本。这也是当开发人员对操作系统和 VM 具有低级控制时在 Windows Azure 云中运行 Java 应用程序不错的方式;且可以在多个 VM 上直接安装其他软件(如 mySQL)以构建完整的应用程序, 从应用程序层到数据层。大部分 Java 应用程序可以通过更改少量代码或无需更改代码即可轻松迁移。您也可以设置负载平衡, 通过轮循机制平衡多个 VM(可能运行 Tomcat/JSP 层)的负载。不过虚拟机与 Azure 云服务不同,而是与 VM 在本地运行类似,开发人员必须管理VM的全部, 包括任何安全补丁。本部新教程主要阐述在 Windows Azure 云服务中运行 Java,但我们鼓励开发人员同时尝试使用 Windows 或 Linux VM 的 Windows Azure 虚拟机。
Windows Azure 平台上的 Spring Framework
该新指南包含了 Spring Framework 最近更新的 PetClinic 示例,因为它适合演示多种广泛用于创建可伸缩的 Java EE 应用程序的企业技术, 例如Spring Data JPA、MVC、AOP、JMX、EhCache 和 Logback,并且它也是大家所熟悉的。我们将通过 AOP 在 Azure 缓存上加入瞬态故障处理和 Memcached 以扩展 PetClinic。
对于熟悉 Eclipse 和 STS 的 Java 开发人员,Microsoft 提供了适用于针对 Java 的 Eclipse 的 Windows Azure 工具包。此工具包对使用Eclipse在Windows Azure 中进行 Java 开发提供以下资源:
- 适用于具有 Java 的 Eclipse 的 Windows Azure 插件
- 适用于 SQL Server 和 Windows Azure SQL 数据库的 Microsoft JDBC 4.0 驱动程序
- 适用于 JMS 的 Apache Qpid 客户端库程序包
- 适用于 Java 的 Windows Azure 库程序包
- Windows Azure 访问控制服务筛选器
- Windows Azure 常见插件
在该指南中,我们将使用适用于具有 Java 的 Eclipse 的 Windows Azure 插件和适用于 SQL Server 的 Microsoft JDBC 4.0 驱动程序。Eclipse 的插件提供了 Windows Azure 服务的 Java 包装和 一个Windows Azure 模拟器。
结论
Windows Azure 是一个开放的云平台,它支持各种编程语言和框架。我们鼓励 Java 开发人员探索 新的 Windows Azure Java 教程和示例代码,了解所使用的 Windows Azure Java 相关技术。
本文翻译自: