Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dojo 20240830 COBOL to Java on Z

Dojo 20240830 COBOL to Java on Z

2024/8/30
Dojo
COBOLからJavaに変換してみたZ
資料

YasuIchikawa

August 30, 2024
Tweet

More Decks by YasuIchikawa

Other Decks in Technology

Transcript

  1. 免責事項 セッション、および資料は、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の登録商標です。 その他記載の会社名、製品名は、それぞれの会社の商標または登録商標です。
  2. 目的 • watsonx Code Assistant for Zの解説とデモ ゴール • watsonx

    Code Assistant for Zを理解する • 必要な情報がどこで得られるかがわかる このセッションについて
  3. IBM® watsonx Code Assistant for Zは、メインフレーム・アプリケーションのモダナ イゼーションを、従来の製品よりも低コスト、低リスクで加速できるように構築された、 生成AIを活用した製品です。 watsonx Code

    Assistant for Zは、 (1) アプリケーションの検出と分析(理解) (2) コードの説明 (3) 最適化 (4) 自動でのコード・リファクタリング (5) COBOLからJavaへの変換 (6) テストの自動生成(検証) など、エンドツーエンドのアプリケーション開発者向けのライフサイクルを提供します。 開発者は、アプリケーションの中から選択した要素を自動的にリファクタリングして COBOLでモダナイズを継続したり、高度にチューニングされた先進の大規模言語モデ ルを使用した生成AIを活用して、コードをJavaに選択的に変換したりできます。 1. 概要
  4. 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 アプリケーションに返して終了します。
  5. Z Code Optimization Adviceは、IBM z/OS で最高のパフォーマンスを得る ために COBOL プログラムを最適化するための詳細なガイダンスを提供す るツールです。

    (3) 最適化 ・VS Code から COBOL 6 アプリケーションと プログラムをプロファイルおよび分析 ・VS Code の直感的でインタラクティブなレ ポート インターフェースで分析結果を表示 ・パフォーマンスへの影響度に応じて優先順位 をつけてパフォーマンスの非効率性を特定 ・カスタマイズされた推奨事項でパフォーマン スの非効率性を修正 ・ソースコードリンクを使用して非効率的な コード行に直接移動 ・アプリケーションとプログラムのランタイム およびコンパイラオプションを表示
  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
  7. (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
  8. (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
  9. (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
  10. (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
  11. 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: インスタンス時間 コード変換:オンプレミス インストールおよびリソースユニット 説明 トークンと認証済みユーザー