入门指南


Migration Toolkit for Applications 4.2

了解如何使用红帽应用程序迁移工具包迁移和现代化 Java 应用程序和组件。

摘要

本指南提供了帮助您开始使用 Migration Toolkit for Applications。

第 1 章 简介

1.1. 关于入门指南

本指南适用于希望使用应用程序 Migration Toolkit for Applications (MTA)迁移 Java 应用程序或其他组件的工程师、顾问和其他组件。它提供应用程序的 Migration Toolkit 概述,以及如何使用工具计划和执行您的迁移。

第 2 章 关于 Migration Toolkit for Applications

什么是 Migration Toolkit for Applications?

Migration Toolkit for Applications (MTA)是一个可扩展、可自定义的基于规则的工具,可帮助简化 Java 应用程序的迁移。

MTA 检查应用程序工件(包括项目源目录和应用程序存档),然后生成突出显示需要更改的区域的 HTML 报告。MTA 可用于将 Java 应用程序从先前版本的 红帽 JBoss 企业应用平台 或从其他容器迁移,如 Oracle® WebLogic ServerIBM® WebSphere® 应用服务器

应用程序的迁移工具如何表示迁移?

在迁移应用程序时,应用程序迁移工具会查找常见资源和关注技术和已知问题点。目标是在应用程序所使用的技术中提供高级别视图,并提供详细的报告机构可用于估算、记录以及将企业应用程序迁移到 Java EE 和红帽 JBoss 企业应用平台。

2.1. MTA 功能

Migration Toolkit for Applications (MTA)提供了很多功能,可协助规划和执行迁移项目。

规划和工作估算
MTA 通过详细说明工作类型并估算完成任务来协助项目经理。在 MTA 中作为故事点表示的工作量级别。实际估算将基于所需技能以及所需的迁移工作分类。
识别迁移问题并提供解决方案
MTA 确定迁移问题并突出显示发生问题的代码中的特定点。MTA 建议代码更改并提供其他资源,帮助工程师解决特定问题。
详细报告
MTA 生成大量报告,为迁移工作和特定迁移任务的详细信息提供高级别视图。您可以查看应用程序中所有应用程序的迁移问题、图表和概述信息、应用程序中的模块细分问题、报告使用的技术以及有关其他应用程序和服务的依赖关系。您还可以检查源文件,以查看发生问题的代码行。有关可用 MTA 报告的更多信息,请参阅 CLI 指南
内置规则和迁移路径
MTA 附带一组核心规则,可为多个常见 迁移路径提供迁移 协助。这些规则确定使用其他应用服务器中的专有功能,或者弃用了旧版 JBoss EAP 的子系统。MTA 还包含用于识别常见迁移问题的规则,如硬编码 IP 地址和 JNDI 查找。
规则可扩展性和自定义
MTA 提供了创建强大和复杂的规则的功能。您可以在 MTA 提供的核心规则集上扩展,并创建规则来识别对迁移项目非常重要的额外问题。您还可以覆盖核心规则并创建自定义规则类别。有关自定义 MTA 规则 的更多信息,请参阅规则开发指南。
分析源代码或应用程序存档的功能
MTA 可以评估应用程序存档或源代码,并可一起评估多个应用程序。它可识别跨多个应用程序共享的存档,这有助于减少更准确的工作估算。

2.2. MTA 规则

Migration Toolkit for Applications (MTA)包含基于规则的迁移工具,用于分析您计划迁移的应用程序所使用的 API、技术和架构。实际上,MTA 分析过程使用 MTA 规则来实施。MTA 使用内部规则从存档、解译文件、扫描和分类文件类型中提取文件类型,分析 XML 和其他文件内容,分析应用程序代码,以及构建报告。

MTA 根据规则执行结果构建数据模型,并将组件数据和关系存储在图形数据库中,然后可以根据迁移规则的要求以及报告目的进行查询和更新。

MTA 规则使用以下规则模式:

when(condition)
  perform(action)
otherwise(action)
Copy to Clipboard

MTA 开箱即用提供一组全面的标准迁移规则。由于应用程序可能包含自定义库或组件,因此 MTA 允许您编写自己的规则来识别现有规则集中未涵盖的组件或软件。如果您计划自己编写自定义规则,请参阅 规则开发指南以了解 具体步骤。

