チュートリアル: Micro Focus エンタープライズデベロッパーで使用するための CI/CD パイプラインの設定 - AWS メインフレームのモダナイゼーション

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: Micro Focus エンタープライズデベロッパーで使用するための CI/CD パイプラインの設定

このチュートリアルでは、Micro Focus Enterprise Developer で BankDemo サンプルアプリケーションをインポート、編集、コンパイル、実行し、変更をコミットして CI/CD パイプラインをトリガーする方法を示します。

目次

前提条件

次のファイルをダウンロードします。

各ファイルの目的は次のとおりです。

basic-infra.yaml

この AWS CloudFormation テンプレートは、CI/CD パイプラインに必要な基本インフラストラクチャ VPC、Amazon S3 バケットなどを作成します。

pipeline.yaml

この AWS CloudFormation テンプレートは、Lambda 関数がパイプラインスタックを起動するために使用されます。このテンプレートが、パブリックにアクセス可能な Amazon S3 バケットにあることを確認してください。このバケットへのリンクを basic-infra.yaml テンプレートの PipelineTemplateURL パラメータのデフォルト値として追加します。

m2-code-sync-function.zip

この Lambda 関数は、 に基づいて CodeCommit リポジトリ、ディレクトリ構造を作成しconfig_git.yaml、 を使用してパイプラインスタックを起動しますpipeline.yaml。この zip ファイルが、 AWS Mainframe Modernization がサポートされているすべての のパブリックアクセス可能な Amazon S3 バケットで使用可能であることを確認します。 AWS リージョン ファイルを 1 つの のバケットに保存 AWS リージョン し、すべての のバケットにレプリケートすることをお勧めします AWS リージョン。特定の AWS リージョン (例: ) を識別するサフィックスを持つバケットの命名規則を使用し、プレフィックスをパラメータDeploymentSourceBucketのデフォルト値m2-cicd-deployment-sourceとして追加し、リソース m2-cicd-deployment-source-eu-west-1basic-infra.yamlテンプレートでそのバケットを参照!Sub {DeploymentSourceBucket}-${AWS::Region}しながら AWS CloudFormation 置換関数を使用して完全なバケットを形成しますSourceSyncLambdaFunction

config_git.yml

CodeCommit ディレクトリ構造の定義。詳細については、「サンプルYAMLトリガーファイル config_git.yml」を参照してください。

BANKDEMO-source.zip.

BankDemo リポジトリから CodeCommit作成されたソースコードと設定ファイル。

BANKDEMO-exercise.zip.

BankDemo CodeCommit リポジトリから作成されたチュートリアル演習の ソース。

CI/CD パイプラインの基本インフラストラクチャの作成

AWS CloudFormation テンプレートを使用してbasic-infra.yaml、 AWS CloudFormation コンソールから CI/CD パイプラインの基本インフラストラクチャスタックを作成します。このスタックは、アプリケーションコードとデータをアップロードする Amazon S3 バケットと、 AWS CodeCommit リポジトリや AWS CodePipeline パイプラインなどの他の必要なリソースを作成するためのサポート AWS Lambda 関数を作成します。

注記

