View a markdown version of this page

大型机应用程序的转型 - AWS 转换

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

大型机应用程序的转型

AWS Transform 可加速大型机现代化应用程序的转型。本主题描述了可用功能。

先决条件:在 S3 中准备项目输入

AWS Transform 能够处理复杂的大型机代码库。要使用代码库,请确保将所有资产都放在您的 S3 位置。

关键项目投入:

  • 源代码:您必须将大型机源代码文件上传到 S3。这包括 COBOL 程序、JCL 脚本、抄本和任何其他相关的源文件。

  • 数据文件:如果您有大型机应用程序使用的任何 VSAM 文件或其他数据文件,则需要将其上传到 S3。

  • 配置文件:包括特定于您的大型机环境的配置文件。

其他项目投入

  • 系统管理工具 (SMF) 记录:如果适用,请将 SMF 记录上传到存储源代码的 S3 存储桶中的新文件夹,这些记录应采用.zip 文件格式。

  • 格式:要生成技术文档,您可以利用可选的配置文件生成符合所需格式和标准的 PDF 文档,包括页眉、页脚、徽标和自定义信息。

  • 词汇表:T AWS r AWS ansform Transform 利用自动化和生成式 AI 来生成文档和提取业务规则。在 zip 文件的根目录中加入包含重要缩写和术语信息的词汇表 CSV 文件将有助于提高生成的文档质量。

  • 测试数据:如果有,请上传可用于验证现代化应用程序的测试数据集。这些数据应存储在存储源代码的 S3 存储桶中的新文件夹中。

有关项目投入的详细信息可以在这里找到。

Sign-in 并创造一份工作

要登录 T AWS ransform Web 体验,请按照文档开始使用 AWS 转换部分中的所有说明进行操作。

要创建并开始工作,请执行启动项目中的步骤。

创建工作空间:命名并描述您的工作空间,用于存储作业、协作者和相关工件。

创建作业:通过从预配置的工作计划中进行选择来创建作业,或者从支持的功能列表中进行选择,根据您的目标自定义工作计划。

重要

AWS 如果您没有适当的权限,Transform 将拒绝您的操作。例如,贡献者不能取消大型机应用程序的任务转换或删除作业。只有管理员才能执行这些功能。

创建作业时,您可以从以下功能中进行选择,但是 Kickoff 步骤始终是必需的,因为它是项目源代码所在的位置。在工作空间中设置的第一项任务中,您需要设置指向 Amazon S3 存储桶的连接器。

跟踪转换进度

您可以通过两种方式跟踪整个过程中的转换进度:

  • 工作日志 — 它详细记录了 Trans AWS form 采取的操作、人工输入请求以及您对这些请求的响应。

  • 仪表板 — 它提供了大型机应用程序转型的高级摘要。它显示了有关已转换任务数量、应用的转换以及完成大型机应用程序转换的估计时间的指标。您还可以查看每个步骤的详细信息,包括按文件类型划分的代码行、按每种文件类型生成的文档、分解后的代码以及迁移计划。

设置连接器

AWS Transform 使用连接器访问您账户中大型机现代化功能所需的资源。您的连接器将自动配置为您在工作区中运行的第一个作业。根据您选择的工作计划,Trans AWS form 会指导您创建连接器。

大型机重新构想连接器

大型机重新构想连接器适用于运行评估和重新构想工作流程的作业。它使用 S3 存储桶来访问和存储转换资源,并使用 Amazon Neptune 集群来存储提取的项目。Neptune 集群充当统一的知识图谱,用于存储与您的工作有关的所有提取工件,知识图解答 Transf AWS orm 聊天界面中的所有问题。

在 VPC 中部署 Amazon Neptune 集群,Trans AWS form 可以在其中创建弹性网络接口 (ENI)。这些网络连接允许 Transfor AWS m 与 VPC 中的 Neptune 安全通信,以加载数据和查询您的知识图谱。

AWS CloudFormation

我们建议使用以下 CloudFormation 模板来创建大型机重新构想连接器所需的资源。运行 CloudFormation 模板时,使用您计划用于连接器的 S3 存储桶。有关使用 CloudFormation 模板的更多信息,请参阅使用模板

要下载 CloudFormation 模板,请选择 nept une-kg-setup.yaml。

该模板接受以下参数:

  • BucketName – 必需。用于访问 Neptune 批量加载器的 S3 存储桶名称。您必须使用计划在 Trans AWS form 连接器中使用的 S3 存储桶。

  • KmsKeyId:可选。用于海王星加密的 KMS 密钥。接受密钥 ID、ARN、别名或别名 ARN。如果省略,则默认为 AWS 托管密钥。

配置连接器时,请提供以下详细信息:

  • S3 存储桶 ARN

  • Neptune 集群 ARN

  • Neptune 集群资源 ID

  • 应用程序子网 ID

  • 应用程序安全组 ID

  • Neptune S3 批量加载器角色 ARN

重要

CloudFormation 模板的 “输出” 选项卡包含配置连接器时需要向 AWS 转换提供的详细信息。

自定义配置

如果您更喜欢使用现有 VPC 或其他工具来创建所需的基础架构,则您的环境必须满足以下要求:

Neptune 星团
  • 引擎版本 1.4.5.1 或更高版本的亚马逊 Neptune Serverless

    • 启用 IAM 身份验证

    • 已启用存储加密(AWS 托管密钥或客户管理的 KMS 密钥)

  • 无服务器扩展配置(推荐:1—128 个 NCU)

  • (推荐)在第二个可用区中使用只读副本以实现高可用性并提高读取性能

Networking
  • 支持 DNS 且已启用 DNS 主机名的 VPC

  • 在不同的可用区中至少有两个子网。 AWS Transform 在这些子网中创建 ENI 以访问 Neptune 集群,该集群可以位于相同的子网中,也可以位于专用子网中。将子网大小调整为 /20 以适应 VPC 终端节点和应用程序 ENI。

  • 通过 VPC 接口终端节点(AWS PrivateLink)从子网到以下 AWS 服务的网络连接:

    • AWS Transform Agents API — 协调大型机现代化工作

    • Amazon Bedrock Runtime — 调用基础模型进行分析和推理

    • 亚马逊关系数据库服务(亚马逊 RDS)— Neptune 集群管理

    • Amazon Elastic Compute Cloud (Amazon EC2) — ENI 的管理

    • Amazon CloudWatch — AWS 变革可观测性的指标

  • 连接到与您的子网关联的路由表的 S3 网关终端节点。 AWS Transform 使用此端点将数据从 S3 存储桶加载到 Neptune 集群。

安全组

安全组附加到弹性网卡而不是子网。即使 T AWS ransform ENI 和 Neptune 位于同一个子网中,不同的安全组也会控制它们之间的访问权限。

  • 一个安全组(附加到由 Transform 创建的 ENI 上 AWS ),它允许:

    • 向 Neptune 安全组出站 TCP 8182

    • 用于到达 VPC 终端节点的出站 TCP 443

  • 一个安全组(连接到 Neptune 集群),它允许:

    • 来自应用程序安全组的入站 TCP 8182

  • VPC 终端节点安全组(连接到接口终端节点 ENI),允许:

    • 来自应用程序安全组的入站 TCP 443

