跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

评论专栏:Donald Vines & Andy Hoyt: Application Migration 工具如何将应用程序更轻松地迁移到 WebSphere Application Server

Donald Vines, 执行 IT 架构师, EMC
作者照片
Donald Vines 目前是 IBM 的执行 IT 架构师,负责北美的 WebSphere 迁移实践。
(An IBM developerWorks Contributing Author)
Andy Hoyt, WebSphere 开发经理, EMC
作者照片
Andy Hoyt 目前是 IBM 的开发经理,负责 Application Migration Tool for WebSphere。

简介: IBM® WebSphere® Application Server Migration Toolkit 包含一个能轻松地将应用程序从源应用服务器迁移到 IBM WebSphere Application Server V7.0 的 Application Migration 工具。本文介绍了这个新工具的功能,向您提供一些资源,帮助您开始使用它。 本文来自于 IBM WebSphere Developer Technical Journal 中文版

发布日期: 2010 年 5 月 20 日
级别: 初级 其他语言版本: 英文
访问情况 : 2503 次浏览
评论: 


使应用程序分析和迁移更轻松

IBM WebSphere Application Server Migration Toolkit 的 Application Migration 工具能帮助您轻松地将应用程序从一个源应用服务器迁移到 WebSphere Application Server V7.0 上。源应用服务器现在支持 WebLogic Server 8.1 和 WebLogic Server 9.2。Application Migration 插件在一个导入的 EAR 文件上工作。这个工具扫描 JSPs、Java™ 源代码和部署描述符以发现移植问题,并在 Eclipse IDE 的 Problems 视图中报告这些问题。您可能遇到的大多数移植问题都可以由这个工具来确定,在很多情况下,这个工具都会给您提供一个快速修复方案来解决它们。

如果您对这个工具不熟悉,本文有 Application Migration 工具功能的简介,以及一些下载和其他资料的指引,帮助您开始使用。


这个工具是什么?

Application Migration 工具是努力使 IBM Rational® Software Analyzer V7.1 能够帮助将一个应用程序从支持的源应用服务器迁移到 WebSphere Application Server 的产物。Rational Software Analyzer 是一个简单而功能强大的工具,能自动进行软件分析,提供更高质量的软件。要完成这项工作,Rational Software Analyzer 使用了大量规则,同时它还允许创建自定义规则,以便适应各种具体环境和目的。

为实现那个目的,创造了用于发现代码迁移问题的自定义规则,这些规则为工具提供了解决许多此类问题的快速修复方案。所有这些自定义规则都捆绑在一个 Eclipse 3.4.2 插件中,您可以免费下载(还无需任何额外许可)。

该插件在导入的 EAR 文件上运行。它对 Eclipse 工作区内的 Java 源代码、JSPs 和部署描述符进行解析,并在 Problems 视图中报告迁移问题。因为这个工具是在源文件、而不是类文件上运行,在运行工具前,您无需在 WebSphere Application Server 下对应用程序进行全新编译。

当分析完成以后,在 Problems 视图中右键单击各个独立结果会为您提供解决问题的选项:

  • View Result 会打开一个编辑器,显示触发规则的源文件。出错的那一行将高亮显示,违反规则的图标就显示在这一行的旁边。
  • Quick Fix 将执行迁移,这个迁移会修改受影响的 Java 代码、JSP 页面或者部署描述符。快速修复方案也许会直接改变文件,或者它会显示完成修改所需的步骤。
  • Quick Fix Preview 支持在任何更新实际执行之前,并排对比原始代码和修改后的代码。
  • Ignore Result 无需进行文件修改就能从清单中删除规则。
  • Quick Fix All 会解决一个给定规则的所有问题。

接受快速修复方案,还是用自己的方法,在这方面您掌握绝对的决定权。如果您不想一步一步执行,那么您还有一个选择:接受全部修改。当您完成修改审查以后,您就可以从 Eclipse 中导出 EAR 文件,将其部署到 WebSphere Application Server。

这款插件是一个基于知识的迁移助手。这就意味着,即便开发人员没有源应用服务器或者 WebSphere Application Server 方面的丰富知识,也能够成功地执行迁移。


这个工具如何运作?

