AWS Mainframe Modernization

Disclaimer

Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/

Overview

AWS Mainframe Modernization allows migrating and modernizing on-premises mainframe workloads to a managed runtime environment on AWS. This Universal Extension provides customers that are migrating or modernizing their mainframe applications to AWS Cloud the ability to automate and schedule their tasks in Micro Focus and Blu Age environments.

Version Information

Template NameExtension NameExtension Version
AWS Mainframe Modernizationue-aws-mainframe-modernization1.4.0

Refer to Changelog for version history information.

Software Requirements

This integration requires a Universal Agent and a Python runtime to execute the Universal Task.

Software Requirements for Universal Template and Universal Task

Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.

Software Requirements for Universal Agent

Both Windows and Linux agents are supported:

  • Universal Agent for Windows x64 Version 7.0.0 and later with python options installed.
  • Universal Agent for Linux Version 7.0.0 and later with python options installed.

Software Requirements for Universal Controller

Universal Controller Version 7.0.0.0 and later.

Network and Connectivity Requirements

The extension's Universal Agent host should be able to establish a connection with:

  • AWS Mainframe Modernization endpoints (The provided AWS Credentials should have sufficient permissions on AWS to execute required actions).

Key Features

This Universal Extension provides the following main features:

  • The ability to schedule, automate and execute mainframe batch jobs running in AWS Mainframe Modernization Service via Stonebranch Universal Controller
  • Support for Micro Focus and Blu Age Jobs
  • Monitor Application’s batch processes from the Stonebranch Universal Controller
  • Start/Restart/Rerun/Cancel batch processes automatically or manually from the Stonebranch Universal Controller
  • Synchronous and asynchronous batch execution from Stonebranch Universal Controller
  • Retrieve the results of the AWS Mainframe Modernization Batch processes
  • Capture the AWS Cloudwatch logs of the executed jobs in Stonebranch Universal Controller.

Import Universal Template

To use the Universal Template, you first must perform the following steps.

  1. This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.

  2. To import the Universal Template into your Controller, follow the instructions here.

  3. When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.

Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.

Configure Universal Task

For a new Universal Task, create a new task, and enter the required input fields.

Input Fields

The input fields for this Universal Extension are described below.

FieldInput typeDefault valueTypeDescription
ActionRequiredList EnvironmentsChoiceAction performed upon the task execution. Available actions are as follows.
  • Start Application
  • Start Batch
  • Fetch Logs
  • Cancel Batch Execution
  • Stop Application
RegionOptional-Text

Region for the Amazon Web Service.

AWS CredentialsOptional-Credentials

The Credentials definition should be as follows.

  • AWS Access Key ID as "Runtime User".
  • AWS Secret Access Key as "Runtime Password".
End PointOptional-TextOptional field. If not provided the endpoint will be generated using the Region filed value. 
ApplicationOptional-Dynamic Choice

The application name on which the action will be performed.

The user can dynamically fetch the application name from AWS.

Visible only when Action is:

  • Start Application
  • Start Batch
  • Fetch Logs
  • Cancel Batch Execution
  • Stop Application
  • List Batch Jobs

Required when visible

Force StopOptionalfalseBoolean

Initiate a force-stop action toward an application.

Visible only when Action is:

  • Stop Application
Execution IdOptional-Text

Batch execution Id to be canceled. 

Visible only when Action is:

  • Cancel Batch Execution

Required when visible

Filter PatternOptional-Text

A pattern that will be used as a filter during logs fetching.

Visible only when Action is:

  • Fetch Logs
Log Stream NameOptional"*"Text

Log stream name to be fetched.

Visible only when Action is:

  • Fetch Logs
Fetch Log FormatOptional"Text"ChoiceFormat of log to be fetched.
  • JSON
  • Text

Visible only when Action is:

  • Fetch Logs
JCL File NameOptional-Text

Name of the JCI File to be executed.

Visible only when Action is:

  • Start Batch

and JCL File Variable is selected

JCL FileOptional-Dynamic Choice

JCI File to be executed. Dynamic Choice field can only be used with Micro Focus applications. Will not work for Blu Age applications.

Visible only when Action is:

  • Start Batch

and JCL File Variable is not selected

JCL File VariableOptionalfalseBoolean

If selected, the JCL File Name field will be visible to enable entering the JCL file name in a text format. This allows using variables in the JCL File Name.

JCL File Name (Temp)Optional-Text

Name of the JCI File to be executed. This field value will overwrite the value of "JCL File Name" for the current execution (used in case of re-run).

Visible only when Action is:

  • Start Batch
Wait for Success or FailureOptionaltrueBoolean

If selected, the task will continue running until Job reaches the "SUCCEDED" or "FAILED" state.

Visible only when Action is:

  • Start Application
  • Start Batch
  • Cancel Batch Execution
  • Stop Application
Polling IntervalOptional10Integer

The polling interval in seconds between checking for the Job status.

Visible only when "Wait for Success or Failure" is True

Fetch Execution LogsOptionaltrueBoolean

Fetch logs from cloud-watch when the task is completed.

Visible only when "Wait for Success or Failure" is True

