将 Server Community Edition 应用程序方便地迁移到 WebSphere Application Server

alphaWorks 提供的新工具可以帮助您将现有的 J2EE™ V1.4 应用程序从基于 Apache Geronimo 的 IBM® WebSphere® Application Server Community Edition V2.0.x 迁移到 IBM WebSphere Application Server V6.1。

引言

迁移为 IBM WebSphere Application Server Community Edition 编写的应用程序,并使该应用程序像在 IBM WebSphere Application Server V6.1 上运行的那样需要一系列步骤,其中一些步骤是自动的,还有一些步骤是手动的。IBM 的新增 Migration Assistant for WebSphere Application Server Community Edition 工具是为执行自动化步骤和帮助减少所需的手动工作而创建的。本文将简要概述此新的迁移工具(在 alphaWorks 中提供),以帮助轻松地迁移到 WebSphere Application Server。

本文并不探索在使用该工具时可能遇到的任何具体问题,但是本文将提供一些总体指南,以帮助您使用和解释所得到的结果。

截至到撰写本文时为止,Migration Assistant for WebSphere Application Server Community Edition(以下称为 Migration Assistant)支持将开发的应用程序迁移到 WebSphere Application Server Community Edition V2.0.x 的 J2EE 1.4 规范。迁移应用程序目前支持的目标环境是 WebSphere Application Server V6.1(未安装任何功能包)。在本文中,对 WebSphere Application Server 的所有参考特别适合于版本 6.1.x。

端到端的迁移概述

Migration Assistant 可通过以下方法简化应用程序从 WebSphere Application Server Community Edition(以下称为 Community Edition)到 WebSphere Application Server 的迁移:

  • 生成应用程序的标准和特定于 Geronimo 的部署描述符的 WebSphere Application Server 等效项。
  • 基于标准的内容和特定于 Geronimo 的部署描述符生成准确指定需要执行哪些其他工作(对未迁移的内容)才能完成迁移的动态输出。

下面从较高层次概述了使用 Migration Assistant 执行迁移时涉及的步骤:

  1. 运行 Migration Assistant 命令行实用工具(wasma.batwasma.sh),并作为输入传入应用程序和任何外部引用的、特定于 Geronimo 的部署计划。此操作的结果是创建以下两项可交付内容:
    • 一个几乎与 WebSphere Application Server 兼容的 EAR 或 WAR 文件:正如前面提到的,Migration Assistant 不会自动迁移所有内容(最简单的 EAR 或 WAR 除外),因此在大多数情况下,仍需要执行其他步骤才能完成迁移;因此这里使用了“几乎”。
    • 特定于应用程序环境的动态文档 (.html):每个应用程序都会产生自己的不同输出,该输出仅包含完成该应用程序迁移所需的操作项。Migration Assistant 生成的输出是根据 J2EE 定义的角色构造的;为开发人员(适用于应用程序组件提供人员和应用程序组装人员角色)提供的步骤与为部署人员(适用于部署人员和系统管理员角色)提供的步骤各不相同。
  2. 应用程序组件提供人员或应用程序组装人员将查看为任何操作项生成的文档的开发人员部分。解析所有开发人员的操作项后,应用程序将与 WebSphere Application Server 兼容。此时,可以将应用程序和生成的文档发送到部署人员或系统管理员来执行其他迁移工作。
  3. 部署人员或系统管理员将解析开发人员部分列出的任何操作项。尽管开发人员操作项将特定于应用程序(如绑定其他库和重新包装外部资源适配器),部署人员部分中的操作项将特定于 WebSphere Application Server V6.1 环境(如创建数据源和将资源引用绑定到物理资源)。
  4. 将应用程序安装到 WebSphere Application Server 环境,并开始测试。

安装和运行工具

  1. 从 alphaWorks 下载 Migration Assistant。通过将下载的 .zip 文件解压缩到选择的目录来安装工具。此目录称为 WASMA_HOME。

  2. 迁移工具使用一些 WebSphere Application Server 二进制文件(JAR 文件)分析您的应用程序 EAR 和 WAR 文件,并创建用于在 WebSphere Application Server 上部署的 EAR 和 WAR 文件。您必须在系统上安装 WebSphere Application Server,并且必须将 WAS_INSTALL_ROOT 环境变量在您的系统上正确地设置为 WebSphere Application Server 根目录。



    图 1. 运行 Migration Assistant 之前的初始安装
    运行 WASMA 之前的初始安装

  3. Migration Assistant 是分析 EAR 或 WAR 文件的命令行工具。图 2 显示了由用法消息提供的 wasma 命令语法。



    图 2. WASMA 命令行语法
    WASMA 命令行语法

    该工具可生成两个输出:

    • 用于在 WebSphere Application Server 上部署的 EAR 或 WAR 文件。
    • HTML 报告文件,该文件描述了让 EAR 或 WAR 文件在 WebSphere Application Server 上成功运行需要执行的任何其他工作。

    向 Migration Assistant 的主要输入是需要迁移的 EAR 或 WAR 文件。对于在 Community Edition 上部署 EAR 或 WAR,还可以指定可选的外部部署计划;它会覆盖 EAR 或 WAR 文件中任何特定于 Geronimo 的部署计划。默认情况下,Migration Assistant 将其输出放入包含输入 EAR 或 WAR 文件的目录。您可以使用 -o-a 标志将输出放在更方便的位置。WASMA crack 可打开 tmp-dir 的输入存档,如果需要,您可以使用 -t 指定它。



    图 3. 调用 WASMA
    调用 WASMA

    在图 3 的示例中,wasma 命令在基于 J2EE 1.4 的 PlantsByWebSphere.ear 示例应用程序上运行。命令行控制台输出相当简单。其中的迁移状态消息简要地指示需要多少工作,后跟提供输出报告 HTML 文件位置的消息。在本调用中采用了缺省值,因此,图 4 所示的输出文件所在的目录与输入文件相同。在浏览器中打开 .html 文件。



    图 4. WASMA 生成的输出
    WASMA 生成的输出 