このスタックを起動するには、、Amazon S3IAM、Lambda、および AWS CloudFormation を管理するためのアクセス許可と、 を使用するためのアクセス許可が必要です AWS KMS。 Amazon S3

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. 次のオプションのうち 1 つを使用して新しいスタックを作成します。

    • [Create Stack] (スタックの作成) を選択します。現在実行中のスタックがある場合は、これが唯一のオプションです。

    • [スタック] ページで [スタックを作成] を選択します。このオプションは、実行中のスタックがない場合にのみ表示されます。

  3. [テンプレートを指定] ページで:

    • [テンプレートの準備][テンプレートの準備完了] を選択します。

    • テンプレートの指定 で、テンプレートソースとして Amazon S3 URL を選択し、 URLsに応じて次のいずれかを入力します AWS リージョン。

      • https://m2-us-east-1.s3.us-east-1.amazonaws.com/cicd/mf/basic-infra.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/basic-infra.yaml

    • 設定を受け入れるには、[次へ] を選択します。

    [スタックの作成] ページが開きます。

    AWS Mainframe Modernization 値が入力されたスタックの詳細ページ。

    以下の変更を加えます。

    • [スタック名] には適切な値を、[ネットワーキング設定] にはパラメータを指定します。

    • デプロイ設定のほとんどのパラメータは適切にあらかじめ入力されているので、変更する必要はありません。に応じて AWS リージョン、パイプライン AWS CloudFormation テンプレートを次のいずれかの Amazon S3 に変更しますURLs。

      • https://m2-us-east-1.s3.amazonaws.com/cicd/mf/pipeline.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/pipeline.yaml

    • [Next (次へ)] を選択します。

    注記

    AWS CloudFormation テンプレートを自分で変更しない限り、デフォルトのパラメータ値は変更しないでください。

  4. [スタックオプションの設定] で、[次へ] を選択します。

  5. 機能 で、 がユーザーに代わってロールを作成するアクセス許可を付与するIAMリソースを作成する AWS CloudFormation 場合があることを承認します。 AWS CloudFormation IAM[スタックの作成] を選択します。

    注記

    スタックがプロビジョニングされるまで、最大 3~5 分かかる場合があります。

  6. スタックが正常に作成されたら、新しくプロビジョニングされたスタックの [出力] セクションに移動します。そこには、メインフレームコードと依存ファイルをアップロードする必要がある Amazon S3 バケットがあります。

    AWS CloudFormation 出力タブには、Amazon S3 バケットが表示されます。

AWS CodeCommit リポジトリと CI/CD パイプラインを作成する

このステップでは、 を呼び出してパイプラインスタックを作成することで、 CodeCommit リポジトリを作成し、CI/CD パイプラインスタック AWS CloudFormation をプロビジョニングします。

  1. BankDemo サンプルアプリケーションをローカルマシンにダウンロードします。

  2. ローカルマシンから CI/CD パイプラインの基本インフラストラクチャの作成 で作成した Amazon S3 bankdemo.zip バケットにアップロードします。

  3. config_git.yml をダウンロードします。

  4. 必要に応じて config_git.yml を次のように変更します。

    • 独自のターゲットリポジトリ名、ターゲットブランチ、コミットメッセージを追加します。

      repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch
    • 通知を受信する E メールアドレスを入力します。

      pipeline-config: # Send pipeline failure notifications to these email addresses alert-notifications: - myname@mycompany.com # Send notifications for manual approval before production deployment to these email addresses approval-notifications: - myname@mycompany.com
  5. CodeCommit リポジトリフォルダ構造の定義を含むconfig_git.ymlファイルを、 で作成された Amazon S3 バケットにアップロードしますCI/CD パイプラインの基本インフラストラクチャの作成。これにより、リポジトリとパイプラインを自動的にプロビジョニングする Lambda 関数が呼び出されます。

    これにより、 config_git.yml ファイルにtarget-repository定義されている で指定された名前の CodeCommit リポジトリが作成されます。例えば、 ですbankdemo-repo

    Lambda 関数は、 を介して CI/CD パイプラインスタックも作成します AWS CloudFormation。 AWS CloudFormation スタックには、指定した target-repository の名前と同じプレフィックスが付けられ、その後にランダムな文字列が続きます (例:bankdemo-repo-01234567)。作成したパイプラインURLにアクセスするには、 CodeCommit リポジトリURLと が マネジメントコンソールにあります AWS 。

    AWS CloudFormation CodeCommit リポジトリと のエンドポイントを示す出力タブ CodePipeline。
  6. CodeCommit リポジトリの作成が完了すると、CI/CD パイプラインはすぐにトリガーされ、完全な CI/CD を実行します。

  7. ファイルがプッシュされると、パイプラインが自動的にトリガーされます。パイプラインは、ビルド、ステージングへのデプロイ、テストの実行、手動承認を待ってから本番環境にデプロイされます。

サンプルYAMLトリガーファイル config_git.yml

repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch directory-structure: - '/': files: - build.xml - '*.yaml' - '*.yml' - '*.xml' - 'LICENSE.txt' readme: | # Root Folder - 'build.xml' : Build configuration for the application - tests: files: - '*.py' readme: | # Test Folder - '*.py' : Test scripts - config: files: - 'BANKDEMO.csd' - 'BANKDEMO.json' - 'BANKDEMO_ED.json' - 'dfhdrdat' - 'ESPGSQLXA.dll' - 'ESPGSQLXA64.so' - 'ESPGSQLXA64_S.so' - 'EXTFH.cfg' - 'm2-2021-04-28.normal.json' - 'MFDBFH.cfg' - 'application-definition-template-config.json' readme: | # Config Folder This folder contains the application configuration files. - 'BANKDEMO.csd' : CICS Resource definitions export file - 'BANKDEMO.json' : Enterprise Server configuration - 'BANKDEMO_ED.json' : Enterprise Server configuration for ED - 'dfhdrdat' : CICS resource definition file - 'ESPGSQLXA.dll' : XA switch module Windows - 'ESPGSQLXA64.so' : XA switch module Linux - 'ESPGSQLXA64_S.so' : XA switch module Linux - 'EXTFH.cfg' : Micro Focus File Handler configuration - 'm2-2021-04-28.normal.json' : M2 request document - 'MFDBFH.cfg' : Micro Focus Database File Handler - 'application-definition-template-config.json' : Application definition for M2 - source: subdirs: - .settings: files: - '.bms.mfdirset' - '.cbl.mfdirset' - copybook: files: - '*.cpy' - '*.inc' readme: | # Copy folder This folder contains the source for COBOL copy books, PLI includes, ... - .cpy COBOL copybooks - .inc PLI includes # - ctlcards: # files: # - '*.ctl' # - 'KBNKSRT1.txt' # readme: | # # Control Card folder # This folder contains the source for Batch Control Cards # - .ctl Control Cards - ims: files: - '*.dbd' - '*.psb' readme: | # ims folder This folder contains the IMS DB source files with the extensions - .dbd for IMS DBD source - .psb for IMS PSB source - jcl: files: - '*.jcl' - '*.ctl' - 'KBNKSRT1.txt' - '*.prc' readme: | # jcl folder This folder contains the JCL source files with the extensions - .jcl # - proclib: # files: # - '*.prc' # readme: | # # proclib folder # This folder contains the JCL procedures referenced via PROCLIB statements in the JCL with extensions # - .prc - rdbms: files: - '*.sql' readme: | # rdbms folder This folder contains any DB2 related source files with extensions - .sql for any kind of SQL source - screens: files: - '*.bms' - '*.mfs' readme: | # screens folder This folder contains the screens source files with the extensions - .bms for CICS BMS screens - .mfs for IMS MFS screens subdirs: - .settings: files: - '*.bms.mfdirset' - cobol: files: - '*.cbl' - '*.pli' readme: | # source folder This folder contains the program source files with the extensions - .cbl for COBOL source - .pli for PLI source subdirs: - .settings: files: - '*.cbl.mfdirset' - tests: files: - 'test_script.py' readme: | # tests Folder This folder contains the application test scripts pipeline-config: alert-notifications: - myname@mycompany.com approval-notifications: - myname@mycompany.com

Enterprise Developer AppStream 2.0 の作成

AppStream 2.0 で Micro Focus Enterprise Developer をセットアップするには、「」を参照してくださいチュートリアル: AppStream 2.0 で Micro Focus Enterprise Developer をセットアップする

CodeCommit リポジトリを Enterprise Developer に接続するには、 の target-repositoryで指定された名前を使用しますサンプルYAMLトリガーファイル config_git.yml

Enterprise Developer のセットアップとテスト

で作成した Enterprise Developer AppStream 2.0 インスタンスに接続しますEnterprise Developer AppStream 2.0 の作成

  1. Windows スタートから Enterprise Developer を起動します。Micro Focus Enterprise Developer を選択し、次に Enterprise Developer for Eclipse を選択します。初めて起動する場合は、時間がかかる場合があります。

  2. Eclipse ランチャーの [ワークスペース] に「C:\Users\<username>\workspace」と入力し、[起動] を選択します。

    注記

    AppStream 2.0 インスタンスに再接続した後は、必ず同じ場所を選択してください。ワークスペースの選択は永続的ではありません。

  3. ようこそ でCOBOLオープンパースペクティブ を選択します。これは新しいワークスペースで最初のみ表示されます。

