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