如果将要迁移的应用程序并不在 Eclipse 中,那么您就必须在执行迁移之前,将 EAR 文件导入 Eclipse。如果在 EAR 中的 Java 源文件和 JSP 源文件不可取得,那么这个工具就只能运行规则来迁移部署描述符文件。如果在 EAR 文件中的源文件可用,那么该工具就运行规则来迁移:

  • Java 源文件
  • JSP 源文件
  • 部署描述符文件
  • 类路径审查

该插件包括用于解析 Java 源文件、JSP 源文件以及部署描述符文件的解析器,还有一系列的规则,用于检测专有类、APIs、常量的使用,以及与 Java EE 规范在产品一致性方面的任意差异。这些规则在查找这些文件中的移植问题的主要根源方面是非常有效的。

下面的小节列出了针对上述文件类型的一些规则和快速修复方案,参见 参考资料

Java 源文件

插件是根据 .java 的扩展名来检测 Java 源文件的。这包括 servlets、EJB 组件,以及 Java 类。该工具解析工作空间中的所有 Java 文件,运用规则来查找任何移植问题,并同时显示问题和快速修复方案。


表 1. Java 源文件
规则快速修复方案
不使用 WebLogic RMI API 调用。
检测 WebLogic 专有 RMI 类和 APIs 的引用。
修改代码来使用 Java 标准 RMI 类和 APIs。
不使用 WebLogic 特定的 JNDI 名称。
扫描 Java 文件检测 WebLogic 专有 JNDI 名称值的使用:
  • java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
  • java.naming.provider.url = t3://localhost:7001
修改代码来使用 WebSphere Application Server JNDI 名称,或者使用可移植的 JNDI 查询:
  • java.naming.factory.initial = com.ibm.websphere.naming.WsnInitialContextFactory
  • java.naming.provider.url = corbaloc:iiop:localhost:2809
不使用 WebLogic 专有的启动类或者关闭类。
查找实现 WebLogic 启动和关闭接口的类。
转换这些类来使用标准 javax.servlet.ServletContextListener 接口,并将其注册到应用程序的 web.xml 文件中。
不使用不兼容的 UserTransaction 查询名称。
查找 BMT beans 和 servlets 中对 ctx.lookup(“javax.transaction.UserTransaction”)的引用。(WebLogic 允许这些不兼容查询,而 WebSphere Application Server 则不允许。)
如果这些问题发生在一个 BMT bean 中,那么快速修复方案就对这个 bean 进行转换来使用 ctx.getUserTransaction()。如果问题发生在一个 servlet 或者客户机代码中,那么,快速修复方案就会对它进行转换来使用 JNDI 查询: ctx.lookup(“java:comp/UserTransaction”)
不使用不匹配的抛出子句。
查找 EJB bean 方法中抛出子句之间的不匹配,以及本地和远程接口间的不匹配。(WebLogic 允许这种不合格的不匹配,而 WebSphere Application Server 则不允许。)
添加任何缺失的异常,并将任何额外的异常都移动到 EJB bean。本地和远程的接口不改变。
不使用 WebLogic 专有 Apache 包。
标记对 WebLogic Apache 专有类和能够映射到开源 Apache 类和 APIs 的 APIs 的引用。
修改代码来使用开源 Apache 类和 APIs。您需要下载适合的 Apache Xerces .jar 文件,并将其包括到您的应用程序中。

JSP 源文件

这款插件通过 .jsp 扩展名来检测 JSP 源文件,解析工作空间中的所有此类文件,并应用规则来查找移植问题,提供快速修复方案。要注意的是,JSP 源文件可以像 Java 源文件那样,调用不可移植的类、APIs,以及常量。插件对这些移植问题进行检测,并按照之前所述方式进行处理。


表 2. JSP 源文件
规则快速修复
避免为 JSP 片段使用 .jsp 扩展名。
查找 JSP 片段。有 .jsp 扩展名的片段文件将会被标出,扩展名为 .jspf 的则不会。根据 Java EE 规范,所有 JSPs 都必须进行编译;JSP 片段则不必。
修改文件名及其所有使用重构对话框的引用。
使用 tag/attribute 名称的正确大小写。
报告 JSP 中任何大小写有误的 tag/attribute 名称。根据 XML 规范,tag/attribute 名称是大小写敏感的;WebSphere Application Server 对此有强制要求,而 WebLogic 则不然。
修改受影响的 JSP 源文件中的大小写,来匹配 tag 库中定义的大小写。