Log FormatOptional"Text"Choice

Format of fetched logs.

Visible only when "Fetch Execution Logs" is True

Task Examples

Start Batch Job

JCL File Variable

Task Instance with JCL File from the dropdown

Starting Blu Age Batch


Start Batch Job Result Example:

STDERR:
2023-02-13 09:57:06,542 - 140416623965760 MainThread          - extension.py[214] INFO: Extension Information: ue-aws-mainframe-modernization-1.4.0
2023-02-13 09:57:06,546 - 140416623965760 MainThread          - extension.py[217] INFO: System Information: Python Version: 3.7.6 (default, Mar 12 2021, 11:32:08) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)], system: Linux, release: 5.10.144-127.601.amzn2.x86_64, version: #1 SMP Thu Sep 29 01:11:59 UTC 2022, machine type: x86_64
2023-02-13 09:57:06,547 - 140416623965760 MainThread          - extension.py[223] INFO: FIELDS: {'application': 'SBDemoApplication_ver2 (6ya6xx4435fhxh6zavfkh4rb3m)', 'credentials': {'user': 'AKIAU4EJJ6FOCWLX454T', 'password': '****'}}
2023-02-13 09:57:06,629 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job with header {'Content-Type': 'application/json'} and data {"batchJob": {"jclFileName": "M2JOB01.jcl"}}
2023-02-13 09:57:06,838 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:14,985 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:20,054 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:25,114 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:30,186 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:35,250 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
2023-02-13 09:57:35,305 - 140416623965760 MainThread          - extension.py[474] INFO: Fetching log events starting from 1676300226629
2023-02-13 09:57:35,305 - 140416623965760 MainThread          - extension.py[482] INFO: Log group name = /aws/vendedlogs/m2/6ya6xx4435fhxh6zavfkh4rb3m/ConsoleLog
2023-02-13 09:57:50,954 - 140416623965760 MainThread          - extension.py[99] INFO: extension_start function ended with rc = 0


STDOUT

230213 14573346       6310 6YA6XX44 JCLCM0187I J0001286 M2JOB1   JOB  SUBMITTED (JOBNAME=M2JOB1,JOBNUM=0001286) 14:57:33
230213 14573355       6310 6YA6XX44 JCLCM0180I J0001286 M2JOB1   Job ready for execution. 14:57:33
230213 14573373       6261 6YA6XX44 JES000004I J0001286 M2JOB1   JOB  DISPATCHED 14:57:33
230213 14573390       6290 6YA6XX44 JCLCM0188I J0001286 M2JOB1   JOB  STARTED 14:57:33
230213 14573397       6290 6YA6XX44 JCLCM0182I J0001286 M2JOB1   JOB  ENDED   - COND CODE 0000 14:57:33

EXTENSION

Task completed successfully.


Start the Application and wait for the execution

Cancel Batch Execution

Fetch logs

Task Output

Output Only Fields

The output fields for this Universal Extension are described below.

FieldTypeDescription
Application IdTextThe application Id resulted after starting an application.
Batch Execution IdTextThe batch execution Id resulted after starting a batch job.
Batch Job IdTextThe batch job id resulted after starting a batch job.

Exit Codes 

The exit codes are described below.

Exit CodeStatus Classification CodeStatus Classification DescriptionStatus Description
0SUCCESSSuccessful Execution<successful execution message>

1FAILEDFailed ExecutionFAILED: <Error Message>
103FAILEDTask Cancelled or Stopped


Task failed because of the status of the AWS Batch Job Status

104FAILEDTask Failed

Task failed because of the status of the AWS Batch Job Status

STDOUT and STDERR

STDERR provides the integration's execution log.

STDOUT provides the AWS API response, which might be changed in future versions of this API.

Integration Modifications

Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.

  • Python code modifications should not be done.
  • Template Modifications
    • General Section
      • "Name", "Extension", "Variable Prefix", "Icon" should not be changed.
    • Universal Template Details Section
      • "Template Type", "Agent Type", "Send Extension Variables", "Always Cancel on Force Finish" should not be changed.
    • Result Processing Defaults Section
      • Success and Failure Exit codes should not be changed.
      • Success and Failure Output processing should not be changed.
    • Fields Restriction Section
      • Default configured values should not be changed.

Users and customers are encouraged to report defects or feature requests at Stonebranch Support Desk.

Document References

This document references the following documents.

Document LinkDescription
Universal TemplatesUser documentation for creating, working with and understanding Universal Templates and Integrations.
Universal TasksUser documentation for creating Universal Tasks in the Universal Controller user interface.
AWS Mainframe ModernizationUser guide for AWS Step Functions.


Changelog

ue-aws-mainframe-modernization-1.4.0 (2023-02-14)

Enhancements

  • Added: JCL Files can be selected dynamically from UI.

  • Added: Support was added for Blu Age Batch jobs

  • Added: Engine Type (Micro Focus / Blu Age) is added to application names in order to provide visibility on their type

Fixes

  • Fixed: Log Retrieval for Micro Focus Jobs

ue-aws-mainframe-modernization-1.3.7 (2022-10-17)

This is the first official version approved by AWS.