IAM
  • 具有信任策略的 IAM 角色rds.amazonaws.com,该角色s3:GetBucketLocation在您的 S3 存储桶上授予s3:GetObjects3:ListBucket、和

  • 此角色必须与 Neptune 集群关联才能批量加载知识图谱数据

下图显示了推荐的架构。

架构图显示了客户 VPC,其中包含用于大型机重新构想 AWS PrivateLink 连接器的 Neptune 子网、应用程序子网、连接和 AWS 服务集成。

S3 连接器

对于具有自定义计划的作业,Trans AWS form 可以使用 S3 连接器。S3 连接器使用 S3 存储桶来访问和存储转换资源,并使用 S3 向量存储桶用于索引输出。

重要

您的数据存储并保留在工作区的 Tr AWS ansform 工件存储中,并且仅用于运行作业。

S3 矢量存储桶的可选配置。

在提供 S3 矢量存储桶的区域,Transfor AWS m 会将任务输出的可搜索矢量编码存储在您账户的此 S3 矢量存储桶中,以提供 AI 驱动的搜索和聊天体验。在此作业之外不使用数据,也不用于训练模型。要启用此功能,您必须创建并提供 S3 矢量存储桶。 AWS Transform 会自动创建并附加一个具有写入此存储桶所需权限的角色。

S3 存储桶 CORS 权限

配置连接器后,将以下 CORS 策略添加到您的 S3 存储桶,以便您可以直接在 Transfor AWS m 控制台中查看和比较项目。如果此政策设置不正确,则可能无法使用 Tr AWS ansform 的内联查看或文件比较功能。

[ { "AllowedHeaders": [], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "https://*.transform.eu-central-1.on.aws", "https://*.transform.ap-south-1.on.aws", "https://*.transform.ap-northeast-1.on.aws", "https://*.transform.ap-northeast-2.on.aws", "https://*.transform.ap-southeast-2.on.aws", "https://*.transform.ca-central-1.on.aws", "https://*.transform.eu-west-2.on.aws", "https://*.transform.us-east-1.on.aws", "https://*.transform.sa-east-1.on.aws" ], "ExposeHeaders": [], "MaxAgeSeconds": 0 } ]

评估和重新构想工作计划

评估和重新构想工作计划是用于实现大型机应用程序现代化的预定义工作流程。它会指导您完成两个阶段:评估您的代码库以识别业务功能,以及重新构想您选择的函数。要改为选择个人能力,请使用自定义工作计划。

评测

大型机现代化之旅通常从评估代码库开始,以识别内容并了解关系和依赖关系。评估完成后,您可以开始分解并选择源代码的某些部分进行现代化改造。分解的界限是根据业务功能确定的。

业务功能目录将您的代码库分解为离散的业务函数,这些函数建立在确定性数据路径的基础上,这些路径从头到尾映射每个业务功能。数据路径是数据所走的路线,从业务触发器开始,一直到大型机代码的最终写入。该系统没有将分析局限于单个入口点,而是跨越批处理作业、CICS 事务及其共享数据存储,以识别连贯的业务工作单元。

业务职能是一系列工作,从业务触发因素开始,以可衡量的业务结果结束。 AWS Transform 提供了业务部门可以采取行动的业务职能目录,从而能够就首先实现哪些现代化做出明智的决策。

使用业务功能评估代码库以实现现代化的好处:

  • Full-estate 可见性 — 了解您的批处理作业、在线交易和数据存储如何连接到对您的业务有意义的功能。

  • 可操作的界限 — 每个已确定的业务职能部门都是一个独立的单元,您的业务线利益相关者可以对其进行审查并确定优先顺序,以进行现代化工作。

  • 从代码到规范的一致性 — 使用定义业务功能的相同代码块来生成其规范,无需转换层,也不需要对账。

  • 缩短发现时间 — 自动检测用系统、可重复的分析取代了数月的手动部落知识访谈。

通过聊天提供的评估结果

通过聊天提供的评估结果包括业务功能列表,包括数据路径的数量、每个功能在批处理和CICS交易方面的跨度以及业务描述。您将获得指向 Amazon S3 存储桶中生成的项目的链接,您也可以通过聊天访问它们。提供了两个工件:业务功能详细信息和业务功能摘要。

  • 业务功能摘要-提供业务函数列表以及代码中元素正在执行的功能的自然语言描述。

  • 业务功能详细信息-提供描述源代码之间关系的交互式图表。

要与图表交互,请选择一个元素以显示有关它的更多详细信息,或者打开一个元素来询问其详细信息。在每个页面中,都有该级别所有元素的摘要以及一个图形界面,供您与每个组件交互并详细了解每个组件,包括以下内容:

  • 业务职能-描述哪些业务职能相互关联,并概述每个业务职能。选择业务功能时,将提供以下信息:

    • 数据路径数量

    • 代码行数

    • 业务描述:业务功能概述,用自然语言描述代码中的元素正在执行哪些功能。

    • 接口:详细说明业务功能中数据元素的关系(例如,交换或写入)。

  • 业务功能详细信息-描述单个业务职能中数据路径之间的连接,使您可以更深入地了解业务职能的构成。当你选择一个元素时,你会看到该元素是如何跨业务职能连接的,以及以下细节:

    • 数据存储:数据存储的写入器和读取器。

    • 其他元素:相关数据路径的概述,该路径以自然语言描述了数据路径中处理的操作和结果、程序列表以及读者和写入者。

  • 数据路径-描述一条数据路径的详细信息以及数据路径中的元素如何相互关联。

    • 描述:数据路径概述,用自然语言描述在数据路径中处理的操作和结果。

    • 数据路径的内容:

      • 入口点

      • 写入

      • 读取

      • 计划

通过聊天,您可以询问输出以了解每个业务职能中包含的元素,并通过业务功能图探索边界。

确定现代化的界限后,聊天会提示您选择要重新构想的业务功能。您可以选择单个业务功能或多个业务功能。 AWS Transform 将选定的界限和所需的评估结果发送到重新构想流程,以继续现代化之旅。

完成首次现代化改造后,您可以使用聊天功能选择一组额外的业务功能进行现代化改造。

重新构想

在重新构想阶段,您可以选择一个或所有经过评估的业务职能,为现代化做好准备。这会触发业务逻辑提取,然后生成所选业务功能的需求。生成的需求是前瞻工程的主要输入,可以将对遗留系统的理解转化为现代化应用程序必须提供的精确规范。

提取业务逻辑

选择一个或多个业务功能后,Trans AWS form 将开始为所选业务功能生成业务逻辑。提取完成后,Tr AWS ansform 会以 JSON 格式将结果存储在 Amazon S3 存储桶中,供下游使用。您可以直接在 Trans AWS form 控制台中监控提取进度并查看任何问题。

查看业务逻辑提取结果
  1. 在左侧导航窗格中,选择提取业务逻辑步骤将其展开。

  2. 从步骤详细信息中查看以下内容:

    • S3 存储桶链接:提取的业务逻辑结果以 JSON 格式存储的位置。

    • 问题:业务逻辑提取过程中遇到的所有问题的列表。

如果在解压缩过程中有任何文件遇到问题,则会显示每个受影响文件的以下详细信息:

  • 文件名:遇到问题的文件的名称。

  • 文件类型:文件的类型(例如,COBOL 或 JCL)。

  • 文件路径:文件在应用程序中的位置。

  • 状态:文件提取的当前状态。

  • 详细信息:对遇到的问题的描述。

