Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dojo 20240830 COBOL to Java on Z
Search
YasuIchikawa
August 30, 2024
Technology
0
260
Dojo 20240830 COBOL to Java on Z
2024/8/30
Dojo
COBOLからJavaに変換してみたZ
資料
YasuIchikawa
August 30, 2024
Tweet
Share
More Decks by YasuIchikawa
See All by YasuIchikawa
Dojo 20240430 COBOL on Z
ichikawayasuhisa
0
250
Dojo 20231226 Ansible on IBM Z
ichikawayasuhisa
1
270
Dojo 20230523 .Net on Mainframe
ichikawayasuhisa
0
150
Dojo 20221130 Searching famous Malware
ichikawayasuhisa
0
260
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
220
【shownet.conf_】ネットワークテストの最適化と利便性の追求
shownet
PRO
0
320
YAPC::Hakodateの映像記録を支える技術
godan
4
210
XP matsuri 2024 - 銀河英雄伝説に学ぶ
kawaguti
PRO
3
560
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
2
460
15 JSON serializers for Ruby
okuramasafumi
2
100
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
150
リスクから学ぶKubernetesコンテナセキュリティ/k8s-risk-and-security
mochizuki875
1
310
AWSの初級者向けAI・ML資格『AWS Certified AI Practitioner』の傾向と対策/So You Want To Pass AWS Certified AI Practitioner
quiver
0
120
【shownet.conf_】トポロジ図の歩き方
shownet
PRO
0
480
I tried the newly introduced certification "Applied Skills" on Microsoft Learn
mappie_kochi
0
130
[JAWS-UG GameTech] 第6回 各種事例紹介_18TRIPにおけるAWSサービスを活用した負荷テスト・障害テスト
naoto_yasuda
0
150
Featured
See All Featured
A better future with KSS
kneath
237
17k
It's Worth the Effort
3n
183
27k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Fireside Chat
paigeccino
32
3k
Design by the Numbers
sachag
278
19k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Code Review Best Practice
trishagee
62
16k
In The Pink: A Labor of Love
frogandcode
139
22k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
Transcript
日本アイ・ビー・エム株式会社 テクノロジー事業本部 カスタマーサクセス カスタマーサクセスマネージャー 市川 泰久 COBOLからJavaに変換してみたZ
免責事項 セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、 いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またIBM製品やサービスがお客様に適用ある特定の法令に適合することを保証す るものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努めておりますが、「現状のまま」提供され、明示または黙示にかか わらず、商業性、特定の目的への適合性、非侵害性を含め、いかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の 関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料で言及されるIBM製品、プログラム、またはサービスは、IBMがビジネ スを行っているすべての国・地域でご提供可能なわけではありません。本講演資料で言及される将来の展望(製品リリース日付や製品機能を含む)は、市場機会または その他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、将来の製品または機能が使用可能になること、もしくは特定の結果を確約することを 意図するものではありません。本講演資料は、言及される
IBM製品またはサービスに適用ある契約条件を変更するものでも、追加の表明または保証を意図するものでも ありません。 本講演資料に含まれている内容は、参加者の活動によって特定の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでも ありません。 ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレー ジ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の 結果を得られると確約するものではありません。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、Watsonx Code Assistant for Z、IBM Application Discovery and Delivery Intelligence、IBM z/OSは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご 覧ください。 Red Hat、Red Hat Enterprise Linux(RHEL) は、Red Hat Inc.または子会社の米国およびその他の国における商標または登録商標です。 Windows、Visual Studioは,米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。 Java およびすべての Java 関連の商標およびロゴは Oracle やその関連会社の米国およびその他の国における商標または登録商標です。 Linux(R)は、米国およびその他の国におけるLinus Torvaldsの登録商標です。 その他記載の会社名、製品名は、それぞれの会社の商標または登録商標です。
写真撮影 動画撮影 資料公開 SNS拡散 ◯ ◯ ◯ ◯ セッション受講における注意事項 セッション中に迷惑行為が発覚した場合は、強制退出、セッション中止などの措置を講じます
氏名:市川泰久 会社:日本アイ・ビー・エム 所属組織:カスタマーサクセス 経歴:IT業界26年(主にサポート) 役割:カスタマーサクセスマネージャー 自己紹介
目的 • watsonx Code Assistant for Zの解説とデモ ゴール • watsonx
Code Assistant for Zを理解する • 必要な情報がどこで得られるかがわかる このセッションについて
IBM® watsonx Code Assistant for Zは、メインフレーム・アプリケーションのモダナ イゼーションを、従来の製品よりも低コスト、低リスクで加速できるように構築された、 生成AIを活用した製品です。 watsonx Code
Assistant for Zは、 (1) アプリケーションの検出と分析(理解) (2) コードの説明 (3) 最適化 (4) 自動でのコード・リファクタリング (5) COBOLからJavaへの変換 (6) テストの自動生成(検証) など、エンドツーエンドのアプリケーション開発者向けのライフサイクルを提供します。 開発者は、アプリケーションの中から選択した要素を自動的にリファクタリングして COBOLでモダナイズを継続したり、高度にチューニングされた先進の大規模言語モデ ルを使用した生成AIを活用して、コードをJavaに選択的に変換したりできます。 1. 概要
ADDI (IBM Application Discovery and Delivery Intelligence)により、 メインフレーム・アプリケーションの理解を深め、その相互関係や依存関係を 視覚化します。コードの説明に生成AIを活用して、COBOLアプリケーション のドキュメントの自動作成や、新しいプログラマーの加入を支援します。
(1) アプリケーションの検出と分析(理解)
watsonx Code Assistant for Zのコード説明機能を使用すると、開発者やシ ステム プログラマーはボタンをクリックするだけで AI が生成した説明を取 得できます。
(2) コードの説明 コードのビジネス目的の要約: RAEXPORT プログラムは、顧客データを DB2 データベースの CUSTOMER テーブルに 挿入するために使用されます。プログラムは COBOL アプリケーションから入力を受け 取り、SQL ステートメントを使用してデータベースに挿入します。 入力レコードと出力レコード: プログラムへの入力は、名、姓、生年月日、家名、家番号、郵便番号、携帯電話、自宅 の電話、電子メール アドレスなどの顧客データを含む COBOL アプリケーションです。 出力は、顧客データを CUSTOMER テーブルに挿入する SQL ステートメントです。 コード ロジックのフリーテキスト要約: プログラムは、WS-ABSTIME、WS-TIME、WS-DATE などの作業用ストレージ変数を 初期化することから開始します。次に、顧客データをデータベースに挿入するための SQL ステートメントを設定します。LGAC-NCS 変数が ON に設定されている場合、プ ログラムは CUSTOMERNUMBER フィールドを主キーとして使用してデータを挿入しま す。 LGAC-NCS 変数が OFF に設定されている場合、プログラムは DEFAULT キーワー ドを使用してデータを挿入し、一意の顧客番号を生成します。 SQL ステートメントが実行された後、プログラムは SQLCODE をチェックして、挿入が 成功したかどうかを判断します。成功しなかった場合、プログラムは CICS LINK コマン ドを使用して LGSTSQ プログラムにエラー メッセージを書き込みます。次に、プログ ラムは COMMAREA の長さをチェックして、追加のエラー情報があるかどうかを判断し ます。エラー情報がある場合、プログラムは CICS LINK コマンドを使用して LGSTSQ プログラムにエラー情報を書き込みます。 最後に、プログラムは顧客番号を COBOL アプリケーションに返して終了します。
Z Code Optimization Adviceは、IBM z/OS で最高のパフォーマンスを得る ために COBOL プログラムを最適化するための詳細なガイダンスを提供す るツールです。
(3) 最適化 ・VS Code から COBOL 6 アプリケーションと プログラムをプロファイルおよび分析 ・VS Code の直感的でインタラクティブなレ ポート インターフェースで分析結果を表示 ・パフォーマンスへの影響度に応じて優先順位 をつけてパフォーマンスの非効率性を特定 ・カスタマイズされた推奨事項でパフォーマン スの非効率性を修正 ・ソースコードリンクを使用して非効率的な コード行に直接移動 ・アプリケーションとプログラムのランタイム およびコンパイラオプションを表示
アプリケーションを個別のビジネス・サービスに自動的にリファクタリン グして、機能拡張と保守性を高めるために必要なプログラムやデータを検 出し、COBOLをJavaに変換するための準備を整えます。 (4) 自動でのコード・リファクタリング
生成AIを活用して、COBOLからJavaへの高品質な変換を加速し、必要な時 間を数カ月から数分に短縮します (5) COBOLからJavaへの変換
Javaの新しいコードを効率的かつ迅速にテストして、COBOLのコードと意 味的に同等であることを確認し、品質を向上させ、リスクを低減します。 (6)テストの自動生成(検証)
2. アーキテクチャ
Demo (1)理解 (2)コードの説明 (3)最適化 (4)リファクタリング (5)変換 (6)テストの自動生成(検証)
(1)アプリケーションの検出と分析(理解) ADDI (IBM Application Discovery and Delivery Intelligence)に IDz (IBM
Developer for z/OS)から接続し、 COBOLファイルなどに関するグラフやレポートを確認して、 既存コードの様子を理解する。 IBM Application Discovery and Delivery Intelligence (ADDI) Demo https://mediacenter.ibm.com/media/IBM+Application+Discovery+and+De livery+Intelligence+%28ADDI%29+Demo/1_nxr31lnd
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
(2)コードの説明 WCA4Z (watsonx Code Assistant for Z)サービスに VSCode (Visual Studio
Code)から接続し、 コードの説明を表示して理解のスピードを上げる。 IBM watsonx Code Assistant for Z: Code Explanation Demo https://mediacenter.ibm.com/media/IBM+watsonx+Code+Assistant+for+ ZA+Code+Explanation+Demo/1_jy3sx5q7
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
(3)コード最適化 Z環境にVSCode (Visual Studio Code)から接続し、 コードのパフォーマンス効率を上げる。 IBM watsonx Code Assistant
for Z: Code Optimization https://mediacenter.ibm.com/media/IBM+watsonx+Code+Assistant+for+ ZA+Refactoring+Demo/1_h1f8kqem
None
None
None
None
None
None
None
None
None
None
None
None
(4)リファクタリング RA (refactoring Assistant)サービスに VSCode (Visual Studio Code)から接続し、 コードの一部を抜き出す作業の効率を上げる。 IBM
watsonx Code Assistant for Z: Refactoring Demo https://mediacenter.ibm.com/media/IBM+watsonx+Code+Assistant+for+ ZA+Code+Optimization/1_300xqk50
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
(5)変換 WCA4Z (watsonx Code Assistant for Z)サービスに VSCode (Visual Studio
Code)から接続し、 COBOLをJavaに変換する。 IBM watsonx Code Assistant for Z: Code Transformation https://mediacenter.ibm.com/media/IBM+watsonx+Code+Assistant+for+ ZA+Code+Transformation/1_2w24mmu1
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
←COBOL Java変換後→
(6)テストの自動生成(検証) z/OS環境に VSCode (Visual Studio Code)から接続し、 COBOLとJavaの単体テスト結果を比較して、 生成されたJavaコードに問題のないことを確認する。 IBM watsonx
Code Assistant for Z: Validation Demo https://mediacenter.ibm.com/media/IBM+watsonx+Code+Assistant+for+ ZA+Validation+Demo/1_abampkp9
None
None
None
None
None
None
None
None
None
None
3. ライセンス watsonx Code Assistant for Zのコストは、使用されるコンポーネントによって異 なります。 License guide
for IBM watsonx Code Assistant for Z https://www.ibm.com/docs/ja/watsonx/watsonx-code-assistant- 4z/2.x?topic=welcome-license-guide-watsonx-code-assistant-z コンポーネント メトリック 理解、最適化、 リファクタリング、検証 許可されたユーザーと仮想サーバー コード変換: SaaS トークン、認証ユーザー、 DB2 on Cloud Paygo: インスタンス時間 コード変換:オンプレミス インストールおよびリソースユニット 説明 トークンと認証済みユーザー
4. リンク集 ホームページ https://www.ibm.com/jp-ja/products/watsonx-code-assistant-z IBM Documentation https://www.ibm.com/docs/ja/watsonx/watsonx-code-assistant-4z/2.x ニュースリリース https://jp.newsroom.ibm.com/2023-08-23-IBM-Unveils-watsonx-Generative- AI-Capabilities-to-Accelerate-Mainframe-Application-Modernization
IBM Z Japanコミュニティ https://community.ibm.com/community/user/ibmz-and- linuxone/groups/public?CommunityKey=90109de1-fe63-40e9-b4dd- 6d05d62c35f2
None