部署描述符文件

这款插件通过它们的文件名(例如, weblogic.xml、weblogic-ebj-jar.xml、weblogic-webservices.xml,等等)来检测厂商特定的部署描述符文件。和其他文件一样,插件解析部署描述符,应用规则来查找问题,并提供快速修复方案。


表 3. 部署描述符文件
规则快速修复方案
使用 EJB 引用的标准部署描述符。
WebLogic 部署描述符(weblogic.xml)可以包含 EJB 引用,将会话 beans 映射到它们的 JNDI 名称。
将 weblogic.xml 文件中定义的所有 EJB 引用移动到标准 web.xml 部署描述符。
使用资源引用名称的标准部署描述符。
WebLogic 特定的部署描述符(weblogic.xml)可以包括资源引用,将数据资源映射到他们的 JNDI 名称。
将 WebLogic 特定的部署描述符中定义的所有资源引用移动到标准部署描述符。
不使用 WebLogic Web 服务部署描述符。
查找 Web 服务部署描述符,特别注意查找以下内容是否存在:
  • web-services.xml
  • weblogic-webservices.xml 和同一文件夹中的 Java EE 部署描述符(webservices.xml)。
根据从部署描述符中收集来的信息,产生一个使用 WebSphere Application Server ANT 任务来产生适当 Web 服务工件的 ANT 脚本。如果服务需要,该修复方法还会产生 Service Endpoint Interface(SEI),并将其添加到项目类路径中。这样您就可以运行 ANT 脚本来迁移 Web 服务。

类路径审查

类路径审查会验证类路径是否设置合理。


表 4. 类路径审查
规则快速修复方案
使用类路径的 MANIFEST.MF。
查找 EAR 文件的 APP-INF 文件夹中的类和库。EAR 文件的 WebLogic 扩展名会将那些类和库显式添加到类路径。
通过更新模块的 MANIFEST.MF 文件的类路径条目,将一个条目添加到每个受影响模块的类路径中。这是将类和库添加到类路径的行业标准方法。

工具使用

使用 Application Migration 工具的详细步骤不在本文范围之内。但是为了帮助您开始使用,图 1 显示了该工具的一些关键特性,参考资料 部分提供了您所需的所有详细内容。图中显示了 Application Migration 工具将一个 WebLogic Startup 类迁移到 WebSphere Application Server 的屏幕截图。在该图中:

  • Java Source Compare 面板显示了一个快速修复方案审查特性的例子。如果应用快速修复方案,面板左半边就显示代码,右半边就显示未应用修复方案的原始代码。
  • 在右列中的 Help 选项卡解释了应用的规则和快速修复方案。
  • Java Source Compare 面板显示了您可以选择用于迁移代码的可用选项。选项包括:
    • 查看已扫描文件。
    • 用快速修复方案修改文件。
    • 用快速修复方案审查来预览快速修复。
    • 忽略结果。
    • 修复该规则的所有项。

图 1. Application Migration 工具分析结果
 图 1. Application Migration 工具分析结果

如果您正在从事将应用程序迁移到 WebSphere Application Server 方面的工作,或者将来您将要进行应用程序迁移工作,请下载并试用 Application Migration 工具。您可以找到一个入门向导(见 参考资料)来帮助您,还有一个论坛能够让您分享案例和收集反馈。


参考资料

学习

获得产品和技术

讨论

作者简介

作者照片 developerWorks 投稿作者

Donald Vines 目前是 IBM 的执行 IT 架构师,负责北美的 WebSphere 迁移实践。

作者照片

Andy Hoyt 目前是 IBM 的开发经理,负责 Application Migration Tool for WebSphere。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=490412
ArticleTitle=评论专栏:Donald Vines & Andy Hoyt: Application Migration 工具如何将应用程序更轻松地迁移到 WebSphere Application Server
publish-date=05202010
author1-email=dhvines_cnnew1@us.ibm.com
author1-email-cc=
author2-email=ahoyt_cnnew1@us.ibm.com
author2-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。