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