注意

提取步骤完成后,Trans AWS form 会自动开始生成需求。在此过程开始之前,系统不会提示您输入任何其他输入。

生成需求

业务逻辑提取完成后,生成需求代理使用提取的工件(代码分析、数据分析、业务规则)并生成现代化需求。这些要求是正式的功能规范,与技术无关,包括可测试的验收标准。 AWS Transform 会为您选择的每个业务函数生成一个requirements.md文件,并将输出存储在 Amazon S3 存储桶中。要查看输出的 Amazon S3 位置,请选择生成要求步骤。

每个requirements.md文件分为以下几个部分:

  • 标题-命名业务职能及其所代表的工作流程。

  • 全局先决条件 — 在处理之前和处理过程中必须适用于整个工作流程的条件。可配置值显示为参数占位符。

  • 带编号的工作流程部分 — 每个部分代表业务职能的一个独立阶段。每个部分都包含以下内容:

    • 一个用户故事,其中陈述了作为角色的目标、该角色想要采取的行动以及由此产生的结果。

    • 采用 EARS(简易需求语法)格式的需求列表,每个要求都有一个唯一的标识符。

注意

选择第二组业务功能会重新启动新选择的功能的重新构想步骤。然后,控制台仅显示新选择的结果,因此不再显示您之前的业务功能中的业务规则以及存储业务逻辑和要求输出的 Amazon S3 链接的任何问题。您之前的输出不会丢失。您仍然可以从 “构件” 选项卡或 Amazon S3 存储桶中访问它们。

转换工件之间的可追溯性

AWS Transform 在整个评估和重新构想工作流程中保持其生成的工件之间的可追溯性。可追溯性使您可以将每个需求追溯到提取的业务规则,或者直接追溯到产生该需求的原始源代码。

您可以使用该traceability.yaml文件查看每个业务职能的所有可追溯性详细信息。它描述了每条业务规则如何与需求对应。

为了实现交互式可追溯性,您可以在 VS Code 和 Open VSX 兼容编辑器中使用 IDE 插件。有关更多信息,请参阅开发者工具

重新构想工作计划

对于已确定现代化范围并准备重新构想的应用程序,您可以运行独立的重新构想作业。该任务分析您的代码和数据,提取业务逻辑,识别业务域,并为每个业务领域生成现代化需求。

自定义工作计划

自定义任务计划允许您通过选择要运行的功能来构建自己的现代化工作流程。它使您可以完全控制包含哪些功能。根据您的现代化目标,从以下功能中进行选择。有些功能依赖于先运行其他功能。例如,大多数其他功能都需要代码分析。

分析代码

在您与 T AWS ransform 共享 Amazon S3 存储桶路径后,它将分析每个文件的代码,包括文件名、文件类型、代码行及其路径等详细信息。

注意

您可以通过作业或工作空间级别的构件选项卡下载分析代码结果。在作业级别,转到左侧导航菜单中的 “Artifacts” 选项,然后打开 “结果” 文件夹,或者在工作空间级别找到作业名称,然后打开 “结果” 文件夹。这将下载一个 zip 文件,其中包含手动分类工作流程的分类文件、资产列表、依赖关系 JSON 文件和缺失文件列表。

在作业计划中,选择左侧导航窗格中的分析代码以查看结果。您可以通过多种方式查看代码分析结果:

  • 列表视图 — 您要为大型机转换的 Amazon S3 存储桶中的所有文件

  • 文件类型视图 — 按文件类型显示 Amazon S3 存储桶中的所有文件。有关支持的文件类型的列表,请参阅支持的文件

  • 文件夹视图 — Amazon S3 存储桶中的所有文件均以文件夹结构显示。

在文件结果中,根据您选择的文件视图,T AWS ransform 会提供以下信息:

  • Name

  • 文件类型

  • 代码总行数

  • 文件路径

  • 评论行

  • 空行

  • 有效的代码行

  • 文件数量

  • Cyclomatic Complexity-Cyclomatic 复杂度表示通过程序源代码的线性独立路径的数量。 AWS 转换将显示每个文件的循环复杂度。

文件丢失 — 大型机现代化代码分析中缺少文件。理想情况下,应将这些文件作为源输入的一部分添加到 Amazon S3 存储桶中,并且应重新运行分析步骤以获得更好、更具凝聚力的结果。

同@@ — T AWS ransform 为您提供具有相同名称且可能具有相同特征(例如,代码行数)的文件列表。它将无法同时比较任意两个文件内容之间的差异。

重复的 ID — 在 Cobol 程序中,“程序 ID” 字段用作文件的唯一标识符。此 ID 必须是唯一的,因为它用于在整个项目中调用程序。但是,某些项目可能有名称不同但程序 ID 相同的 COBOL 文件。在评估期间获取这些文件的列表可以帮助了解所有程序之间的依赖关系。

注意

这特定于 COBOL 代码和文件。

当您的程序具有重复的 ID 时,建议在 COBOL 代码中更改这些文件的程序 ID,使其每个文件都有一个唯一的标识符。然后,您可以重新运行作业,以获得更准确、更全面的代码分析结果。

通过解析重复的程序 ID,您可以:

  • 提高代码的清晰度和可维护性

  • 减少程序调用中的潜在冲突

  • 提高依赖关系映射的准确性

  • 简化 future 的现代化工作

代码库问题 — 在代码库中检测到的潜在问题,在继续现代化项目之前,应先解决这些问题。这些问题可能包括缺少带有关联语句的引用或代码中不支持的链接。

更新分类-通过手动重新分类,您可以使用批量更新功能对文件进行重新分类,方法是上传包含新分类的 JSON 文件。

重要

这仅适用于UNKNOWNTXT文件。

重新分类后, AWS 转换将:

  1. 更新分类结果

  2. Re-runs 使用新文件类型进行依赖性分析

  3. 刷新所有受影响的分析结果

注意

只有在初始分析循环完成后,才能对文件进行重新分类。

内联查看器和文件比较

Inline Viewer 是 Trans AWS form for 大型机功能中的一项功能,它提供了两个关键的可视化功能:

  • 文件视图:查看作业中选定旧文件的内容

  • 文件比较:并排比较两个旧文件的内容

查看输入文件

要在中查看您的文件 分析代码 step
  • 在 “查看代码分析结果” 下,使用列表中的复选框选择一个文件。

    选择 “查看” 操作按钮(选择 1 个项目时启用)。

    文件内容将在屏幕上的 “文件视图” 组件中呈现。

文件比较

要比较中的文件 分析代码 step
  1. 在 “查看代码分析结果” 下,使用列表中的复选框选择两个文件。

  2. 选择 “比较操作” 按钮(仅在选择 2 个项目时启用)。

  3. 文件将在文件比较组件中并排显示。

注意

您不能选择两个以上的文件来比较文件。

重要

如果您在内联查看器或文件比较方面遇到问题,请确保 S3 存储桶设置正确。有关 S3 存储桶的 CORS 策略的更多信息,请参阅S3 存储桶 CORS 权限

数据分析