查看输出报告

图 5 显示了生成的 .html 报告文件的顶部,它与浏览器中显示的一样。Input 部分显示了该工具用来生成此报告的输入参数。它提供输入和输出存档的位置、可选的外部部署计划(如果提供)和日志文件的位置。通常,您不需要参考日志文件。如果您的工具存在问题,则需要查看此文件进行调试。

Status 部分提供迁移结果的简要总结。存在以下三种可能性:

  • 成功,不需要任何其他工作。
  • 成功,但需要更多的工作。(这是本示例中的状态。)
  • 失败

Deployment Plans 部分列出了 Migration Assistant 在迁移输入存档时处理的部署计划。


图 5. 工具输出:Overview 部分
工具输出:Overview 部分

报告的其余部分列出了使输出存档在 WebSphere Application Server 中成功运行需要的其他手动配置的项。正如前面描述的,按照角色将这些项分组为以下部分:面向开发人员的 Application Component Provider/Application Assembler 部分和面向部署人员的 Deployer/System Administrator 部分。Section Summary and Links 就像一个目录,它提供所需的工作概要和指向下面报告中每个部分的链接。

图 6 显示了从所生成输出的 Developer 部分提取的示例项。此处的操作项是将应用程序部署到 WebSphere Application Server 环境之前需要对它执行的步骤。您预期可以在本部分下发现的一些操作包括:

  • 使用 EAR 重新包装外部引用的 Web 模块。
  • 生成特定于 WebSphere Application Server 的 EJB 到 DB 映射。
  • 根据需要,使用 EAR 访问任何依赖项和包。

图 6. 工具输出:Developer 部分
工具输出:Developer 部分

图 7 包含所生成输出的 Deployer 部分的示例项。此处的操作项是在安装迁移应用程序之前需要在 WebSphere Application Server 环境中执行的步骤。您预期可以在本部分中发现的一些操作包括:

  • 绑定资源引用。
  • 创建物理资源(如数据源)。
  • 设置安全和绑定安全角色。

图 7. 工具输出:Deployer 部分
工具输出:Deployer 部分 

进一步了解

现在让我们了解一下报告中的某些个别项。

将为需要手动干预的每个元素的实例生成日志记录,生成顺序是 Migration Assistant 在迁移存档时遇到元素的顺序。在输出报告中,每个元素列出一次,并提供一个表,记录每个实例的值或在存档中发现此元素的次数。元素按部分分组,该部分与通常负责执行工作的人员角色(开发人员或部署人员)相关。根据手动迁移元素所需的工作多少,元素大致按降序显示。

图 8 显示了突出显示的 Message 部分的项。这是每个元素的日志文件中的消息文本,简要描述了 Migration Assistant 遇到的问题元素。消息的变量数据用于元素的每个实例或每次出现,标识修复问题所需的精确资源和其他数据。每个变量都标有名称、以粗体显示,并用 {} 号括上。


图 8. 工具输出:Message 部分
工具输出:Message 部分

图 9 显示了突出显示的 Values 部分中的项。本部分在一个表中列出了每条消息或元素实例的变量数据。变量名称位于列标题中,以粗体显示,并匹配 Message 部分中的名称。


图 9. 工具输出:Values 部分
工具输出:Values 部分

图 10 显示了突出显示的 Explanation 部分中的项。本部分提供了此元素要解决的问题的较完整的描述。


图 10. 工具输出:Explanation 部分
图 10. 工具输出:Explanation 部分

图 11 显示了突出显示的 User Action 部分中的项。本部分描述了如何解决此问题,一般提供一个指向 WebSphere Application Server V6.1 信息中心的链接,链接内容提供了解决问题的完整信息和具体步骤。


图 10. 工具输出:User Action 部分
工具输出:User Action 部分 

结束语

IBM 的 Migration Assistant for WebSphere Application Server Community Edition 可以帮助减小将简单的 J2EE 1.4 应用程序从 WebSphere Application Server Community Edition V2.0.x 迁移到 WebSphere Application Server V6.1 所需的大量手动工作。对于更复杂的应用程序(如使用 EJB V2.1 或依赖于服务器独特功能和资源的那些应用程序),该工具将生成开发人员和部署人员进行手动迁移步骤所需的文档,对每个显示的角色都提供要迁移的部署构件,并提供详细的解释和用户操作以及指向 WebSphere Application Server V6.1 信息中心的上下文相关的链接。

Migration Assistant 工具在不断改进。如果在使用此工具时,提示您创建所需的迁移功能列表,请一定将意见和建议发布到本文或与此工具相关的论坛。

请使用浏览器的分享功能分享到微信等