Visual COBOL は、COBOL と Java を統合できるさまざまな方法を提供します。一部の方法では、既存のアプリケーションの変更を必要とする場合があります。特定のタイプのアプリケーションには、一部の方法が他より適切である場合があります。本トピックでは、それぞれの方法について概説し、選択する方法に影響する各種要素についてまとめます。
Enterprise Server は、COBOL アプリケーション用のアプリケーション サーバーです。Enterprise Server は、高いパフォーマンスとメインフレーム サブシステム エミュレーションを提供します。
Visual COBOL の Interface Mapping Toolkit 機能 (IMTK) を使用して、Enterprise Server で動作する COBOL アプリケーションにアクセスする、EJB または J2SE Bean を生成します。次にこの Bean が、Java アプリケーション サーバーにディプロイされた JCA リソース アダプターを使用します。
詳細については、「Tutorial: Interface Mapping Toolkit」を参照してください。
以下のシナリオは、最も高いパフォーマンスを必要とするデスクトップ アプリケーションに最適です。COBOL は、COBOL Server ランタイムでネイティブ コードとして実行されます。COBOL と Java を同時に使用するには、提供されたサポート ライブラリを使用して呼び出しをコーディングします。
以下に示すのは、Java 2 Standard Edition (J2SE) と COBOL を統合する方法です。
詳細は、「関連情報」を参照してください。
以下に示すのは、各シナリオでサポートされている技術と、アプリケーションを Java と統合するメカニズムのまとめです。
Enterprise Server | Java バイト コード | COBOL Java ドメイン | |
---|---|---|---|
Java アプリケーション サーバー サポート | あり。定評のあるアプリケーション サーバーはすべてサポートしています。「追加ソフトウェア要件」を参照してください。 | あり。「追加ソフトウェア要件」を参照してください。 | NetExpress では、使用できません。
EJB 標準に準拠していないため、Java アプリケーション サーバーでは JNI を使用しないことを推奨します。 |
データベース サポート | ODBC、またはサポートされているデータベース ベンダー プリコンパイラ。 | OpenESQL を使用する JDBC。 | ODBC、またはサポートされているデータベース ベンダー プリコンパイラ。 |
デスクトップ Java アプリケーション | 一般的な用途ではありません。 | あり | あり |
EJB サポート | あり | あり | なし |
ファイル IO トランザクション | あり。Fileshare を介して行います。 | Fileshare は Java アプリケーション サーバーではサポートされていないため、利用できません。
注: Fileshare はデスクトップでサポートされています*。
|
あり。Fileshare を介して行います。 |
Fileshare サポート | あり | なし | あり |
相互運用性メカニズムおよびパフォーマンス | COBOL アプリケーションは、Enterprise Server でネイティブ コードとして実行されます。IMTK を使用して、EJB または J2SE bean を生成します。これは、COBOL コードにアクセスし、Java アプリケーション サーバーにディプロイされた JCA リソース アダプターを使用します。 | COBOL アプリケーションは、Java が直接アクセスする Java バイト コードにコンパイルされます。 | ネイティブ コードや Java として動作する COBOL アプリケーションは、JNI を使用してアクセスされます。 |
メインフレーム サブシステム サポート | あり | なし | なし |
JEE コンテナー マネージ トランザクション サポート | あり。
アプリケーション サーバーと Java の間に、別個のデータベース接続がありますが、協調的なトランザクションはありません。 |
アプリケーション マネージ トランザクション サポートのみです。 | アプリケーション マネージ トランザクション サポートのみです。 |
COBOL からの Java SDK アクセス | なし | あり。完全にサポートされています。 | すべての Java 型は、INVOKE 文を使用してサポートされます。
JNI インターフェイスを通してネイティブ コールを使用する場合、追加コードを追加する必要があります。 Micro Focus クラス ライブラリを使用して、ユーザー定義型およびマッピングを作成できます。 |
Web サービス エンドポイント | あり | 直接ではありません。Java は、エンドポイントとして動作し、COBOL を呼び出す必要があります。 | なし |