

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

# 与 Control- AWS Mainframe Modernization M 的托管集成
<a name="aws-mainframe-modernization-managed"></a>

本节介绍 Control-M 如何集成并支持在使用 Micro Focus 运行时引擎部署的托管 AWS Mainframe Modernization 环境中运行的批处理作业。如果您要在 Amazon EC2 上实现带有 Micro Focus 环境的自定义 AWS Replatform，请参阅 “[AWS Mainframe Modernization 在 Amazon EC2 上与 Control-M 集成](aws-mainframe-modernization-ec2.md)” 部分。

本节假设以下先决条件：
+ 活跃 AWS 账户的.
+ 大型机应用程序将在带有 Micro Focus 的 AWS Replatform 托管运行时环境中迁移并运行，该环境包含多个已定义的批处理作业。
+ 在本试点中， BankDemo 示例应用程序是在中设置的 AWS Mainframe Modernization。有关设置说明，请参阅[教程：Micro Focus 的托管运行时](https://docs.aws.amazon.com/m2/latest/userguide/tutorial-runtime.html)。

以下主题介绍了 Control-M Scheduler 与不同类型集成工作流程的 AWS Mainframe Modernization 环境之间的集成所需的 step-by-step设置：
+ [部署 Control-M 资源](deploy-control-m-resources.md)
+ [为 AWS Mainframe Modernization 创建 Control-M 连接配置文件](connection-profile.md)
+ [在 Control-M 规划中创建作业和计划](jobs-schedules-control-m.md)
+ [监控作业](monitor-jobs.md)

# 部署 Control-M 资源
<a name="deploy-control-m-resources"></a>

将 AWS 大型机现代化与 Control-M 集成的前两个步骤是部署插件和任务类型。

## 部署 AWS Mainframe Modernization Control-M 插件
<a name="deploy-plug-in"></a>

插件为 Control-M 编排的应用程序和服务提供集成和支持。对于托管 AWS Mainframe Modernization 服务，请部署 AWS Mainframe Modernization 插件。

插件部署是一种很少发生的活动。如果是首次安装插件，请按照 [Control-M](https://docs.bmc.com/docs/ctm_integrations/control-m-for-aws-mainframe-modernization-1244652367.html) 文档中的步骤进行操作。如果您有要使用的现有插件，请跳过此步骤并[创建连接配置文件](connection-profile.md)。

## 在 Control-M 应用程序集成器中部署 AWS Mainframe Modernization 作业类型
<a name="deploy-job-type"></a>

作业类型部署通常是一次性活动。如果您已有要使用的现有作业类型，请跳过此步骤，并继续[创建连接配置文件](connection-profile.md)的下一步。

git 存储库中提供了示例作业类型 [AIJOB.ctmai](https://github.com/aws-samples/aws-mainframe-modernization-controlm-integration/blob/main/assets/AIJOB.ctmai)。要部署作业类型，必须使用[应用程序集成器](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Application_Integrator.htm)执行以下步骤：

1. 克隆 [aws-mainframe-modernization-controlm-in](https://github.com/aws-samples/aws-mainframe-modernization-controlm-integration) tegrati `AIJOB.ctmai` on GitHub 存储库并将文件下载到应用程序集成商可以访问的文件系统位置。

1. 登录 Application Integrator。

1. 在**主页**选项卡上，选择**从文件导入作业类型**，然后选择 `AIJOB.ctmai` 的位置。

1. 如果要对提供的示例进行任何修改，请先熟悉 Application Integrator。

1. 按照 [Control-M 文档](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Deploying_and_Publishing_a_Plug-in.htm)中的说明部署作业类型。

# 为创建 Control-M 连接配置文件 AWS Mainframe Modernization
<a name="connection-profile"></a>

连接配置文件定义了应用程序特定实例的连接属性和安全凭证。每个连接配置文件可以被多个作业引用。您可以为应用程序和凭证的每种独特组合创建单独的配置文件。

[要[定义连接配置文件](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Creating_a_centralized_connection_profile.htm)，您可以使用 Control-M Web 界面**配置**域中提供的图形用户界面 (GUI)，也可以使用 JSON。](https://docs.bmc.com/docs/automation-api/monthly/connection-profiles-1116950312.html)有关 AWS Mainframe Modernization 插件连接配置文件的信息，请参阅 [Control-M 文档](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Mainframe_Modernization_Connection_Profiles.htm#AWSMainframeModernizationConnectionProfileParameters)。

以下代码是使用 JSON 的示例：

```
{
  "MANAGED-M2-REPLATFORM": {
    "Type": "ConnectionProfile:AWS Mainframe Modernization",
    "Mainframe Modernization URL": "https://m2.{{AwsRegion}}.amazonaws.com",
    "Connection Timeout": "30",
    "AWS Region": "us-west-2",
    "Authentication": "NoSecret",
    "IAM Role": "--- IAM Role name ---",
    "AWS Logs URL": "https://logs.{{AwsRegion}}.amazonaws.com",
    "Description": "",
    "Centralized": true
  }
}
```

创建与示例类似的 JSON 文件，然后使用 [Control-M Automation API 部署](https://docs.bmc.com/docs/automation-api/monthly/deploy-service-1116950327.html)服务进行部署。例如，如果 JSON 代码保存到名为的文件中`cp-MANAGED-M2-REPLATFORM.json`，则部署此连接配置文件的 `ctm` CLI 语法如下：

```
 ctm deploy cp-MANAGED-M2-REPLATFORM.json
```

来自 Control-M Automation API 的响应将类似于以下内容：

```
[
  {
    "deploymentFile": "cp-Managed-M2-REPLATFORM.json",
    "deploymentState": "DEPLOYED_CONNECTION_PROFILES",
    "deploymentStatus": "ENDED_OK",
    "successfulFoldersCount": 0,
    "successfulSmartFoldersCount": 0,
    "successfulSubFoldersCount": 0,
    "successfulJobsCount": 0,
    "successfulConnectionProfilesCount": 1,
    "successfulDriversCount": 0,
    "isDeployDescriptorValid": false,
    "deployedConnectionProfiles": [
      "MANAGED-M2-REPLATFORM"
    ]
  }
]
```

# 在 Control-M 规划中创建作业和计划
<a name="jobs-schedules-control-m"></a>

现在，您已经部署了任务类型和 AWS Connectivity 的连接配置文件，就可以开始创建和运行任务了。

每个 AWS Mainframe Modernization 服务作业都由一组属性组成，分为四个部分。每个部分可以有许多属性。以下列表显示了一些比较常用的属性。
+ 常规：
  + 作业名称
  + 作业所属的应用程序和子应用程序
  + 要提交的 JCL
  + 文档链接
+ 调度：
  + 该作业符合运行资格的月份和天数
  + 日历，例如企业会计期、节假日或其他无法通过算法定义的特殊日期
  + 时间窗口
  + 循环行为
+ 先决条件：
  + 上游依赖项（通常是作业，必须成功完成此作业后才能运行）
  + 可能需要的资源
  + 可能需要的用户操作
+ Control-M 在作业完成后执行的操作：
  + 确定作业成功还是失败（通常基于作业的完成代码，但您可以覆盖该设置以使用输出文本或检查特定状态）
  + 失败或成功通知，如电子邮件
  + 下游依赖项的发布状态

与连接配置文件一样，可以在 [GUI](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Creating_a_Job.htm) 或 [JSON](https://docs.bmc.com/docs/automation-api/monthly/code-reference-1116950299.html) 中创建和部署作业，并使用 Control-M Automation API 进行部署。

以下部分介绍了一些常见的工作流场景：
+ [根据先前作业的状态代码启动作业](status-code.md)
+ [按计划频率自动运行作业](scheduled.md)
+ [基础作业根据事件运行](event-based.md)

# 根据先前作业的状态启动作业
<a name="status-code"></a>

创建名为工作流的作业流。工作流中的作业与成功完成先前作业的依赖项相互关联。

## 使用 Control-M Web GUI
<a name="using-gui"></a>

要从 Control-M 用户界面启动作业，请执行以下操作：

1. 在 “**规划**” 域中，添加一个新的**工作空间**。这将打开一个包含空文件夹对象的画布。

1. 选择 AWS Mainframe Modernization 作业类型（如果您使用的是提供的作业类型模板，则该模板称为 [M2JOB](https://github.com/aws-samples/aws-mainframe-modernization-controlm-integration/blob/main/assets/AWS-jobs.json)），然后将其拖到该文件夹中。

1. 任务类型的颜色变为绿色后，将其丢掉。右侧的窗格包含 “**常规**”、“**计划**”、“**先决条件**” 和 **“操作**” 部分。要创建作业，请参阅 [Control-M](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Creating_a_Job.htm) 文档中的标准说明。

1. 接下来，您需要使用 **Job Name** 值来配置作业类型。您可以在 AWS Mainframe Modernization 控制台的**应用程序**定义屏幕上或通过运行 [ListBatchJobDefinitions API](https://docs.aws.amazon.com/m2/latest/APIReference/API_ListBatchJobDefinitions.html) 来找到 **Job Nam** e 值。在本试点中，对多个作业重复步骤 2—4，使用您选择的任何名称命名每个作业。示例名称有`CBANK`、`CURRENCY`、I `NVFUNDS` `BROKERAGE`、`RISKMGMT`、和`BANK-SERVICE-Managed-M2`。

1. 要将这些作业连接到所需的流程中，请选择作业对象下方的条件三角形，然后将其拖动到下一个作业上。例如，选择下面的条件三角形`CBANK`，然后将其拖动到上`CURRENCY`。此操作使`CBANK`之成为的前身`CURRENCY`。默认情况下，现在`CBANK`必须成功完成，CURRENCY 才有资格运行。

以下屏幕截图显示了基本任务流程的 Control-M 计划视图。



![\[左边是 Job 流程，右边是属性。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/control-m-batch-scheduler/images/workflow-control-m-web-1.png)


*图片由 BMC Software, Inc.©2022 提供*

## 使用 JSON
<a name="using-json"></a>

同样的流程可以用 JSON 编码：

```
{
  "Defaults": {
    "Application": "AWSM2",
    "SubApplication": "Replatform-Managed",
    "Job": {
      "Host": "ctm-worker",
      "Output": {}
    }
  },
  "jog-managed-m2": {
    "Type": "Folder",
    "ControlmServer": "psctm",
    "OrderMethod": "Manual",
    "SiteStandard": "_z_DemoBusinessFlows",
    "CBANK": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "CURRENCY": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "BROKERAGE": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "INVFUNDS": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "RISKMGMT": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "BANK-SERVICE-Managed-M2": {
      "Type": "Job:SLAManagement",
      "ServiceName": "Bank Service - Managed M2",
      "RunAs": "ctmagent",
      "CompleteBy": {
        "Time": "12:00",
        "Days": "0"
      }
    },
    "leftbranch": {
      "Type": "Flow",
      "Sequence": [
        "CURRENCY",
        "RISKMGMT",
        "BANK-SERVICE-Managed-M2"
      ]
    },
    "middlebranch": {
      "Type": "Flow",
      "Sequence": [
        "CBANK",
        "CURRENCY",
        "INVFUNDS",
        "BANK-SERVICE-Managed-M2"
      ]
    },
    "rightbranch": {
      "Type": "Flow",
      "Sequence": [
        "CURRENCY",
        "BROKERAGE",
        "BANK-SERVICE-Managed-M2"
      ]
    }
  }
}
```

要部署此流程，请使用部署服务：

```
ctm deploy folder-MANAGED-M2-REPLATFORM.json
```

# 按计划频率自动运行作业
<a name="scheduled"></a>

使用您在前面步骤中创建的流，可以添加基本调度和运行时调度。
+ 基本调度定义了作业可以运行的天数（例如，每个工作日、仅工作日、月末或季度末）。
+ 运行时间调度决定了作业在符合运行条件的当天何时运行（例如，每小时、在指定的资源可用之后，或者仅在手动确认之后）。

您可以在**调度**选项卡上设置基本调度和运行时调度。

# 基础作业根据事件运行
<a name="event-based"></a>

Control-M 托管文件传输 (MFT) 是一个 FTP/SFTP 客户端和服务器，可用于在本地主机和远程主机之间监视和传输文件。有关定义文件传输作业的更多信息，请参阅 [Control-M documentation](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/File_Transfer_Job.htm)。

本次试验使用文件传输作业来监视 S3 存储桶（名为 `bmc-poc-bucket`）中 `/bmcfile` 文件夹中文件（扩展名为 .poc）的文件创建事件。当该事件发生时，将启动 Control-M 作业以运行下一个作业。您可以选择传递完整路径，包括存储桶名称。

# 监控作业
<a name="monitor-jobs"></a>

您可以在 Control-M Monitoring 域内以及通过监控和验证作业的处理情况 AWS 管理控制台，从而确保在这两个平台上进行全面的观察和验证。

## Control-M 监控
<a name="control-m-monitoring"></a>

可以在 *Control-M 监控域*中监控作业提交和运行。默认情况下， AWS Mainframe Modernization 服务作业将与所有其他 Control-M 工作一起显示。如果您只想查看没有任何其他工作负载（或任何其他筛选要求）的 AWS Mainframe Modernization 服务作业，则可以创建 *Viewpoint*。

视点不仅显示作业信息，还显示与上游和下游依赖项的关系。此外，如果您的工作流程包括 AWS Mainframe Modernization 和其他 Control-M 作业类型，则可以在监控域中查看和管理整个流程。

要执行详细步骤，请参阅 Control-M 文档中[监控的 “视点” 部分](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Viewpoints.htm)。

以下屏幕截图显示了两个工作流的输出。在左侧，工作流程已成功完成，所有作业均显示为绿色。在右侧，工作流程仅部分成功，因为作业`CURRRENCY`返回**了 “失败**” 状态，该状态由红色表示。工作流程就此停止，剩余的作业仍处于 “**等待计划**” 状态。



![\[左边是工作流程图，右边是作业属性。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/control-m-batch-scheduler/images/monitor-jobs.png)


*图片由 BMC Software, Inc.©2022 提供*

## 在控制台上监控
<a name="console"></a>

要在上查看作业和日志信息 AWS，请登录 AWS 管理控制台，然后导航到[AWS Mainframe Modernization 控制台](https://console.aws.amazon.com/m2/home?region=us-east-1#/applications)。



![\[AWS 大型机现代化控制台上列出的任务和状态。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/control-m-batch-scheduler/images/monitor-jobs-aws-management-console.png)


此视图不包括依赖关系，也不包括任何不由 AWS Mainframe Modernization 服务管理的工作负载。