翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: Micro Focus エンタープライズデベロッパーで使用するための CI/CD パイプラインの設定
このチュートリアルでは、Micro Focus Enterprise Developer で BankDemo サンプルアプリケーションをインポート、編集、コンパイル、実行し、変更をコミットして CI/CD パイプラインをトリガーする方法を示します。
目次
前提条件
次のファイルをダウンロードします。
-
basic-infra.yaml
-
pipeline.yaml
-
m2-code-sync-function.zip
-
config_git.yml
-
BANKDEMO-source.zip
-
BANKDEMO-exercise.zip
各ファイルの目的は次のとおりです。
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-1
のbasic-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
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudformation
で AWS CloudFormation コンソールを開きます。 -
次のオプションのうち 1 つを使用して新しいスタックを作成します。
-
[Create Stack] (スタックの作成) を選択します。現在実行中のスタックがある場合は、これが唯一のオプションです。
-
[スタック] ページで [スタックを作成] を選択します。このオプションは、実行中のスタックがない場合にのみ表示されます。
-
-
[テンプレートを指定] ページで:
-
[テンプレートの準備] の [テンプレートの準備完了] を選択します。
-
テンプレートの指定 で、テンプレートソースとして 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 リージョン、パイプライン 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 テンプレートを自分で変更しない限り、デフォルトのパラメータ値は変更しないでください。
-
-
[スタックオプションの設定] で、[次へ] を選択します。
-
機能 で、 がユーザーに代わってロールを作成するアクセス許可を付与するIAMリソースを作成する AWS CloudFormation 場合があることを承認します。 AWS CloudFormation IAM[スタックの作成] を選択します。
注記
スタックがプロビジョニングされるまで、最大 3~5 分かかる場合があります。
-
スタックが正常に作成されたら、新しくプロビジョニングされたスタックの [出力] セクションに移動します。そこには、メインフレームコードと依存ファイルをアップロードする必要がある Amazon S3 バケットがあります。
AWS CodeCommit リポジトリと CI/CD パイプラインを作成する
このステップでは、 を呼び出してパイプラインスタックを作成することで、 CodeCommit リポジトリを作成し、CI/CD パイプラインスタック AWS CloudFormation をプロビジョニングします。
-
BankDemo サンプルアプリケーションを
ローカルマシンにダウンロードします。 -
ローカルマシンから CI/CD パイプラインの基本インフラストラクチャの作成 で作成した Amazon S3
bankdemo.zip
バケットにアップロードします。 -
config_git.yml
をダウンロードします。 -
必要に応じて
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
-
-
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-
)。作成したパイプラインURLにアクセスするには、 CodeCommit リポジトリURLと が マネジメントコンソールにあります AWS 。01234567
-
CodeCommit リポジトリの作成が完了すると、CI/CD パイプラインはすぐにトリガーされ、完全な CI/CD を実行します。
-
ファイルがプッシュされると、パイプラインが自動的にトリガーされます。パイプラインは、ビルド、ステージングへのデプロイ、テストの実行、手動承認を待ってから本番環境にデプロイされます。
サンプル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 の作成。
-
Windows スタートから Enterprise Developer を起動します。Micro Focus Enterprise Developer を選択し、次に Enterprise Developer for Eclipse を選択します。初めて起動する場合は、時間がかかる場合があります。
-
Eclipse ランチャーの [ワークスペース] に「
C:\Users\<username>\workspace
」と入力し、[起動] を選択します。注記
AppStream 2.0 インスタンスに再接続した後は、必ず同じ場所を選択してください。ワークスペースの選択は永続的ではありません。
-
ようこそ で、COBOLオープンパースペクティブ を選択します。これは新しいワークスペースで最初のみ表示されます。
Enterprise Developer で BankDemo CodeCommit リポジトリのクローンを作成する
-
[ウィンドウ]/[Perspective]/[Perspective を開く]/[その他...] /[Git] を選択します。
-
[Git リポジトリのクローンを作成] を選択します。
-
[Git リポジトリをクローン] で、次の情報を入力します。
-
ロケーション URIで、リポジトリHTTPSURLの CodeCommitを入力します。
注記
AWS マネジメントコンソールでURLHTTPS CodeCommit リポジトリのクローンをコピーし、ここに貼り付けます。はホストパスとリポジトリパスに分割URIされます。
-
Authentication User and Password のユーザー CodeCommit リポジトリ認証情報。Secure Store で Store を選択します。
-
-
[ブランチ選択] で [メイン] ブランチを選択し、[次へ] を選択します。
-
[ローカルの宛先] の [ディレクトリ] に
C:\Users\<username>\workspace
と入力して [完了] を選択します。[Git リポジトリ] ビューに
BANKDEMO [main]
が表示されたら、クローン処理は完了です。
BankDemo メインフレームCOBOLプロジェクトを作成してアプリケーションを構築する
-
COBOL Perspective に変更します。
-
[プロジェクト] で [自動的にビルド] を無効にします。
-
ファイル で、新規 を選択し、次にメインフレームCOBOLプロジェクト を選択します。
-
新しいメインフレームCOBOLプロジェクト で、次の情報を入力します。
-
[プロジェクト名] に
BankDemo
を入力します。 -
[Micro Focus テンプレート [64 ビット]] を選択します。
-
[Finish] を選択します。
-
-
COBOL Explorer で、新しい BankDemo プロジェクトを展開します。
注記
[BANKDEMO main]
角括弧内の は、プロジェクトがローカル BankDemo CodeCommit リポジトリに接続されていることを示します。 -
ツリービューにCOBOLプログラム、コピーブック、BMSソース、JCLファイルのエントリが表示されない場合は、 BankDemo プロジェクトコンテキストメニューから更新を選択します。
-
BankDemo コンテキストメニューから、プロパティ/マイクロフォーカス/プロジェクト設定/ COBOLを選択します。
-
文字セット - を選択しますASCII。
-
[適用]、[閉じる] の順に選択します。
-
-
BMS とCOBOLソースのビルドがすぐに開始しない場合は、プロジェクトメニューで、ビルド自動 オプションが有効になっていることを確認します。
ビルド出力は [コンソール] ビューに表示され、数分後にメッセージ
BUILD SUCCESSFUL
とBuild finished with no errors
とともに完了します。これで、 BankDemo アプリケーションをコンパイルし、ローカルで実行できるようになります。
テスト用のローカル BankDemo CICS環境とバッチ環境を作成する
-
COBOL Explorer で、 を展開します
BANKDEMO / config
。 -
エディタで、
BANKDEMO_ED.json
を開きます。 -
文字列
ED_Home=
を検索し、D:\\<username>\\workspace\\BANKDEMO
のように、Enterprise Developer プロジェクトを指すようにパスを変更します。パス定義では二重スラッシュ (\\
) が使用されていることに注意してください。 -
ファイルを保存して閉じます。
-
[Server Explorer] を選択します。
-
[デフォルト] コンテキストメニューから [管理ページを開く] を選択します。Micro Focus Enterprise Server [管理] ページがデフォルトのブラウザで開きます。
-
AppStream 2.0 セッションのみの場合は、ローカルテスト用にローカル Enterprise Server リージョンを保持できるように、次の変更を加えます。
-
Directory Server / Default で、PROPERTIES/ Configuration を選択します。
-
[リポジトリの場所] を
D:\<username>\My Files\Home Folder\MFDS
に置き換えます。
注記
AppStream 2.0 インスタンスへの新しい接続のたびに、ステップ 5~8 を完了する必要があります。
-
-
[ディレクトリサーバー]/[デフォルト] で [インポート] を選択し、次の手順を実行します。
-
ステップ 1: インポートタイプ で、次へ JSONを選択して選択します。
-
[ステップ 2: アップロード] で、青い四角形のファイルをクリックしてアップロードします。
-
[アップロードするファイルを選択] に
-
ファイル名:
D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json
を入力します。 -
開く をクリックします。
-
-
[Next (次へ)] を選択します。
-
[ステップ 3: リージョン] で、[エンドポイントからポートをクリア] をクリアします。
-
[Next (次へ)] を選択します。
-
[ステップ 4: インポート] で、[インポート] を選択します。
-
[Finish] を選択します。
これで、リストに新しいサーバー名
BANKDEMO
が表示されます。 -
Enterprise Developer からBANKDEMOサーバーを起動する
-
[Enterprise Developer] を選択します。
-
[Server Explorer] で [デフォルト] を選択し、コンテキストメニューから [更新] を選択します。
これで、サーバーリストに も表示されますBANKDEMO。
-
を選択しますBANKDEMO。
-
コンテキストメニューから、プロジェクト に関連付ける を選択し、 を選択しますBANKDEMO。
-
コンテキストメニューから [開始] を選択します。
[コンソール] ビューにはサーバースタートアップのログが表示されるはずです。
メッセージ
BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed
が表示された場合、サーバーはCICSBANKDEMOアプリケーションをテストする準備ができています。
Rumba 3270 ターミナルを起動する
-
Windows スタートから、Micro Focus Rumba+ Desktop/Rumba+ Desktop を起動します。
-
ようこそ で、CREATENEWSESSION/メインフレームディスプレイ を選択します。
-
[メインフレームディスプレイ] で、[接続]/[設定] を選択します。
-
セッション設定 で、接続 / TN3270 を選択します。
-
[ホスト名]/[アドレス] に [挿入] を選択し、IP アドレス
127.0.0.1
を入力します。 -
[Telnet ポート] にポート
6000
を入力します。 -
[Apply] を選択します。
-
[接続]を選択します。
CICS ウェルカム画面には、行 1 のメッセージ が表示された画面が表示されます
This is the Micro Focus MFE CICS region BANKDEMO
。 -
CTRL+Shift+Z を押して画面をクリアします。
トランザクションを実行する BankDemo
-
空白の画面で、
BANK
と入力します。 -
画面 BANK10 のユーザー ID.....: の入力フィールドに と入力
guest
し、Enter キーを押します。 -
画面 BANK20 で、ローンのコストを計算する前に入力フィールドに
/
(スラッシュ) と入力し、Enter キーを押します。 -
画面 BANK70:
-
[借りたい金額...:] で
10000
と入力します。 -
[金利...:] で
5.0
と入力します。 -
[借入期間 (月)...:] で
10
と入力します。 -
[Enter] キーを押します。
次の結果が表示されます。
Resulting monthly payment.............: $1023.06
これで、Enterprise Developer でのBANKDEMOアプリケーションのセットアップは完了です。
-
Enterprise Developer からBANKDEMOサーバーを停止する
-
[Server Explorer] で [デフォルト] を選択し、コンテキストメニューから [更新] を選択します。
-
を選択しますBANKDEMO。
-
コンテキストメニューから [停止] を選択します。
[コンソール] ビューにはサーバー停止のログが表示されるはずです。
メッセージ
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.xml
をBANKDEMO-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 プロジェクトのソース全体で同じ分析ルールを実行できます。
-
Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules
を開きます。 -
[編集...] を選択し、ルールファイル
Loan+Calculation+Update.General-1.xml
を含むフォルダ名D:\PhotonUser\My Files\Home Folder\AnalysisRules
を入力します。 -
[Finish] を選択します。
-
[適用]、[閉じる] の順に選択します。
-
BANKDEMO プロジェクトコンテキストメニューから、コード分析 を選択します。
[ローン計算更新] のエントリが表示されます。
ステップ 1: ローン計算のコード分析を実行する
新しい分析ルールでは、検索パターン に一致するCOBOLプログラムとコード行*PAYMENT*
、*LOAN*
および*RATE*
式、ステートメント、変数を特定したいと考えています。これにより、コードをナビゲートし、必要なコード変更を特定しやすくなります。
-
BANKDEMO プロジェクトコンテキストメニューから、コード分析/ローン計算の更新 を選択します。
これにより、検索ルールが実行され、[コード分析] という新しいタブに結果が一覧表示されます。右下の緑色の進行状況バーが消えたら、分析の実行は完了です。
[コード分析] タブには、
BBANK20P.CBL
、BBANK70P.CBL
、SBANK70P.CBL
の拡張リストが表示され、各リストには検索パターンに一致するステートメント、式、変数が一覧表示されます。BBANK20P.CBL
の結果を見ると、検索パターンと一致するリテラルだけが移動されていることがわかります。したがって、このプログラムは無視できます。 -
タブメニューバーで [-] アイコンを選択すると、すべて折りたたまれます。
-
ダブルクリックで
SBANK70P.CBL
を展開して任意の行を任意の順序で選択すると、ソースが開き、ソースコードで選択した行が強調表示されます。また、識別されたソース行がすべてマークされていることもわかります。
ステップ 2: CICSBMSマップとCOBOLプログラムとテストを変更する
まず、BMSマップMBANK70.BMS
、画面処理プログラムSBANK70P.CBL
、コピーブックを変更CBANKDAT.CPY
して、新しいフィールドを表示します。この演習では不必要なコーディングを避けるため、変更したソースモジュールを D:\PhotonUser\My
Files\Home Folder\BANKDEMO-exercise\Exercise01
フォルダ内に用意しています。通常、開発者はコード分析の結果を使用してソースをナビゲートしたり変更したりします。時間があり、手動による変更を行う場合は、「0. および MBANK70BMSSBANK70P の」の「手動による変更」に記載されている情報を使用します。CBL (オプション)*。
すばやく変更するには、次のファイルをコピーしてください。
-
..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMS
をD:\PhotonUser\workspace\bankdemo\source\screens
へ -
.\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBL
をD:\PhotonUser\workspace\bankdemo\source\cobol
へ -
..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPY
をD:\PhotonUser\workspace\bankdemo\source\copybook
へ -
変更の影響を受けるすべてのプログラムが確実にコンパイルされるようにするには、[プロジェクト/クリーン.../すべてのプロジェクトをクリーンアップ] を選択してください。
MBANK70.BMS
と SBANK70P.CBL
に手動で変更するには、以下の手順を実行してください。
-
BMS
MBANK70.BMS
ソースを手動で変更する場合は、PAYMENT
フィールドの後に を追加します。-
TXT08 と同じ属性を持ち、INITIAL値が「合計ローン金額」の TXT09
-
TOTAL と同じ属性を持つ PAYMENT
-
変更のテスト
変更をテストするには、以下のセクションの手順を繰り返します。
-
さらに、テキスト
Total Loan Amount.....................:
も表示されるはずです。
ステップ 3: COBOL プログラムに合計金額計算を追加する
2 番目のステップでは、BBANK70P.CBL
を変更してローン総額の計算を追加します。必要な変更を加えた準備済みのソースは D:\PhotonUser\My Files\Home
Folder\BANKDEMO-exercise\Exercise01
フォルダにあります。時間があり、手動による変更を行う場合は、「*BBANK70P の手動変更」に記載されている情報を使用します。CBL (オプション)*。
すばやく変更するには、次のファイルをコピーしてください。
-
..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBL
をD:\PhotonUser\workspace\bankdemo\source\cobol
へ
BBANK70P.CBL
に手動で変更するには、以下の手順を実行します。
-
コード分析結果を使用して、必要な変更を特定します。
変更のテスト
変更をテストするには、以下のセクションの手順を繰り返します。
-
さらに、テキスト
Total Loan Amount.....................: $10230.60
も表示されるはずです。
ステップ 4: 変更をコミットして CI/CD パイプラインを実行する
変更を中央 CodeCommit リポジトリにコミットし、CI/CD パイプラインをトリガーして変更を構築、テスト、デプロイします。
-
BANKDEMO プロジェクトからコンテキストメニューで、チーム/コミット を選択します。
-
[Git Staging] タブで、コミットメッセージ
Added Total Amount Calculation
を入力します。 -
[コミットしてプッシュする...] を選択します。
-
CodePipeline コンソールを開き、パイプライン実行のステータスを確認します。
注記
Enterprise Developer またはチーム機能のコミットまたはプッシュで問題が発生した場合は、Git Bash コマンドラインインターフェイスを使用してください。
演習 2: アプリケーションでローン計算を抽出する BankDemo
トピック
次の演習では、別のサンプル変更リクエストを処理します。このシナリオでは、ローン部門がローン計算ルーチンをスタンドアロン として再利用したいと考えています WebService。ルーチンは のままCOBOLで、既存のCICSCOBOLプログラム から呼び出すこともできますBBANK70P.CBL
。
ステップ 1: ローン計算ルーチンをCOBOLセクションにリファクタリングする
最初のステップでは、ローン計算ルーチンをCOBOLセクションに抽出します。このステップは、次のステップでコードをスタンドアロンCOBOLプログラムに抽出するために必要です。
-
COBOL エディタ
BBANK70P.CBL
で を開きます。 -
エディタで、コンテキストメニューから [コード分析]/[ローン計算更新] を選択します。これにより、現在のソースのみをスキャンして、分析ルールで定義されているパターンを見つけます。
-
[コード分析] タブの結果から、最初の算術ステートメント
DIVIDE WS-LOAN-INTEREST BY 12
を探します。 -
ステートメントをダブルクリックして、エディタのソース行に移動します。これはローン計算ルーチンの最初のステートメントです。
-
ローン計算ルーチンをセクションに抽出するための次のコードブロックをマークします。
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).
-
エディタのコンテキストメニューから [リファクタリング/セクションに抽出...] を選択します。
-
新しいセクション名 LOAN- CALCULATIONを入力します。
-
[OK] を選択します。
マークされたコードブロックが新しい
LOAN-CALCULATION
セクションに抽出され、コードブロックがPERFROM LOAN-CALCULATION
ステートメントに置き換えられています。
変更のテスト
変更をテストするには、次のセクションで説明する手順を繰り返します。
-
さらに、テキスト
Total Loan Amount.....................: $10230.60
も表示されるはずです。 -
Enterprise Developer からBANKDEMOサーバーを停止する
注記
上記の手順でコードブロックをセクションに抽出しない場合は、ステップ 1 で変更したソースを
..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBL
からD:\PhotonUser\workspace\bankdemo\source\cobol
にコピーできます。
ステップ 2: ローン計算ルーチンをスタンドアロンCOBOLプログラムに抽出する
ステップ 2 では、LOAN-CALCULATION
セクション内のコードブロックがスタンドアロンプログラムに抽出され、元のコードが新しいサブプログラムを呼び出すコードに置き換えられます。
-
BBANK70P.CBL
をエディタで開き、ステップ 1 で作成した新しいPERFORM LOAN-CALCULATION
ステートメントを見つけます。 -
セクション名の中にカーソルを置きます。灰色でマークされます。
-
コンテキストメニューから [リファクタリング] → [セクション/段落をプログラムに抽出...] を選択します。
-
セクション/段落をプログラムに抽出 で、新しいファイル名 を入力しますLOANCALCCBL。
-
[OK] を選択します。
新しい
LOANCALC.CBL
プログラムがエディタで開きます。 -
下にスクロールして、コールインターフェイス用に抽出および生成されているコードを確認します。
-
BBANK70P.CBL
でエディタを選択し、LOAN-CALCULATION SECTION
に進みます。生成中のコードを確認して、新しいサブプログラムLOANCALC.CBL
を呼び出します。注記
CALL
ステートメントは、DFHEIBLK
および を使用してCICSコントロールブロックLOANCALC
でDFHCOMMAREA
を呼び出します。新しいLOANCALC.CBL
サブプログラムを非CICSプログラムとして呼び出すため、コメントアウトまたは削除して呼び出しDFHCOMMAREA
からDFHEIBLK
と を削除する必要があります。
変更のテスト
変更をテストするには、次のセクションで説明する手順を繰り返します。
-
さらに、テキスト
Total Loan Amount.....................: $10230.60
も表示されるはずです。 -
Enterprise Developer からBANKDEMOサーバーを停止する
注記
上記の手順でコードブロックをセクションに抽出しない場合は、ステップ 1 で変更したソースを
..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBL
とLOANCALC.CBL
からD:\PhotonUser\workspace\bankdemo\source\cobol
にコピーできます。
ステップ 3: 変更をコミットして CI/CD パイプラインを実行する
変更を中央 CodeCommit リポジトリにコミットし、CI/CD パイプラインをトリガーして変更を構築、テスト、デプロイします。
-
BANKDEMO プロジェクトからコンテキストメニューで、チーム/コミット を選択します。
-
[Git Staging] タブ
-
「ステージングされていないステージ」にLOANCALCCBL「」、「」、「」にLOANCALCCBL「」を追加します。
-
コミットメッセージ
Added Total Amount Calculation
を入力してください。
-
-
[コミットしてプッシュする...] を選択します。
-
CodePipeline コンソールを開き、パイプライン実行のステータスを確認します。
注記
Enterprise Developer またはチーム機能のコミットまたはプッシュで問題が発生した場合は、Git Bash コマンドラインインターフェイスを使用してください。
リソースをクリーンアップする
このチュートリアルで作成したリソースが不要になった場合は、追加料金の発生を避けるため、それらを削除してください。以下のステップを実行します。
-
CodePipeline パイプラインを削除します。詳細については、「 ユーザーガイド」の「 でパイプラインを削除する CodePipelineAWS CodePipeline 」を参照してください。
-
CodeCommit リポジトリを削除します。詳細については、「 ユーザーガイド」の CodeCommit「 リポジトリの削除AWS CodeCommit 」を参照してください。
-
S3; バケットを削除します。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「バケットの削除」を参照してください。
-
AWS CloudFormation スタックを削除します。詳細については、「 ユーザーガイド」の AWS CloudFormation 「コンソールでのスタックの削除AWS CloudFormation 」を参照してください。