WebSphere迁移:从JBoss v4.x 迁移到WASCEv2.x

日期: 2010-01-12 作者:Ashish Jain 来源:TechTarget中国 英文

    将WebSphere® Application Server 和 Apache Geronimo的支持和架构作为JBoss® Application Server的最佳替代选择。本文帮助您将运行在 JBoss上的应用程序迁移到WebSphere Application Server Community Edition。

  Java Enterprise Edition 5(Java™ EE5™)面向开发和运行分布式、多层Java应用程序的编程平台。已开发的应用程序运行在其中一个Java EE容器上。两个容器实现相同的规范,因此可以无缝地将针对一个应用服务器开发的应用程序迁移到另一个应用服务器。然而,由于类加载器机制、应用程序打包方式、本机代码的使用以及部署计划等方面存在差异,这一过程并非一帆风顺。

  在本文中,我们将介绍两种应用服务器及其架构方面的异同。迁移文章 一节介绍将针对 JBoss Application Server 开发的应用程序迁移到 WebSphere Application Server Community Edition所涉及的步骤。首先,我们将从较高的层面介绍这两种应用服务器。

  JBoss应用服务器是Java Enterprise Edition 5兼容应用服务器,用于应用程序开发、测试和部署,由Red Hat创建。注意,到目前为止,JBoss v5一直在jboss.org上发布,但是RedHat JBoss v5尚未完整发行。JBoss v5的迁移应该是类似的。

  Community Edition是Java Enterprise Edition 5认证的基于 Apache Geronimo 的应用服务器。它经过预打包,包含以下开源组件(仅列举其中一部分):

  Apache Derby,用作默认的数据库服务器

  Apache OpenJPA,用作持久化引擎

  Apache OpenEJB,用作EJB容器

  Apache Tomcat,用作 Web 容器

  Active MQ,用作消息传递提供者

  Geronimo内核是Geronimo的核心,它充当粘合剂的作用,可以插入任何开源组件。

  Community Edition的一些高级特性包括:

  Java支持-IBM和Sun Java。

  平台支-SUSE、Ubuntu、Red Hat和Asianux Linux、AIX、Sun Solaris、Windows XP、2003、2008和Vista。

  数据库支持-Apache Derby、IBM DB2、IBM Informix、MySQL、Oracle 和Microsoft SQL Server(任何 JDBC 兼容的数据库都可以使用)。

  消息传递支持-Apache ActiveMQ、WebSphere MQ。

  目录服务器支持-Apache Directory Server、IBM Tivoli Directory Server、Microsoft Active Directory Server、Open LDAP Server和Sun One Directory Server。
 
  内存占用少-可以很轻松地开始使用Community Edition——下载只占用约100MB,因此开发人员可以轻松下载和使用它。Community Editions 的轻巧性也意味着它可以很容易地嵌入到更大的堆栈中,这可以帮助客户和ISV使用Community Edition构建完整的解决方案。

  集中式配置和控制- Community Edition 通过管理控制台提供了监控支持。使用这一特性,您可以对多台服务器收集统计数据和性能数据,并以图形化方式将它们显示给用户。

  面向WebSphere Application Server家族的可移植性 – 您对WebSphere Application Server Community Edition的投资将随时间而增值,因为开源社区将日益成熟并不断创新。同样,WebSphere Application Server Community Edition使您能够访问完整的、可靠的WebSphere中间件产品组合。当您的需求随时间增加时,IBM可以通过WebSphere Application Server配置提供高级的功能,比如SOA。

  免费产品许可-免费用于开发、测试和部署。

  30天免费试用支持-Community Edition提供了30天免费试用支持,用户因此可以感受IBM支持的优势。

  Eclipse插件,用于应用程序开发、测试和部署。

  开放论坛,可以回答您的所有问题。您可以在IBM developerWorks论坛提出任何有关Community Edition的疑问。

  架构异同

  下面的小节展示Community Edition和JBoss Application Server的架构图。

图 1. Community Edition 的架构图

  图 1. Community Edition 的架构图

图 2. JBoss Application Server 的架构图
 
  图 2. JBoss Application Server 的架构图
 
  表 1 展示了 JBoss Application Server 和 Community Edition 在架构方面的异同:

  表 1. JBoss 和 Community Edition 特性对比