AWS Transform 提供数据分析,以帮助了解数据关系和元素对大型机现代化项目的影响。提供的两个输出是:

  • 数据沿袭:通过映射数据源、作业和程序之间的关系来追踪数据的生命周期

  • 数据字典:用作存储库,记录传统数据元素的结构元数据

分析完成后,每个输出将显示两个选项卡,然后有多个视图可供选择,分别用于数据谱系和字典,如下所述。

注意

当您请求数据分析时。 AWS Transform 执行代码分析,这是执行数据分析所必需的。

数据世系

AWS Transform 根据需要了解的数据关系提供了多个视图,这些视图需要在进行现代化的代码库中进行理解。数据谱系中可用的四个表格视图包括:

  • 数据集:此视图提供全面的影响分析,包括操作跟踪,以帮助区分读取、写入、更新和删除

  • Db2 表:提供与 Db2 表和操作相关的影响分析

  • Program-to-data: 确定哪些 COBOL 程序引用了每个数据集

  • JCL-to-data 关系:确定哪些 JCL 脚本引用了每个数据集

摘要概述了数据源及其与程序和 JCL 的关系,并提供了有关如何利用数据源和代码库中总操作的摘要信息。

数据词典

下一步是了解代码库中存在的数据源中的数据元素,以了解各种数据源是如何相互依赖的。数据字典是一种数据目录,提供字段级元数据和业务语言描述,以实现精确的转换映射。

  • COBOL 数据结构:提供代码库中存在的 COBOL 抄本和内联引用的字段信息,包括字段属性和业务定义

  • Db2 表:提供代码库中存在的 Db2 表的列和表属性,包括主键和外键、架构和索引信息以及数据类型

通过选择数据源,然后使用数据谱系或数据字典按钮来更深入地了解数据源和数据元素之间的关系,即可获得数据谱系和字典之间的关系。数据谱系和字典之间的导航提供了集成的数据可见性,数据谱系提供了 “什么”(结构和含义)以及 “在哪里” ——用法和关系。

活动指标分析

活动指标分析允许您分析 14、15、30、64、102 和 110 类型的系统管理设施 (SMF) 记录。该分析提供了有关大型机应用程序中元素的使用方式的见解。它可以帮助淘汰未使用的代码或决定现代化应用程序的目标架构。如果您在作业中包括活动指标分析,则首先完成代码分析步骤会提供更丰富的 SMF 输出,尽管这不是必需的。

注意

在协商大型机现代化的工作计划时,首先完成代码分析和分解步骤可以提供更丰富的输出。

载入 SMF 记录以供分析

作为 SMF 分析的第一步,您必须提供 Amazon S3 存储桶中的 SMF 记录位置。提供至少 13 个月的记录,以捕捉较短时间范围内可能错过的年度事件。尽管建议使用 13 个月,但任何具有可检测到 SMF 记录的时间范围都会产生分析结果。

您的 SMF 数据提取必须满足以下格式要求:

  • 包括类型 14、15、30(子类型 5)、64、102 和 110。

  • 使用 EBCDIC 格式的原始二进制文件。

  • 包括 RDW 字节。

提供指向 Amazon S3 存储段内的 SMF 记录的链接,确保这些记录位于与源代码分开的文件夹中。格式选项包括压缩后的.zip(最大 600 MB)或.tar.gz(最大 5 GB)。如果您提供指向未检测到 SMF 记录的文件夹的链接,则会收到一条错误消息,并且分析未完成。

分析输出

根据记录的类型,分析输出包含两个组成部分:表格视图和.csv 输出(可在您的 Amazon S3 存储桶中找到)。在 “ AWS 转换” 中,将显示类型 30 和 110 的输出。通过 Amazon S3 存储桶中的项目,您可以浏览对其他类型记录的分析。在用户界面中,标题显示您提供的记录的时间范围,以便您可以识别任何缺少的关键日期。例如,如果您的记录跨越了 5 月 1 日到 10 月 31 日,但不包括感恩节之后的繁忙日子,则可以看到关键记录缺失。Web 应用程序中的时间戳反映了系统的时区和 SMF 记录。

Amazon S3 中提供的项目可对所提供的记录中发现的任何记录类型进行分析。

表格视图

表格视图仅适用于 SMF 30 和 110,最多包含三个用于批处理作业和 CICS 事务的主要组件:

  • 摘要-提供关键任务和交易。

  • Batch job/CICS 交易分析 — 提供跨任务和交易的汇总分析。

  • 代码分析比较(仅限批处理)-在 SMF 分析之前运行代码分析步骤时提供比较数据。

发现摘要提供了三组任务和事务,可帮助您快速识别项目以进行更深入的分析。

Batch job 和 CICS 交易分析提供跨任务和交易的汇总分析。默认情况下,分析结果中的某些列处于隐藏状态。选择齿轮图标以显示其他字段。

事务密钥为 CICS 交易生成唯一的数据聚合,将四个字段组合成一个键值:

  • 事务 ID

  • 程序名称

  • SysPlex 身份证

  • sysID

您可以按完整密钥或分析输出中密钥的任何组成部分进行搜索。

代码分析比较会突出显示在 SMF 记录或分析代码步骤中找到但两者中都不存在的作业。这将显示在 SMF 记录时间段内未运行或未出现在分析代码步骤中的作业。只有在作业中 SMF 分析之前运行代码分析步骤时,此输出才可用。

最佳实践

要获得批处理作业(类型 30)的全面输出,请确保您的 JCL 文件名与作业名称相匹配,以便在代码分析比较中获得有意义的输出。

生成技术文档

您可以为正在进行现代化的大型机应用程序生成技术文档。通过分析您的代码,T AWS ransform 可以自动创建应用程序的详细文档,包括对旧系统中存在的程序逻辑、流程、集成和依赖关系的描述。此文档功能有助于弥合知识差距,使您能够在将应用程序过渡到现代云架构时做出明智的决策。

注意

当您请求生成技术文档时,Tr AWS ansform 会执行代码分析,包括代码依赖性分析,这是生成文档所必需的。

生成技术文档
  1. 在左侧导航窗格的生成技术文档下,选择选择文件并配置设置

  2. 在 Amazon S3 存储桶中选择要为其生成文档的文件,然后在 “协作” 选项卡中配置设置。

    注意

    所选文件应具有相同的编码类型(即全部采用相同的 CCSID-UTF8 或 ASCII)。否则,生成的技术文档可能包含空白字段或部分。

  3. 选择文档详细信息级别:

    • 摘要 – 提供范围内每个文件的简要概述。并为每个文件提供一行摘要。

    • 详细的功能规格 – 提供大型机应用程序转换范围内每个文件的详细信息。一些细节包括逻辑和流程、依赖关系、输入和输出处理以及各种交易细节。

    注意

    只能为 COBOL 和 JCL 文件生成文档。

  4. 选择继续

  5. T AWS ransform 生成文档后,请按照控制台中生成和存储结果的 Amazon S3 存储桶路径查看文档结果。

  6. 生成文档后,您还可以使用 Tr AWS ansform 聊天来询问有关生成的文档的问题,并决定下一步行动。

将用户信息添加到文档中

ARTIFACT_ID.zip └── app/ ├── File1.CBL ├── File2.JCL ├── subFolder/ │ └ File3.CBL └── glossary.csv └── pdf_config.json ├── header-logo.png ├── footer-logo.png └ ...

