00:00:00開発者がClod Codeを使用してCOBOLコードベースを現代化する方法を探ってみましょう。
00:00:05このデモの目的として、AWSのメインフレーム現代化デモリポジトリを使用します。
00:00:11これはCOBOLプログラム、
00:00:13コピーブック、
00:00:14JCLスクリプトを含む約100ファイルからなる中規模のクレジットカード管理システムです。
00:00:19フェーズ1:発見とドキュメンテーション。私たちのサンプルCOBOLコードベースはほぼドキュメンテーションがありません。
00:00:25もちろん、
00:00:26これはレガシーコードベースではよくあることで、
00:00:29重要なビジネスロジックと規制要件は文書化されていないコード内に埋め込まれており、
00:00:34コードを書いた開発者は組織を去ってしまい、
00:00:36COBOLに精通した開発者は雇用するのが難しいのです。
00:00:40私たちはまずClod Codeの/agentコマンドを使用して特殊なサブエージェントを作成しました。
00:00:44これはCOBOLドキュメンテーション専門家兼トランスレーターでした。
00:00:47サブエージェントはClod Codeによって並行して呼び出すことができ、
00:00:51メインスレッドを汚染しないようにそれぞれ独立したコンテキストウィンドウで動作します。
00:00:56思考モードを有効にして、Clod Codeにコードベースのアーキテクチャを分析するよう依頼しました。
00:01:01Clod Codeは94個すべてのファイルのやることリストを作成し、
00:01:05ファイルが2回処理されることなく、
00:01:07何も漏れないことを確認するために進捗を追跡しました。
00:01:09Clodが生成したドキュメンテーションは、単純なコメント以上のものでした。
00:01:13たとえば、利息計算プログラムCBACT04Cを見てみましょう。
00:01:20プログラムがトランザクション分類残高をどのように読み取り、
00:01:23アカウントグループ別に利息レートを検索し、
00:01:26フォールバックレートに関するビジネスルールを適用し、
00:01:28アカウント記録を更新するかという完全なビジネスワークフローが抽出されました。
00:01:33Clodはすべてのファイルについてこれを行いましたが、プレーンテキストとして2つのメモリファイルも作成しました。
00:01:39Catalog.txtはCBACT04Cのような暗号的な名前を利息計算バッチプログラムに変換します。
00:01:48Relationships.txtはシンプルなパイプ区切り形式を使用してすべての依存関係をマッピングします。
00:01:55これらのインデックスを使用して、
00:01:57Clodはマーメイド図を生成し、
00:01:59日次バッチ処理ワークフロー全体の完全なマップを作成しました。トランザクション入力から転記、
00:02:04利息計算、
00:02:05最終的に顧客ステートメントへのデータフローを示しています。
00:02:08このデモでClod Codeは1時間連続で実行して100ページ以上のドキュメンテーションを起草しましたが、
00:02:15Clod Codeは30時間以上自律的に実行することができ、
00:02:19ここで使用されている手法はより大きなコードベースにスケールします。
00:02:23フェーズ2。
00:02:24移行と検証。
00:02:26Cobaltコードベースを徹底的にドキュメント化した後、Clodにコア機能の1つをJavaに移行するよう依頼しました。
00:02:31Clodが移行戦略全体を考え抜き、ファイルを時期尚早に編集しないようにするために、計画モードに切り替えました。
00:02:39Clodは以前CBACT04Cとして知られていたプログラムを分析し、
00:02:44改行処理や複数ファイル調整など複雑なCobaltパターンを特定しました。
00:02:50Clodはこの機能の5段階の移行計画を開発しました。
00:02:541。
00:02:55プロジェクト構造を作成します。
00:02:562。
00:02:57コピーブックからJavaクラスへデータモデルを変換します。
00:02:593。
00:03:00元のファイル形式と互換性のあるI/Oレイヤーを構築します。
00:03:044。
00:03:05Cobalt特有の動作を保持しながらビジネスロジックを変換します。
00:03:08そして最後に、
00:03:09GNU Cobalt 3.2.0を使用したオリジナルコードベース用とJava 17用の2つのデュアルテストハーネスを作成します。
00:03:17結果のJavaコードは単純な構文変換を超えていました。
00:03:20Clodは適切な設計パターン、エラーハンドリング、ロギングを備えた適切なJavaクラスを作成しました。
00:03:25最新の開発チームが実際に保守するようなイディオマティックなJavaです。
00:03:30次は検証で、新しいJavaコードが置き換えるCobaltコードと同じように動作することを確認しました。
00:03:37Clodは複数のテストデータファイルを作成し、元のCobaltと新しいプログラムの両方に対して実行しました。
00:03:43検証は最終出力だけでなく、中間計算、ファイル書き込み、データ変換も比較しました。
00:03:50結果は完全なビットフォービットの忠実性でした。
00:03:53すべての計算、ビジネスルール、エッジケースが保持されました。
00:03:57もちろん、このデモアプリケーションはレガシーCobaltコードベースよりもはるかに小さいです。
00:04:02しかし、ここのすべての手法はスケーラブルです。
00:04:04Clod codeは開発者がわずか12ヶ月前には不可能だったであろう信頼と効率でコードベースを現代化できるようにするでしょう。