将 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 相关技术。

本文翻译自:

https://blogs.msdn.com/b/windowsazure/archive/2013/11/06/migrating-a-java-spring-framework-application-to-windows-azure.aspx