可以在 zip 文件中添加可选文件,以帮助提高生成的文档质量并提供自定义 PDF 封面。其中一些可以是:

  • glossary.csv 文件:您可以选择在 S3 存储桶的 zip 文件中提供和上传可选词汇表。词汇表采用 CSV 格式。此词汇表有助于创建包含与客户词汇相一致的相关描述的文档。示例glossary.csv文件如下所示:

    LOL,Laugh out loud ASAP,As soon as possible WIP,Work in progress SWOT,"Strengths, Weaknesses, Opportunities and Threats"
  • pdf_config.json:您可以利用此可选配置文件生成符合公司格式和标准的 PDF 文档,包括页眉、页脚、徽标和自定义信息。样本pdf_config.json如下所示:

    { "header": { "text": "Acme Corporation Documentation", "logo": "header-logo.png" }, "customSection": { "variables": [ { "key": "business Unit", "value": "XYZ" }, { "key": "application Name", "value": "ABC" }, { "key": "xxxxxxxxxx", "value": "yyyyyyyyyyyy" }, { "key": "urls", "value": [ { "text": "Product Intranet Site", "url": "https://example.com/intranet" }, { "text": "Compliance Policies", "url": "https://example.com/policies" } ] } ] }, "footer": { "text": "This document is intended for internal use only. Do not distribute without permission.", "logo": "footer-logo.png", "pageNumber": true } }
    • 标题:

      • 对于封面 PDF 文件,默认文本将是项目名称。

      • 对于每个程序 PDF 文件,默认文本将是程序名称。

      • 没有默认徽标。如果未配置标题徽标,则不会显示任何徽标。

      • 字体大小和徽标大小应根据字数或徽标文件大小动态更改。

    • 自定义部分:

      • 如果未配置自定义部分,则将从 PDF 中省略该部分。

      • 该链接必须是可点击的。

    • 页脚:

      • 页脚没有默认文本或徽标。

      • 除非另有明确配置,否则默认情况下,页码将显示在页脚中。

      • 字体大小和徽标大小应根据字数或徽标文件大小动态更改。

生成文档内联查看器

您可以在 “生成技术文档” 步骤中查看 PDF 文件。

要查看 PDF 文件
  1. 导航到 “查看文档结果” 选项卡。

  2. 在列出生成的 PDF 的表格中找到 PDF。

  3. 要么选择文件,然后选择 “查看”,要么选择叠加在文件名上的链接元素。

PDF 在 “ AWS 转换” 中打开,右上角有展开屏幕的选项。

注意

AWS 通过转换,您还可以下载生成的技术文档的 XML 或 PDF 版本。

重要

如果您在使用文档内联查看器时遇到问题,请确保 S3 存储桶设置正确。有关 S3 存储桶的 CORS 策略的更多信息,请参阅S3 存储桶 CORS 权限

提取业务逻辑

您可以从正在进行现代化的大型机应用程序中提取基本业务逻辑。 AWS Transform 会自动分析您的代码,以识别和记录关键业务元素,包括详细的流程以及嵌入在应用程序中的业务逻辑。此功能可为您的现代化之旅中的多个利益相关者提供服务。业务分析师可以利用提取的逻辑来创建精确的业务需求,并识别当前实施中的差距或不一致之处。开发人员无需丰富的大型机专业知识即可快速理解复杂的传统系统功能。

注意

当您请求业务逻辑提取时。 AWS Transform 执行代码分析,包括代码依赖关系和入口点分析,这是执行业务逻辑提取所必需的。

提取业务逻辑
  1. 在左侧导航窗格的 “提取业务逻辑” 下,选择 “配置设置”

  2. “协作” 选项卡中,选择要如何提取业务逻辑:

    • 应用程序级别:为所有业务功能、交易、批处理作业和文件生成业务文档。这将选择应用程序中的所有文件。

    • 文件级别:仅为您从文件表中选择的文件生成业务文档。

    注意
    • 对于任一选项,您都可以选择 “包括详细的功能规范”,这样 T AWS ransform 就会包括所选文件的控制流和全面的业务规则。

    • 所选文件应具有相同的编码类型(即全部采用相同的 CCSID-UTF8 或 ASCII)。否则,生成的文档可能包含空字段或部分。

    • 只能为 COBOL 和 JCL 文件生成文档。

    • 对于应用程序级别,CICS 事务处理和批处理作业使用的程序被组合在一起,而所有其他程序则归类为 “分配”。

  3. 选择继续

  4. T AWS ransform 提取业务逻辑后,它会以 JSON 格式将结果存储在 Amazon S3 存储桶中,以便您可以在线查看。

注意

生成的业务规则文件数量可能比您最初选择的要多。某些选定的文件可能会触发业务规则提取以包括其他依赖文件,这些文件也将出现在结果表中。

在线查看提取的业务文档

您可以在 “提取业务规则” 步骤中查看业务逻辑。要做到这一点,

  1. 导航到查看业务逻辑提取结果

  2. 从表格中选择要查看的文档,然后单击 “查看结果” 按钮。

业务文档页面将在新的浏览器选项卡中打开。

分解

您可以将代码分解为考虑到程序和组件之间依赖关系的域。这有助于将相关的文件和程序适当地分组到同一个域中。它还有助于在分解过程中保持应用程序逻辑的完整性。

注意

当您请求分解时,Tr AWS ansform 会执行代码分析,包括代码依赖性分析,这是执行分解所必需的。我们还建议您在分解之前进行业务逻辑提取,以获得更好的结果。

要开始分解应用程序,请执行以下操作:

  1. 从左侧导航窗格中选择 “分解代码”。

    注意

    系统会为所有未与域关联的文件自动创建一个名为 “未分配” 的域。初始导航时,所有文件都应关联到 “未分配”,除非域是从应用程序级业务逻辑提取中提出的。

  2. 通过 “操作” 菜单创建新域,然后选择 “创建域”。

  3. 在创建域中,提供域名、可选描述,并将某些文件标记为种子。

    • CICS 配置文件 (CSD) 和调度器配置文件 (SCL) 可用于自动种子检测。

    • 您也可以仅将一个域设置为公共组件。此域中的文件在多个域中是通用的。

  4. 选择创建。

    注意

    您可以使用不同的文件作为种子创建多个域。

  5. 确认所有域和种子后,选择分解。

  6. AWS Transform 将检查源代码文件,然后分解为具有相似用例和高度依赖编程的程序和数据集的域。

    AWS Transform 为你提供了将分解后的域作为依赖关系的表格和图表视图。坐标图视图有三个选项:

    • 域视图-可以以可视格式查看不同域名之间的关系。

    • 依赖关系视图 — 可以以复杂依赖关系图的形式查看每个域中的所有文件。如果添加到域的节点没有收到来自同一域中种子的信息,则该节点要么被预测为未分配(节点未收到任何信息)、已断开连接(在未收到种子信息的子图中),要么被预测到另一个域(节点至少从该域接收了信息)。

    • 子图视图-用户可以创建子图来可视化节点子集,从而更清楚地了解该节点集合的关系影响和边界。

      • 要创建子图,请选择一组节点,然后从工具栏中选择 “提取子图” 选项。

      • 合并子图是可用的,合并时除了要合并的两个子图之外还会创建新的第三个子图。

    注意

    如果您不喜欢当前的域名结构,请重复这些步骤以添加更多域名,或者使用不同的种子集重新配置已创建的域名。

  7. 完成后,选择 “继续”。