Enterprise Developer で BankDemo CodeCommit リポジトリのクローンを作成する

  1. [ウィンドウ]/[Perspective]/[Perspective を開く]/[その他...] /[Git] を選択します。

  2. [Git リポジトリのクローンを作成] を選択します。

  3. [Git リポジトリをクローン] で、次の情報を入力します。

    • ロケーション URIで、リポジトリHTTPSURLの CodeCommitを入力します。

      注記

      AWS マネジメントコンソールでURLHTTPS CodeCommit リポジトリのクローンをコピーし、ここに貼り付けます。はホストパスとリポジトリパスに分割URIされます。

    • Authentication User and Password のユーザー CodeCommit リポジトリ認証情報。Secure Store で Store を選択します。

  4. [ブランチ選択][メイン] ブランチを選択し、[次へ] を選択します。

  5. [ローカルの宛先][ディレクトリ]C:\Users\<username>\workspace と入力して [完了] を選択します。

    [Git リポジトリ] ビューに BANKDEMO [main] が表示されたら、クローン処理は完了です。

BankDemo メインフレームCOBOLプロジェクトを作成してアプリケーションを構築する

  1. COBOL Perspective に変更します。

  2. [プロジェクト][自動的にビルド] を無効にします。

  3. ファイル で、新規 を選択し、次にメインフレームCOBOLプロジェクト を選択します。

  4. 新しいメインフレームCOBOLプロジェクト で、次の情報を入力します。

    • [プロジェクト名]BankDemo を入力します。

    • [Micro Focus テンプレート [64 ビット]] を選択します。

    • [Finish] を選択します。

  5. COBOL Explorer で、新しい BankDemo プロジェクトを展開します。

    注記

    [BANKDEMO main] 角括弧内の は、プロジェクトがローカル BankDemo CodeCommit リポジトリに接続されていることを示します。

  6. ツリービューにCOBOLプログラム、コピーブック、BMSソース、JCLファイルのエントリが表示されない場合は、 BankDemo プロジェクトコンテキストメニューから更新を選択します。

  7. BankDemo コンテキストメニューから、プロパティ/マイクロフォーカス/プロジェクト設定/ COBOLを選択します。

    • 文字セット - を選択しますASCII

    • [適用][閉じる] の順に選択します。

  8. BMS とCOBOLソースのビルドがすぐに開始しない場合は、プロジェクトメニューで、ビルド自動 オプションが有効になっていることを確認します。

    ビルド出力は [コンソール] ビューに表示され、数分後にメッセージ BUILD SUCCESSFULBuild finished with no errors とともに完了します。

    これで、 BankDemo アプリケーションをコンパイルし、ローカルで実行できるようになります。

テスト用のローカル BankDemo CICS環境とバッチ環境を作成する

  1. COBOL Explorer で、 を展開しますBANKDEMO / config

  2. エディタで、BANKDEMO_ED.json を開きます。

  3. 文字列 ED_Home= を検索し、D:\\<username>\\workspace\\BANKDEMO のように、Enterprise Developer プロジェクトを指すようにパスを変更します。パス定義では二重スラッシュ (\\) が使用されていることに注意してください。

  4. ファイルを保存して閉じます。

  5. [Server Explorer] を選択します。

  6. [デフォルト] コンテキストメニューから [管理ページを開く] を選択します。Micro Focus Enterprise Server [管理] ページがデフォルトのブラウザで開きます。

  7. AppStream 2.0 セッションのみの場合は、ローカルテスト用にローカル Enterprise Server リージョンを保持できるように、次の変更を加えます。

    • Directory Server / Default で、PROPERTIES/ Configuration を選択します。

    • [リポジトリの場所]D:\<username>\My Files\Home Folder\MFDS に置き換えます。

    注記

    AppStream 2.0 インスタンスへの新しい接続のたびに、ステップ 5~8 を完了する必要があります。

  8. [ディレクトリサーバー]/[デフォルト][インポート] を選択し、次の手順を実行します。

    • ステップ 1: インポートタイプ で、次へ JSONを選択して選択します。

    • [ステップ 2: アップロード] で、青い四角形のファイルをクリックしてアップロードします。

    • [アップロードするファイルを選択]

      • ファイル名: D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json を入力します。

      • 開く をクリックします。

    • [Next (次へ)] を選択します。

    • [ステップ 3: リージョン] で、[エンドポイントからポートをクリア] をクリアします。

    • [Next (次へ)] を選択します。

    • [ステップ 4: インポート] で、[インポート] を選択します。

    • [Finish] を選択します。

    これで、リストに新しいサーバー名 BANKDEMO が表示されます。

