JVM サーバー・ランタイム環境

JVMサーバーは、単一のJVMで異なるJava™アプリケーションの多数の同時リクエストを処理できるランタイム環境である。 JVMサーバーを使用して、OSGiフレームワークでスレッドセーフなJavaアプリケーションを実行したり、LibertyでWebアプリケーションを実行したり、Axis2WebサービスエンジンでWebサービスリクエストを処理したりできます。

JVMサーバーはJVMSERVERリソースで表される。 JVMSERVERリソースを有効にすると、CICS®はMVSからストレージを要求し、言語環境®エンクレーブをセットアップし、エンクレーブ内で64ビットJVMを起動します。 CICSは、JVMSERVERリソースで指定されているJVMプロファイルを使用して、正しいオプションでJVMを作成する。 例えば、JavaアプリケーションからDB2® IBM® MQにアクセスするためのネイティブ・ライブラリを追加することができます。

JVM サーバーを使用する利点の 1 つは、同一 JVM でさまざまなアプリケーションに対して多数の要求を実行できることです。 以下の図では、3 つのアプリケーションが、異なるアクセス・メソッドを使用して、CICSリージョン内の 3 つの Java プログラムを同時に呼び出しています。 各Javaプログラムは同じJVMサーバーで実行される。

図は、異なる方法 CICS CICS、 HTTP )を使用して CICSの 3つのJavaプログラムにアクセスしている3つのアプリケーションを示しています。 各プログラムは同じ JVM サーバーで実行されます。 JVMサーバーには言語環境エンクレーブがあり、その中にJVMがある。

Java アプリケーション

OSGi JVMサーバーでJavaアプリケーションを実行するには、スレッドセーフで、CICSバンドル内に1つ以上のOSGiバンドルとしてパッケージ化されている必要があります。 JVM サーバーは、OSGi バンドルおよび、OSGi サービスを実行できる OSGi フレームワークを実装します。 OSGi フレームワークは、サービスを登録し、バンドル相互間の依存関係とバージョンを管理します。 OSGiはフレームワーク内のすべてのクラス・パス管理を処理するので、JVMサーバーを停止したり再起動したりすることなく、Javaアプリケーションを追加、更新、削除できる。

OSGiを使用してパッケージ化されたJavaアプリケーションのデプロイメントの単位は、CICSバンドルです。 BUNDLEリソースはCICSに対してアプリケーションを表し、アプリケーションのライフサイクルを管理するために使用できます。 IBM CICSSDK for Javaは、CICSバンドル・プロジェクト内のOSGiバンドルをzFSにデプロイするためのサポートを提供しています。

OSGiフレームワークの外部からJavaアプリケーションにアクセスするには、PROGRAMリソースを使用して、アプリケーションが実行されているJVMサーバーとOSGiサービスの名前を特定する。 OSGiサービスはCICSメイン・クラスを指す。

JVMサーバーでのOSGiフレームワークの使用については、OSGiに準拠したJavaアプリケーションを参照してください。

Java Web アプリケーション

OSGiフレームワークでJavaアプリケーションを実行するだけでなく、JVMサーバーはWebSphere® Application Server Libertyの実行もサポートしています。 プロファイルは Web アプリケーションを実行するための軽量のアプリケーション・サーバーです。 Webアプリケーションは、JCICSを使ってCICSのリソースやサービスにアクセスしたり、DB22のデータにアクセスしたりできる。 Libertyで実行されるアプリケーションは、CICSのWebサポートではなく、z/OS®のTCP/IPソケット層を介してアクセスされます。

この図は、JVM サーバーを含むCICS領域を示しています。 JVM サーバーは、Liberty サーバーを実行しています。 Liberty サーバーは、z/OS の TCP/IP ソケット・レイヤーを通して HTTP 要求を受け取ります。 Libertyサーバーには、JCICSを使用してVSAMファイルにアクセスするウェブアプリケーションと、 JDBC を使用して DB2 に接続する DB2が含まれています。

Javaウェブ・アプリケーションは、開発者がウェブ・アーカイブ(WAR)ファイルまたはエンタープライズ・アプリケーション・アーカイブ(EAR)ファイルをLibertyのドロップイン・ディレクトリに直接デプロイできるLibertyデプロイメント・モデルに従うか、CICSバンドルを作成するCICSアプリケーション・モデルを使用することができます。 CICSバンドルはライフサイクル管理を提供し、OSGiバンドルやWARファイルなど多くのコンポーネントを含むアプリケーションをパッケージ化できます。

Web アプリケーションから OSGi バンドルにアクセスするには、Enterprise Bundle Archive (EBA) ファイルとしてアプリケーションをデプロイする必要があります。 EBA を開発するには、Rational® Application Developer を使用するか、Eclipse IDE、IBM CICSSDK for Java、およびWebSphere Application Server Developer ToolsforEclipse を組み合わせて使用できます。 後者のツールは無料で使用できますが、IBM CICSSDK for Javaを除き、IBMのサポートは受けられません。

Libertyの使い方については、Liberty JVMサーバーでのJavaアプリケーションを参照してください。

Web サービス

JVM サーバーを使用して、Web サービス・リクエスターおよび Web サービス・プロバイダーのアプリケーションの SOAP 処理を実行できます。 パイプラインがJavaベースのSOAPエンジンであるAxis2を使用している場合、SOAP処理はJVMサーバーで行われる。 Web サービスに JVM サーバーを使用する利点は、作業を zAAP プロセッサーにオフロードできることです。

ウェブ・サービスにJVMサーバーを使用する方法の詳細については、Javaウェブ・サービスを参照してください。