1.1.4 Java Service Managerの機能

LANSA Integrator

1.1.4 Java Service Managerの機能


IBM i の場合、Java Service Managerは、「IBM i のJava Service Managerの管理」で説明するJSMメニューのSTRJSMコマンドで開始されます。STRJSMコマンドは、JSMサブシステムでJSMインスタンスを開始します。複数のJSMインスタンスを実行できます。各JSMインスタンスには、それぞれのJava仮想マシンがあります。Java Service ManagerはJSMサブシステムで実行され、JSMクライアントからのサービス要求を待機します。

Windowsの場合、JSMアドミニストレータ・サービスの[スタートアップの種類]を[自動]に設定すると、システム起動時にMicrosoft サービス・コントロール・マネージャによってサービスが自動的に開始されます。手動に設定した場合、Microsoft Service Control Managerを使用してJSMアドミニストレータを開始する必要があります。JSMアドミニストレータは、Java仮想マシンを開始し、Javaサービス・マネージャを起動します。起動すると、JSMアドミニストレータは、JSMクライアントからのサービス要求を待機します。

Linuxの場合、JSMアドミニストレータはstrjsmプログラムで開始されます。このプログラムは、Java仮想マシンを開始してJava Service Managerを起動します。その後、Java Service Managerは、JSMクライアントからのサービス要求を待機します。

JSMクライアントを開始するには、Java Service Managerへの接続を開く要求を送信します。JSMクライアントがLANSAファンクションの場合、JSM_OPEN組み込み関数を使用して接続を開きます。Java Service Managerは、サーバーで新しいスレッドを開始します。各JSMクライアントには、Java Service Managerで管理される個別のスレッドがあります。

JSMクライアントは、LANSAファンクションまたは3GLプログラムになります。JSMDirectを使用する場合、クライアントからのHTTP要求を使用してCGIプログラムからLANSAファンクションを呼び出すことができます。JSMDirectにより、インターネット上でファンクションを実行して、双方向XMLなどのアプリケーションをサポートできます。実行されるLANSAファンクションは、IBM i 上のDC@W29ファイル、またはWindowsまたはLinux上のdc_w29.txtファイルで定義されます。JSMDirectは、データ・ストリームの読み込みと書き込みを自動で行います(「JSMDirectとは」を参照)。

スレッドが開始すると、JSMクライアントは一連のコマンドを発行して、特定のサービス・クラスをロードまたはアンロードできます。一度にロードできるサービス・クラスは1つだけです。JSM_COMMAND組み込み関数は、ロードされたサービスで特定のコマンドを実行する場合も使用できます。例えば、FTPServiceをロードした場合、コマンドを使用してFTPサーバーにログインしたり、ファイルの取得や取り出しを行うことができます。Java Service Managerは、サービスで使用されるJavaクラスと対話しながら、必要なFTP操作を実行します。

JSMクライアントが終了すると、クライアントは接続を閉じる要求を送信します。JSM_CLOSE組み込み関数を使用して接続を終了します。