Enterprise Developer からBANKDEMOサーバーを起動する

  1. [Enterprise Developer] を選択します。

  2. [Server Explorer][デフォルト] を選択し、コンテキストメニューから [更新] を選択します。

    これで、サーバーリストに も表示されますBANKDEMO。

  3. を選択しますBANKDEMO

  4. コンテキストメニューから、プロジェクト に関連付ける を選択し、 を選択しますBANKDEMO

  5. コンテキストメニューから [開始] を選択します。

    [コンソール] ビューにはサーバースタートアップのログが表示されるはずです。

    メッセージBANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completedが表示された場合、サーバーはCICSBANKDEMOアプリケーションをテストする準備ができています。

Rumba 3270 ターミナルを起動する

  1. Windows スタートから、Micro Focus Rumba+ Desktop/Rumba+ Desktop を起動します。

  2. ようこそ で、CREATENEWSESSION/メインフレームディスプレイ を選択します。

  3. [メインフレームディスプレイ] で、[接続]/[設定] を選択します。

  4. セッション設定 で、接続 / TN3270 を選択します。

  5. [ホスト名]/[アドレス][挿入] を選択し、IP アドレス 127.0.0.1 を入力します。

  6. [Telnet ポート] にポート 6000 を入力します。

  7. [Apply] を選択します。

  8. [接続]を選択します。

    CICS ウェルカム画面には、行 1 のメッセージ が表示された画面が表示されますThis is the Micro Focus MFE CICS region BANKDEMO

  9. CTRL+Shift+Z を押して画面をクリアします。

トランザクションを実行する BankDemo

  1. 空白の画面で、BANK と入力します。

  2. 画面 BANK10ユーザー ID.....: の入力フィールドに と入力guestし、Enter キーを押します。

  3. 画面 BANK20 で、ローンのコストを計算する前に入力フィールドに / (スラッシュ) と入力し、Enter キーを押します。

  4. 画面 BANK70

    • [借りたい金額...:]10000 と入力します。

    • [金利...:]5.0 と入力します。

    • [借入期間 (月)...:]10 と入力します。

    • [Enter] キーを押します。

    次の結果が表示されます。

    Resulting monthly payment.............: $1023.06

    これで、Enterprise Developer でのBANKDEMOアプリケーションのセットアップは完了です。

Enterprise Developer からBANKDEMOサーバーを停止する

  1. [Server Explorer][デフォルト] を選択し、コンテキストメニューから [更新] を選択します。

  2. を選択しますBANKDEMO

  3. コンテキストメニューから [停止] を選択します。

    [コンソール] ビューにはサーバー停止のログが表示されるはずです。

    メッセージ Server: BANKDEMO stopped successfully が表示されれば、サーバーは正常にシャットダウンされています。

演習 1: BANKDEMOアプリケーションでローン計算を強化する

このシナリオでは、コードにサンプル変更を加え、デプロイし、テストするプロセスを順を追って説明します。

ローン部門では、ローン計算画面 BANK70 の新しいフィールドに合計ローン額を表示する必要があります。これには、BMS画面 MBANK70 を変更する必要があります。新しいフィールドとCBL、関連するコピーブックを含む対応する画面処理プログラム SBANK70P CBLを追加します。さらに、BBANK70P のローン計算ルーチン 。CBL は追加の式で拡張する必要があります。

