IBM i のモダナイゼーション
IBM i から移行する。
何も壊れていないと証明する。
Constat は RPG と COBOL を安全な Rust へ書き換え、DB2 を PostgreSQL へ移し、プログラムが依存するミドルウェアを切り離します。そのうえで、プログラム単位で、お客様自身の入力に対して、新しいシステムが従来と同じ業務結果を生み出すことを証明します。ビッグバン移行なし。黙って捨てられるものはありません。ベンダーロックインなし。すべてお客様自身のインフラで動くため、コードもデータもお客様の手元に残ります。
-
プログラム単位の同等性
新旧を同じ入力で実行し、結果はご自身で再検証
-
IBM i 資産の全体
RPG、COBOL、DB2、ミドルウェア、依存関係
-
検証済みエンジン
機械検証された証明(Lean 4、Z3、CVC5)に裏打ちされたコード生成
-
人にもエージェントにも
エンジニアには CLI、AI エージェントには MCP ツール
-
ビッグバンなし
信頼できるまで新旧を並行稼働
数字で見る証明
- 33,784
- 機械検証された定理0 sorry · 4 名前付き公理
- 53
- run-on-both で封印されたプログラム稼働中の IBM i V7R5 と
- 44
- バイト単位一致の公開 NIST プログラム実機の IBM i で、調べられます
- 50/50
- 監査 COHERENT のワークスペース再検証可能
今こそ、その理由
あなたの IBM i は動いています。それこそがリスクです。
動いているがゆえに、今四半期のロードマップに決して載りません。その間も、3つの時計が時を刻んでいます。
- 01
有識者が引退していく
あなたの RPG と COBOL を理解している人材が去っていきます。年を追うごとに、コードは変更が難しく、壊れやすくなります。
- 02
コストは上がり続ける
専有ハードウェア。専有データベース。コア単位のライセンス。現状維持のためだけに毎年より多くを支払うことになり、先延ばしにしている移行はふくらむ一方です。
- 03
ロジックは代替不可能
数十年分のビジネスルールが、このコードの中だけに存在します。書き換えでそれを失えば、本番で、監査で、あるいは法廷で気づくことになります。
障害が変化を迫るまで待たないでください。
主導権があるうちに移行を計画しましょう。
資産の全体
スタック全体を移すか、ロックインが残るか。
ソースコードだけを扱う変換ツールでは、同じデータベース、同じミドルウェア、同じプラットフォームに縛られたままです。Constat はそのすべての層を引き受け、それぞれにどの裏づけがあるかを明示します。
- 01 RPG、COBOL を Rust へ
コード
RPG と COBOL は、ビジネスロジックに unsafe コードのない、メモリ安全な Rust になります。読みやすく、テストしやすく、自分たちで再コンパイルできるので、モダンなスタックにそのまま組み込めます。
Rust メモリ安全 所有できる - 02 DB2 を PostgreSQL へ
データ
証明済みDB2 for i を、スキーマと定義された動作を保ったまま PostgreSQL へ移します。ここが最も厳しくテストするレーンです。
PostgreSQL スキーマ保持 挙動を確認 - 03 CL、MQ、5250 を分離
ミドルウェア
ジョブ制御、メッセージキュー、グリーンスクリーンを、引きずったままにせず、プラットフォームから切り離します。
分離 置換可能 独立 - 04 ベンダーロックインなし
依存関係
オープンロックインは移行とともに消えます。オープンな Rust とオープンな PostgreSQL を、自社のインフラ上で保持できます。
オープンスタック 自前インフラ ロックインなし
何を読むか
簡単なファイルだけでなく、ソースツリー全体
一つのパイプラインが、IBM i の資産が実際に書かれている言語を受け取ります。各領域をその流儀で扱い、それぞれに固有の成熟度ラベルを付けます。一括の保証ではありません。
約束ではなく、証明
信じてくださいとは言いません。お見せします。
書き換えが元と同じように動作することを証明するのは難しく、ほとんどのモダナイゼーションツールはそれを試みません。Constat はあなたのプログラムを実際の IBM i で、Rust を同じ入力で実行し、バイト単位の比較をお渡しします。ご自身で確認できます。
なぜ Rust か
20年後も信頼できる移行先
あるレガシープラットフォームから別のレガシーへ移っても、得るものはありません。Rust は、移行後も長く価値が続く理由から選ばれています。
メモリ安全、ガベージコレクターなし
コンパイラーが、バッファオーバーフロー、解放後使用、ヌルポインター参照といった障害のクラス全体を排除します。ガベージコレクターがないため、バッチウィンドウ中に停止が発生しません。
コンパイル時に信頼性を確保
コンパイラーが、データ競合やダングリングメモリーをコードの実行前に排除します。かつては午前3時の本番障害だったものが、画面上のビルドエラーになります。
ランタイムなし、ロックインなし
Rust はネイティブバイナリーにコンパイルされます。ライセンスやチューニングが必要な JVM も、専有ランタイムもありません。自社のハードウェアでも、クラウドでも、決めた場所で動きます。
採用できる人材
COBOL と RPG の専門知識は引退しつつあります。Rust は最も求められている言語の1つであり、それで働きたいと考えるエンジニアの層は広がり続けています。
メモリ安全は今や必須要件
Microsoft、Google、CISA の業界分析は、深刻な脆弱性の約70%をメモリ安全性のバグに起因すると指摘しています。Rust は設計上それらを排除します。だからこそ、各国の安全保障機関はメモリ安全な言語を推奨しています。
なぜ Java ではないのか
COBOL の一般的な移行先は、あるランタイムを別のランタイムに置き換えるだけです。ライセンスとチューニングが必要な JVM、そしてバッチウィンドウが感じるガベージコレクションの停止。Rust はそのどちらも持ち込みません。
比較
正直な選択肢
IBM i から離れるどの道にも落とし穴があります。誇張なしで、それぞれの立ち位置を示します。
| Constat | 手作業で書き直し | リフト&シフト | |
|---|---|---|---|
| 挙動の同等性、再検証できる | 利点. 両方を実行しバイト単位で比較 | 制限. テスト頼み、信じられるなら | 条件付き. 同じコード、得るものなし |
| IBM i から離脱、専有ランタイムなし | 利点. ネイティブな Rust バイナリ | 利点. 完成させられれば | 制限. ランタイムがついてくる |
| データベースをモダナイズ(DB2 から PostgreSQL) | 利点. 最も入念に検証する領域 | 条件付き. 手作業で別途 | 制限. DB2 は残る |
| 出力が安全で保守しやすい | 利点. メモリ安全な Rust | 条件付き. チーム次第 | 制限. 同じ旧来のコード |
| 監査できる証拠 | 利点. 証明と一式の資料 | 制限. なし | 制限. なし |
仕組み
ソースから安全な Rustへ、1つのパイプラインで
一つのパイプラインが、あなたの IBM i ソースを、ビルドして動作する Rust ワークスペースに変換します。演算も、照合順序も、レコードレイアウトも。近似ではなく、正確に再現します。
今の働き方に合わせて
エンジニアが動かす。エージェントも同じように。
Constat はツールであり、ブラックボックスのサービスではありません。エンジニアはコマンドラインから実行します。AI エージェントは、MCP(Model Context Protocol)ツールを通じて同じエンジンを呼び出し、トランスパイル、監査、検証を行います。同じエンジン、同じ保証、どちらの手でも。
チームが所有する CLI
コマンドを1つ入力すれば、Rust ワークスペースとその証拠が出力されます。スクリプト化でき、検査でき、自社のマシンで実行できます。
$ axiom transpile payroll.rpgle --audit→ verify ok · audit COHERENT MCP ツール、同じエンジン
エージェントは、同じ検証済みのプロセスを数百本のプログラムに適用します。これはまさに、資産規模のマイグレーションに必要なものです。同じ証明が、各ステップで成り立ち続けます。
mcp__axiom__transpile(src, audit=true)→ { verdict: "COHERENT", rc: 0 } やさしい言葉で
専門用語を、わかりやすく
暗号表は要りません。用語にカーソルを合わせるか、タップすると平易な言葉で表示します。
よくある質問
難しい問いに、まっすぐ答えます。
出力が正しいと信用するしかないのですか。
いいえ。お客様の元のプログラムを実機の IBM i で実行し、同じ入力でモダナイズした Rust を実行して、業務上の状態をバイト単位で比較します。その証拠は各プログラムに付随し、コマンド一つで最初から最後まで再検証できます。結果を検証するのはお客様自身であり、私たちの言葉を信じる必要はありません。
まだ両方のシステムで実行していないプログラムはどうなりますか。
同等性の主張はプログラム単位で、元の IBM i とモダンな Rust の両方で実行した各プログラムに限られます。残りもパイプラインがトランスパイルし、検証済みエンジンも適用されますが、実機で近代化した双子と比較するまでは、そのプログラムを同等とは呼びません。どのプログラムがどの段階にあるかを正確にお伝えし、未証明のプログラムが見出しの数字に紛れ込むことは決してありません。証明済みの集合を、お客様のペースで、1プログラムずつ広げていきます。
Constat はどの言語やファイルを読めますか。
ILE COBOL、固定形式と自由形式の両方の RPG IV、埋め込み SQL、DDS、CL です。IBM i 上の COBOL は最も入念に検証してきた領域で、RPG は着実に動き、速く進んでいる最前線です。お客様の資産が対象になるか分からない場合は、プログラムを一つお送りください。はっきりお答えします。
DB2 データベースはどうなりますか。
スキーマと定義された挙動を保ったまま PostgreSQL へ移します。ここが最も入念に検証する領域です。メッセージキュー、ジョブ制御、5250 画面は各案件で個別に検証するモダナイズの対象であり、「対象」と明記し、決して「証明済み」とは呼びません。
モダナイズした後、システムの挙動は変わりますか。
それこそ私たちが排除しようとしたことです。同じ入力に対して、Rust は実機の IBM i 上のプログラムと同じ業務状態を、十進演算の最後の桁まで、各フィールドの照合順序まで再現しなければなりません。一バイトでも異なれば、お客様より先に私たちが気づきます。
これは一括切り替え(ビッグバン)ですか。
いいえ。まず一つのプログラムから始め、その証拠を受け取り、次に進む前に判断していただきます。新旧は並行して動き、プログラムごとに、お客様が決めた速さで移行します。資産全体を一度に切り替えるボタンはありませんし、あったとしても私たちは信用しません。
その Rust は、私たちのチームが本当に自分のものにできますか。
はい。読みやすく、メモリ安全な Rust で、業務ロジックに unsafe コードはありません。自分でコンパイルするランタイム上で動きます。専有ランタイムのライセンスは不要で、ネイティブバイナリにコンパイルされ、お客様自身のインフラで動きます。IBM i のロックインを、チームが所有して再コンパイルできる Rust に置き換えます。
始める
プログラムを1本お持ちください。
資産の中から実際のプログラムを1本選んでください。私たちがそれをモダナイズし、同等であることを証明し、証拠をお渡しします。より大きな取り組みに進む前に、その結果をご自身で判断できます。
ありがとうございます。まもなくご連絡します。
