Amazon Q の COBOL→JAVA 移行を検証してみた

こんにちは、SCSK株式会社の小寺崇仁です。

先日行われた AWS re:invent 2024 に現地参加してきました。
その中で、発表された Amazon Q にアシストしてもらう、COBOL から Java への移行について検証したいと思います。
※プレビュー版なので今後、変更等あるかと思います。

 

参考URL

以下のサイトを参考にさせていただきました。

https://aws.amazon.com/jp/blogs/news/announcing-amazon-q-developer-transformation-capabilities-for-net-mainframe-and-vmware-workloads-preview/
https://bluinsights.aws/

COBOL の準備

COBOLについてはあまり知識がないので、とりあえず動くHelloWorldを作成しました。

インストール

Amazon LinuxにOpenCOBOLをインストールしました。

dnf groupinfo "Development Tools"
dnf install gmp-devel
dnf install ibdb-devel

wget "https://www.osscons.jp/osscobol/files?action=cabinet_action_main_download&block_id=414&room_id=21&cabinet_id=11&file_id=406&upload_id=911"-O opensource-cobol-1.5.2J.tar.gz
tar zxvf opensource-cobol-1.5.2J.tar.gz

cd opensource-cobol-152J_utf8/
./configure 
make
make install

HelloWorld(hw.cbl )

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. MAIN.
000300
000400 ENVIRONMENT DIVISION.
000500 CONFIGURATION SECTION.
000600
000700 DATA DIVISION.
000800 WORKING-STORAGE SECTION.
000900 01 WS-HELLOW-MESSAGE PIC X(19) VALUE 'Hellow World kodera'.
001000
001100 PROCEDURE DIVISION.
001200     PERFORM DISPLAY-HELLOW
001300     STOP RUN.
001400
001500 DISPLAY-HELLOW SECTION.
001600     DISPLAY WS-HELLOW-MESSAGE.
001700     EXIT.

コンパイル&実行

[root@ip-10-0-2-15 2]# cobc -x hw.cbl 
[root@ip-10-0-2-15 2]# 
[root@ip-10-0-2-15 2]# ./hw 
Hellow World kodera

Amazon Q Developer のサブスクリプション登録

手探りで作成したため、手順が漏れてたらすみません。

初期設定

バージニアでAmazon Q Developerを開くと以下の画面になりました。AWS IAM Identity Center で作成しました。


有効化

Enableをクリックして有効化します。


AWS IAM Identity Center でユーザを作成



Amazon Q Developer Pro をサブスクライブ

作成したユーザでサブスクリプション登録します。ユーザーあたりの課金があるのでご注意ください。





Transform settings を有効化




有効化すると、管理画面のURLが作成されます。



 

移行ジョブ作成

Amazon Q とチャット形式でジョブを作成します。



Cobolを移行したいので、「COBOL」と入力。次にJavaへの移行は5番目なので、「5」と入力します。



ジョブの名前とかはこれでよいか聞かれたので、「OK」と返答します。



ジョブ作成するボタンをクリックします。



ジョブ設定

左のメニューがすべて緑になるように順番に設定します。

Kick off modernization

ワークスペースのS3を設定します。KMSの設定を間違えてはまりました。

AWSのアカウントIDを入力します。








承認用のURLが作成されるので、開いて、承認します。



COBOL のソースを配置して、配置パスを入力します。


Generate documentation

ドキュメントが作成できるみたいです。



S3に作成されます。



Decompose code

ドメイン?をつけるみたいです。「Create Domain」で新しく作成します。


適当に「domain」としています。




作成した「domain」を選択して「Send to Q」を押します。



Refactor code

しばらく待つと。。。javaに変換されたコードがS3に作成されます。


Java で実行

作成されたJavaのコードを確認するとSplingBootで作成されていました。そのため、eclipseで実行します。

ソースのインポート

「ファイル」ー>「インポート」を開き、「既存Mavenプロジェクト」を選択します。



S3からダウンロードした、ソースの場所を選択し「完了」をクリックします。



実行

「app-pom」を右クリックして、「実行」ー>「Maven install」をクリックします。



実行するとMavenで必要なライブラリをダウンロードするのですが、見つからないファイルがありエラーとなりました。



エラー調査

以下のファイルがダウンロードできなかったです。

404 Not Found

調べていくと、「AWS Blu Insights」で使用できるライブラリでした。

これをダウンロードするには、認定&承認が必要なようで、ここで断念しました。

Introduction | AWS Blu Insights

今回はここまで。

COBOLのソース変換をするのは「AWS Mainframe Modernization」というサービスがあります。

Amazon Qを使用すれば、チャット形式で「AWS Mainframe Modernization」のジョブの作成(移行)を行うことができます。

上記キャプチャでイメージが伝われば幸いです。

著者について

Zabbixの構築をメインに担当しています。
■資格
 Zabbix認定プロフェッショナル
 AWS Certified Solutions Architect - Professional
 Google Certified Professional - Cloud Architect
 LPIC 303,304 ORACLE MASTER Gold DBA 11g
 CCNA Oracle Certified Java Programmer, Silver SE 7

小寺崇仁をフォローする

クラウドに強いによるエンジニアブログです。

SCSKクラウドサービス(AWS)は、企業価値の向上につながるAWS 導入を全面支援するオールインワンサービスです。AWS最上位パートナーとして、多種多様な業界のシステム構築実績を持つSCSKが、お客様のDX推進を強力にサポートします。

AI・MLAWSアプリケーション開発クラウドソリューション
シェアする
タイトルとURLをコピーしました