种子

种子是分解代码阶段的基础输入。每个组件或文件(例如 JCL、COBOL、Db2 表、CSD 和调度器文件)只能作为种子分配给一个域,从而确保分解过程中边界清晰且对齐。

种子的鉴定取决于应用或投资组合的结构。对于典型的大型机遗留应用程序,通常可以通过遵守既定的命名约定、调度器中的批级分组以及CICS系统中定义的事务级分组来确定种子。此外,数据库表也可以用作种子,为分解提供另一层结构。

导入 and/or 更新依赖关系文件

在分解过程中,您可以为依赖项上传一个 JSON 文件,该文件将替换 Transf AWS orm 执行的依赖关系分析生成的现有文件。

导出依赖项功能允许你下载在分解步骤中生成的依赖关系 json 文件。下载后,您可以根据需要修改文件。然后,您可以使用Tr AWS ansform的上传功能导入依赖关系,该功能允许您上传依赖关系的新 JSON 文件,该文件将替换依赖关系分析生成的文件。之后,分解步骤中的图表将更新。

导出、修改和导入依赖关系
  1. 查看分解结果页面上,选择操作

  2. 在下拉列表中,选择 “其他操作” 下的 “更新依赖关系文件” 选项。

  3. 在 “更新依赖关系文件” 模式中

    1. 下载根据现有分析结果创建的依赖文件 “ AWS 转换”。

    2. 在下载的文件中,根据你想要实现的内容修改依赖关系。

    3. 修改后,使用上传依赖文件按钮保存并上传此文件

      注意

      唯一可接受的文件格式是 JSON 文件。

  4. 接下来,选择导入

AWS Transform 将导入依赖关系文件并根据您的输入创建新的依赖关系图。

导入 and/or 更新域名

对于在分解步骤之前映射了域、种子、 and/or 文件关系的客户,您可以通过 “操作” 菜单中提供的导入域名文件功能上传此域定义。何时可以使用此函数的一些示例:

  • 从另一份工作中提前进行分解

  • 提供此映射的主题专家

导入域文件后,用户可以对域定义进行分解,或者如果满意,可以保存然后提交域定义。

Parent/child/neighbor 档案

在依赖关系图中,程序通过不同类型的连接相互关联。了解这些关系有助于您在大型机应用程序转换期间分析程序依赖关系。它还有助于理解域的边界。例如,如果您选择一个域,然后选择父一级,它将显示连接的节点。

父关系-父文件调用或控制其他程序。在等级制度中,家长高于其受抚养计划。您可以选择一个级别或所有级别的父级。

子级关系-子文件由父程序调用或控制。在文件层次结构中,子级位于其父级的下方。

邻居关系-邻居是处于相同分层级别的文件。它们共享同一个父程序,并且可能直接相互交互。

重铸代码

Reforge 使用大型语言模型 (LLM) 来提高重构代码的质量。初始 COBOL-to-Java 转换保留了功能等同性,同时保留了旧系统中的 COBOL-influenced 数据结构和变量名。Reforge 会重构此代码以遵循现代 Java 实践和惯用语,将 COBOL-style构造替换为原生 Java 集合和命名约定。这使得代码对于 Java 开发者来说更具可读性和可维护性。

注意

重铸配额为:

  • 每个作业有 300 万行代码

  • 每位用户每月有 500 万行代码

按照以下步骤在重构后重构代码:

  1. 在左侧导航窗格中选择 Reforge java 代码,然后选择配置代码重构

  2. 向压缩后的可构建源项目提供 S3 位置,然后选择 “继续”。使用这个 zip 结构:

    input.zip └── PROJECT-pom ├── PROJECT-entities ├── PROJECT-service ├── PROJECT-tools ├── PROJECT-web (optional) └── pom.xml

    AWS Transform 会分析你的 zip 包以在 PROJECT-service 目录中找到文件,这样它就可以提供可供你重铸的可选类列表。这些类有后缀ProcessImpl.java

  3. 完成 “选择要重铸的职业” 页面,然后选择 “继续”。在 “工作日志” 选项卡上跟踪重铸状态。

  4. 在查看结果页面上查看已完成的重铸结果,该页面显示了每个职业的重铸状态。它还指定了在您的 S3 存储桶中哪里可以找到 Reforge 结果。

一旦 T AWS ransform 从你那里得到这个输入,它就会为你提供一个包含 Reforge 结果的可下载文件。

这是成功重铸后产生的 zip 结构:

reforge.zip └── maven_project ├── reforge.log └──tokenizer_map.json
  • maven_project 包含经过改造的源代码。

    • 已重构但未成功完成编译的文件位于/src/main/resources/reforge/originalClassName.java.incomplete并命名。originalClassName.java.incomplete将它们与文件的原始版本进行比较,以选择要保存的重制函数。

    • 提供给 Tr AWS ansform 且成功重构的源文件将备份到src/main/resources/reforge/originalClassName.java.original并命名。originalClassName.java.original这些文件的重构版本取代了提供给 Transform 的源文件。 AWS

    注意

    只有在originalClassName.java重铸过程成功的情况下,文件才会被重新伪造的文件所取代。否则,他们会保留原始内容。

  • reforge.log 包含可用于诊断任务失败或在出现问题时提供给 AWS 支持人员的日志。

  • tokenizer_map.json 包含令牌 ID 与您的数据(例如文件路径和 class/method 名称)的映射,这些数据在日志中进行标记化以保护隐私。如果出现问题,您可以将此文件提供给 AWS 支持人员。

规划您的现代化应用程序测试

您可以根据提取的代码属性、作业复杂性和调度程序路径为大型机现代化应用程序创建和管理测试计划。 AWS Transform 有助于确定要测试的作业的优先级,并确定每个测试用例所需的特定工件。测试计划过程分为三个主要阶段:配置、范围界定和审查。

创建测试计划
  1. 配置测试计划设置

    1. 在左侧导航窗格的 “计划测试” 下,选择 “配置设置”

    2. (可选)为您的业务逻辑提取 (BLE) 提供 S3 路径。这些工件提高了测试计划的质量。如果没有 BLE 工件,测试计划中的某些字段可能仍然不完整。

  2. 定义测试计划范围

    1. 选择要包含在测试计划中的入口点,例如批处理作业。

    2. 根据多个属性对作业进行筛选和排序:

      • 业务职能(摘自 BRE BLE)

      • 域(从分解阶段开始)

      • 文件路径和位置

      • 自定义搜索条件

    3. 选择单个作业或整个组进行测试。

    4. 查看工作关系和依赖关系。

  3. 查看并调整测试计划

    生成的测试计划提供了全面的信息,包括:

    • 基于依赖关系的首选执行顺序

    • 来自调度程序的 Job 组分配

    • 复杂度分数,即测试用例的总分数

    • 商业领域协会

    • 循环复杂度指标

    • 数据集和表依赖关系

    • 代码行指标

    • 业务函数映射

测试计划自定义选项

