(57)【要約】【課題】異なるオブジェクト・タイプのサーバとクライアントを結合するための方法およびブリッジを提供する。【解決手段】コンピュータ・システムが、ＳＯＡＰ、ＣＯＲＢＡまたはＥＪＢあるいはその両方などの異なるオブジェクト・モデルのクライアントおよびサーバを有する。ＳＯＡＰクライアントをＣＯＲＢＡサーバまたはＥＪＢサーバに接続するため、対応するサーバ構成要素およびクライアント構成要素、ならびにあるタイプのオブジェクト要求およびメソッド要求を別のタイプのオブジェクト要求およびメソッド要求にマップするためのマッピング構成要素を含むブリッジ１０を使用する。これにより、分散アプリケーション・サービスを提供することができる。【選択図】図２
2004530194.tif 000002
【特許請求の範囲】
【請求項１】
第１のオブジェクト・タイプのクライアント（４）を第２のオブジェクト・タイプのサーバ（８、９）に結合するためのブリッジであって、
前記第１のオブジェクト・タイプのサーバ構成要素（１１）と、
前記第２のオブジェクト・タイプのクライアント構成要素（１３）と、
前記第１のオブジェクト・タイプのオブジェクトを前記第２のオブジェクト・タイプの対応するオブジェクトにマップするためのマッピング構成要素（１７）とを含むブリッジ。
【請求項２】
前記第１のオブジェクト・タイプが、シンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）タイプである請求項１に記載のブリッジ。
【請求項３】
前記第２のオブジェクト・タイプが、Enterprise Java (R) Beans（ＥＪＢ）タイプまたは共通オブジェクト・リクエスト・ブローカ・アーキテクチャ（ＣＯＲＢＡ）タイプである請求項１または２に記載のブリッジ。
【請求項４】
前記第１のオブジェクト・タイプの前記クライアントにインターネットを介して結合する手段を有する請求項１、２、または３に記載のブリッジ。
【請求項５】
前記サーバにイントラネットを介して結合する手段を有する請求項１ないし４のいずれか一項に記載のブリッジ。
【請求項６】
前記クライアントから前記ブリッジにアクセスするための割り当てられたユニフォーム・リソース・ロケータ（ＵＲＬ）を有する請求項１ないし５のいずれか一項に記載のブリッジ。
【請求項７】
前記サーバのユニフォーム・リソース・ロケータ、および前記第２のオブジェクト・タイプのクライアント構成要素を選択するための前記第２のオブジェクト・タイプを示すパラメータ・データを受け取る構成要素をさらに含む請求項１ないし６のいずれか一項に記載のブリッジ。
【請求項８】
前記サーバに入力データとして提供されるアプリケーション特有のパラメータを受け取る構成要素を含む請求項１ないし７のいずれか一項に記載のブリッジ。
【請求項９】
第１のオブジェクト・タイプのクライアント・コンピュータと、前記クライアント・コンピュータと第２のオブジェクト・タイプのサーバ・コンピュータの間で通信パスを確立するための請求項１ないし９のいずれか一項に記載のブリッジとを有するコンピュータ・システム。
【請求項１０】
通信パスにおいてファイアウォール構成要素（１８）を有する請求項９に記載のコンピュータ・システム。
【請求項１１】
前記クライアント・コンピュータが、前記サーバ・コンピュータの所望のロケーションのユニフォーム・リソース・ロケータを獲得するためにイエロー・ページ・タイプのサーバにクエリを行うための前記イエロー・ページ・タイプのサーバにアクセスする手段を有する請求項９または１０に記載のコンピュータ・システム。
【請求項１２】
前記イエロー・ページ・サーバが、前記アプリケーションのオブジェクト・タイプを提供し、サーバのオブジェクト・タイプとクライアントのオブジェクト・タイプが異なる場合、前記ブリッジのユニフォーム・リソース・ロケータを提供する請求項１１に記載のコンピュータ・システム。
【請求項１３】
クライアントをサーバに結合するための方法であって、
前記クライアントを請求項１ないし８のいずれか一項に記載のブリッジに結合するステップと、
前記サーバのユニフォーム・リソース・ロケータを前記ブリッジに提供し、前記サーバのオブジェクト・タイプを示すパラメータ・データを前記ブリッジに提供するステップと、
前記サーバと同一のオブジェクト・タイプを有する前記ブリッジの前記クライアント構成要素を介して前記ブリッジを前記サーバに結合するステップとを含む方法。
【請求項１４】
所望のアプリケーションを見つけるために前記クライアントによってイエロー・ページ・タイプのサーバにクエリを行うステップと、
前記アプリケーションのユニフォーム・リソース・ロケータ、および前記アプリケーションのオブジェクト・タイプを前記クライアントに提供するステップと、
前記アプリケーションの前記ユニフォーム・リソース・ロケータを前記クライアントから前記ブリッジに提供するステップとをさらに含む請求項１３に記載の方法。
【請求項１５】
第１のオブジェクト・タイプのクライアントを第２のオブジェクト・タイプのサーバに自動的に結合するためのシステムであって、
請求項１３または１４のいずれか一項に記載の方法のステップを実行するように適合された手段を含むシステム。
【請求項１６】
コンピュータ上でプログラムが実行されたとき、請求項１３または１４のいずれか一項に記載の方法を行うためのソフトウェア・コード部分を含むデータ処理システムにおいて実行するためのデータ処理プログラム。
【請求項１７】
プログラムがコンピュータ上で実行されたとき、前記コンピュータが、請求項１３または１４のいずれか一項に記載の方法を行うようにさせるコンピュータ可読プログラム手段を含むコンピュータによって使用可能な媒体上に記憶されたコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントをサーバ・コンピュータに結合するためのブリッジに関し、対応する方法、コンピュータ・システム、およびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
米国Ｈ０００１８９５で、通信のためのアプリケーション・プロバイダおよび方法が知られている。共通ノードの第１のサブシステムと第２のサブシステムの間におけるアプリケーション・プロバイダの通信のための方法を提供する。
【０００３】
例えば、アプリケーション・プロバイダは、モバイル・アプリケーション・プロバイダであることが可能であり、第１のサブシステムおよび第２のサブシステムは、ホーム・ロケーション・レジスタおよびビジタ・ロケーション・レジスタであることが可能であり、また共通ノードは、無線遠隔通信システムであることが可能である。システムは、オブジェクト・マネージメント・グループ（ＯＭＧ）によって定義される共通リクエスト・ブローカ・アーキテクチャ（ＣＯＲＢＡ）などのオブジェクト・リクエスト・ブローカ（ＯＲＢ）を使用して実施される。リソース・マネージャ・アプリケーションが、コール・プロセッサとリソース・アセンブリの間の「ブリッジ」または「コンジット」の役割をする。
【０００４】
米国６，０９４，６８８で、サーバ・リソースを節約するためにソースにおけるフィルタリング、補償するトランザクションのプロキシ実行を含むモジュラー・アプリケーション協働のためのシステムが知られている。このシステムは、同様の複数のアプリケーションおよび交換サーバと通信するための複数のコネクタを含むアプリケーション間の相互運用性を提供する。
【０００５】
交換サーバは、アプリケーション協働モジュールおよびサービス・モジュールを含む。サービス・モジュールは、コネクタとアプリケーション協働モジュール間でメッセージを転送する。アプリケーション協働は、２つまたはそれより多くのアプリケーションの間の相互運用性を定義する。交換サーバ・サービス・モジュールは、トランザクション・サービスおよび誤りサービスを含む。トランザクションは、アプリケーション協働モジュールにおいて実行される。
【０００６】
米国６，０８５，２２０で、企業Ｗｅｂシステムを管理するための企業対話ハブが知られている。企業対話ハブは、企業Ｗｅｂシステムを管理するように対話するいくつかの層を含む。
【０００７】
対話層が、企業Ｗｅｂシステムに対する要求を受け取り、応答のＷｅｂページを戻す。プレゼンテーション層が、対話層に結合されており、応答のＷｅｂページを生成する。ビジネス層が、プレゼンテーション層に結合されており、応答のＷｅｂページを生成する際にプレゼンテーション層が使用するためのビジネス論理を提供する。
【０００８】
統合層が、ビジネス層に結合され、既存のレガシー・データとインターフェースをとってそのレガシー・データをビジネス層に提供する。動向収集層が、対話層、プレゼンテーション層、ビジネス層、および統合層からの履歴情報を監視し、蓄積する。また、動向収集層は、履歴情報を動向データベースの中に記憶することも行う。
【０００９】
プレゼンテーション層およびビジネス層がアクセスすることができるプロファイル・データベースが、企業Ｗｅｂシステムに対する個々のユーザ・アクセスを特徴付ける、動向データベースからマイニングされたデータを含むプロファイル・データを記憶する。プロファイル・データは、生成されたＷｅｂページの中でカスタマイズされた動的なコンテンツを提供するようにプレゼンテーション層およびビジネス層によって使用される。
【００１０】
米国６，０８５，０３０で、ネットワーク構成要素サーバが知られている。構成要素サーバ・アーキテクチャは、コンピュータ網の消費者ノードが、そのネットワーク全体に分散された異種混交のソフトウェア構成要素およびサービス、ならびにネットワーク・デバイスおよびデータと対話することを可能にする。
【００１１】
消費者と異種混交のソフトウェアの間の分散された対話は、ある程度、構成要素およびサービスを登録し、探し出すことによって達せられる。アーキテクチャのアクセス制御を備えたオブジェクト中立グローバル構成要素レジストリが、構成要素管理サービスと相互運用されて、消費者ノード上で実行されるアプリケーションからの要求に応答して提供される構成要素の指示、およびその構成要素に対する実行時束縛アクセスの適切な管理がトランスペアレントに確実になる。
【００１２】
アーキテクチャは、クライアント−サーバ計算構成における消費者ノード、すなわち、クライアント・ノードと通信するように構成されたネットワークの構成要素サーバ・ノード上で実施される。つまり、構成要素サーバ・ノードの構成要素レジストリは、消費者のために異種混交の構成要素を探し出すことによって消費者アプリケーション要求に応答する。レジストリは、ソフトウェア構成要素のオブジェクト・モジュール間で適切なインターフェースを提供することにより、消費者にその構成要素を提供する。このレジストリは、記述リポジトリ、提供リポジトリ、インターフェース・アダプタ・リポジトリ、およびオブジェクト・ファクトリ・リポジトリを含む複数の協働するストレージ・エンティティとして編成される。
【００１３】
構成要素サーバ・アーキテクチャは、ネットワーク全体に分散された異種混交のソフトウェア構成要素およびサービス、ならびにネットワーク・デバイスおよびデータと対話するように提供される。消費者と異種混交のソフトウェアの間の分散された対話は、ある程度、構成要素およびサービスを登録し、探し出すことによって達せられる。
【００１４】
そのアーキテクチャのアクセス制御を備えたオブジェクト中立グローバル構成要素レジストリが、構成要素管理サービス（ＣＭＳ）と相互運用されて、消費者ノード上で実行されるアプリケーションからの要求に応答して提供される構成要素の適切な管理、認証、およびその構成要素に対する実行時束縛アクセスをトランスペアレントに確実にする。アーキテクチャは、クライアント−サーバ計算構成において消費者ノード、すなわち、クライアント・ノードと通信するように構成されたネットワークの構成要素サーバ・ノード上で実施される。つまり、構成要素サーバ・ノードの構成要素レジストリは、消費者のために異種混交の構成要素を探し出すことによって消費者アプリケーション要求に応答する。レジストリは、消費者のオブジェクト・モジュールとソフトウェア構成要素のオブジェクト・モジュールの間で適切なインターフェースを提供することにより、消費者にその構成要素を提供する。
【００１５】
このレジストリは、好ましくは、記述リポジトリ、提供リポジトリ、インターフェース・アダプタ・リポジトリ、およびオブジェクト・ファクトリ・リポジトリを含む複数の協働するストーレッジ・エンティティとして編成される。
【００１６】
米国５，９１３，０６１で、同様の複数のアプリケーションおよび交換サーバと通信するための複数のコネクタを含むアプリケーション間で相互運用性を提供するためのモジュラー・アプリケーション・コラボレータが知られている。交換サーバは、アプリケーション協働モジュールおよびサービス・モジュールを含む。
【００１７】
サービス・モジュールは、コネクタとアプリケーション協働モジュールの間でメッセージを転送する。アプリケーション協働モジュールは、２つまたはそれより多くのアプリケーションの間の相互運用性を定義し、トリガ、およびそのトリガに応答するトランザクションを含む。トリガは、１つまたは複数のコネクタからデータが受信されると起動され、トランザクションが、関連するアプリケーションに転送するために１つまたは複数のコネクタにデータを送ることがもたらされる。
【００１８】
米国６，１１５，６４６で、動的な汎用のプロセス自動化システムが知られている。これは、異種混交の分散計算環境においてワークフロー管理サービスを提供する汎用のオブジェクト指向プロセス自動化エンジンを含む。このシステムは、次の３つの主な部分から成る。すなわち、プロセス定義をキャプチャして記憶するのに使用され、またプロセスを動作させることを要求するのに使用されるビルド時部、要求されたプロセスをスケジュール設定し、実行し、監視するのに使用される実行時部、プロセスを実行し、システム構成要素間の対話を可能にするのに必要とされるプラグイン・ソフトウェア・アプリケーションに対するＣＯＲＢＡである。このシステムは、イベント駆動型であり、スケジュール設定スキームおよびリソース割振りスキームを提供する。
【００１９】
システムは、オブジェクトに関する「イエロー・ページ」を提供する次のトレーダ・サービスを組み込むことができる。トレーダ・サービスにより、オブジェクトが、自らのサービスを広告することが可能になり、クライアントが、クライアントの必要とするサービスに基づいてオブジェクトを見つけることが可能になる。例えば、リソース・アロケータが、このサービスを使用して、１組のエージェント制約を満たすリソースを見つけることができる。
【００２０】
以上に述べた従来技術のシステムおよび方法は、おおかた、ＣＯＲＢＡなどのオブジェクト指向ソフトウェア技術に依拠している。ＣＯＲＢＡは、コンピュータ・アプリケーションがネットワークを介して協働するのに使用するベンダ独立のアーキテクチャおよびインフラストラクチャである。ＣＯＲＢＡでは、すべてのオブジェクトのインスタンスが、識別電子トークンである自らの固有のオブジェクト・リファレンスを有する。
【００２１】
クライアントは、オブジェクト・リファレンスを使用してオブジェクトの呼出しを導き、クライアントが呼び出すことを望む正確なインスタンスをオブジェクト・リクエスト・ブローカに対して明らかにする。クライアントは、あたかも、オブジェクトのインスタンスに対して動作を呼び出しているかのように動作するが、クライアントは、実際には、プロキシとして動作するＩＤＬスタブに対して呼出しを行っている。クライアント側でスタブを通過して、呼出しは、オブジェクト・リクエスト・ブローカ、およびインプリメンテーション側のスケルトンを経由し、オブジェクトに到達してサーバ上で実行される。
【００２２】
オブジェクト・リクエスト・ブローカは、クライアント要求を目標のオブジェクト実施にトランスペアレントに通信するための機構を提供する。オブジェクト・リクエスト・ブローカは、メソッド呼出しの詳細からクライアントを切り離すことによって分散プログラミングを簡単にする。これにより、クライアント要求が、ローカルの手続きコールとして現れる。クライアントが動作を呼び出した際、オブジェクト・リクエスト・ブローカが、オブジェクト・インプリメンテーションを見つけることを担い、必要な場合、オブジェクトをトランスペアレントに活動化して、要求をオブジェクトに届け、応答があれば、それを呼出し側に戻す。
【００２３】
ＩＤＬスタブおよびスケルトンは、クライアントおよびサーバ・アプリケーションのそれぞれと、オブジェクト・リクエスト・ブローカの間の「グルー」として働く。ＩＤＬ定義と目標のプログラミング言語の間の変換は、ＩＤＬコンパイラによって自動化される。コンパイラの使用により、クライアント・スタブとサーバ・スケルトンの間の不整合の可能性が低くなり、自動化されたコンパイラ最適化の機会が増える。
【００２４】
別の重要なオブジェクト指向技術が、Enterprise Java (R) Beansである。EnterpriseJava (R) Beansは、サーバに「プラグイン」することができる構成要素のためのフレームワークを提供し、これにより、そのサービス機能を拡張する。クライアント・プログラムは、EnterpriseJava (R) Beansオブジェクトを介して遠隔のEnterprise Java (R) Beansに対してメソッドを実行する。EnterpriseJava (R) Beansオブジェクトは、サーバ上のＥＪＢ構成要素の「遠隔のインターフェース」を実施する。
【００２５】
ＣＯＲＢＡ技術とEnterprise Java (R) Beansオブジェクト技術の共通の欠点は、企業のイントラネットで用意されている対応するアプリケーションが、インターネットからファイアウォールを介してアクセス可能はないことである。
【００２６】
この理由、およびその他の理由で、企業は、最近、シンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）を選好されるオブジェクト指向技術として使用しはじめている。というのは、（ＳＯＡＰ）は、ファイアウォール対応だからである。ＳＯＡＰは、非集中型の分散環境における情報の交換のためのプロトコルである。ＳＯＡＰは、次の３つの部分から成るＸＭＬベースのプロトコルである。すなわち、メッセージに何が入っているか、どのようにメッセージを処理すべきかを記述するためのフレームワークを定義するエンベロープ、アプリケーションによって定義されたデータ・タイプのインスタンスを表現するための１組の符号化規則、および遠隔の手続きコール、および応答を表すための規約である。ＳＯＡＰは、ＨＴＴＰ拡張フレームワーク内で、組み合わせて使用することができる。
【００２７】
図１は、従来技術のネットワークの例を示している。このネットワークは、ファイアウォール３で隔てられたインターネット１とイントラネット２を含む。ＳＯＡＰクライアント４が、インターネット１を介してＳＯＡＰサーバ５に結合されている。
【００２８】
企業のイントラネット２内部で、ＣＯＲＢＡクライアント６およびＥＪＢクライアント７がそれぞれ、ＣＯＲＢＡサーバ８およびＥＪＢサーバ９に結合されている。
【００２９】
ＣＯＲＢＡクライアント６およびＥＪＢクライアント７と、ＣＯＲＢＡクライアント６およびＥＪＢクライアント７それぞれのサーバ８、９の間の結合が緊密であるため、サーバ８および９のアプリケーションは、インターネット１からファイアウォール３を介してアクセス可能ではない。この結果、ＳＯＡＰクライアント４は、インターネット１を介してＳＯＡＰサーバ５、または図１に示していない他のサーバだけにはアクセスすることができるが、企業イントラネット２のサーバ８または９上で提供されるアプリケーションにはアクセスすることができない。これは、特に既存のＣＯＲＢＡシステムまたはＥＪＢシステムあるいはその両方が用意されている場合、様々なアプリケーションを顧客に提供する上で深刻な欠点である。
【特許文献１】
米国Ｈ０００１８９５
【特許文献２】
米国６，０９４，６８８
【特許文献３】
米国６，０８５，２２０
【特許文献３】
米国６，０８５，０３０
【特許文献４】
米国５，９１３，０６１
【特許文献５】
米国６，１１５，６４６
【発明の開示】
【発明が解決しようとする課題】
【００３０】
本発明は、前述した従来技術の問題に対する解決策を提供することを目的とし、異なるタイプのクライアント・オブジェクトおよびサーバ・オブジェクトを結合するための改良された方法、ならびに独立請求項で請求する対応するコンピュータ・システム、方法、およびコンピュータ・プログラム製品を提供する。好ましい実施形態を従属請求項で提示している。
【課題を解決するための手段】
【００３１】
本発明は、第１のオブジェクト・タイプのクライアント、例えば、ＳＯＡＰクライアントを第２のオブジェクト・タイプのサーバ、例えば、ＣＯＲＢＡサーバまたはＥＪＢサーバに結合することを可能にする。この結合は、インターネット、イントラネット、およびファイアウォールを介して実現することができる。
【００３２】
好ましい実施形態では、これは、ブリッジを介してそれぞれのクライアントおよびサーバの間で通信パスを提供するために異なるオブジェクト・タイプのサーバ構成要素とクライアント構成要素を結合するためのブリッジを提供することによって達せられる。ブリッジは、第１のタイプのオブジェクトを第２のタイプのオブジェクトにマップするための、例えば、ＳＯＡＰオブジェクトをＣＯＲＢＡオブジェクトまたはＥＪＢオブジェクトにマップし、かつ／またはその逆方向でマップするためのマッピング構成要素を含む。
【００３３】
本発明は、ＣＯＲＢＡサーバまたはＥＪＢサーバあるいはその両方の既存のクライアント・スタブを再使用することにより、またあらかじめ構成された情報にアクセスすることによって初期コンテキストおよびホームを探し出す汎用メタプログラムを作成することにより、ＳＯＡＰによって生成されたオブジェクトに関してスタブ／スケルトンを使用する要件を除くことを可能にすることで、有利である。ＳＯＡＰベースのクライアントは、オブジェクト名、メソッド名、およびパラメータを指定しなければならない。
【００３４】
さらに、ブリッジのユニフォーム・リソース・ロケータが、ＣＯＲＢＡアプリケーション機能またはＥＪＢアプリケーション機能あるいはその両方とともにＷｅｂディレクトリに公表され、したがって、Ｗｅｂサービス要求側は、ＣＯＲＢＡプロトコルまたはＥＪＢプロトコルあるいはその両方によってだけ「現実の」サービス・プロバイダにアクセスすることができることを判定した後、ブリッジにアクセスすることができ、次に、ブリッジが、要求を実際のＣＯＲＢＡサービスまたはＥＪＢサービスあるいはその両方に「プロキシとして」転送する。１つの応用例が、ブリッジのユニフォーム・リソース・ロケータをイエロー・ページ・タイプのサーバに記憶することである。
【００３５】
このようにして、本発明は、ファイアウォールで隔てられたインターネットとイントラネットにわたってアプリケーションの部分が分散されていることが可能な分散アプリケーション・サービスを実現することを可能にする。これは、そのような分散環境におけるファイアウォール対応でない既存のアプリケーションの使用に特に重要である。
【００３６】
次に、図面を参照して本発明をより詳細に説明する。
【発明を実施するための最良の形態】
【００３７】
図２は、インターネット１で結合されたＳＯＡＰクライアント４とＳＯＡＰサーバ５を有する、図１と同様の構成要素に対して同様の新しい符号を使用しているコンピュータ・システムを示している。ブリッジ１０は、ファイアウォール１８を介してインターネット１に結合されたイントラネット２に含まれている。イントラネット２は、ＣＯＲＢＡサーバ８およびＥＪＢサーバ９にそれぞれ結合されたＣＯＲＢＡクライアント６およびＥＪＢクライアント７をさらに含んでいる。
【００３８】
ブリッジ１０は、ＳＯＡＰサーバ構成要素１１およびＳＯＡＰ構成要素クライアント１２を含む。特定の応用例に応じて、ＳＯＡＰサーバ構成要素１１は、インターネット１を介してＳＯＡＰクライアント４とブリッジ１０の間の通信パスを確立する役割をし、ＳＯＡＰクライアント１２は、インターネット１を介してブリッジ１０とＳＯＡＰサーバ５の間の通信パスを確立する役割をする。
【００３９】
ブリッジ１０は、ＥＪＢクライアント構成要素１３およびＥＪＢサーバ構成要素１４をさらに含む。イントラネット２を介して、ＥＪＢクライアント構成要素１３は、ブリッジ１０とＥＪＢサーバ９の間の通信パスを確立する役割をし、ＥＪＢサーバ構成要素１４は、ＥＪＢクライアント７とブリッジ１０の間の通信パスを確立する役割をする。同様に、ブリッジ１０は、ＣＯＲＢＡクライアント構成要素１５およびＣＯＲＢＡサーバ構成要素１６を含む。ＣＯＲＢＡクライアント１５は、ブリッジ１０とＣＯＲＢＡサーバ８の間の通信パスを確立する役割をし、ＣＯＲＢＡサーバ構成要素１６は、ＣＯＲＢＡクライアント６とブリッジ１０の間の通信パスを確立する役割をする。
【００４０】
ブリッジ１０は、第１のタイプのオブジェクトを第２のタイプのオブジェクトにマップするため、かつ／または対応するメソッド要求とパラメータをマップするためのマッピング構成要素１７をさらに含む。例えば、マッピング構成要素１７は、実行時に、ＳＯＡＰベースのメソッド要求をＣＯＲＢＡメソッド・コールまたはＥＪＢメソッド・コールにマップすることができる。同様に、マッピング構成要素１７は、ＣＯＲＢＡメソッド・コールまたはＥＪＢメソッド・コールあるいはその両方をＳＯＡＰベースのメソッド要求にマップすることができる。
【００４１】
ブリッジ１０は、図２に描いたとおり、ユニフォーム・リソース・ロケータ、ならびにその他のサーバ・エンティティおよびクライアント・エンティティを有する。
【００４２】
ＳＯＡＰクライアント４の通常の動作は、インターネット１を介してアプリケーション要求を使用してＳＯＡＰサーバ５にアクセスすることである。所望のアプリケーションがＳＯＡＰアプリケーションではなく、本明細書で考慮する例では、イントラネット２のサーバ上で実行されているＣＯＲＢＡアプリケーションまたはＥＪＢアプリケーションである場合、ＳＯＡＰクライアント４は、まず、ブリッジ１０にアクセスしなければならない。
【００４３】
これは、例えば、ブリッジ１０のユニフォーム・リソース・ロケータをＳＯＡＰクライアント４に提供することによって行われる。また、ＳＯＡＰクライアント４のこのアクセス要求は、所望のアプリケーションのオブジェクト・タイプを示すためのパラメータ、または遠隔のサーバ上のアプリケーションに入力するためのさらなるパラメータあるいはその両方も含む。
【００４４】
ブリッジ１０のユニフォーム・リソース・ロケータに基づくＳＯＡＰクライアント４のアクセス要求は、ＳＯＡＰクライアント４には通常のＳＯＡＰサーバとして見えるＳＯＡＰサーバ構成要素１１を呼び出す。したがって、ＳＯＰＡクライアント４の動作は、全く変更する必要がない。所望のアプリケーションのオブジェクト・タイプに基づき、そのオブジェクト・タイプの対応するクライアント構成要素が、ブリッジ１０によって選択される。
【００４５】
例えば、このＳＯＡＰクライアント４は、サーバ８上のＣＯＲＢＡタイプのアプリケーションにアクセスすることを所望している。これは、アプリケーションのオブジェクト・タイプを指定することによってアクセス要求の中で、ＳＯＡＰクライアント４によってブリッジ１０に対して示される。オブジェクト・タイプのこの指示に基づき、ＣＯＲＢＡクライアント構成要素１５が、ブリッジ１０によって選択され、起動される。
【００４６】
ＣＯＲＢＡクライアント構成要素１５は、ＣＯＲＢＡサーバ８には通常のＣＯＲＢＡクライアントに見える。したがって、ＣＯＲＢＡサーバ８の動作は、図２のコンピュータ・システムに組み込むのに、全く変更する必要がない。このようにして、ＳＯＡＰクライアント４とＳＯＡＰサーバ構成要素１１の間で、またＣＯＲＢＡクライアント構成要素１５とＣＯＲＢＡサーバ８の間で通信パスが確立される。
【００４７】
ＳＯＡＰクライアント４のＳＯＡＰベースのメソッド要求が、ＳＯＡＰサーバ構成要素１１を介してブリッジ１０によって受信される。そこから、メソッド要求は、マッピング構成要素１７に入力される。マッピング構成要素１７は、入力されたＳＯＡＰベースのメソッド要求と同じ機能を有するＣＯＲＢＡメソッド・コールを提供する。このＣＯＲＢＡメソッド・コールは、ＣＯＲＢＡクライアント構成要素１５に入力され、そこから、ＣＯＲＢＡサーバ８に伝送される。
【００４８】
これにより、ＣＯＲＢＡサーバ８上の所望のアプリケーションが呼び出される。ＳＯＡＰクライアント４によって提供されたパラメータ・データが、ＣＯＲＢＡサーバ８のアプリケーションに入力される。例えば、ＣＯＲＢＡサーバ８のアプリケーションは、ポートフォリオ管理または財務計画などの財務サービス・アプリケーションであることが可能である。
【００４９】
この場合、ＳＯＡＰクライアント４によって提供される入力パラメータは、アプリケーションの解析が基づく株式市場データ等であることが可能である。アプリケーション・プログラムに対するこれらの入力パラメータは、ＳＯＡＰクライアント４からＳＯＡＰサーバ１１におよびマッピング構成要素１７およびＣＯＲＢＡクライアント構成要素１５を介してＣＯＲＢＡサーバ８に伝送される。
【００５０】
図３は、追加のイエロー・ページ・タイプのサーバ１９を有するさらなる好ましい実施形態を示している。サーバ１９は、いくつかの利用可能なアプリケーション・サービス、およびそのアプリケーション・サービスの対応するオブジェクト・タイプ、ならびにアプリケーション・サービスのユニフォーム・リソース・ロケータを含むデータベースを有する。データベースは、ブール・キーワード探索によるなどして、キーワードに基づいて探索することができる。ＳＯＡＰクライアント４は、所望のアプリケーション・サービスを探し出すようにサーバ１９にクエリを行うため、インターネット１を介してサーバ１９に接続することができる。
【００５１】
ＳＯＡＰクライアント４によってサーバ１９に入力される対応するクエリにより、ヒット・リストがもたらされ、このヒット・リストから、ＳＯＡＰクライアント４が、特定のアプリケーション・サービスを選択する。このヒット・リスト上でアプリケーション・サービスを選択することにより、アプリケーション・サービスのオブジェクト・タイプ、ならびにアプリケーション・サービスのユニフォーム・リソース・ロケータが、ＳＯＡＰクライアント４に提供される。さらに、データベースは、所望のアプリケーション・サービスに通信パスを提供するためのブリッジ１０のユニフォーム・リソース・ロケータも含む。また、ブリッジ１０のこのユニフォーム・リソース・ロケータは、サーバ１９によってＳＯＡＰクライアント４にも提供される。
【００５２】
例えば、所望の財務サービス・アプリケーションは、ＣＯＲＢＡオブジェクト・タイプのものである。ＣＯＲＢＡオブジェクト・タイプとＳＯＡＰオブジェクト・タイプは異なるので、必要とされるＣＯＲＢＡサーバ８に対するアクセスは、ブリッジ１０を介してだけ可能であることが、ＳＯＡＰクライアント４において推測される。したがって、ＳＯＡＰクライアント４は、ブリッジ１０のユニフォーム・リソース・ロケータを使用してブリッジ１０に対するアクセス動作を行い、アプリケーション・サービスのオブジェクト・タイプおよびユニフォーム・リソース・ロケータをブリッジ１０に提供する。この場合も、アプリケーション・サービス・プログラムに入力するためのさらなる入力パラメータが、ＳＯＡＰクライアント４によって提供されることが可能である。
【００５３】
所望のアプリケーション・サービスのオブジェクト・タイプおよびユニフォーム・リソース・ロケータに基づき、ブリッジは、ＣＯＲＢＡクライアント構成要素１５（図２参照）とＣＯＲＢＡサーバ８の間で通信リンクを確立する。このようにして、ＳＯＡＰクライアントは、図２に関連して詳細に説明したとおり、ＣＯＲＢＡサーバ８と通信することができる。
【００５４】
図４は、本発明の方法の好ましい実施形態を示している。ステップ２０で、ＳＯＡＰクライアントが、所望のアプリケーションを特定するためにイエロー・ページ・タイプのサーバに対してアクセス動作を行う。ステップ２１で、ＳＯＡＰクライアントが、所望のアプリケーションのＵＲＬ、およびそのアプリケーションのオブジェクト・タイプを見つけるためにイエロー・ページ・サーバにクエリを行う。さらに、対応するブリッジに関するＵＲＬが、アプリケーションにアクセスするためのクエリからもたらされる。
【００５５】
ステップ２２で、アプリケーションのオブジェクト・タイプが「ＳＯＡＰ」タイプであるかどうかが判定される。
【００５６】
そうである場合、ステップ２３で、ＳＯＡＰクライアントは、アプリケーション・サービスのＵＲＬをＷｅｂブラウザ・プログラムに入力することにより、アプリケーション・サービスに直接に接続する。
【００５７】
そうではない場合、ステップ２４で、ＳＯＡＰクライアントは、ステップ２５でＵＲＬを使用してブリッジにアクセスするために、イエロー・ページ・サーバからブリッジのＵＲＬを獲得する。
【００５８】
ステップ２６で、所望のアプリケーション・サービスのＵＲＬ、ならびにアプリケーションのオブジェクト・タイプを示すデータやアプリケーションに対する入力パラメータなどのさらなるパラメータがブリッジに提供される。
【００５９】
ステップ２７で、ブリッジが、ＳＯＡＰクライアント要求によって提供されたＵＲＬに基づき、所望のアプリケーションを含むサーバに対する通信パスを生成する。この通信パスが生成された後、ステップ２８で、ブリッジを介するＳＯＡＰクライアントとアプリケーション・サーバの間の通信を開始することが可能である。
【００６０】
通信は、ブリッジの仲介するマッピング構成要素を使用してブリッジのサーバ構成要素およびＣＯＲＢＡクライアント構成要素を介して確立され、維持される。
【００６１】
同様に、ブリッジ１０の対応するクライアント構成要素およびサーバ構成要素を使用することにより、ＣＯＲＢＡクライアントとＳＯＡＰサーバの間で、またはＥＪＢクライアントとＳＯＡＰサーバの間で通信パスを確立することが可能である。このようにして、ファイアウォールで隔てられた異なる種類のネットワークにわたって分散されている様々なオブジェクト・タイプのアプリケーションに依拠する分散アプリケーション・サービスを構築することが可能である。
【００６２】
参照番号表
１  インターネット
２  イントラネット
３  ファイアウォール
４  ＳＯＡＰクライアント
５  ＳＯＡＰサーバ
６  ＣＯＲＢＡクライアント
７  ＥＪＢクライアント
８  ＣＯＲＢＡサーバ
９  ＥＪＢサーバ
１０  ブリッジ
１１  ＳＯＡＰサーバ構成要素
１２  ＳＯＡＰクライアント構成要素
１３  ＥＪＢクライアント構成要素
１４  ＥＪＢサーバ構成要素
１５  ＣＯＲＢＡクライアント構成要素
１６  ＣＯＲＢＡサーバ構成要素
１７  マッピング構成要素
１８  ファイアウォール構成要素
１９  サーバ
【図面の簡単な説明】
【００６３】
【図１】異なるオブジェクト・タイプのサーバおよびクライアントを有する従来技術のコンピュータ・システムを示す図である。
【図２】本発明のブリッジの実施形態を有するコンピュータ・システムを示す図である。
【図３】インターネットまたはイントラネットあるいはその両方においてアプリケーション・サービスを探し出すためのイエロー・ページ・サーバを有する図２のコンピュータ・システムを示す図である。
【図４】異なるタイプのオブジェクトを結合するための本発明の実施形態を示す流れ図である。
【図１】
2004530194.tif 000003
【図２】
2004530194.tif 000004
【図３】
2004530194.tif 000005
【図４】
2004530194.tif 000006
【国際公開パンフレット】
2004530194.tif 000007
2004530194.tif 000008
2004530194.tif 000009
2004530194.tif 000010
2004530194.tif 000011
2004530194.tif 000012
2004530194.tif 000013
2004530194.tif 000014
2004530194.tif 000015
2004530194.tif 000016
2004530194.tif 000017
2004530194.tif 000018
2004530194.tif 000019
2004530194.tif 000020
2004530194.tif 000021
2004530194.tif 000022
2004530194.tif 000023
2004530194.tif 000024
2004530194.tif 000025
2004530194.tif 000026
2004530194.tif 000027
2004530194.tif 000028
2004530194.tif 000029
2004530194.tif 000030
2004530194.tif 000031
【国際公開パンフレット（コレクトバージョン）】
2004530194.tif 000032
2004530194.tif 000033
【手続補正書】
【提出日】平成15年9月4日(2003.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のタイプのオブジェクトとして第２のタイプのサーバ・オブジェクトにアクセスを提供することによって前記サーバ・オブジェクト（８、９）にクライアント（４）を結合するためのブリッジ（１０）であって、
前記第２のタイプの前記サーバ・オブジェクトを表わす前記第１のタイプのサーバ構成要素（１１）と、
前記クライアントを表わす前記第２のタイプのクライアント構成要素（１３、１５）と、
前記第１のタイプの前記サーバ・オブジェクトに対する要求を前記第２のタイプの前記サーバ・オブジェクトに対する対応する要求にマップすることができるマッピング構成要素（１７）とを含み、
前記第１のタイプの前記サーバ構成要素が、前記第１のタイプの前記サーバ・オブジェクトに対する前記クライアントからの要求を前記マッピング構成要素に渡すことによって前記要求の受信に応答し、
前記マッピング構成要素が、前記要求を前記第２のタイプの前記サーバ・オブジェクトに対する対応する要求にマップし、前記要求を前記第２のタイプの前記クライアント構成要素に渡すことによって応答し、
前記第２のタイプの前記サーバ構成要素が、前記マップされた要求を前記第２のタイプの前記サーバ・オブジェクトに渡すことによって応答するブリッジ（１０）。
【請求項２】
前記第１のオブジェクト・タイプが、シンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）の要求に応答する請求項１に記載のブリッジ。
【請求項３】
前記第２のオブジェクト・タイプが、Enterprise Java (R) Beans（ＥＪＢ）タイプまたは共通オブジェクト・リクエスト・ブローカ・アーキテクチャ（ＣＯＲＢＡ）タイプの要求に応答する請求項１または２に記載のブリッジ。
【請求項４】
前記クライアントにインターネットを介して結合する手段を有する請求項１、２、または３に記載のブリッジ。
【請求項５】
前記サーバ・オブジェクトにイントラネットを介して結合する手段を有する請求項１ないし４のいずれか一項に記載のブリッジ。
【請求項６】
前記クライアントから前記ブリッジにアクセスするための割り当てられたユニフォーム・リソース・ロケータ（ＵＲＬ）を有する請求項１ないし５のいずれか一項に記載のブリッジ。
【請求項７】
前記サーバのユニフォーム・リソース・ロケータ、および前記第２のタイプのクライアント構成要素を選択するための前記第２のオブジェクト・タイプを示すパラメータ・データを受け取る構成要素をさらに含む請求項１ないし６のいずれか一項に記載のブリッジ。
【請求項８】
前記サーバ・オブジェクトに入力データとして提供されるアプリケーション特有のパラメータを受け取る構成要素を含む請求項１ないし７のいずれか一項に記載のブリッジ。
【請求項９】
第１のオブジェクト・タイプのクライアント・コンピュータと、前記クライアント・コンピュータと第２のオブジェクト・タイプのサーバ・コンピュータの間で通信パスを確立するための請求項１ないし９のいずれか一項に記載のブリッジとを有するコンピュータ・システム。
【請求項１０】
通信パスにおいてファイアウォール構成要素（１８）を有する請求項９に記載のコンピュータ・システム。
【請求項１１】
前記クライアント・コンピュータが、前記サーバ・コンピュータの所望のロケーションのユニフォーム・リソース・ロケータを獲得するためにイエロー・ページ・タイプのサーバにクエリを行うための前記イエロー・ページ・タイプのサーバにアクセスする手段を有する請求項９または１０に記載のコンピュータ・システム。
【請求項１２】
前記イエロー・ページ・サーバが、前記アプリケーションのオブジェクト・タイプを提供し、サーバのオブジェクト・タイプとクライアントのオブジェクト・タイプが異なる場合、前記ブリッジのユニフォーム・リソース・ロケータを提供する請求項１１に記載のコンピュータ・システム。
【請求項１３】
クライアントをサーバ・オブジェクトに結合するための方法であって、
前記クライアントを請求項１ないし８のいずれか一項に記載のブリッジに結合するステップと、
前記サーバ・オブジェクトのユニフォーム・リソース・ロケータを前記ブリッジに提供し、前記サーバ・オブジェクトのオブジェクト・タイプを示すパラメータ・データを前記ブリッジに提供するステップと、
前記サーバ・オブジェクトと同一のオブジェクト・タイプを有する前記ブリッジの前記クライアント構成要素を介して前記ブリッジを前記サーバ・オブジェクトに結合するステップとを含む方法。
【請求項１４】
所望のアプリケーションを見つけるために前記クライアントによってイエロー・ページ・タイプのサーバにクエリを行うステップと、
前記アプリケーションのユニフォーム・リソース・ロケータ、および前記アプリケーションのオブジェクト・タイプを前記クライアントに提供するステップと、
前記アプリケーションの前記ユニフォーム・リソース・ロケータを前記クライアントから前記ブリッジに提供するステップとをさらに含む請求項１３に記載の方法。
【請求項１５】
第１のタイプのオブジェクトとして第２のタイプのサーバ・オブジェクトにアクセスを提供することによって前記サーバ・オブジェクト（８、９）にクライアント（４）を自動的に結合するためのシステムであって、
請求項１３または１４のいずれか一項に記載の方法のステップを実行するように適合された手段を含むシステム。
【請求項１６】
コンピュータ上でプログラムが実行されたとき、請求項１３または１４のいずれか一項に記載の方法を行うためのソフトウェア・コード部分を含むデータ処理システムにおいて実行するためのデータ処理プログラム。
【請求項１７】
プログラムがコンピュータ上で実行されたとき、前記コンピュータが、請求項１３または１４のいずれか一項に記載の方法を行うようにさせるコンピュータ可読プログラム手段を含むコンピュータによって使用可能な媒体上に記憶されたコンピュータ・プログラム製品。
【国際調査報告】
2004530194.tif 000034
2004530194.tif 000035
2004530194.tif 000036
2004530194.tif 000037