JVM COBOL コードを使用すると、次のような多くの利点が得られます。
- Micro Focus COBOL はすでに Java 言語である
- COBOL 言語は長い年月をかけて拡張されてきており、JVM のさまざまな機能をサポートしています。
多くの場合、JVM COBOL に移行するプロセスでは、Visual COBOL で既存の COBOL コードを JVM COBOL コードに再コンパイルすることが必要となります。また、ILSMARTLINKAGE COBOL コンパイラ指令を使用して、JVM COBOL コードに再コンパイルすることもできます (本トピックの「例」セクションを参照)。ILSMARTLINKAGE により、COBOL を他の マネージ 言語と相互運用できます。
- JVM の機能を最大限に活用する
-
- JVM によって提供されるランタイム システム サービスを使用できます。これにより、COBOL アプリケーションの整合性およびセキュリティを確保し、例外処理およびガベージ コレクションを実現できます。ランタイム システム サービスはコードの実行を最適化するため、これによってアプリケーション
パフォーマンスが継続的に改善されます。
- アプリケーションのパフォーマンスを改善できます。JVM では、実行時におけるコードの実際の実行方法に基づくものを含む多くの最適化が適用されるため、静的分析では不可能な最適化を行うことができます。
- 独自の JVM COBOL オブジェクトを作成できます。JVM COBOL によって、他の マネージ 言語で可能な多くのこと (独自のメソッド、クラス、デリゲート、インターフェイスの作成など) を実行できます。Micro Focus Customer Support Documentation Web siteで閲覧可能な『COBOL 開発者向けのオブジェクト指向プログラミング入門』を参照してください。
- 他の マネージ 言語を使用した経験があれば、簡単に習得できます。JVM COBOL の習得は、他の マネージ 言語の習得と同様です。すでに他の マネージ 言語でプログラミングしている場合、構文規則を習得するだけです。
- 各種の再利用可能なコード ライブラリにアクセスできます。Java SDK には、JVM COBOL コードで直接再利用できる再利用可能なコードおよび構造の大規模なライブラリが含まれます。これにより、プログラミング タスクの解決が容易になり、作業の生産性を向上できます。
- COBOL は他の言語と相互運用可能である
-
- すべての JVM 言語は同じバイト コードを使用するファイルにコンパイルされるため、JVM COBOL コードにコンパイルされた COBOL は、他の JVM 言語で記述された他の JVM アプリケーションとやり取りしたり、他の JVM プラットフォームにディプロイしたりできます。
- COBOL は、他の言語と相互運用可能です。他の言語は COBOL を呼び出し可能で、その逆も可能です。
- COBOL、およびアプリケーションの他の JVM 言語で書かれた部分を、同時にデバッグできます。COBOL コードと他の JVM 言語で記述されたコードの間をステップ実行できます。
- 最新のユーザー インターフェイスを作成する
- JVM COBOL コードの使用は、JVM で利用できる多くの UI フレームワークを活用してアプリケーションのルック アンド フィールをモダナイズする優れた方法です。
- Java アプリケーション サーバーにディプロイする
- Java アプリケーション サーバーは、アプリケーションの「シン」クライアント アーキテクチャを提供する場合に必要になります。エンド ユーザーは、マシンにインストールされたシン クライアントを使用して、アプリケーション サーバーにディプロイされ、すべての要求を処理するメイン
プログラムと通信します。
Visual COBOL は、すべての主要 Java アプリケーション サーバーをサポートしており、Web サービスや Java インターフェイスなど、Java アプリケーション サーバーでの COBOL アプリケーションの作成およびディプロイを可能にします。
- Web およびモバイルでディプロイするためのアプリケーションを作成する
- 最新のアプリケーション サーバーは、 マネージ 言語 (C#、Java、JVM COBOL など) で記述されたアプリケーションによって使用されるよう設計されています。サーバーにアップロードするアプリケーションにネイティブ COBOL を使用することは不可能な場合があり、ネイティブ プログラムがエラー状態によって終了すると不安定になる可能性もあります。