您的测试计划可以根据特定需求进行定制。例如,您可以:

  • 通过选择多个入口点来创建新的测试用例

  • 合并现有测试用例以组合相关功能

  • 拆分测试用例以进行更精细的测试

  • 删除不必要的测试用例

  • 为现有测试用例添加或删除入口点

  • 修改测试用例描述和属性

  • 调整执行顺序

详细的测试用例信息

每个测试用例都提供了描述其内容和相关数据集或数据文件的详细信息:

  • 测试范围的全面描述

  • 包括完整的入境点清单

  • 显示复杂性和规模的汇总指标

  • 业务规则和自动测试用例指南

  • 带方向的数据集和表依赖关系 (input/output)

  • 交互式依赖关系图可视化

  • 执行先决条件和要求

数据管理功能

这些详细信息可帮助您了解与测试用例相关的数据。你可以:

  • 按 input/output 方向筛选数据集

  • 确定执行测试所需的工件

  • 跟踪测试用例之间的数据依赖关系

  • 监控测试计划中数据集的使用情况

注意

AWS Transform 会自动分析调度程序依赖关系并分配复杂度分数,以帮助确定测试工作的优先顺序。较高的复杂性分数表示在测试过程中可能需要更彻底的测试或隔离的工作。

业务规则和测试用例指南

T AWS ransform 测试计划根据业务规则提取为您的测试用例计划提供建议:

  • 使用 LLM 自动处理业务规则

  • 生成综合测试用例

  • 特定业务场景的测试指南

  • 规则和测试用例之间的可追溯性

最终测试计划存储在指定的 S3 位置,包括有效执行测试策略所需的所有必要信息。您可以导出测试计划,以便与其他测试工具或文档系统集成。

注意

虽然提供了综合测试用例指导,但必须根据指南单独创建实际的测试工件。测试计划可作为测试策略的全面蓝图,但不生成测试数据或执行脚本。

测试用例创建规则-摘要

一般规则
  • 一个测试用例按计划执行顺序包含 1 到多个 JCL

  • 测试用例由支持的有效调度程序(CA7 和)创建 Control-M

  • 测试执行 JCL,而不是调度器本身或计划任务

  • 计划任务是唯一的,只能执行一个 JCL

  • 一个 JCL 可以由多个计划任务执行

  • 一个 JCL 可以在没有时间表的情况下存在

默认测试用例创建规则
  • 如果测试用例中有一个 JCL:

    • JCL 不参与日程安排

    • JCL 由分成多个分支的定时任务执行

    • 计划中的一个分支仅包含此 JCL

  • 如果测试用例中有多个 JCL:表示计划分支中的线性执行路径序列

  • 如果 JCL 正在执行不同的计划任务:JCL 将成为自己的独立测试用例

  • 如果 JCL 正在执行趋同计划任务:JCL 可以启动新的测试用例,但不会包含在以前的分支中

  • 丢失的 JCL 将被跳过并继续执行(计划在 future 上进行增强,在缺少 JCL 点时减少测试用例)

用户操作规则
  • 创建测试用例:用户从可用的 JCL 中进行选择

    • 如果 JCL 存在于调度执行分支序列中,则成功

    • 遵循计划执行顺序

  • JCL 添加到测试用例:用户从可用的 JCL 中进行选择

    • 如果 JCL 可以存在于测试用例的调度执行中,则成功 branch/path

  • 从测试用例中删除 JCL:用户可以从测试用例中移除任何 JCL

    • 即使它会导致执行路径间隙,也允许

  • 合并测试用例:用户选择两个测试用例进行合并

    • 如果 JCL 可以一起存在于同一个调度执行分支中,则成功

    • 维护计划执行顺序

  • 拆分测试用例:用户在测试用例中选择一个 JCL 进行拆分

    • 从分割点向前创建新的测试用例

    • 修改了原始测试用例,以排除超过分割点的 JCL

  • 删除测试用例:用户可以删除任何已创建的测试用例

注意

您不能从不同的调度器 branches/path创建、添加或合并测试用例。计划在未来进行一项增强,以允许在调度程序中 divergent/convergent 执行任务以外的操作。

生成测试数据收集脚本

您可以生成 JCL 脚本,根据上一步中创建的测试计划从大型机系统收集测试数据。 AWS Transform 会自动为全面测试所需的数据集、数据库表和顺序文件创建数据收集脚本。数据收集过程分为四个主要阶段:输入配置、测试用例选择、脚本配置和脚本生成。

生成测试数据收集脚本
  1. 提供测试计划输入

    1. 在左侧导航窗格的测试数据收集下,选择提供测试计划输入

    2. 从 “规划现代化应用程序测试” 中指定测试计划 JSON 文件的 S3 路径。

    3. 如果测试计划是在上一个作业步骤中生成的,则会预先填充输入字段。

    4. 您还可以通过指定相应的 S3 位置从其他作业中选择测试计划。

  2. 选择用于数据收集的测试用例

    1. 查看测试计划中测试用例的完整列表。

    2. 根据多个属性对测试用例进行筛选和排序:

      • 业务职能和领域

      • 数据库表依赖关系

      • 数据集要求

      • 复杂度指标

      • 自定义搜索条件

    3. 选择单个测试用例或使用批量选择选项。

    4. 点击一个测试用例查看详细信息,包括入口点、指标和业务规则,即可查看详细信息。

  3. 配置数据收集脚本

    1. 下载示例模板和配置文件以供参考。

      • AWS Transform 为 Db2 数据库卸载、VSAM 文件 REPRO 和顺序数据集处理提供了示例模板,可用作流程预期模板类型的指导。

      • 标准可能因站点而异,因此期望客户修改或替换这些符合他们自己标准的模板。

      • 需要将这些修改后的模板上传到 S3 存储桶,测试数据收集可以在该存储桶中对其进行处理。

    2. 提供包含以下内容的变量配置文件(JSON 格式):

      • 用户前缀和特定于环境的常量

      • 数据库配置参数

      • 目标端点设置和数据传输参数

      • 用户定义并要在 JCL 模板中使用的其他必需参数

    3. 为不同的数据收集方法上传 JCL 模板:

      • Db2 模板:用于数据库表卸载(针对 BMC、IBM DSN 或其他卸载实用程序进行自定义)

      • VSAM 模板:用于 VSAM 文件处理(通常使用 REPRO 实用程序)

      • 顺序数据集模板:用于处理顺序数据集、分区数据集、GDG 等

  4. 查看和管理生成的脚本

    生成的脚本提供了全面的数据收集功能,包括:

    • “之前” 和 “之后” 测试执行数据收集的脚本分开

    • 按测试用例和数据类型整理脚本结构

    • 脚本会自动存储到 S3 存储桶中,便于访问和传输

    • 生成的 JCL 脚本已准备好在大型机上执行

    • 变量替换基于模板中定义的用户配置

脚本生成功能

生成的脚本会根据您的模板和配置自动定制:

  • Template-based 生成:使用您提供的 JCL 模板进行变量替换

  • 环境:整合您的特定大型机配置

  • 数据类型处理:为顺序数据集、VSAM 文件和数据库表创建相应的脚本

  • 测试用例的集合:生成 “之前” 和 “之后” 的数据收集脚本

  • 顺序数据集处理: AWS 提供的示例提供了文件传输功能,但可以根据您的站点提供的压缩工具或实用工具(例如 Connect Direct 或托管文件传输等)对其进行自定义。

