background image

 

Java 教程: J2EE 应用程序移植方法和常见问题

引言
  有关 J2EE 应用程序到 WebSphere 应用程

服务器

§

 

的 移植,尽管 IBM 提供了很多的

资料和文章来说明如何将运行在 WebLogic 上的应用程序移植到 WebSphere 上,但是大家

 

可能还是有所疑惑:是否从 WebLogic 移植到 WebSphere 和从 Tomcat、Jboss、Resin 移植到
WebSphere 会有所不同呢?实际上,一个 J2EE

 

应用程 序无论运行在什么平台上,我们都

可以用相同的方法将其移植到 WebSphere 上,这也是 J2EE 规范给我们带来的好处。然而,

 

移植往往不会是一帆风顺 的,移植的难度不仅取决于 J2EE 应用程序对 J2EE 规范的遵循
程度,更取决于它所用到的非 J2EE 成分的可移植性。对于标准的 J2EE 应用程序,我们可 
以通过固定的步骤完成移植任务,而对于其他的部分,我们只能通过耐心的调试和探索 ,

 

以寻求最佳的解决方案。在这篇文章里,我们将详细说明移植的方法和常见 的问题,在
后续的文章里会具体讲述我们在各个平台移植过程中所遇到的特殊问题和解决方法。
  本文假定您熟悉 J2EE 规范,并且使用 WebSphere Studio Application Developer 开发过
部署在 WebSphere 应用程序服务器上的 J2EE 应用程序。在阅读完本文后,建议大家先从
试验入手,完成参考文档中的样例程序,从而对移植任务有一个更加具体的理解。
  移植方法

 

  一、 学习 WebSphere Studio Application Developer,参见参考文档 1。

 

  二、 从应用程序中挑选出最具代表性的子系统
  1、这个子系统应该全面涵盖系统的技术难点,参见常见的问题
  2、归纳总结系统所需的配置和所依赖的类库

 

  三、 分析此子系统的架构,澄清其中各个模块之间的依赖关系
  1  

、包括业务模块之间的依赖关系,以及 Web 模块和 EJB 模块等程序模块之间的依赖

关系等。
  2  

、 如果应用程序中存在过多的交叉引用关系,可以考虑在一定程度上调整系统的架

构和文件组织结构,尽量避免模块之间的交叉调用。
  3  

、一定要避免运行在同一个 JAVA 虚拟机的多个模块中包含相同 JAVA 类或类库的多

个副本。

 

  四、 将这个剥离出来并重新调整过的子系统打包,并在原有的 J2EE 服务器上验证其
可用性
  1、在原有 J2EE 服务器上能够单独运行此子系统
  2、将系统的配置和所需的类库,针对 WebSphere 重新规划,为了能够有效地完成这
一步骤,我们必须先熟悉 WebSphere 的基本概念,包括 WebSphere classloader 的体系结构,
参见参考文档 2。

 

    3 、 测 试 通 过 的 子 系 统 打 包 成 EAR 文 件 , 导 入 到 WebSphere Studio Application 
Developer 中,根据任务视图所提供的错误提示,修复所有构建时的错误。WebSphere 
Studio Application Developer 提供了一个非常出色的错误诊断机制,可以让开发人员轻松

 

的定位并修复应用程序中存在的错误,并且根据错误的提示,开发人员可以在 J2EE 规范
中方便的找到相应的章节,查看详细信息