第 3 章 支持的配置

3.1. 支持的迁移路径

MTA 支持将应用程序从多个平台迁移至红帽 JBoss 企业应用平台(JBoss EAP),以及从传统基础架构迁移至云环境。下表包括了您的源平台目前支持的 MTA 的迁移路径。

表 3.1. 支持的源平台迁移路径
源平台迁移到 JBoss EAP 6迁移到 JBoss EAP 7Cloud Readiness [a]

Oracle® WebLogic Server

IBM® WebSphere® Application Server

JBoss EAP 4

[b]

JBoss EAP 5

JBoss EAP 6

N/A

JBoss EAP 7

N/A

N/A

[a] 这个迁移路径可以使用另一个支持的迁移路径同时运行。
[b] 虽然 MTA 目前不提供此迁移路径的规则,但红帽咨询可帮助从任何源平台进行迁移。

此外,MTA 还可用于从第三方 JDK 迁移到红帽的 OpenJDK。下表显示了所有支持的 JDK 迁移路径。

表 3.2. 支持的 JDK 迁移路径
源 JDK迁移到 OpenJDK

Oracle JDK

3.2. 系统要求

3.2.1. 软件

  • Java 平台,JRE 版本 8+
  • MTA 在 Linux、Windows 和 macOS 上进行测试。具有 Java 8+ 支持的其他操作系统应该同样可以正常工作。

3.2.2. 硬件

以下内存和磁盘空间要求是运行 MTA 的最低要求。如果您的应用程序非常大,或者您需要评估多个应用程序,您可能需要提高这些值以提高性能。

有关如何优化性能的提示,请参阅 MTA CLI 指南中的 Optimize MTA 性能 部分。

  • 至少 4 GB RAM。为了提高性能,建议使用具有 8 GB RAM 的四核处理器。这允许 JVM 使用 3 - 4 GB RAM。
  • 最少 4 GB 的可用磁盘空间。一个快速磁盘,特别是固态驱动器(SSD)应该提高性能。

第 4 章 关于工具

Migration Toolkit for Applications (MTA)提供了多个工具,可帮助您进行迁移和现代化工作的不同阶段。查看每个工具的详情,以确定哪个适用于您的项目。

4.1. 关于 CLI

CLI 是 Migration Toolkit for Applications 的 Migration Toolkit for Applications 中的命令行工具,允许用户对应用程序的迁移和现代化工作进行评估和优先级。它提供了大量报告,突出显示分析而不用其他工具的开销。CLI 包括广泛的自定义选项,允许您微调 MTA 分析选项或与外部自动化工具集成。

有关使用 CLI 的更多信息,请参阅 MTA CLI 指南

4.2. 关于 Web 控制台

Migration Toolkit for Applications 的 web 控制台是一个基于 web 的系统,允许用户团队为大量应用程序评估和优先级迁移和现代化工作。它允许您将应用程序分组到项目中以进行分析,并提供大量突出显示结果的报告。

有关使用 Web 控制台的更多信息,请参阅 MTA Web 控制台指南

4.3. 关于 Eclipse 插件

Eclipse 的 Migration Toolkit for Applications 插件可直接在 Eclipse 和 Red Hat Developer Studio 中提供对迁移或现代化工作的更改。它使用 MTA 分析您的项目,标记源代码中的迁移问题,提供指导来修复问题,并尽可能提供自动代码替换。

有关使用 Eclipse 插件的更多信息,请参阅 MTA Eclipse 插件指南

4.4. 关于 Maven 插件

适用于应用的 Migration Toolkit 的 Maven 插件集成到 Maven 构建流程中,允许开发人员每次执行源代码时持续评估迁移和现代化工作。它提供了大量报告,突出显示分析结果,专为希望更新每个构建的开发人员而设计。

有关使用 Maven 插件的更多信息,请参阅 MTA Maven 插件指南

第 5 章 规划应用程序迁移

5.1. 评估迁移的目标

许多企业都面临着保持现有业务运作运作的挑战,同时还能尝试创新。通常,通过提高预期,可以更快地提供新功能并降低成本。

在评估迁移或现代化工作量时,务必要解决特定于您的组织的挑战。组织面临的常见挑战是有限的预算,缺乏内部技能、感知风险、没有已知可预测的流程以及及时准确的工作量估算。

