ここでは、サービス、パッケージ、および要求ハンドラそれぞれのオブジェクトについて説明し、これらのオブジェクトの相互関係と実行できる作業について説明します。
サービスオブジェクト、実装パッケージオブジェクト、および要求ハンドラオブジェクトは連携して動作することで、サービスベースのビジネス機能を提供することができます。 システムサービスのサービスオブジェクトとは対照的に、ビジネスサービスのサービスオブジェクトには、必ず 1 つの要求ハンドラと 1 つの実装パッケージが関連付けられている必要があります。 サービスリスナーは、サービスオブジェクトに 1 つ以上関連付けることができます。
これらの 3 種類のオブジェクトに対して行う管理作業は、次のとおりです。
Interface Mapping Toolkit を使用してサービスをディプロイする場合には、必要なすべてのオブジェクトは自動的に作成され、それらの関係が完成します。 ただし、エンタープライズサーバにサービスを手動で追加した場合は、追加したサービスのオブジェクトとそれらの関係を、次の順序で作成する必要があります。
エンタープライズサーバが実行中かどうかに関係なく、エンタープライズサーバにサービスと実装パッケージを追加し、さらにそれらを更新または削除できます。
エンタープライズサーバが実行中の場合 (つまり、状態が「開始」の場合) は、サービスとパッケージを追加すると、その変更がすぐにエンタープライズサーバに反映されます。 サービスがクライアント要求に応答していない限り、更新も受け付けられてその変更がすぐに反映されます。
クライアント要求によりリソースが使用されている場合は、サービス、パッケージ、または要求ハンドラを削除できません。 サービスが実行中かどうかに関係なく、パッケージがサービスに関連付けられている場合はパッケージを削除できません。 サービスにオペレーションがある場合は、サービスとそのすべてのオペレーションを 1 回でまとめて削除したり、オペレーションやパッケージを個別に削除したりできます。
サービス、パッケージ、および要求ハンドラを削除すると、物理ファイルではなく Directory Server リポジトリ内のオブジェクトが削除されます。 開発者が、ディプロイツールまたは imtkmake コマンドを使用してサービスをディプロイすると、そのたびに新しいディレクトリがエンタープライズサーバのディプロイディレクトリに作成され、ディプロイされたファイルがすべて格納されます。 開発者が、すでにディプロイされているサービスを再度ディプロイすると、古いディプロイディレクトリは参照されなくなります。これは、古いサービスとパッケージオブジェクトがすでに削除されているためです。 古いディプロイディレクトリは、時々削除してください。
エンタープライズサーバの実行中にリソースを追加、編集、または削除した場合は、オペレーションの成功や変更を示す管理メッセージがエンタープライズサーバコンソールに送信されます。
Enterprise Server が拒否する更新を Directory Server が受け付けた場合は、使用中のエンタープライズサーバと Directory Server リポジトリの同期が取れなくなることがあります。 同期が取れなくなった場合には、サーバをいったん停止してから再起動して更新を同期させます。
サービスにより、特定のビジネス機能にアクセスすることができます。
Interface Mapping Toolkit を使用してディプロイしたサービスは、常に 1 つ以上のオペレーションを含みます。たとえば、『入門書』で説明されているインターフェイスマッピングチュートリアルを実行する場合は、4 つのオペレーション (レコードの追加、レコードの読み取り、次のレコードの取得、レコードの削除) を含むサービス wmapserv を作成します。 Enterprise Server のマニュアルでは、この種類のサービスに対して「オペレーションをもつサービス」という表現を使用します。
サービスの名前とサービスに関連付ける要求ハンドラ (ある場合) に応じて、エンタープライズサーバ内に作成するサービスには 1 つ以上のオペレーションを含めることができます。 サービスを作成しサービスに要求ハンドラを関連付けない場合、または指定した名前に有効な区切り文字が含まれない場合には、サービスとオペレーションは同じものとなります。 Enterprise Server のマニュアルでは、この種類のサービスに対して「単純サービス」という表現を使用します。 デフォルトのエンタープライズサーバ ESDEMO の Deploy サービスなどのシステムサービスは単純サービスです。
サービス名には 2 つの形式があります。形式は、サービスにオペレーションが含まれるかどうかによって決定されます。 次の 2 つの形式があります。
オペレーションをもつサービスの名前はこの形式です。
Web サービスのサービス名では区切り文字として最初のシャープ (#) 文字を使用します。J2EE アプリケーションの一部を構成するサービスの名前では最後のピリオド (.) 文字を使用します。たとえば、mybinpservice.operation です。
サービス名には 1 つ以上のシャープ (#) 文字またはピリオド (.) 文字を含むことができます。Enterprise Server は最初の # 文字または最後のピリオド文字を区切り文字として認識します。
ホームページ内のサーバのテーブルで「サービス」にある [詳細] をクリックすると、リポジトリ内に格納されているサービスの情報が表示できます。図 9-1 に、サービステーブルを示します。
図 9-1: サービステーブル
表示される情報は、次のとおりです。
サービス表示フィルタは、表示するサービス情報を制御します。 サービス情報は、サービステーブルの一番上に表示されます。 サービス表示フィルタには、次の 4 種類があります。
サービス以外のフィルタには、オプションが 3 つあります。
たとえば、クラス 1 のサービスに関してサービスの詳細を表示する場合は、「サービス表示フィルタ、クラス」で「一部」を選択します。関連する要求ハンドラをもたないサービスのみを表示する場合は、「サービス表示フィルタ、ハンドラ」で「なし」を選択します。すべてのサービスを表示するには、オプションをもつ 3 つのフィルタすべてで「すべて」を選択し、「サービス」は空白のままにします。 すべてのフィルタを組み合わせて使用すると、表示するレベルを最大限に制御できます。
サービステーブルを最初に表示すると、オプションをもつフィルタはすべて「すべて」に設定され、「サービス」フィルタは空白になっています。
「サービスの追加」ページおよび「サービスの編集」ページの「構成情報」フィールドで、サービスに特有のデータを設定できます。 サービスに対して設定できる構成情報は、ディプロイサービスのみです。これは、Interface Mapping Toolkit が Web サービスおよび J2EE EJB のディプロイに使用するサービスクラス「MF Deployment」をもつ特別なサービスです。
[MF client] 設定には、MFCC がディプロイ要求を作成する際の設定があります。
[destination] 設定は、mfdepinst が Directory Server にサービスとパッケージオブジェクトを作成し、同時にディプロイパッケージ (.car ファイル) をインストールする場合に使用します。 これらの設定は、 IMTK またはその他のディプロイクライアントを使用して、MFCS を介してディプロイが行われる場合にのみ使用されるので注意してください。 mfdepinst をコマンド行から手動で実行して .car ファイルをインストールする場合、mfdepinst は特定のディプロイサービスに対しては起動されません。したがって、参照するディプロイサービス構成はありません。
[MF client] scheme=protocol URL=virtual-directory-name-1/mfdeploy.exe/virtual-directory-name-2 accept=request-data-type [destination] listener=listener-name server=server-name
要求に対して使用するプロトコルを指定します。
scheme=protocol
protocol | 「http」に設定します。 |
デフォルト: | なし |
要求 URL のベースパス部分を設定します。
URL=virtual-directory-name-1/mfdeploy.exe/virtual-directory-name-2
virtual-directory-name-1/ | mfdeploy.exe を含むディレクトリにマップされた、リスナーの構成内にある仮想ディレクトリに対応していなければなりません。 |
virtual-directory-name-2 | 新しいディプロイディレクトリが作成される仮想ディレクトリに対応していなければなりません (このディレクトリには、.mfdeploy ファイルが必要です)。 |
デフォルト: | /cgi/mfdeploy.exe/uploads |
単一の Web リスナーの下に複数のディプロイサービスを置き、ディプロイパッケージに対して別の位置を指示することができます。この場合、リスナーの構成に仮想ディレクトリを追加し、適切なディレクトリをここに指定します。 詳細は、『構成』の章の『ディプロイサービスとディプロイリスナー』の節を参照してください。
このサービスが受信する要求データの種類を MFCC に通知します。
accept=request-data-type
request-data-type | 「application/x-zip-compressed」に設定します。 |
デフォルト: | なし |
新しいサービスを所有するリスナーの名前を指定します。 デフォルトは「Web Services」です。 サービスを別の名前のリスナーにディプロイしたい場合は、この値を設定します。
listener=listener-name
デフォルト: | Web Services |
サービスを別の名前のリスナーにディプロイしたい場合は、この値を設定します。
新しいサービスとパッケージを所有するサーバの名前を指定します。 デフォルトでは、ディプロイサービスが属するサーバになります。 この値を設定して、同じシステムの異なるエンタープライズサーバにディプロイされるサービスへのディプロイ要求を、エンタープライズサーバで受信することができます。
server=server-name
デフォルト: | ディプロイサービスが属するサーバ |
この値を設定して、同じシステムの異なるエンタープライズサーバにディプロイされるサービスへのディプロイ要求を、エンタープライズサーバで受信することができます。
Modify またはそれ以上のアクセス権をもつ場合は、次の作業ができます。
Add/Delete またはそれ以上のアクセス権をもつ場合は、次の作業もできます。
実装パッケージは、ビジネス機能を提供するアプリケーションを定義します。
ホームページ内のサーバのテーブルで「パッケージ」にある [詳細] をクリックすると、リポジトリ内に格納されているパッケージの情報が表示できます。図 9-2 に、パッケージテーブルを示します。
図 9-2: パッケージテーブル
表示される情報は、次のとおりです。
Modify またはそれ以上のアクセス権をもつ場合は、次の作業ができます。
Add/Delete またはそれ以上のアクセス権をもつ場合は、次の作業もできます。
Enterprise Server Administration の外部で、古いディプロイディレクトリを削除できます。
要求ハンドラは、クライアントからのサーバへのアクセス要求を受信し、要求をビジネス機能を提供するアプリケーションが解読できる形式に変換するソフトウェアです。 Enterprise Server では、次の要求ハンドラが提供されています。
ホームページ内のサーバのテーブルで「要求ハンドラ」にある [詳細] をクリックすると、リポジトリ内に格納されている要求ハンドラの情報が表示できます。図 9-3 に、要求ハンドラテーブルを示します。
図 9-3: 要求ハンドラテーブル
表示される情報は、次のとおりです。
Modify またはそれ以上のアクセス権をもつ場合は、次の作業ができます。
Add/Delete またはそれ以上のアクセス権をもつ場合は、次の作業もできます。
Copyright © 2006 Micro Focus (IP) Ltd. All rights reserved.