(57)【要約】【課題】  リモートウェブサービスを備えるエンタープライズアプリケーションに、プロセス管理サービスを設ける。【解決手段】  本発明かかる方法は、少なくとも１つのリモートウェブサービスに関連付けられた利用可能なプロセス管理オブジェクトであって、少なくとも１つのプロセス管理サービスを備える、プロセス管理オブジェクトを、エンタープライズアプリケーションにおけるプロセス管理オブジェクトサーバ（ＰＭＯＳ）に登録すること、エンタープライズアプリケーションにおいて、少なくとも１つのプロセス管理サービスの要求を受信すること、ＰＭＯＳから、少なくとも１つのプロセス管理サービスの要求をプロセス管理オブジェクトに通信すること、および要求に応答して、プロセス管理オブジェクトからプロセス管理情報を返すことを含む。【選択図】図３
2005056405.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのリモートウェブサービス（４０２、４０３、４０４）を備えるエンタープライズアプリケーションにプロセス管理サービスを設ける方法（６０）であって、
前記少なくとも１つのリモートウェブサービスに関連付けられた利用可能なプロセス管理オブジェクトであって、少なくとも１つのプロセス管理サービスを備える、プロセス管理オブジェクトを、前記エンタープライズアプリケーション（３００）におけるプロセス管理オブジェクトサーバ（ＰＭＯＳ）（４０９）に登録することと、
前記エンタープライズアプリケーションにおいて、前記少なくとも１つのプロセス管理サービスの要求を受信すること（６０３）と、
前記ＰＭＯＳから、前記少なくとも１つのプロセス管理サービスの前記要求を前記プロセス管理オブジェクトに通信すること（６０５）と、
前記要求に応答して、前記プロセス管理オブジェクトからプロセス管理情報を返すこと（６０６）と
を含むエンタープライズアプリケーションにプロセス管理サービスを設ける方法。
【請求項２】
エンタープライズアプリケーションにプロセス管理サービスを設ける方法（６０）であって、
前記少なくとも１つのリモートウェブサービス（４０２、４０３、４０４）を前記エンタープライズアプリケーション（３００）のプロキシサービス（４０５、４０６、４０７）に登録することであって、前記プロキシサービスは、前記エンタープライズアプリケーションに従って定義されたインタフェースを実施して、前記少なくとも１つのリモートウェブサービスとの通信を可能にすること
をさらに含み、
前記通信することは、
前記プロキシサービスにおいて、前記少なくとも１つのプロセス管理サービスの前記要求を受信すること（６０５ａ）と、
前記要求を、前記少なくとも１つのリモートウェブサービスと関連付けられた前記プロセス管理オブジェクトとインタフェースすることと
を含む（６０１）
請求項１に記載の方法
【請求項３】
アクセスが、セキュリティパラメータに従って許可されると、前記エンタープライズアプリケーション（３００）によって、前記プロキシサービス（４０５、４０６、４０７）をエキスポーズすること（６０２）
をさらに含む請求項２に記載の方法（６０）。
【請求項４】
エンタープライズアプリケーションにプロセス管理サービスを設ける方法（６０）であって、
前記少なくとも１つのリモートウェブサービスに関連付けられた前記プロセス管理オブジェクトへのアクセスログを生成すること（６０４）
をさらに含む請求項１に記載の方法。
【請求項５】
前記通信することは、
前記ＰＭＯＳから、前記少なくとも１つのリモートウェブサービスに関連付けられた前記プロセス管理オブジェクトへリモートプロシージャコールを実行すること
を含む
請求項１に記載の方法（６０）。
【請求項６】
分散サービス（４０２、４０３、４０４）を実施するアプリケーション（３００）に、プロセス管理資源を提供するシステムであって、
前記分散サービスの実行を制御する、前記アプリケーション内の制御されたランタイム環境（３０１）と、
前記分散サービスに関連付けられた分散プロセス管理資源を登録する管理資源レジストリ（４０９）と、
前記アプリケーションと前記分散プロセス管理資源との間の通信を可能にする資源インタフェース（４０５、４０６、４０７）と
を備えるプロセス管理資源を提供するシステム。
【請求項７】
前記資源インタフェース（４０５、４０６、４０７）は、
前記分散サービス（４０２、４０３、４０４）の所定の１つと通信するように構成された、前記アプリケーション内のプロキシサービス、および、
前記分散サービスへのリモートプロシージャコールを実行する、前記管理資源レジストリ（４０９）内の通信コード
のいずれかを備える
請求項６に記載のシステム。
【請求項８】
前記プロセス管理情報の要求に応答して、前記分散プロセス管理資源から受信されたプロセス管理情報を記憶するプロセス管理ベース（４１０）
をさらに備える請求項６に記載のシステム。
【請求項９】
前記資源インタフェース（４０５、４０６、４０７）へのアクセスを制御するセキュリティアプリケーション（３０３）を
さらに備える請求項６に記載のシステム。
【請求項１０】
前記資源インタフェースへのアクセスログを記録する追跡アプリケーション（６０４）
をさらに備える請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス管理サービスを設ける方法およびプロセス管理資源を提供するシステムに関する。
【０００２】
［関連出願の相互参照］
本出願は、出願されて本発明の譲受人に譲渡された同時係属中の「SYSTEM AND METHOD FOR A CONFIGURATION REPOSITORY」という発明の名称の米国特許出願第１０／４１２，１３４号に関連している。
【背景技術】
【０００３】
エンタープライズアプリケーションは、比較的要求の厳しい性能基準の下で実行するように設計され、かつ、比較的多くの分散したユーザをスケーラブルな方法でサポートするように設計されたソフトウェアアプリケーションの記述に使用される定性的な用語である。
エンタープライズアプリケーションの開発は、そのロバストな機能および要求性能のため、比較的困難となることがある。
エンタープライズアプリケーションは、通常、アプリケーションサーバアーキテクチャを利用して実施される。
アプリケーションサーバアーキテクチャのさまざまなサービスは、そのアプリケーションサーバに関連した記憶デバイス上でソフトウェアコード（例えばオブジェクト指向クラスのファイル）を記述すること、および、適切な配備記述子を変更することにより、アプリケーションサーバ上に配備される。
一般に、アプリケーションサーバのモジュール形式のソフトウェア機能のすべては、そのアプリケーションサーバを実行する処理プラットフォーム上にローカルに記憶される。
【０００４】
従来のアプリケーションサーバに加えて、分散ウェブサーバが開発され、複数のリモートサービスを１つのアプリケーションに組み立てることができる。
ウェブサービス記述言語（ＷＳＤＬ）など、リモートウェブサービスを実施する目的でさまざまなプロトコルが開発されてきた。
ＷＳＤＬは、ウェブサービスのインタフェースおよび起動メソッドを定義する。
ＷＳＤＬは、基本的には、ウェブサービスが何を行うことができるか、ウェブサービスがどこに存在するか、およびクライアントがウェブサービスをどのように起動するのかを告げる。
ウェブサービスの位置および特定は、統一的な記述／発見／統合（ＵＤＤＩ（Universal Description, Discovery, and Integration））を利用して行うことができる。
ウェブサービスとの通信は、リモートプロシージャコール（ＲＰＣ）などのさまざまなプロトコルを利用することができる。
例えば、ＪＡＸ−ＲＰＣは、ＪＡＶＡ（登録商標）リモートプロシージャコール技術である。
ＪＡＸ−ＲＰＣにより、ＪＡＶＡ（登録商標）の開発者は、ウェブアプリケーションおよびウェブサービスを構築することが可能になる。
ＲＰＣメカニズムにより、クライアントからのリモートプロシージャコールをリモートサーバに通信することができる。
分散クライアント／サーバモデルにおいては、例えば、サーバが、リモートクライアントによって呼び出し可能なプロシージャの集合としてサービスを定義する。
クライアントは、サーバ上のリモートプロシージャを呼び出して、サーバが定義したサービスにアクセスする。
拡張マークアップ言語（ＸＭＬ）ベースのＲＰＣでは、リモートプロシージャコールは、リモートプロシージャコールおよび応答の表現の規約を定義するシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）１．１仕様などのＸＭＬベースのプロトコルを使用して表現される。
【０００５】
ウェブサービスは、インターネットを介して配信される完成した総合的なソリューションに、あるコンポーネントまたは機能を提供する基盤サービスまたは基盤アプリケーションである。
例えば、ウェブサービスは、データベースをカプセル化することもできるし、あるいは利用することもできる。
クライアントは、データベースの検索を実行する要求および検索用のキーワードを送信することができる。
次いで、ウェブサービスは、データベースを検索し、検索結果を要求側クライアントに返す。
ウェブサービスには、株価を返すサービスなどのように、単純なものもあるし、ユーザが車のレンタル予約を行うことを可能にするサービスやローンの申し込みを完了することを可能にするサービスなどのように、複雑なものもある。
電子サービス（ｅサービス）は、いくつかのウェブサービスを使用できる、インターネットを介して配信される完成したソリューションである。
ウェブサービスおよびｅサービスは、インターネット全体にわたって増えており、ｅコマースおよび企業間（Ｂ２Ｂ）商取引を推進している。
【０００６】
現在、ますます多くのウェブサービスおよびｅサービスが、ウェブ上に提供され続けている。
ウェブサービスを開発してインターネット上の膨大な顧客がそれらのウェブサービスを利用できるようにする傾向が急増している。
開発者は、ウェブサービスの開発および実施を行うためのより良い方法、ツールなどを絶えず必要としている。
分散ウェブサービスを組み立てることは、極めて複雑で、信頼性のないものとなる可能性がある。
一方、ウェブサービスがビジネス向けに利用可能になると、その性能を追跡することは困難である。
したがって、企業が自社の商品を管理することは困難となる。
企業が単一のウェブサービスしか有しない場合に、そのタスクは、一般に、あまり要求の厳しいものとはならない。
しかしながら、ウェブサービスが、１つの小さなロジックしか実行できないことを考えると、企業は、おそらく、数千個の異なるウェブサービスを有し、広いネットワークの全体にわたって管理する可能性がある。
ウェブサービスが単に存在すること自体、極めて新しいことであるので、ウェブサービスを容易に管理できる適切な管理ツールは、もし存在するとしても、わずかしか存在しない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
分散ウェブサービスを組み立てることは、極めて複雑で、信頼性のないものとなる可能性がある。
一方、ウェブサービスがビジネス向けに利用可能になると、その性能を追跡することは困難である。
したがって、企業が自社の商品を管理することは困難となる。
企業が単一のウェブサービスしか有しない場合に、そのタスクは、一般に、あまり要求の厳しいものとはならない。
しかしながら、ウェブサービスが、１つの小さなロジックしか実行できないことを考えると、企業は、おそらく、数千個の異なるウェブサービスを有し、広いネットワークの全体にわたって管理する可能性がある。
ウェブサービスが単に存在すること自体、極めて新しいことであるので、ウェブサービスを容易に管理できる適切な管理ツールは、もし存在するとしても、わずかしか存在しない。
【課題を解決するための手段】
【０００８】
代表的な実施の形態は、少なくとも１つのリモートウェブサービスを備えるエンタープライズアプリケーションにプロセス管理サービスを設ける方法であって、少なくとも１つのリモートウェブサービスに関連付けられた利用可能なプロセス管理オブジェクトであって、少なくとも１つのプロセス管理サービスを備える、プロセス管理オブジェクトを、エンタープライズアプリケーションにおけるプロセス管理オブジェクトサーバ（ＰＭＯＳ）に登録すること、エンタープライズアプリケーションにおいて、少なくとも１つのプロセス管理サービスの要求を受信すること、ＰＭＯＳから、少なくとも１つのプロセス管理サービスの要求をプロセス管理オブジェクトに通信すること、および要求に応答して、プロセス管理オブジェクトからプロセス管理情報を返すこと、を含む方法である。
【０００９】
さらに代表的な実施の形態は、分散サービスを実施するアプリケーションにプロセス管理資源を提供するシステムであって、分散サービスの実行を制御する、アプリケーション内の制御されたランタイム環境と、分散サービスに関連付けられた分散プロセス管理資源を登録する管理資源レジストリと、アプリケーションと分散プロセス管理資源との間の通信を可能にする資源インタフェースと、を備えるシステムである。
【００１０】
さらに別の代表的な実施の形態は、コンピュータプログラムロジックが記録されたコンピュータ可読媒体を有するコンピュータプログラム製品を対象とする。
このコンピュータプログラム製品は、１つまたは複数のリモートウェブサービスに配置された利用可能な管理情報オブジェクト（ＭＩＯ（management information object））を、エンタープライズアプリケーションの管理オブジェクトサーバ（ＭＯＳ（management object sever））に登録するためのコードを備える。
ＭＩＯは、少なくとも１つのプロセス管理サービスと、少なくとも１つのプロセス管理サービスの要求をＭＯＳにおいて受信するためのコードと、ＭＯＳからＭＩＯへ少なくとも１つのプロセス管理サービスの要求を通信するためのコードと、この要求に応答してＭＯＳへ管理情報を返すためのコードとを備える。
【発明を実施するための最良の形態】
【００１１】
本発明を詳細に説明する前に、エンタープライズアプリケーションの実施に通常利用されるアーキテクチャのオペレーションを説明することが適当である。
図１は、エンタープライズアプリケーションの実施に利用することができるシステム１００を示している。
このシステム１００は、クライアント層にクライアント１０１を備える。
クライアント１０１は、ブラウザ１０４を備えることができ、クライアント１０１がエンタープライズアプリケーションにアクセスすることを可能にする。
あるいは、エンタープライズアプリケーションの性質に適している場合には、スタンドアロンアプリケーション１０５を実施して、メーカ独自の方法でエンタープライズアプリケーションにアクセスすることもできる。
一般に、クライアント層は、中間層のアプリケーションと相互作用するのに必要な設備（例えば、グラフィックユーザインタフェース）をユーザに提供することを担う。
ＥＩＳ層のエンタープライズ情報システム（ＥＩＳ（Enterprise Information System））１０３は、エンタープライズアプリケーションによって利用されるデータを管理するために実施することができる。
ＥＩＳ１０３は、一例として関係データベース管理機能を利用して、データベース１０６にエンタープライズデータを記憶することができる。
【００１２】
中間層において、アプリケーションサーバ（ＡＳ）１０２は、クライアント１０１およびＥＩＳ１０３の双方と相互作用することができる。
例えば、ＡＳ１０２は、ＥＩＳ１０３へのアクセスを容易にするＥｎｔｅｒｐｒｉｓｅ  ＪＡＶＡ  Ｂｅａｎ（登録商標）（ＥＪＢ（エンタープライズＪＡＶＡビーン））コンテナ１０７を備えることができる。
コンテナは、そのコンテナ内で実行されるコンポーネントにインタフェースをも提供するアプリケーションコンポーネント（例えばＥＪＢ）の制御されたランタイム環境である。
また、コンテナは、コンポーネントのライフサイクル管理、セキュリティ、配備、スレッドなどの基本管理機能も提供する。
ＥＪＢは、その各コンテナが定義したインタフェースを実施するソフトウェアコンポーネントである。
ＥＪＢのインタフェースは、モジュール形式の動的な方法でそれぞれのＥＪＢの機能にアクセスできるように定義される。
図１に示すように、ＡＳ１０２は、ウェブコンテナ１０８も備えることができる。
ウェブコンテナ１０８は、クライアント１０１と相互作用するコンポーネントの制御されたランタイム環境を提供することができる。
例えば、サーブレットコンポーネント（複数の要求を処理できる永続的なウェブサーバプロセス）を実施して、クライアント１０１からの要求に対するハイパーテキストマークアップ言語（ＨＴＭＬ）またはＸＭＬの応答を動的に作成することができる。
他の適切なコンポーネントをウェブコンテナ１０８内で実施することもできる。
【００１３】
一般に、ＡＳ１０２（中間層）は、「ミドルウェアサーバ」または「アプリケーションサーバ」を利用して実施することができる。
アプリケーションサーバは、通常、エンタープライズアプリケーションの安定したロバストな環境を作成するのに適した多くの異なるサービスから構成される。
サービスは、明確に定義された予想可能な方法で１つのソフトウェアによって提供される事前に定義されたタスクを表す。
通常、アプリケーションサーバは、管理機能を実施するサービスを備えることができる。
アプリケーションサーバのこれらの管理サービスは、サービスの開始、登録、監視、および停止を担うことができる。
管理サービスは、スレッドのプール、セキュリティ管理、状態管理、クラスのロード、負荷分散、動的なアプリケーションの起動など、他のタスクを実行することもできる。
第２に、アプリケーションサーバは、広範囲のエンタープライズアプリケーションが共通に利用できる基本的な１組のサービス（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）処理）を提供することができる。
第３に、アプリケーションサーバは、所与のエンタープライズアプリケーションのビジネスまたは他のロジックを実施する特定アプリケーション向けサービスを備えることができる。
【００１４】
一般に、アプリケーションサーバの管理機能は、特定アプリケーション向けサービスをより一般的なサービスに結合することによって、エンタープライズアプリケーションの実施を可能にすることができる。
例えば、管理機能は、適切な配備記述子を利用して、所与のポートにおけるＨＴＴＰリッスンサービスを作成することができ、受信されたＨＴＴＰ要求をそのポートから特定アプリケーション向けサービスに渡すことができる。
次いで、特定アプリケーション向けサービスによるＨＴＴＰ要求の処理は、セキュリティサービス、イベントログ記録サービス、負荷分散サービスなどによる管理を受けることができる。
【００１５】
図２は、通常のエンタープライズアプリケーションを実施するアプリケーションサーバ（ＡＳ）１０２を示している。
ＡＳ１０２は、クライアントからの要求を受信して処理し、それぞれのクライアントに応答を返す。
ＡＳ１０２は、要求および応答の通信を管理するリッスンサービス２０１を備えることができる。
例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）サービスは、定義済みのポートでＨＴＴＰトランザクションを受信するように定義することができる。
リッスンサービス２０１は、ウェブコンテナ１０８で実行されるサーブレットサービス２０２に、処理したＨＴＴＰ情報を渡すことができる。
サーブレットサービス２０２は、特定アプリケーション向けタスクを実行することができる。
例えば、サーブレットサービス２０２は、ＨＴＭＬ形式を作成して、特定ユーザ向け情報の通信を容易にすることができる。
サーブレットサービス２０２は、通信された特定ユーザ向け情報を処理することができる。
次いで、サーブレットサービス２０２は、ＥＪＢコンテナ１０７に関連付けられたＥＪＢ２０４を利用して、処理した特定ユーザ向け情報を適切なデータベースに記憶することができる。
【００１６】
複数の独立したサービスからエンタープライズアプリケーションを作成する能力は、標準化されたインタフェースおよび規約を定義することにより促進される。
具体的には、標準化されたインタフェースは、あるクラスによって実施されるメソッドの集合を定義して、アプリケーションサーバ環境内における相互作用にそのクラスをエキスポーズする。
規約は、クラスの挙動の構文および意味を記述する専用インタフェースを定義する。
このようにインタフェースおよび規約を定義することにより、アプリケーションサーバ１０２は、異なるサービスが相互作用できるようにし、それによって、複数のビジネスソリューションに共通のプログラムに基づいたソリューションを組み立てられるようにし、複数のアプリケーションに対して再利用できるようにする。
【００１７】
本明細書で説明する管理システムの実施の形態は、リモートシステム上の資源を利用するエンタープライズアプリケーションの管理および監視を可能にすることにより、上述したアプリケーションサーバなどの他のアプリケーションサーバの設計から逸脱している一方で、同じサービスアーキテクチャを維持している。
リモート管理サービスをローカルにアクセス可能にし、かつ、サービスアーキテクチャを維持することにより、有利なことに、リモートサービスを使用したアプリケーションの開発が管理可能になる。
具体的には、セキュリティ管理サービス、ログ記録サービス、およびランタイム環境の他のサービスを利用して、このような設備を、複雑さが低減されたリモートサービスの設備に提供することができる。
したがって、分散ウェブサービスの組み立ての複雑さおよび信頼性の欠如を改善することができる。
【００１８】
図３は、プロキシサービス３０６を含むアプリケーションサーバ（ＡＳ）３００を示している。
ＡＳ３００は、本発明の譲受人に譲渡された同時係属中の「SYSTEMS AND METHODS FOR PROVIDING A SERVICE IN A CONTROLLED RUN-TIME ENVIRONMENT」という発明の名称の米国特許出願第１０／８０７０６０号（仮出願番号６０／４５７９４２）、代理人整理番号第１００２０２４３３−１号の教示に従って構成される。
この米国特許出願は、参照により本明細書に援用される。
ＡＳ３００により、複数のサービスをエンタープライズアプリケーションに組み立てることが可能になる。
エンタープライズアプリケーション（図示せず）は、コンテナ３０１などの制御されたランタイム環境で実行することができる。
コンテナ３０１内で実行されるサービスをそれぞれのパーティション（例えばパーティション３０９）内に含めることにより、それらのサービスが他のサービスの機能にアクセスする能力を、特定のパーティションに割り当てられた機能に限定することができる。
【００１９】
ＡＳ３００は、エンタープライズアプリケーションのサービス間の相互運用を可能にするサービスレジストリ３０２を備えることができる。
具体的には、制御されたランタイム環境の定義済みのインタフェースを実施するプロセスをサービスレジストリ３０２に登録して、それらのメソッドを他のサービスにエキスポーズすることができる。
これらの他のサービスは、次に、サービスレジストリ３０２を検査して、それ以外のサービスの可用性を判断でき、利用可能なサービスのインタフェースのインスタンスまたはハンドルを取得することができる。
【００２０】
さらに、例示の実施の形態のＡＳ３００は、エンタープライズアプリケーションの運営を容易にするさまざまなサービスを含む。
例えば、ＡＳ３００は、セキュリティ管理サービス３０３を備える。
セキュリティ管理サービス３０３は、認証、認可、運営、および監査要求事項を実行するように動作可能とすることができる。
例えば、セキュリティ管理プロセス３０３は、エンタープライズアプリケーションへのアクセスを許可する前にユーザを認証して、実行されるエンタープライズアプリケーション内のユーザレベルまたはプロセスレベルの制限をセキュリティパラメータに従って強制することができる。
また、例示の実施の形態のＡＳ３００は、ログ記録サービス３０４を備える。
このログ記録サービス３０４は、あるサービスがプロキシサービス３０６のメソッドを起動する時に動作可能とすることができる。
ログ記録サービス３０４は、このメソッドの起動に応答して、呼び出し側サービス、被呼び出し側サービス、ユーザ状況、起動されたメソッドの性質、関連したあらゆる資源（例えば、ファイル、通信アドレス／ポートなど）、トランザクションの時刻などの記録を作成することができる。
その後、記録された追跡情報を利用して、ユーザが適当な資源にアクセスしているかどうか、および、未認証の個人がエンタープライズアプリケーションのセキュリティを脅かしたどうかを判断することができる。
ログ記録された情報を使用して、侵入の検出および「事後（post-mortem）」の侵入の分析を容易にすることができる。
【００２１】
上述したように、ＡＳ３００は、プロキシサービス３０６を備える。
プロキシサービス３０６は、構成情報を備えることもできるし、あるいは構成情報に関連付けることもできる。
プロキシサービス３０６は、この構成情報を利用して、ＷＳＤＬレポジトリ３０７または他の任意の適切な分散サービスレジストリと通信することができる。
プロキシサービス３０６は、このような通信を実行して、ウェブサービス３０８のインスタンスを取得することができる。
具体的には、ウェブサービス３０８のインスタンスは、プロキシサービス３０６がメソッドを起動できるオブジェクトと関連付けることができる。
このようにメソッドを起動することにより、プロキシサービス３０６は、ウェブサービス３０８の機能にアクセスすることができる。
本明細書の教示による実施の形態では、プロキシサービス３０６は、ＪＡＸ−ＲＰＣを利用して、ウェブサービス３０８のメソッドを起動することができる。
また、メソッドは、ＳＯＡＰ仕様によるＸＭＬなどの適切なプロトコルを利用して、メソッド引数（複数可）および戻り引数（複数可）を通信することもできる。
【００２２】
上述したように、ＡＳ３００は、プロセスが自身のメソッドを他のサービスにエキスポーズすることを可能にするサービスレジストリ３０２を備える。
本明細書の教示による実施の形態では、プロキシサービス３０６をサービスレジストリ３０２に登録することができる。
ローカルサービス３０５などの他のサービスは、サービスレジストリ３０２に含まれる情報を利用して、エキスポーズされたメソッドにアクセスすることができる。
したがって、ローカルサービス３０５は、サービスコンテナ３０１の制御されたランタイム環境内で実行される他の任意のサービスのメソッドを起動するのと同じ方法で、プロキシサービス３０６の１つまたは複数の適当なメソッドを起動することができる。
プロキシサービス３０６のメソッドが起動されると、メソッド引数を通信することができる。
この通信情報を利用すると、プロキシサービス３０６は、それらの引数が、そのメソッドが呼び出されたと仮定した場合に適当であるかどうかを判断することができる。
引数が適当である場合に、プロキシサービス３０６は、例えば、ローカルサービス３０５によって通信されたメソッド引数を利用して、ウェブサービス３０８の対応するメソッドを起動することができる。
プロキシサービス３０６は、ウェブサービス３０８に関連付けられたそれぞれの通信プロトコルに従って、ウェブサービス３０８との情報の通信を管理することができる。
情報が、ウェブサービス３０８のメソッドによって受信されると、メソッドは、その情報を適宜処理することができる（例えば、データベーストランザクションを実行する）。
メソッドは、あらゆる適当な情報（例えば、データベーストランザクションの結果を含むオブジェクト）をプロキシサービス３０６に返すことができる。
プロキシサービス３０６は、戻された情報をローカルサービス３０５に通信することができる。
【００２３】
完成したアプリケーション提供品が複数のローカルウェブサービスおよびリモートウェブサービスの組み合わせを備えているｅサービスのアーキテクチャは、それぞれのネットワークコンポーネントがウェブサービスの１つであるコンピュータネットワークと類比することができる。
このアーキテクチャ上の類似を考慮すれば、単一の「システム」に統合されたこのようなさまざまなウェブサービスの管理は、コンピュータネットワークの管理に類似している。
TIVOLIのＢＵＳＩＮＥＳＳ  ＳＹＳＴＥＭＳ  ＭＡＮＡＧＥＲ（商標）やCOMPUTER ASSOCIATESのＵＮＩＣＥＮＴＥＲ（商標）などのネットワーク管理ツールが、このようなコンピュータネットワークの複雑さの保守および監視を行うために開発された。
このようなネットワーク管理ツールは、企業のコンピュータネットワークの管理および監視を行うために、多くの企業に普及している。
これらのツールは、シンプルネットワーク管理プロトコル（ＳＮＭＰ）、リモートモニタ（ＲＭＯＮ）などの標準化されたフォーマットと、管理情報ベース（ＭＩＢ）データとを利用して、標準化された管理プロトコルを作成する。
この管理情報ベースデータは、標準的な複数のクラスのデバイス属性および運営インタフェースを定義する。
【００２４】
ウェブサービスの可用性が増大するに伴い、ソフトウェア「システム」は、リモートウェブサービスの実行に拡大し始めているので、ネットワーク管理に沿ったソフトウェアプロセス管理の必要性も増大している。
この必要性への対処を開始している１つのプロセス管理ツールは、SUN MICROSYTEMのＪＡＶＡ（登録商標）  ＭＡＮＡＧＥＭＥＮＴ  ＥＸＴＥＮＳＩＯＮＳ（ＪＭＸ）である。
このＪＭＸにより、ＪＡＶＡ（登録商標）の開発者は、自身のアプリケーションを、TIVOLIのＢＵＳＩＮＥＳＳ  ＳＹＳＴＥＭＳ  ＭＡＮＡＧＥＲ（登録商標）やCOMPUTER ASSOCIATESのＵＮＩＣＥＮＴＥＲ（登録商標）などの既存のネットワーク管理ソリューションと統合することが可能になる。
ＪＭＸは、ＪＭＸツールでは管理ビーン（ｍビーン）と呼ばれるプロセス管理オブジェクトを記述するための標準規格を定義している。
管理を受ける他のあらゆるオブジェクトと同様に、ｍビーンは、１組のプロパティを有し、１組のプロセス管理サービスまたは資源を実行することができ、１組の通知を送ることができる。
これらの通知のほとんどは、プロセス管理情報を扱ったものである。
ｍビーンによれば、所与のあらゆるオブジェクトまたはウェブサービスに関する管理情報を作成するメソッドを提供する管理アプリケーションを開発することができる。
ｍビーンは、ＪＭＸ標準規格によって定義されるコンテナの内部に存在する。
したがって、このコンテナにより、ＪＭＸクライアントは、当該コンテナを使用して、ｍビーンのメソッドを起動し、ｍビーンの属性にアクセスすることが可能になる。
また、あるクライアントがｍビーンに登録された後に、ｍビーンは、そのクライアントに通知を送信することもできる。
本発明の実施の形態の説明は、ＪＭＸ標準規格を使用しているが、本発明の異なる実施の形態の教示は、決してＪＭＸの実施態様のみに限定されるものでないことに留意すべきである。
【００２５】
図４Ａは、本明細書で説明する管理システムの実施の形態の教示に従って実施される管理設備を含むアプリケーションサーバを示している。
一般的なアプリケーションでは、サービスクライアント４００は、アプリケーションサーバ（ＡＳ）３００からのアプリケーションを起動することになる。
図４Ａに表すアプリケーションは、ローカルウェブサービス４０１とリモートウェブサービス４０２〜４０４との組み合わせを備えることができる。
ＡＳ３００は、ウェブサービスプロキシ４０５〜４０７を内蔵することにより、本発明の譲受人に譲渡された同時係属中の「SYSTEMS AND METHODS FOR PROVIDING A SERVICE IN A CONTROLLED RUN-TIME ENVIRONMENT」という発明の名称の米国特許出願第１０／８０７０６０号（仮出願番号６０／４５７９４２）、代理人整理番号第１００２０２４３３−１号の教示に従って構成されている。
したがって、一実施の形態によれば、サービスクライアント４００がアプリケーションを呼び出すと、ＡＳ３００は、ローカルウェブサービス４０１によって提供される機能だけでなく、リモートウェブサービス４０２〜４０４によって提供される機能をも実行し、呼び出す。
ＡＳ３００は、ウェブサービスプロキシ４０５〜４０７と相互作用することにより、ウェブサービス４０２〜４０４へのリモートプロシージャコールを容易にする。
ウェブサービスプロキシ４０５は、例えば、ＡＳ３００とウェブサービス４０２との間のメソッドインタフェースを提供することになる。
ウェブサービス４０２が提供するあらゆる機能または情報は、ウェブサービスプロキシ４０５などの資源インタフェースを通じて、ＡＳ３００に提供されることが好ましい。
【００２６】
アプリケーションのプロバイダ（図示せず）は、アプリケーションの成否に関する見識を提供できるアプリケーションに関するプロセス管理情報の監視を望む場合がある。
この監視を行うために、アプリケーションプロバイダは、管理クライアント４０８を通じてＡＳ３００にアクセスすることができる。
ウェブサービスプロキシ４０５〜４０７に加えて、ＡＳ３００は、ｍビーンサーバ４０９などのプロセス管理オブジェクトサーバを含む。
このプロセス管理オブジェクトサーバは、利用可能な分散プロセス管理サービスまたは資源の管理資源レジストリを提供する。
ウェブサービス４０２〜４０４が、ウェブサービスプロキシ４０５〜４０７に登録されると、ウェブサービス４０２〜４０４は、それらのｍビーンも、ｍビーンサーバ４０９または他のこのような管理オブジェクトサーバに、ウェブサービスプロキシ４０５〜４０７を通じて登録することが好ましい。
【００２７】
作動中、管理クライアント４０８は、プロセス管理資源の要求をＡＳ３００に発行する。
ＡＳ３００内において、ｍビーンサーバ４０９は、テーブルまたは資源レジストリを参照して、要求された資源が配置されている場所を見つけ出す。
その資源がウェブサービス４０２に配置されている場合に、ｍビーンサーバ４０９は、ウェブサービスプロキシ４０５に要求を発行し、次いで、ウェブサービスプロキシ４０５は、ウェブサービス４０２上のプロセス管理資源の実行を要求する。
実行後、プロセス管理情報が、ウェブサービスプロキシ４０５を通じてｍビーンサーバ４０９に返される。
ｍビーンサーバ４０９は、その結果の管理情報を直接、管理クライアント４０８に自動的に、または、ある種の要求を通じて通信することもできるし、別の実施の形態においては、プロセス管理ベース４１０などの管理資源レジストリに管理情報を記憶することもできる。
【００２８】
図４Ｂは、本明細書で説明する管理システムの代替的な実施の形態の教示に従って実施される管理設備を含むアプリケーションサーバ３００を示している。
このアプリケーションサーバ３００は、ｍビーンサーバ４１１を含む。
ｍビーンサーバ４１１は、ローカルウェブサービス４１２およびリモートウェブサービス４１３〜４１４用に登録されたｍビーンなどの管理情報オブジェクトを含む。
図４Ａに示すように、ウェブサービスプロキシを通じて管理サービスを実施するのではなく、ｍビーンサーバ４１１は、通信コードを使用して、ウェブサービス４１３〜４１４のｍビーンと、ある種のリモートプロシージャコールなどを通じて直接インタフェースするように構成される。
したがって、管理クライアント４１５が、ウェブサービス４１２および／またはウェブサービス４１３〜４１４からのｍビーンの管理メソッドの１つまたは複数にアクセスしようと試みる際に、管理クライアント４１５は、ｍビーンサーバ４１１と通信し、次いで、ｍビーンサーバ４１１は、ｍビーンが配置されている場所に応じて、ローカルウェブサービス４１２またはリモートウェブサービス４１３〜４１４からメソッドを呼び出すことができる。
【００２９】
本発明のさまざまな要素は、実行可能命令を介して実施される場合に、本質的には、このようなさまざまな要素のオペレーションを定義するコードになる。
例えば、図６のプロセスフローは、実行可能命令またはコードを利用して実施することができる。
実行可能命令またはコードは、可読媒体（例えば、ハードドライブ媒体、光媒体、ＥＰＲＯＭ、ＥＥＰＲＯＭ、テープ媒体、カートリッジ媒体など）から取得することもできるし、通信媒体（例えばインターネット）からデータ信号を介して通信することもできる。
実際は、可読媒体には、情報を記憶または転送できるあらゆる媒体が含まれ得る。
【００３０】
図５は、本明細書で説明する管理システムの代表的な実施の形態に従って適合されたコンピュータシステム５００を示している。
中央演算処理装置（ＣＰＵ）５０１は、システムバス５０２に接続されている。
ＣＰＵ５０１は、任意の汎用ＣＰＵとすることができる。
しかしながら、本発明は、ＣＰＵ５０１が、本明細書で説明する本発明のオペレーションをサポートする限り、ＣＰＵ５０１のアーキテクチャによって限定されるものではない。
【００３１】
コンピュータシステム５００は、ランダムアクセスメモリ（ＲＡＭ）５０３も含む。
ＲＡＭ５０３は、ＳＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭなどとすることができる。
コンピュータシステム５００は、ＲＯＭ５０４を含む。
ＲＯＭ５０４は、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどとすることができる。
ＲＡＭ５０３およびＲＯＭ５０４は、当該技術分野において既知のように、ユーザデータおよびシステムデータならびにプログラムを保持する。
【００３２】
コンピュータシステム５００は、入出力（Ｉ／Ｏ）アダプタ５０５、通信アダプタ５１１、ユーザインタフェースアダプタ５０８、および表示アダプタ５０９も含む、Ｉ／Ｏアダプタ５０５は、ハードドライブ、ＣＤドライブ、フロッピィディスクドライブ、テープドライブの１つまたは複数のものなど、記憶デバイス５０６をコンピュータシステム５００に接続する。
記憶デバイス５０６に関連付けられた記憶媒体は、本発明の実施の形態による実行可能命令を記憶することができる。
例えば、アプリケーションサーバ５１３を定義する実行可能命令をこの媒体に記憶することができる。
また、配備記述子５１５をこの媒体に記憶して、アプリケーションサーバ５１３が、エンタープライズアプリケーションを構成するさまざまなサービスをロードして管理できるようにする。
これらのさまざまなサービスには、プロキシサービス５１４が含まれ得る。
プロキシサービス５１４のオペレーションを定義する実行可能命令も、記憶デバイス５０６に関連付けられた媒体に記憶することができる。
【００３３】
通信アダプタ５１１は、コンピュータシステム５００をネットワーク５１２に接続するように適合されている。
ネットワーク５１２は、電話ネットワーク、ローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）、イーサネット（登録商標）ネットワーク、ならびに／もしくはインターネットネットワークの１つまたは複数のものとすることができる。
ユーザインタフェースアダプタ５０８は、キーボード５１３やポインティングデバイス５０７などのユーザ入力デバイスをコンピュータシステム５００に接続する。
表示アダプタ５０９は、ＣＰＵ５０１によって駆動されて、表示デバイス５１０の表示を制御する。
【００３４】
図６は、本明細書で説明する管理システムの実施の形態の教示によるフローチャート６０を示している。
本発明の実施の形態は、少なくとも１つのリモートウェブサービスを含むことができる。
ステップ６００において、この少なくとも１つのリモートウェブサービスは、エンタープライズアプリケーションのプロキシサービスに登録され、このプロキシサービスは、エンタープライズアプリケーションに従って定義されたインタフェースを実施して、この少なくとも１つのリモートウェブサービスとの通信を可能にする。
ステップ６０１において、少なくとも１つのリモートウェブサービスに関連付けられた利用可能なプロセス管理オブジェクトが、エンタープライズアプリケーションのプロセス管理オブジェクトサーバ（ＰＭＯＳ）に登録される。
このプロセス管理オブジェクトは、少なくとも１つのプロセス管理サービスを備える。
プロキシサービスを内蔵した実施の形態では、ステップ６０２において、アクセスがセキュリティパラメータに従って許可されると、プロキシサービスは、エンタープライズアプリケーションによってエキスポーズされる。
ステップ６０３において、少なくとも１つのプロセス管理サービスの要求が、エンタープライズアプリケーションにおいて受信される。
本明細書で説明した管理システムのさまざまな実施の形態では、ステップ６０４において、少なくとも１つのリモートウェブサービスに関連付けられたプロセス管理オブジェクトのアクセスログを生成することができる。
ステップ６０５において、少なくとも１つのプロセス管理サービスの要求は、ＰＭＯＳからプロセス管理オブジェクトへ通信される。
実施される実施の形態に応じて、この要求が、ステップ６０５ａで、少なくとも１つのプロセス管理サービスとインタフェースされるプロキシサービスにおいて受信できるかどうかの判断が、ステップ６０７においてなされる。
あるいは、ステップ６０５ｂにおいて、この要求は、ＰＭＯＳからプロセス管理オブジェクトへリモートプロシージャコールを通じて直接、少なくとも１つのリモートウェブサービスに関連付けられたプロセス管理オブジェクトとインタフェースすることもできる。
ステップ６０６において、要求に応答して、プロセス管理情報が、プロセス管理オブジェクトから返される。
このプロセス管理情報は、拡張マークアップ言語（ＸＭＬ）ファイルに保存することもできるし、あるいはＸＭＬファイルにより提示することもできる。
【図面の簡単な説明】
【００３５】
【図１】エンタープライズアプリケーションの実行用の通常のアーキテクチャである。
【図２】通常のアプリケーションサーバである。
【図３】ウェブサービスプロキシを実施するアプリケーションサーバである。
【図４Ａ】本明細書で説明する管理システムの実施の形態の教示に従って実施される管理設備を含むアプリケーションサーバである。
【図４Ｂ】本明細書で説明する管理システムの別の実施の形態の教示に従って実施される管理設備を含むアプリケーションサーバである。
【図５】本明細書で説明する管理システムの実施の形態を実施できるコンピュータシステムである。
【図６】本明細書で説明する管理システムの実施の形態の教示によるフローチャートである。
【符号の説明】
【００３６】
１０１・・・クライアント、
１０４・・・ブラウザ、
１０５・・・スタンドアロン、
１０７・・・ＥＪＢコンテナ、
１０８・・・ウェブコンテナ、
１０６・・・データベース、
１０７・・・ＥＪＢコンテナ、
１０８・・・ウェブコンテナ、
２０１・・・リッスンサービス、
２０２・・・サーブレットサービス、
３０１・・・サービスコンテナ、
３０２・・・サービスレジストリ、
３０３・・・セキュリティ管理サービス、
３０４・・・ログ記録サービス、
３０５・・・ローカルサービス、
３０６・・・プロキシサービス、
３０７・・・ウェブサービスレジストリ、
３０８・・・ウェブサービス、
３０９・・・パーティション、
４００・・・サービスクライアント、
４０２，４０３，４０４・・・ウェブサービス、
４０５，４０６，４０７・・・ウェブサービスプロキシ、
４０８・・・管理クライアント、
４０９・・・ｍビーンサーバ、
４１０・・・プロセス管理ベース、
４１２・・・ローカルウェブサービス、
４１３，４１４・・・ウェブサービス、
４１１・・・ｍビーンサーバ、
４１２・・・ローカルウェブサービス、
４１５・・・管理クライアント、
５０５・・・Ｉ／Ｏアダプタ、
５０８・・・ユーザインタフェースアダプタ、
５０９・・・表示アダプタ、
５１１・・・通信アダプタ、
５１２・・・ネットワーク、
５１３・・・アプリケーションサーバ、
５１４・・・プロキシサービス、
５１５・・・配備記述子、
【図１】
2005056405.tif 000003
【図２】
2005056405.tif 000004
【図３】
2005056405.tif 000005
【図４Ａ】
2005056405.tif 000006
【図４Ｂ】
2005056405.tif 000007
【図５】
2005056405.tif 000008
【図６】
2005056405.tif 000009