COBOL タイプが、相互運用するマネージ非 COBOL と互換性がない場合、既存の COBOL を設計し直すか、既存の COBOL と非 COBOL 間のインターフェイスとして機能するプロキシ COBOL クラスを作成できます。
この 2 つのオプションには次の事項が関連します。
連絡節で互換性のあるタイプを使用するように、タイプを操作します。EXIT や GOBACK の複数のポイントがある場合、新しい連絡節にデータを戻すように COBOL を設計しなおす必要があります。あるいは、COBOL を 1 つまたは複数のメソッドを含む OO COBOL クラスとして設計しなおすこともできます。使用するメソッドが多くなるほど、再設計の手間が増えることに注意してください。
COBOL モジュールを Java バイト コードにコンパイルします。これにより、モジュールとそのエントリ ポイントがインスタンス メソッドとして表示されます。マネージ コードは CobLoad メソッドを使用してプログラムのインスタンスを取得し、他のメソッドと同様に COBOL メソッドを直接起動できます。
マネージ COBOL にプロキシ クラスを作成すると、既存の COBOL と非 COBOL マネージ コード間に薄い層が追加されます。このクラスは、標準 COBOL CALL "program" USING… 構文を使用して、COBOL とオブジェクトやプロパティを使用するマネージ アプリケーション間を橋渡しします。
既存の COBOL を Java バイト コードに再コンパイルすると、多くの場合 (特に非 UI COBOL サブルーチンの場合)、変更はごくわずかで済みます。
マネージ コードは、プロキシ クラスを起動できるため、元の COBOL も同様に起動します。
COBOL を直接呼び出すメリットは次のとおりです。
プロキシ クラスを使用するメリットは次のとおりです。