この演習を完了するには、以下の前提条件を完了してください。

  • BANKDEMO-exercise.zip を にダウンロードしますD:\PhotonUser\My Files\Home Folder

  • .zip ファイルを D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise に展開します。

  • D:\PhotonUser\My Files\Home Folder\AnalysisRules フォルダを作成します。

  • ルールファイル Loan+Calculation+Update.General-1.xmlBANKDEMO-exercise フォルダから D:\PhotonUser\My Files\Home Folder\AnalysisRules にコピーします。

注記

*.CBL と *.CPY のコード変更では、この演習では列 1~6 に EXER01 とマークされます。

Enterprise Developer コード分析にローン分析ルールを追加します。

Micro Focus Enterprise Analyzer で定義された分析ルールを Enterprise Analyzer からエクスポートして Enterprise Developer にインポートすることによって、Enterprise Developer プロジェクトのソース全体で同じ分析ルールを実行できます。

  1. Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules を開きます。

  2. [編集...] を選択し、ルールファイル Loan+Calculation+Update.General-1.xml を含むフォルダ名 D:\PhotonUser\My Files\Home Folder\AnalysisRules を入力します。

  3. [Finish] を選択します。

  4. [適用][閉じる] の順に選択します。

  5. BANKDEMO プロジェクトコンテキストメニューから、コード分析 を選択します。

    [ローン計算更新] のエントリが表示されます。

ステップ 1: ローン計算のコード分析を実行する

新しい分析ルールでは、検索パターン に一致するCOBOLプログラムとコード行*PAYMENT**LOAN*および*RATE*式、ステートメント、変数を特定したいと考えています。これにより、コードをナビゲートし、必要なコード変更を特定しやすくなります。

  1. BANKDEMO プロジェクトコンテキストメニューから、コード分析/ローン計算の更新 を選択します。

    これにより、検索ルールが実行され、[コード分析] という新しいタブに結果が一覧表示されます。右下の緑色の進行状況バーが消えたら、分析の実行は完了です。

    [コード分析] タブには、BBANK20P.CBLBBANK70P.CBLSBANK70P.CBL の拡張リストが表示され、各リストには検索パターンに一致するステートメント、式、変数が一覧表示されます。

    BBANK20P.CBL の結果を見ると、検索パターンと一致するリテラルだけが移動されていることがわかります。したがって、このプログラムは無視できます。

  2. タブメニューバーで [-] アイコンを選択すると、すべて折りたたまれます。

  3. ダブルクリックで SBANK70P.CBL を展開して任意の行を任意の順序で選択すると、ソースが開き、ソースコードで選択した行が強調表示されます。また、識別されたソース行がすべてマークされていることもわかります。

ステップ 2: CICSBMSマップとCOBOLプログラムとテストを変更する

まず、BMSマップMBANK70.BMS、画面処理プログラムSBANK70P.CBL、コピーブックを変更CBANKDAT.CPYして、新しいフィールドを表示します。この演習では不必要なコーディングを避けるため、変更したソースモジュールを D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 フォルダ内に用意しています。通常、開発者はコード分析の結果を使用してソースをナビゲートしたり変更したりします。時間があり、手動による変更を行う場合は、「0. および MBANK70BMSSBANK70P の」の「手動による変更」に記載されている情報を使用します。CBL (オプション)*。

すばやく変更するには、次のファイルをコピーしてください。

  1. ..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMSD:\PhotonUser\workspace\bankdemo\source\screens

  2. .\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

  3. ..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPYD:\PhotonUser\workspace\bankdemo\source\copybook

  4. 変更の影響を受けるすべてのプログラムが確実にコンパイルされるようにするには、[プロジェクト/クリーン.../すべてのプロジェクトをクリーンアップ] を選択してください。

MBANK70.BMSSBANK70P.CBL に手動で変更するには、以下の手順を実行してください。

  • BMS MBANK70.BMS ソースを手動で変更する場合は、 PAYMENTフィールドの後に を追加します。

    • TXT08 と同じ属性を持ち、INITIAL値が「合計ローン金額」の TXT09

    • TOTAL と同じ属性を持つ PAYMENT

