第 3 章 查看报告
以下部分中显示的报告示例是分析 jee-example-app-1.0.0.ear 示例应用程序中的 com.acme
和 org.apache
软件包,它们位于 MTR GitHub 源存储库中。
报告是通过以下命令生成的。
$ <MTR_HOME>/bin/windup-cli --input /home/username/windup-cli-source/test-files/jee-example-app-1.0.0.ear/ --output /home/username/windup-cli-reports/jee-example-app-1.0.0.ear-report --target eap:6 --packages com.acme org.apache
使用浏览器打开位于报告输出目录中的 index.html
文件。这将打开一个登录页面,其中列出了已处理的应用程序。每行包含故事点、事件数以及应用程序里遇到的技术的高级概述。
图 3.1. 应用程序列表
随着新规则添加到 MTR 时,事件和预计的故事点改变。测试此应用程序时,这里的值可能与您看到的值不同。
下表列出了可以从这个主 MTR 登录页访问的所有报告和页面。点应用程序的名称 jee-example-app-1.0.0.ear 来查看应用程序报告。
页面 | 如何访问 |
---|---|
Application | 点应用程序的名称。 |
技术报告 | 单击页面顶部的 Technologies 链接。 |
多个应用程序共享的存档 | 点 Archives shared by multiple applications 链接。请注意,只有在在多个应用程序间有共享存档时,此链接才可用。 |
规则提供程序执行概述 | 点页面底部的 Rule providers execution overview 链接。 |
请注意,如果应用程序与其他分析的应用程序共享存档,您会看到有多少故事点来自共享存档,以及此应用程序的独特数量。
图 3.2. 共享归档
有关应用程序间共享的存档的信息,可在多个应用程序报告共享的归档中找到。
3.1. 应用程序报告
3.1.1. Dashboard
点 Application List 中的应用程序名称,从报告登录页面访问此报告。
控制面板提供整个应用程序迁移工作的概述。总结:
- 事件和故事点按类别分类
- 意外和故事点,按所推荐更改的工作量程度
- 根据软件包的事件
图 3.3. Dashboard
顶部导航栏列出了包含关于迁移此应用程序的更多详情的各种报告。请注意,只有适用于当前应用程序的报告才会可用。
Report | 描述 |
---|---|
问题 | 提供有关需要关注的所有问题的简要概述。 |
应用程序详情 | 提供了有关应用程序中找到的所有资源的详细信息,这些资源在迁移过程中可能需要注意。 |
技术 | 显示所有按功能分组的嵌入式库,允许您快速查看每个应用程序中使用的技术。 |
依赖项 | 显示应用程序内找到的所有 Java 打包依赖关系。 |
unparsable |
显示 MTR 无法以预期格式解析的所有文件。例如,假定带有 |
远程服务 | 显示应用程序内找到的所有远程服务引用。 |
EJBs | 包含应用程序中找到的 EJB 列表。 |
JBPM | 包含分析过程中发现的所有 JBPM 相关资源。 |
JPA | 包含有关应用程序中找到的所有 JPA 相关资源的详细信息。 |
Hibernate | 包含有关应用程序中找到的所有 Hibernate 相关资源的详细信息。 |
服务器资源 | 在输入应用中显示所有服务器资源(如 JNDI 资源)。 |
Spring Beans | 包含分析期间找到的 Spring Bean 列表。 |
硬编码的 IP 地址 | 提供应用程序中找到的所有硬编码 IP 地址的列表。 |
忽略的文件 |
列出应用程序中找到的文件(基于某些规则和 MTR 配置)没有被处理。如需更多信息,请参阅 |
关于 | 描述最新版本的 MTR,并为进一步帮助提供有用的链接。 |
3.1.2. 问题报告
点 Problem 链接,从仪表板 访问 此报告。
此报告包括关于所选迁移路径引发的每一个问题的详细信息。遇到的每个问题都会提供以下信息:
- 问题总结的标题。
- 事件总数或问题所遇到的次数。
- 规则故事点可以解决单个问题实例。
- 解决问题的预期工作量。
- 解决遇到的每个实例的总体故事点。这通过乘以每个事件的故事点数来计算得出的。
图 3.4. 问题报告
通过单击标题可展开每个报告的问题来获取附加详情。提供了以下信息:
- 发生事件的文件列表,以及各个文件中的事件数。如果文件是 Java 源文件,则点文件名会将您定向到对应的 Source 报告。
- 有关此问题的详细描述。该描述概述了此问题,提供任何已知的解决方案,以及有关问题或解决方案的相关参考文档。
- 向生成该问题的规则授权 显示 规则的直接链接。
图 3.5. 扩展的问题
默认情况下,问题按照四个类别排序。有关这些类别的信息,请访问请求类别。
3.1.3. 应用程序详情报告
点 Application Details 链接从仪表板访问此报告。
该报告列出了案例点、软件包中的 Java 事件以及应用程序中找到的技术计数。接下来,显示迁移过程中生成的应用程序消息。最后,对过程中分析的每个存档都有此信息分类。
图 3.6. 应用程序详情报告
展开 jee-example-app-1.0.0.ear/jee-example-services.jar
以检查故事点、Java 事件软件包以及此存档中找到的技术计数。此摘要以分配给其迁移的故事总数开始,然后表详细说明存档中每个文件所需的更改。该报告包含以下几列。
列名称 | 描述 |
---|---|
Name | 正在分析的文件的名称。 |
技术 | 正在分析的文件的类型,例如 Decompiled Java File 或 Properties。 |
问题 | 有关需要审核或更改的代码区域的警告。 |
故事点 | 迁移该文件所需的工作程度。 |
请注意,如果某个归档在应用程序中重复多次,它将仅在报告中列出一次,并会标记 [Included multiple times]
。
图 3.7. 应用程序中的重复归档
在应用程序内重复归档的案例点仅计算该应用程序的总故事点数一次。
3.1.4. 技术报告
单击 Technologies 链接,从仪表板访问此报告。
报告在分析的应用程序中列出了按功能分组的技术。概述了应用程序中找到的技术,旨在帮助用户快速了解每个应用程序的用途。
下图显示了 jee-example-app
中使用的技术。
图 3.8. 应用程序中的技术
3.1.5. 事务报告
Transactions 报告显示调用堆栈,该堆栈对关系的数据库表执行操作。Enable Transaction Analysis 功能支持 Spring Data JPA,以及用于 SQL 语句执行的传统的 preparedStatement()
方法。它不支持 ORM 框架,如 Hibernate。
下图显示了 Transactions 报告的示例。
图 3.9. 事务报告
3.1.6. 源报告
Source 报告会在发现它们的源文件上下文中显示迁移问题。
图 3.10. 源报告