IBM watsonx Code Assistant(WCA)for Zは、AI支援のメインフレーム・アプリケーションのモダナイゼーション・ソリューションで、開発者がCOBOLビジネス・サービスを段階的にモダナイズおよびリファクタリングし、IBM Z向けに最適化された高品質のJavaコードに選択的かつ簡単に変換できるようにします。 watsonx Code Assistant for Zを使用すると、クライアントは生成AIと自動化ツールを活用して、メインフレーム・アプリケーションのモダナイゼーションを加速しながら、開発者のスキルと価値実現までの時間に関する重要な課題に取り組むことができます。
IBM watsonx Code Assistant for Zは、以下の主要コンポーネントで構成されています(上記の図を参照)。
IBM Application Discovery and Delivery Intelligence(ADDI)は、アプリケーションのソースコードをスキャンして、アプリケーション・システム内のプログラム間の関係を発見および理解します。ADDIには、コードベースを検索するだけでなく、これらの依存関係を視覚化してレポートする機能もあります。
Metadata Databaseには、ADDIによって実行されるCOBOLの理解とリファクタリング・プロセスの成果が含まれています。Metadata Databaseのデータは、IBM watsonx Code Assistantによって使用され、複数のCOBOLプログラム、コピーブックなどで構成される大規模なソフトウェアシステムのリファクタリングを可能にします。
COBOL Source Control Management(SCM)ツールは、変換されるCOBOLコードのソース管理を提供します。SCMリポジトリーは、新しいCOBOLサービスをスキャンしてメタデータをMetadata Databaseに送信できるように、ADDIプロジェクトにも関連付けられています。
Refactoring Assistantは、ADDIとIBM watsonx Code Assistantサービスの間の「橋渡し」です。Refactoring AssistantはADDIに接続し、リファクタリングとJavaコードへの変換のために識別されたCOBOLビジネス・サービスを抽出します。
IBM watsonx Code Assistant Service(WCA for Z)は、Microsoft Visual Studio Code(VS Code)からプロンプト・リクエストを受け取り、Code Large Language Model(LLM)と照合するIBM watsonx.aiアプリケーションです。WCA for Zは、COBOLパラグラフとJavaクラスを分析し、主要なプラクティスに従ったコード提案を生成します。
Code Large Language Model(LLM)は、Z用のIBM Graniteモデルをベースにした、コード生成用の生成AI基盤モデルです。また、ベンダーまたは企業ユーザーが生成した追加のCOBOLコードを含めるようにトレーニングされる場合もあります。
COBOLプログラムは、スタンドアロン・プログラムおよび/またはJavaサービスにリファクタリングできる大規模なソフトウェアシステムのコンポーネントです。
Javaコードは、WCA for Zによって生成された、インプットCOBOLプログラムの動作を複製するコードです。
上記の図は、WCA for Zのコンポーネントがどのように連携して、開発者がCOBOLソースコードをJavaに変換できるかを示しています。
アーキテクトは、ADDIの機能を使用してCOBOLコードを理解します。この製品はWindows VMで実行され、ソースコードをスキャンしてアプリケーションの洞察をアーキテクトに提供します。ソースコードの分析はプロジェクトに保存され、アーキテクトは Eclipse ベースのツールからアクセスできます。このツールを使用すると、アーキテクトは、さまざまなプログラム間の関係の視覚化、レポートの実行、コードの検索など、さまざまなタスクを実行できます。アーキテクトは、このツールを使用して、リファクタリングする可能性のあるビジネス・サービスを特定することで、モノリシックなCOBOLアプリケーションのモダナイズを開始できます。また、生成AIを使用してJavaに変換するオプションも備わっています。
ADDIはその分析の成果をMetadata Databaseに送信し、その成果はIBM watsonx Code Assistant Serviceで使用されるデータセットに追加されます。
COBOL開発者は、Refactoring Assistantを使用して、設計者がモノリス・アプリケーションから特定したCOBOLビジネス・サービスの抽出を開始します。Refactoring Assistantは、Linux VM上で実行されるコンテナベースの製品です。開発者が関連するコードを視覚化して選択し、さまざまな既存のプログラムのビジネス機能で構成される新しいCOBOLサービスを作成するためのWeb UIを備えています。Refactoring AssistantはADDIに安全に接続し、ADDIデータベース内のCOBOLアプリケーションの分析にアクセスします。
COBOL開発者がすべてのコードを選択した後、新しいCOBOLプログラムをワークステーションにエクスポートして、統合開発環境(IDE)で開発を続けることができます。
リファクタリングされたCOBOL段落はServices Repoに保管され、Java開発者が変換できるようになります。
Java開発者は、VS CodeでZ Open Editorを使用して、IBM CloudのWCA for Zサービスに接続します。このサービスはIBM Cloudアカウントを使用してプロビジョニングされ、AI基盤モデルへのアクセスを提供します。Z Open Editorで、Java開発者は次のようにコードの変換と生成の両方ができます。
まず、Java開発者は、VS Code内のCOBOLパラグラフを選択し、その内容をWCA for Zサービスに送信し、Javaクラス定義に変換します。
その後、VS Codeでは、Java開発者が、WCA for ZサービスがJavaコード行を生成する必要がある個々のJavaクラスを選択します。
上記のどちらの場合も、WCA for ZサービスはCode LLMを使用してコンテンツを生成しています。Code LLMは、多くのプログラミング言語でトレーニングされた生成AI基盤モデルであり、COBOLをJavaに変換するためにファイン・チューニングされています。
WCA for ZはAIが生成した応答をVS Codeに送り返し、Java開発者は先進的なプラクティスを使用してコードをレビューおよびコンパイルし、Javaサービスを完成させることができます。