変更のテスト

変更をテストするには、以下のセクションの手順を繰り返します。

  1. Enterprise Developer からBANKDEMOサーバーを起動する

  2. Rumba 3270 ターミナルを起動する

  3. トランザクションを実行する BankDemo

    さらに、テキスト Total Loan Amount.....................: も表示されるはずです。

  4. Enterprise Developer からBANKDEMOサーバーを停止する

ステップ 3: COBOL プログラムに合計金額計算を追加する

2 番目のステップでは、BBANK70P.CBL を変更してローン総額の計算を追加します。必要な変更を加えた準備済みのソースは D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 フォルダにあります。時間があり、手動による変更を行う場合は、「*BBANK70P の手動変更」に記載されている情報を使用します。CBL (オプション)*。

すばやく変更するには、次のファイルをコピーしてください。

  • ..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

BBANK70P.CBL に手動で変更するには、以下の手順を実行します。

  • コード分析結果を使用して、必要な変更を特定します。

変更のテスト

変更をテストするには、以下のセクションの手順を繰り返します。

  1. Enterprise Developer からBANKDEMOサーバーを起動する

  2. Rumba 3270 ターミナルを起動する

  3. トランザクションを実行する BankDemo

    さらに、テキスト Total Loan Amount.....................: $10230.60 も表示されるはずです。

  4. Enterprise Developer からBANKDEMOサーバーを停止する

ステップ 4: 変更をコミットして CI/CD パイプラインを実行する

変更を中央 CodeCommit リポジトリにコミットし、CI/CD パイプラインをトリガーして変更を構築、テスト、デプロイします。

  1. BANKDEMO プロジェクトからコンテキストメニューで、チーム/コミット を選択します。

  2. [Git Staging] タブで、コミットメッセージ Added Total Amount Calculation を入力します。

  3. [コミットしてプッシュする...] を選択します。

  4. CodePipeline コンソールを開き、パイプライン実行のステータスを確認します。

    注記

    Enterprise Developer またはチーム機能のコミットまたはプッシュで問題が発生した場合は、Git Bash コマンドラインインターフェイスを使用してください。

演習 2: アプリケーションでローン計算を抽出する BankDemo

次の演習では、別のサンプル変更リクエストを処理します。このシナリオでは、ローン部門がローン計算ルーチンをスタンドアロン として再利用したいと考えています WebService。ルーチンは のままCOBOLで、既存のCICSCOBOLプログラム から呼び出すこともできますBBANK70P.CBL

ステップ 1: ローン計算ルーチンをCOBOLセクションにリファクタリングする

最初のステップでは、ローン計算ルーチンをCOBOLセクションに抽出します。このステップは、次のステップでコードをスタンドアロンCOBOLプログラムに抽出するために必要です。

  1. COBOL エディタBBANK70P.CBLで を開きます。

  2. エディタで、コンテキストメニューから [コード分析]/[ローン計算更新] を選択します。これにより、現在のソースのみをスキャンして、分析ルールで定義されているパターンを見つけます。

  3. [コード分析] タブの結果から、最初の算術ステートメント DIVIDE WS-LOAN-INTEREST BY 12 を探します。

  4. ステートメントをダブルクリックして、エディタのソース行に移動します。これはローン計算ルーチンの最初のステートメントです。

  5. ローン計算ルーチンをセクションに抽出するための次のコードブロックをマークします。

    DIVIDE WS-LOAN-INTEREST BY 12 GIVING WS-LOAN-INTEREST ROUNDED. COMPUTE WS-LOAN-MONTHLY-PAYMENT ROUNDED = ((WS-LOAN-INTEREST * ((1 + WS-LOAN-INTEREST) ** WS-LOAN-TERM)) / (((1 + WS-LOAN-INTEREST) * WS-LOAN-TERM) - 1 )) * WS-LOAN-PRINCIPAL. EXER01 COMPUTE WS-LOAN-TOTAL-PAYMENT = EXER01 (WS-LOAN-MONTHLY-PAYMENT * WS-LOAN-TERM).
  6. エディタのコンテキストメニューから [リファクタリング/セクションに抽出...] を選択します。

  7. 新しいセクション名 LOAN- CALCULATIONを入力します。

  8. [OK] を選択します。

    マークされたコードブロックが新しい LOAN-CALCULATION セクションに抽出され、コードブロックが PERFROM LOAN-CALCULATION ステートメントに置き換えられています。