JBoss 和 Community Edition 特性对比

  本节介绍您可能会遇到的最常见迁移问题。

  Java EE实现差异

  在迁移过程中,我们会遇到由于供应商在解释Java EE规范方面的差异而引起的问题。比如,一些应用服务器在验证Java EE应用程序方面并没WebSphere产品家族那样严格,因此有时部署描述符就会无法通过验证。另一个例子就是在JSP中使用单引号和双引号在WebSphere产品家族编译期间会出错。

  与类加载器相关的问题

  Java类加载器负责定位和加载类。应用服务器类加载器非常复杂,因此跟踪和解决这些问题也变得十分困难。每个Java EE应用服务器都使用类加载器的定制实现,由于Java EE规范目前并未覆盖类加载器。例如,Community Edition具有一个父-子类加载器结构,而JBoss使用一种统一的类加载器方法。

  共享库

  这些库可以用于多个应用程序或整个服务器。共享库位于不同的位置,并且其配置也因服务器而异。例如,在Community Edition中,可以有几种方法来配置共享库:

  在应用服务器目录中,向部署计划添加对共享库的依赖关系。

  在应用服务器目录的外部,向部署计划添加GBean。

  在JBoss中,在特定于JBoss的部署计划中为库目录添加一个条目。

  绑定库

  每个平台都捆绑了一组独特的框架和库,例如,Apache Xerces和Apache Xalan。这些库的版本和类加载器对于每个平台都是不同的。

  部署描述符

  Java EE规范并没有涵盖应用程序部署和配置的所有方面。这就是我们使用特定于供应商的部署描述符的原因。每个应用服务器使用一组不同的文件集合;这是因为它们以不同的方式实现并具有不同的特性集。如表 1 所述,JBoss使用的部署计划的名称与Community Edition使用的部署计划的名称不同。例如,JBoss将其Web应用程序部署描述符命名为jboss-web.xml,而Community Edition将其称为geronimo-web.xml。在用于验证每个部署计划的模式定义方面,可能还存在许多差异。

  应用程序打包方式

  打包方式对于移植和迁移十分重要。每个应用程序都使用不同的方式打包。这一点,再加上每个应用服务器中的不同类加载器实现,会为迁移带来潜在的问题。要避免这些问题,应当始终遵循Java EE规范,其中包含了有关应用程序打包方式的规范。应用程序通常被打包到一个EAR文件,它可能由以下模块组成:

  EJB

  包含EJB类文件和部署描述符。

  WAR

  包含部署描述符的Web应用程序模块。

  JAR
 
  一个JAR文件,包含其他模块和部署描述符用于Java EE应用程序客户机的常用类。

  RAR

  Resource Adapter归档是一个JAR文件,包含J2C架构的资源适配器。

  使用本地代码

  Java平台允许通过Java Native Interface使用本机代码,例如,使用C或C++编写的代码。使用本机代码会在迁移到不同操作系统时引发问题。例如,一个运行在Windows上的应用程序可能使用.DLL文件,而当您迁移到Linux平台时,同一个应用程序则会使用.SO文件。

  JBoss Extensions

  JBoss添加了一些特定于JBoss的服务器扩展,以增强某些应用程序特性。这些扩展需要被解析为它们的Java EE规范。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • Impact 2012:SOA 3.0时代全面开启

    现在的面向服务架构——SOA并不如以前那样耀眼夺目,而是以“服务”的形式出现在更多的场合中,然而,SOA已经焕发出全新的生机。

  • 何时是创建门户应用最佳时机

    在创建出新企业门户应用,链接到现有系统之前,你可能需要检查一下这些系统,确保这些系统本身不需要重造。这样你可能就会重新考虑是否要创建新企业门户应用了。

  • SOA知识工具包:中间件厂商产品攻略

    对于软件架构师和开发者能否正确理解SOA开发平台的互操作性和性能,我们不得而知,因为IT产业中太多东西缺乏标准或者标准不健全。

  • WebSphere ESB中的大型对象最佳实践和调优

    确保在大型对象系统处理方面获得最优性能是中间件软件用户面临的一个常见问题。通常,大于或等于1M的对象被认为是“大型对象”,需要特别注意。