通常,评估大规模中间件迁移或现代化工作量时的目标包括:

  • 预测工作量和成本水平。
  • 调度应用程序迁移并处理冲突。
  • 识别代码、基础架构、流程或知识水平的所有潜在风险。
  • 预测业务案例的投资回报。
  • 识别并减少业务风险。
  • 最大限度地减少对现有业务运营的中断。

红帽已制定了一项策略来最大限度地降低风险,并使应用程序迁移和现代化更加高效。如需更多信息,请参阅 Red Hat Application Migration method。

5.2. Red Hat 的应用程序迁移方法

红帽已制定了一项策略,使大规模应用程序迁移到 Red Hat JBoss Middleware 可量化、成本更低、更风险且更易于完成。

从专有或过时的中间件平台迁移到 Red Hat JBoss Middleware,通过支持应用程序基础架构提供轻量级、模块化和云就绪中间件,从而提高团队效率。JBoss 中间件和其他红帽技术还提供了现代化应用程序开发和交付的绝佳机会,让您可以更迅速地创新。

5.2.1. 最佳实践

红帽建议在规划和执行迁移或现代化时考虑以下实践:

  • 创建用于信息共享的集中式协作平台。

    全面、易访问的文档非常重要,因此可通过解决同一问题两次,轻松共享知识并确保不会重复工作。建议您记录以下项目:

    • 逐步指南,用于从头开始迁移或现代化应用程序。
    • 已知和遇到问题的解决方案集合。
    • 关于新平台的信息。
    • 对特定试点项目所做的更改记录。
  • 尽可能重复使用、自动化和标准化。

    考虑重复使用现有组件而不是创建新组件。自动化与应用程序生命周期相关的流程,如构建、配置、部署和测试。标准化和记录软件打包格式、配置管理、库和依赖项。

  • 使用可靠的可重复方法。

    建议是采用实际方法并尽可能进行一些更改,以获得功能相同的应用程序。有关 使用这个方法 的更多详情,请参阅下面的迁移方法。

  • 涉及早期针对选定的 Red Hat Middleware 组件的红帽专业技术。

    这对使迁移和现代化的低风险、可预测且高效性至关重要。联系红帽咨询以获得帮助。

5.2.2. 方法

红帽推荐的方法论是成熟的、可扩展的方法,可帮助您逐步规划和执行迁移或现代化。

图 5.1. Red Hat Migration Methodology

Red Hat Migration Methodology

该方法由以下阶段组成:

发现
探索技术和识别问题、组织要求和挑战。讨论选项和潜在方法。如需了解更多详细信息,请参阅 发现阶段
设计
从应用程序、基础架构、流程和知识角度识别并缓解最大风险。为解决方案建立策略。证明技术并构建业务案例。如需了解更多详细信息 请参阅设计阶段。
部署
根据明确的交付模型执行之前定义的策略,以正确地扩展现代化或迁移。如需了解更多详细信息, 请参阅部署阶段。
5.2.2.1. 发现阶段

图 5.2. 红帽迁移方法:发现阶段

红帽迁移方法:发现

发现 阶段是您将所有利益相关者和决策者汇聚在一起,以了解当前状态和业务驱动,以及确定迁移或现代化需求。

在此阶段,您将探索技术并讨论潜在的方法。确定现有痛点、问题、要求和一些潜在的挑战。定义高级业务优先级和讨论范围。确定您希望在实现应用程序开发和交付的现代化方式,以便更快地创新。

通常,这会在与红帽专家的研讨会中进行介绍。

5.2.2.2. 设计阶段

图 5.3. 红帽迁移方法:设计阶段

红帽迁移方法:设计

设计阶段是当您确定所有风险时,制定出一个策略和目标架构,证明其技术并建立业务案例。这个阶段由以下步骤组成:

评估

检查现有基础架构、架构、技术和应用程序。识别依赖项、知识、流程和生命周期。定义所需的基础架构、架构、技术和应用程序。确定可行性和潜在风险。草案一个计划并提供粗略估计。

使用 Migration Toolkit for Applications web 控制台或 CLI 分析应用程序有助于确定依赖项、潜在风险和相对工作。有关如何使用这些工具的信息,请参阅 Web 控制台 指南 或 CLI 指南