変更のテスト

変更をテストするには、次のセクションで説明する手順を繰り返します。

  1. Enterprise Developer からBANKDEMOサーバーを起動する

  2. Rumba 3270 ターミナルを起動する

  3. トランザクションを実行する BankDemo

    さらに、テキスト Total Loan Amount.....................: $10230.60 も表示されるはずです。

  4. Enterprise Developer からBANKDEMOサーバーを停止する

    注記

    上記の手順でコードブロックをセクションに抽出しない場合は、ステップ 1 で変更したソースを ..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBL から D:\PhotonUser\workspace\bankdemo\source\cobol にコピーできます。

ステップ 2: ローン計算ルーチンをスタンドアロンCOBOLプログラムに抽出する

ステップ 2 では、LOAN-CALCULATION セクション内のコードブロックがスタンドアロンプログラムに抽出され、元のコードが新しいサブプログラムを呼び出すコードに置き換えられます。

  1. BBANK70P.CBL をエディタで開き、ステップ 1 で作成した新しい PERFORM LOAN-CALCULATION ステートメントを見つけます。

  2. セクション名の中にカーソルを置きます。灰色でマークされます。

  3. コンテキストメニューから [リファクタリング] → [セクション/段落をプログラムに抽出...] を選択します。

  4. セクション/段落をプログラムに抽出 で、新しいファイル名 を入力しますLOANCALCCBL

  5. [OK] を選択します。

    新しい LOANCALC.CBL プログラムがエディタで開きます。

  6. 下にスクロールして、コールインターフェイス用に抽出および生成されているコードを確認します。

  7. BBANK70P.CBL でエディタを選択し、LOAN-CALCULATION SECTION に進みます。生成中のコードを確認して、新しいサブプログラム LOANCALC.CBL を呼び出します。

    注記

    CALL ステートメントは、 DFHEIBLKおよび を使用してCICSコントロールブロックLOANCALCDFHCOMMAREAを呼び出します。新しいLOANCALC.CBLサブプログラムを非CICSプログラムとして呼び出すため、コメントアウトまたは削除して呼び出しDFHCOMMAREAから DFHEIBLK と を削除する必要があります。

変更のテスト

変更をテストするには、次のセクションで説明する手順を繰り返します。

  1. Enterprise Developer からBANKDEMOサーバーを起動する

  2. Rumba 3270 ターミナルを起動する

  3. トランザクションを実行する BankDemo

    さらに、テキスト Total Loan Amount.....................: $10230.60 も表示されるはずです。

  4. Enterprise Developer からBANKDEMOサーバーを停止する

    注記

    上記の手順でコードブロックをセクションに抽出しない場合は、ステップ 1 で変更したソースを ..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBLLOANCALC.CBL から D:\PhotonUser\workspace\bankdemo\source\cobol にコピーできます。

ステップ 3: 変更をコミットして CI/CD パイプラインを実行する

変更を中央 CodeCommit リポジトリにコミットし、CI/CD パイプラインをトリガーして変更を構築、テスト、デプロイします。

  1. BANKDEMO プロジェクトからコンテキストメニューで、チーム/コミット を選択します。

  2. [Git Staging] タブ

    • 「ステージングされていないステージ」にLOANCALCCBL「」、「」、「」にLOANCALCCBL「」を追加します。

    • コミットメッセージ Added Total Amount Calculation を入力してください。

  3. [コミットしてプッシュする...] を選択します。

  4. CodePipeline コンソールを開き、パイプライン実行のステータスを確認します。

    注記

    Enterprise Developer またはチーム機能のコミットまたはプッシュで問題が発生した場合は、Git Bash コマンドラインインターフェイスを使用してください。

リソースをクリーンアップする

このチュートリアルで作成したリソースが不要になった場合は、追加料金の発生を避けるため、それらを削除してください。以下のステップを実行します。