数据收集策略

生成的脚本支持全面的数据收集策略:

  • 顺序数据集收集:用于 VSAM 和平面文件的复制和复制工具

  • 数据库表卸载:可自定义的 Db2 卸载过程

  • 顺序数据集处理:对序列数据集进行可自定义的后处理,例如压缩、托管文件传输服务等。

  • 依赖关系管理:基于测试用例定义的协调收集

注意

AWS Transform 会根据您的模板和配置生成脚本。在大型机环境中执行之前,请检查所有生成的 JCL,以确保与您的特定系统配置和安全要求兼容。

模板自定义和最佳实践

ATX 测试数据收集提供灵活的模板自定义功能:

  • Multi-utility 支持:为不同的大型机实用程序(BMC、IBM、DSN)调整模板

  • Variable-driven 配置:使用常量作为特定于环境的参数

  • 可重复使用的模板:创建标准化模板以实现一致的脚本生成

  • 数据处理:纳入组织特定的数据处理要求

  • 安全集成:包括适当的安全和访问控制

  • 性能优化:配置以实现高效的数据收集和传输

生成的输出结构

生成的脚本按以下结构组织在您的 S3 存储桶中:

  • 测试用例组织:按关联测试用例分组的脚本

  • 收集时间:分别存放 “之前” 和 “之后” 数据收集的文件夹

  • 数据类型分类:按顺序数据集、数据库表和传输组织的脚本

  • 元数据文件:摘要信息和执行指南

  • Ready-to-transfer 格式:JCL 格式化为直接部署大型机

最终的脚本集合存储在指定的 S3 位置,包括有效执行数据收集策略所需的所有必要的 JCL。您可以下载脚本以传输到您的大型机环境或与自动部署流程集成。

注意

在生成全面的 JCL 脚本时,必须在大型机环境中执行实际执行。这些脚本可用作即用型数据收集工具,但需要相应的大型机访问和执行权限。

测试自动化脚本生成

您可以生成测试自动化脚本,以便根据上一步中创建的测试计划在现代化应用程序上执行测试用例。 AWS Transform 会自动创建全面的测试脚本,这些脚本利用从测试数据收集过程中收集的数据。测试自动化脚本生成过程包括三个主要阶段:输入配置、测试用例选择和脚本生成结果。

生成测试脚本
  1. 提供测试计划输入

    1. 在左侧导航窗格的 “测试自动化脚本生成” 下,选择 “提供测试计划输入”。

    2. 从 “规划现代化应用程序测试” 中指定测试计划 JSON 文件的 S3 路径。

    3. 如果测试计划是在上一个作业步骤中生成的,则会预先填充输入字段。

    4. 您还可以通过指定相应的 S3 位置从其他作业中选择测试计划。

    5. 系统使用此测试计划作为生成自动化脚本的基础。

  2. 选择用于生成脚本的测试用例

    1. 查看测试计划中测试用例的完整列表。

    2. 根据多个属性对测试用例进行筛选和排序:

      • 业务职能和领域

      • 数据库表依赖关系

      • 数据集要求

      • 复杂度指标

      • 自定义搜索条件

    3. 选择单个测试用例或使用 “全部选中” 和 “取消全选” 按钮的批量选择选项。

    4. 点击各个测试用例,查看测试用例的详细信息,包括入口点、指标和业务规则。

      选定的测试用例将生成自动化脚本,以便在现代化应用程序上执行。

  3. 查看和管理生成的测试自动化脚本:

    • 系统将显示一条成功消息,确认脚本生成已完成。

    • 生成的测试脚本会自动存储在您指定的 S3 存储桶位置。

    • 访问生成的测试脚本的完整列表及其相应的 S3 位置。

    • 每个测试用例都有相应的自动化脚本存储在各个 S3 位置。

    • 脚本已准备就绪,可以在您的现代化应用程序环境中部署和执行。

测试自动化脚本功能

生成的自动化脚本提供了全面的测试功能:

  • 现代化应用程序测试:脚本专为在转换后的应用程序上执行测试用例而设计

  • 数据集成:利用从上一个测试数据收集步骤中收集的测试数据,需要将这些数据复制到每个测试用例的文件夹中

  • 自动执行:脚本可用于设置数据接收器、运行测试用例和比较结果,某些参数必须根据您的部署环境进行设置

  • 有条理的结构:脚本按您的 S3 存储桶中的测试用例系统地组织

  • Ready-to-deploy 格式:脚本已格式化,可直接部署到您的测试环境中

生成的输出结构

生成的测试自动化脚本按以下结构组织在您的 S3 存储桶中:

  • 测试用例组织:每个测试用例都有自己的专用脚本存储在单独的 S3 文件夹中

  • Execution-ready format:脚本的格式化可在根据您的环境设置一些变量后立即部署和执行

  • 集中访问:所有脚本均可从单个 S3 存储桶位置访问,便于管理

测试执行策略

生成的脚本支持全面的测试执行工作流程:

  • 环境设置:脚本包括用于设置初始数据以执行测试的功能

  • 数据准备:与从测试用例数据收集步骤收集的测试数据集成

  • 测试用例执行:在现代化应用程序上自动执行单个测试用例

  • 结果比较:用于比较测试结果和验证应用程序行为的 Built-in 功能

注意

AWS Transform 会根据您的测试计划和选定的测试用例生成测试自动化脚本。这些脚本专为在现代化应用程序环境中执行而设计,并利用上一步中收集的测试数据。在部署之前,请查看所有生成的脚本,以确保与您的特定应用程序配置和测试要求兼容。

测试自动化的最佳实践

  • 环境验证:在执行脚本之前,请确保您的现代化应用程序环境已正确配置

  • 数据验证:验证收集阶段所需的测试数据是否可用且可访问

  • 脚本自定义:根据需要查看和自定义生成的脚本,以满足您的特定测试要求

  • 执行监控:在测试脚本执行期间实施适当的监控和日志记录

  • 结果分析:建立分析测试结果和识别应用问题的流程

测试自动化脚本的最终集合提供了一个完整的测试框架,用于验证您的现代化应用程序功能。这些脚本可以集成到您的持续测试流程中,也可以作为应用程序验证工作流程的一部分执行。

中的部署功能 AWS 转换

AWS Transform 通过提供即用型基础设施即代码 (IaC) 模板,帮助您为现代化大型机应用程序设置云环境。通过 T AWS ransform 聊天界面,您可以访问预先构建的模板,这些模板可创建计算资源、数据库、存储和安全控制等基本组件。这些模板提供包括 CloudFormation (CFN)、 AWS Cloud Development Kit (AWS CDK)和 Terraform 在内的流行格式,使您可以灵活地部署基础架构。

这些模板可作为构建块,减少为现代化大型机应用程序配置环境所需的时间和专业知识。您可以自定义这些模板以满足您的需求,从而为构建部署环境奠定基础。

要检索 IaC 模板,请在 Trans AWS form 聊天中询问 Infrastructure-as-Code 模板,说明您的首选现代化模式(例如用于大型机重构的 AWS 转换)、您的首选拓扑(独立与高可用性)以及您的首选格式(对比 Cloud Development Kit CloudFormation 与 Terraform)。