证明
解决并记录所确定的技术风险,例如,高风险项目和问题未知。构建并塑造新的平台基础架构。根据结果重新定义估算。
实验项目

选择一小组代表应用程序来转换。根据需要完成目标平台基础架构。在进程进行微调时更新文档。此试点项目由迁移执行中的一个或多次迭代组成,在部署阶段扩展。???

使用 Migration Toolkit for Applications Eclipse 插件加快代码迁移。有关如何使用 Eclipse 插件的信息,请参阅 Eclipse 插件指南

计划
根据前面的步骤的结果,对估算并优化项目计划。定义在 Deploy 阶段 用于完成迁移的 rollout 策略。准备和安排相关的技术支持课程
5.2.2.3. 部署阶段

图 5.4. 红帽迁移方法:部署阶段

红帽迁移方法:部署

Deploy 阶段是在设计阶段创建的计划 时执行。在此阶段,您将扩展整个转型过程,以完成计划并将所有应用程序带到新的生产环境。

计划在迭代中执行,以递增方式传递值。对于每个迭代,您不断对计划和文档发现的验证,以改进下一指纹。

使用 Applications Eclipse 插件的 Migration Toolkit 会增加每个迭代中的速度。它可用于 Eclipse 或 Red Hat Developer Studio,并在源代码中直接标记迁移问题,提供内联提示,并提供代码更改建议。有关如何使用 Eclipse 插件的信息,请参阅 Eclipse 插件指南

附录 A. 参考资料

A.1. 其它资源

A.1.1. Involved

为了帮助为应用程序制作 Migration Toolkit for Applications 包括大多数应用程序构建和服务器配置,您可以使用以下任何项目的帮助:

  • 发送电子邮件到 jboss-migration-feedback@redhat.com,并告知我们应该覆盖的 MTA 迁移规则。
  • 提供示例应用程序来测试迁移规则。
  • 识别迁移可能很难迁移的应用程序组件和问题区域。

    • 编写这些问题迁移区域的简短描述。
    • 编写简短概述,了解如何解决问题迁移区域。
  • 在应用程序上尝试 Migration Toolkit for Applications。请务必 报告您遇到的任何问题
  • 对应用程序规则存储库的 Migration Toolkit 提供贡献。

    • 编写 Migration Toolkit for Applications 规则以识别或自动迁移过程。
    • 为新规则创建一个测试。
    • 《规则开发指南 》中提供了详细信息
  • 为项目源代码贡献代码。

    • 创建核心规则。
    • 提高 MTA 性能或效率。
    • 有关如何配置您的环境并设置项目的信息,请参阅核心开发指南

任何级别的参与都非常感谢!

A.1.3. 已知的 MTA 问题

您可以在此查看 MTA 的已知问题: 打开 MTA 问题

A.1.4. 报告 MTA 的问题

Migration Toolkit for Applications 使用 JIRA 作为其问题跟踪系统。如果您在执行 MTA 时遇到问题,请提交 JIRA 问题。

注意

如果还没有,则必须注册 JIRA 帐户才能创建 JIRA 问题。

A.1.4.1. 创建 JIRA 问题
  1. 打开浏览器并导航到 JIRA Create Issue 页面。

    如果您还没有登录,点页面右上方的 Log In 链接并输入您的凭证。

  2. 选择以下选项并单击" 下一步" 按钮。

    • 项目

      对于核心 MTA 问题,请选择 Red Hat Application Migration Toolkit (WINDUP)

      对于 MTA 规则的问题,请选择: Red Hat Application Migration Toolkit 规则(WINDUPRULE)

    • 问题类型error
  3. 在下一屏幕中,完成以下字段。

    • Summary :输入问题的简短描述或问题。
    • 环境 :提供您的操作系统、Java 版本和其他相关信息的详细信息。
    • 描述 :提供问题的详细描述。确保包括日志和异常追踪。
    • 附加 :如果应用程序或存档导致问题不包含敏感信息,并且您已熟悉与 MTA 开发团队共享,则使用 浏览 按钮将其附加到问题。
  4. 单击 Create 按钮以创建 JIRA 问题。





修订 2022-11-12 23:37:06 +1000

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat