(57)【要約】【課題】  データ処理システムに関し、具体的には、分散型データ処理システムにおけるＷｅｂサービスのアクセスおよび利用に関する。【解決手段】  ウエブ・サービスの記述のデータ・モデルを生成することによって、ウエブ・サービスを表示することができる。生成したデータ・モデルに、パースペクティブ・ビジタを適用することができ、パースペクティブ・ビジタは予め選択されたドメインに対応する。パースペクティブ・ビジタの適用に応答して、予め選択されたドメインに関連したウエブ・サービスのパースペクティブを表示することができる。パースペクティブ・ビジタは、データ・モデルの要素に実行される動作をカプセル化するためのビジタ・パターンを含むことができる。
2005531840.tif 000002
【特許請求の範囲】
【請求項１】
ウエブ・サービスを表示するための方法であって、
前記ウエブ・サービスの記述のデータ・モデルを生成するステップ（２０４）と、  
前記データ・モデルにパースペクティブ・ビジタを適用するステップ（２０８）であって、前記パースペクティブ・ビジタは予め選択されたドメインに対応する、ステップと、
前記パースペクティブ・ビジタを適用するステップに応答して、前記予め選択されたドメインに関連した前記ウエブ・サービスのパースペクティブを表示するステップ（２１０）であって、前記パースペクティブ・ビジタは、前記データ・モデルの要素に実行される動作をカプセル化するためのビジタ・パターンを有する、ステップと、
を備える、方法。
【請求項２】
前記データ・モデルにパースペクティブ・ビジタを適用するステップを繰り返すステップ（２０８）と、所定のドメイン集合の１つに対応して、各パースペクティブごとに前記ウエブ・サービスの前記パースペクティブを表示するステップ（２１０）と、を更に備える、請求項１に記載の方法。
【請求項３】
前記データ・モデルは、前記ウエブ・サービスの動作に対応する少なくとも１つのノード（４０８）と、動作に対応するノードの少なくとも１つの子ノード（４１０、４１２、４１４）とを含むデータ構造を有し、前記子ノードは前記ウェブ・サービスの入力および出力の一方に対応する、請求項１に記載の方法。
【請求項４】
前記パースペクティブ・ビジタを適用するステップは、
前記少なくとも１つのノードおよび前記少なくとも１つの子ノードを前記パースペクティブ・ビジタに渡すステップ（５５８）と、
前記渡されたノードを表す対応するパースペクティブを生成するために前記予め選択されたドメインに対応して前記パースペクティブを取り込むステップ（５６０）と、
を更に含む、請求項３に記載の方法。
【請求項５】
前記パースペクティブを表示するステップに応答して、ユーザ入力サンプル・データを受信するステップ（７０４）と、
前記サンプル・データを用いて前記ウエブ・サービスを実行するステップ（７１０）と、
を更に備える、請求項１に記載の方法。
【請求項６】
請求項１ないし請求項５のいずれか１項の方法の前記ステップを実行するためのプログラミング命令を備えた機械読み取り可能保存媒体において具現化されるコンピュータ・プログラム・プロダクト。
【請求項７】
ウエブ・サービスを表示するためのデータ処理システムであって、
前記ウエブ・サービスの記述のデータ・モデルを生成する（２０４）ために動作可能な回路と、
前記データ・モデルにパースペクティブ・ビジタを適用する（２０８）ために動作可能な回路であって、前記パースペクティブ・ビジタは予め選択されたドメインに対応する、回路と、
前記パースペクティブ・ビジタを適用するステップに応答して、前記予め選択されたドメインに関連した前記ウエブ・サービスのパースペクティブを表示する（２１０）ために動作可能な回路であって、前記パースペクティブ・ビジタは、前記データ・モデルの要素に実行される動作をカプセル化するためのビジタ・パターンを有する、回路と、
を備える、システム。
【請求項８】
前記データ・モデルにパースペクティブ・ビジタを適用する動作を繰り返し（２０８）、所定のドメイン集合の１つに対応して、各パースペクティブごとに前記ウエブ・サービスの前記パースペクティブを表示する（２１０）ために動作可能な回路を更に備える、請求項７に記載のシステム。
【請求項９】
前記データ・モデルは、前記ウエブ・サービスの動作に対応する少なくとも１つのノード（４０８）と、動作に対応するノードの少なくとも１つの子ノード（４１０、４１２、４１４）とを含むデータ構造を有し、前記子ノードは前記ウェブ・サービスの入力および出力の一方に対応する、請求項７に記載のシステム。
【請求項１０】
前記パースペクティブ・ビジタを適用するために動作可能な回路は、
前記少なくとも１つのノードおよび前記少なくとも１つの子ノードを前記パースペクティブ・ビジタに渡す（５５８）ために動作可能な回路と、
前記渡されたノードを表す対応するパースペクティブを生成するために前記予め選択されたドメインに対応して前記パースペクティブを取り込む（５６０）ために動作可能な回路と、
を更に含む、請求項９に記載のシステム。
【請求項１１】
前記パースペクティブを表示するステップに応答して、ユーザ入力サンプル・データを受信する（７０４）ために動作可能な回路と、
前記パースペクティブおよび前記サンプル・データを用いて前記ウエブ・サービスをコールするウエブ・ページを実行する（７１０）ために動作可能な回路と、
を更に備える、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ処理システムに関し、具体的には、分散型データ処理システムにおけるＷｅｂサービスのアクセスおよび利用に関する。
【背景技術】
【０００２】
ネットワーク化データ処理システム、および、特に、インターネットと呼ばれるネットワーク中のネットワークの出現は、分散型データ処理サービスの導入を促進している。かかるシステムでは、通常１つ以上のネットワークを介してサービス・プロバイダに遠隔接続されたクライアントが、遠隔データ処理システム上に実施されているデータ処理サービスにアクセスし、このシステムがデータ処理アクティビティの結果をクライアントに戻す。ワールド・ワイド・ウエブ（ＷＷＷ：World Wide Web）に代表されるサービスを、かかる分散型データ処理サービスへのインタフェースを提供するそのグラフィカル・ユーザ・インタフェース（ＧＵＩ：graphical user interface）の指示によって用いることは、一般的になっている。
【０００３】
通常、かかる分散型処理システムでは、クライアントはサーバに要求を送信する。要求は、１つ以上のパラメータを含み、これが要求された特定のサービスへの入力となることができる。
【０００４】
サーバ側では、システムは、要求元のクライアントに応答を戻すためのウエブ・ページを構築する。サーバは、ウエブ・ページを規定するコードを含むサーバ・ページにアクセスする。ページを生成するためのコードすなわちＨＴＭＬスクリプト内に埋め込まれているのは、サーバによって実行可能で要求されたデータ処理サービスを生成して必要なＨＴＭＬスクリプトを生成して結果をクライアント・マシンに表示するためのコードである。
【０００５】
クライアント・マシン上で実行しているウエブ・ブラウザは、ＨＴＭＬを解釈し、クライアント・マシンに接続されたＣＲＴモニタ等の従来のディスプレイ上にページを表示することができるアプリケーションである。市販のウエブ・ブラウザには、Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（登録商標）、Ｍｏｚｉｌｌａ、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）、ｉＣａｂ、およびＯｐｅｒａが含まれる。このように分散型コンピューティング・サービスを実施するための技法は、Active Server Pages（ＡＳＰ）およびJava（商標）Server Pages（ＪＳＰ）を含む。更に、かかるサービスは、サーバ側アプリケーション・ソフトウエアにアクセスして、ＤＣＯＭ（Distributed Component Object Model）、ＣＯＲＢＡ（Common Object Request Broker Architecture）、またはＲＭＩ（Remote Method Invocation）等の環境から独立したインタープロセス通信アプリケーション・プログラム・インタフェース（ＡＰＩ：application program interface）を介して、要求されたタスクの一部または全てを実行することができる。ブラウザによるページの実行に応答して、アプリケーション・ソフトウエアは、動的データを生成し、このデータをクライアントに戻し、次いでクライアントはページを規定するコードに従ってデータを表示する。更に、以下で更に述べるように、サーバ側アプリケーションは、ページ・サーバと同じハードウエアに常駐する必要はなく、クライアントおよびページ・サーバの双方から離れていることもある他のハードウエア上で展開することも可能である。
【０００６】
ＸＭＬ準拠システムの展開が増えていることにより、ＤＣＯＭ、ＲＩＭ、またはＣＯＲＢＡ等のオブジェクト・モデル特定プロトコルに制約されない分散型データ処理技術が開発されるようになっている。eXtensible Markup Languageを意味するＸＭＬは、構造化データを記述するためのタグベースのマークアップ言語である。ＨＴＭＬとは異なり、ＸＭＬタグは、予め定義されていない。ＸＭＬは、メタ・マークアップ言語である。ＸＭＬは、機構、ＸＭＬスキーマ、およびデータ・タイプ定義（ＤＴＤ）を含み、文書の構造およびデータ・タイプに関する情報を伝える。ＸＭＬの仕様は、ワールド・ワイド・ウエブ・コンソーシアム（Ｗ３Ｃ：World Wide Web Consortium）によって発表されている。ＸＭＬ（およびその派生物）は、標準的なインターネット・プロトコルを用いた分散型データ処理サービスへのアクセスを可能とする。かかる分散型のアプリケーション対アプリケーションのデータ処理実施は、一般に、ウエブ・サービスと呼ぶことができる。ウエブ・サービスを記述するために使用可能なＸＭＬ派生物は、ウエブ・サービス定義言語（ＷＳＤＬ：Web Service Definition Language）である。ＷＳＤＬ文書は、特定のウエブ・サービスが受信し生成するメッセージを規定する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＤＷＳＬはウエブ・サービスを記述するための貴重な言語であるが、ＷＳＤＬ記述からウエブ・サービス・インタフェースを抜粋して評価することは、ウエブ・サービスを使用可能なウエブ・ページの開発者にとって難しい課題である。ウエブ開発者は、ウエブ・ページを開発するための多くの手法を利用可能である。すなわち、いずれかのウエブ・プログラミング問題では、ユーザが選択可能な多数のプログラミング解決ドメインがある。例えば、開発者によっては、ウエブ・コンテンツを配信するよりも、Java Server pages（ＪＳＰ）タグを書くことの方を好む場合がある。他の開発者は、Ｊａｖａ（商標）で書く方を好み、Ｊａｖａ（商標）サブレットを用いてコンテンツを開発するかもしれない。また、他の者は、Ｊａｖａｓｃｒｉｐｔを用いる可能性がある。ウエブ開発者のこれらのクラスの各々は、アプリケーションにおける潜在的な用途のためウエブ・サービスを分析する場合に、異なるプログラミングのパースペクティブ（パースペクティブとは、ＧＵＩにおけるビューをいう）および異なる要求を有する。ウエブ・サービスの「未加工の」ＷＳＤＬ記述は、これらの開発者の要求を有効に満足させることができない場合がある。このため、当技術において、ウエブ・サービスを評価し、これによって、開発者の好むプログラミング・ドメインに合致するパースペクティブで、あるいは同等の意味ではビューで、ＷＳＤＬ情報を伝達する機構が要望されている。更に、ウエブ・サービスのそのビューを用いてウエブ・サービスに対するサンプル・コールを実行し、サービスに対するサンプル・コールを実行する機構への要望もある。
【課題を解決するための手段】
【０００８】
先に概説した問題は、少なくとも部分的に、ウエブ・サービス・インタフェースを評価し、サービスに対するサンプル・コールを実行することによって、いくつかの実施形態において解決することができる。本発明の一実施形態では、ウエブ・サーバを表示するための方法は、ウエブ・サービスの記述のデータ・モデルを生成するステップを備えることができる。この方法は、更に、生成したデータ・モデルにパースペクティブ・ビジタ（パースペクティブ・ビジタとは、ビジタ・パタンであり、適切な言語／環境において、ウェブ・サービスからの要求を作成するウェブ・ページ用のコード／インターフェースを作成するために、ＷＤＳＬインターフェース定義を解析するために使用される）を適用するステップを備えることができ、パースペクティブ・ビジタは予め選択されたドメインに対応する。この方法は、更に、パースペクティブ・ビジタの適用に応答して、予め選択されたドメインに関連したウエブ・サービスのパースペクティブを表示するステップを備えることができる。パースペクティブ・ビジタは、データ・モデルの要素に実行される動作をカプセル化するためのビジタ・パターンを備えることができる。
【０００９】
本発明について、添付図面を参照して、一例としてのみ説明する。
【発明を実施するための最良の形態】
【００１０】
図１を参照すると、本発明に従ってウエブ・サービスにアクセスするために使用可能な分散型データ処理システム・アーキテクチャ１００が示されている。（アーキテクチャ１００は、分散型データ処理システムのアーキテクチャの論理ビューとして理解することができる。換言すると、ウエブ・サービス・サーバ１１４は、物理的にページ・サーバ１０８と同一のハードウエア上で展開されていても、あるいは異なるハードウエア上で展開されていても、論理的に別個のコンポーネントとして見ることができる。）現在、ウエブ・サービスは、例えばＳＯＡＰに準拠したＸＭＬメッセージによってアクセスされる。クライアント・ブラウザ１０４は、要求１０６を初期化し、これは、インターネット１１０として示すネットワークを介して、図１においてページ・サーバ１０８によって例示される目標ウエブ・サーバに送信される。
【００１１】
ページ・サーバ１０８は、応答１１２で要求されたページを戻すことによって、要求に応答する。要求されたページは、動的に生成されるデータを含む場合がある。かかる動的データは、クライアント・ブラウザ１０４が応答１１２において戻されるページを規定するスプリプトを実行することに応答して、ユーザ・マシン上でローカルに生成することができる。更に、動的データは、遠隔プロセスによって生成することも可能である。これは、更に、ウエブ・サービス・サーバ１１４等の遠隔サーバに対する要求によって応答１１２においてページ・サーバ１０８が戻したページ内のコードに応答することができる。応答１１２で受信したページを実行すると、ページ内の対応するコードは、ウエブ・サービス・サーバ１１４に向けたサービス要求１１６を生成する。ウエブ・サービス・サーバ１１４は、応答して、動的データを生成するウエブ・サービス・アプリケーション１１８を実行することができる。データは、サービス応答１２０で、ページ・サーバ１０８に戻される。データは、ＳＯＡＰメッセージによってＸＭＬデータとして戻すことができる。ＳＯＡＰは、Ｗ３Ｃ（World Wide Web Consortium）によって発表された、提案された標準である。（ＳＯＡＰ１．２のための草稿仕様は、Simple Object Access Protocol 1.2、http://www.w3.org/TR/SOAP12.で見ることができる。）（ＳＯＡＰは、最初、Simple Object Access Protocolのための頭字語であったが、バージョン１．２以後は、もはや頭字語ではない。）ページ・サーバ１０８は、ページ内にデータを組み込み、ページを応答１１２においてクライアント・ブラウザに送信する。
【００１２】
動的データを生成するためウエブ・サービスを要求するには、応答１１２においてクライアント・ブラウザ１０４に送信されたページは、ウエブ・サービスにアクセスするための適切なコードを有しなければならない。例えば、要求は、ＳＯＡＰメッセージに埋め込むことができる。しかしながら、前述のように、ウエブ・サービスは通常ＷＳＤＬ文書に規定される。ＳＯＡＰパースペクティブを含む多数のウエブ・サービスのパースペクティブを生成するための方法論は、図３〜６に関連付けて述べる。（パースペクティブとは、特定のドメインの状況におけるウエブ・サービスＷＳＤＬのビューを指す場合がある。ドメインは、ＳＯＡＰに加えて、Ｊａｖａ、ＪＳＰ、およびＶｉｓｕａｌ  Ｂａｓｉｃを含むことができる。）
【００１３】
本明細書中で提供するフローチャートは、必ずしも本発明の一実施形態において実行されている動作の連続した状態を示すわけではない。これらのフローチャート内に開示するステップは、並列に実行することができる。フローチャートは、ウエブ・サービスの多数のパースペクティブを生成し表示するために利用可能な動作を作成するために実行可能な検討事項を示す。更に、提示した順序は例示的なものであり、図示した順序でステップが実行されなければならないことを必ずしも意味しないことに留意すべきである。
【００１４】
ここで図２を参照すると、フローチャートの形態で、本発明の一実施形態に従ってウエブ・サービスの多数のパースペクティブを提供するための方法２００が示されている。ステップ２０２では、ウエブ・サービスを規定するＷＳＤＬ文書のＵＲＩ（Uniform Resource Identifier）を受信する。例えば、ＵＲＩは、開発中のウエブ・ページでウエブ・サービスを用いるためウエブ・サービスを調べているウエブ・ページ開発者のクライアント・マシン上で実行しているウエブ・ブラウザから受信することができる。ステップ２０４では、ＷＳＤＬ文書で規定されたウエブ・サービスのデータ・モデルを生成する。ステップ２０４は、図３に関連付けて更に詳しく説明する。
【００１５】
ステップ２０６では、ステップ２０４からのデータ・モデルを用いて、パースペクティブを作成する。パースペクティブの作成は、図７〜９に関連付けて更に説明する。
【００１６】
ステップ２０８では、ステップ２０６で作成したパースペクティブ上の繰り返しを開始する。各パースペクティブごとに、ステップ２１０においてパースペクティブを表示し、ステップ２１２で、パースペクティブの繰り返しを終了する。プロセス２００は、ステップ２１４で完了する。
【００１７】
ここで図３を参照すると、図２のステップ２０４の詳細が示されている。ステップ３０２では、図２のステップ２０２で受信したＵＲＩを検索し、ステップ３０４では、ＵＲＩに対応するＷＳＤＬ文書がキャッシュ内にあるか否かを判定する。当業者には認められようが、ＷＳＤＬデータ・モデルは、帯域幅の需要を減らすため、ウエブ・ページをキャッシュするのと同様の方法でキャッシュすることができる。このように、以前に生成したＷＳＤＬ文書のデータ・モデルが、より迅速に戻されて、処理帯域幅を節約することができる。ＷＳＤＬデータ・モデルがキャッシュ内に無い場合、ステップ３０６において、ＷＳＤＬ文書を構文解析してそのデータ・モデルを作成する。
【００１８】
ＷＳＤＬページのデータ・モデルは、ページのツリー状の表示とすることができる。図４を参照すると、簡略化したＷＳＤＬページの例示的なデータ・モデル４００が示されている。ツリーは、多数のノード４０２〜４１４を含む。ノード４０２は、特定のウエブ・サービスを識別する。ノード４０４、４０６、および４０８は、サービスによって実行される動作を表す。動作４０８は、２つの入力、すなわち入力４１０および４１２を取得し、出力４１４を生成する。
【００１９】
図３に戻ると、ステップ３０８において、データ・モデルをキャッシュに追加する。
【００２０】
これに対して、ＷＳＤＬページがキャッシュ内にある場合、ステップ３１０において、以前にキャッシュしたＷＳＤＬデータ・モデルを検索する。ステップ３１２では、データ・モデルを図２のステップ２０６に入力し、ステップ２０４が終了する。
【００２１】
ここで図５および６を参照する。図５および６は、図３のステップ３０６を更に詳しく示す。ステップ５０２において、構成されたパースペクティブのリストを検索する。構成されたパースペクティブとは、ステップ５０６に関連付けて考察するビジタ・パターンが実施されるパースペクティブを指すことができる。このため、例えば、構成されたパースペクティブのリストは、Ｊａｖａパースペクティブ、ＪＳＰパースペクティブ、Ｖｉｓｕａｌ  Ｂａｓｉｃパースペクティブ、ＳＯＡＰパースペクティブ、および未加工のＷＳＤＬパースペクティブを含む場合がある。
【００２２】
ステップ５０４では、パースペクティブ・リストの繰り返しループに入る。ステップ５０６では、リスト内の各パースペクティブごとに、パースペクティブ・ビジタ・パターンをＷＳＤＬデータ・モデルに適用する。上述のように、ＷＳＤＬデータ・モデルは、ツリー状データ構造として表すことができ、そのノードは、ウエブ・サービスの動作、それに対する各入力および出力に対応する。ビジタ・パターンは、データ・モデルの要素に実行される動作をカプセル化するための機構である。（また、ビジタ・パターンは、オブジェクト指向プログラミング技術において、ビジタ設計パターンとして、あるいは、本明細書中の目的では、単に「ビジタ」と呼ぶことも可能である。）換言すると、パースペクティブ・ビジタは、ＷＳＤＬデータ・モデルのノードに対する動作、特にＷＳＤＬノードのパースペクティブをレンダリングする動作をカプセル化するオブジェクトである。このため、例えばＪａｖａパースペクティブ・ビジタは、ＷＳＤＬデータ・モデルをＪａｖａ断片にレンダリングすることができる。このため、図４のノード４０４等のウエブ・サービス動作を表すノード上でこのパースペクティブ・ビジタをコールすると、そのノードをＪａｖａコード断片にレンダリングし、ＨＴＭＬテキスト・フィールドにおいて、どのようにその特定の動作を呼び出すことができるかを表す。同様に、タグリブ（taglib）・パースペクティブ・ビジタは、どのようにその動作を呼び出すことができるかのタグリブ表示としてノードをレンダリングすることができる。このため、パースペクティブ・ビジタは、ＷＳＤＬデータ・モデル内のノードに関する情報を抜粋し（それ自体はウエブ・サービスのＷＳＤＬ記述の表現である）、それを対応するパースペクティブに埋め込む。ビジタ・パターンに関してオブジェクト指向プログラミング原理に従うと、パースペクティブ・ビジタは、抽象的な親ビジタ・クラスの具体的な子クラスとすることができることに留意すべきである。（例えば、Erich Gamma、Richard Helm、Ralph JohnsonおよびJohn Vlissides、Design Patterns、Elements of Reusable Object-Oriented Software（Addison Wesley、１９９５年）、Ｃｈａｐ．５、ｐｐ．３３１〜３４４を参照。）
【００２３】
ステップ５０６は、ビジタがＷＳＤＬデータ・モデル・ツリーを横断することによって実行可能である。各ノードにおいて、ノードは、パースペクティブ・ビジタを「受容」し、パースペクティブ・ビジタにメッセージを送信する。換言すると、ノードは、パースペクティブ・ビジタにコールを行い、それ自体を渡し、パースペクティブ・ビジタはその方法を実行して、それが生成する特定のパースペクティブを取り込む。このため、ノード自体がパースペクティブ・ビジタにコールを返し、ノードはノード自体によってパースペクティブ・ビジタに渡されるので、パースペクティブ・ビジタは、適切な多形方法を実行して、データ構造すなわちＷＳＤＬ文書のツリー状データ・モデルのコール側ノードに対応するパースペクティブを生成することができる。これらの動作は、図６のステップ５５２〜５６２に示されている。図５〜６に示すように、図４のステップ４１２からのＷＳＤＬデータ・モデルはステップ５０６に入力される。ステップ５０６は、ステップ５０４において開始した繰り返しループで、リストの各パースペクティブごとに反復される。繰り返しループはステップ５０８で終了し、ステップ５１０で、ステップ３０６は終了する。
【００２４】
図７〜９は、例示的なＧＵＩウインドウ６０２ａ〜ｃを示し、それぞれ、天気データを提供するウエブ・サービスのためのＪＳＰタグリブ・パースペクティブ、Ｊａｖａ（商標）、およびＳＯＡＰメッセージ・パースペクティブを表示する。（ＪＳＰタグリブは、「Systems And Methods For Accessing Web Services Using A Tag Library」と題する本願と所有者が同一の係属中の米国特許出願ＡＵＳ９−２００２−０３３０ＵＳ１、連続番号第１０／１８５，７９６において考察されている。）かかる天気サービスを用いて、例えば、天気データを検索して、ウエブ・ページに特定の場所についての現在の温度および予報を表示することができる。サービスのためのＷＳＤＬ文書は、ブラウザがデータを生成するための要求を送信し、「GetTemperature」方法をコールした場合にそれを指定することができ、必要な入力は、郵便番号または他の場所の識別子である。これに対応して、ウインドウ６０２ａでは、動作６０４を、タグリブ・コール６０６において、「GetTemperature」として指定する。同様に、入力タイプ６０８は、「郵便番号」として指定される。このため、サービスが天気データを提供する場所は、郵便番号を設定することによって指定される。図１０に関連付けて以下で述べるように、開発者は、サンプル・コールを行ってサービスを試験することができ、値６１０は、ユーザによって「７８７５８」の郵便場号に設定されている。ユーザは、以下で述べるように、ボタン６１２を「クリック」することによってサービスを実行することができる。同様に、Ｊａｖａパースペクティブ、ウインドウ６０２ｂは、「GetTemperature」メソッド６１４を表示し、入力データとして引数「郵便番号」６１６を含む。同様にして、ＳＯＡＰパースペクティブ、ウインドウ６０２ｃは、ＳＯＡＰメッセージ・ボディ６２２に、「GetTemperature」動作６１８および「郵便番号」入力６２０を含む。
【００２５】
ここで図１０を参照すると、ウエブ・サービスに対するサンプル・コールを実行するためのプロセス７００が、フローチャートの形態で示されている。プロセス７００は、図３の方法に従って生成されたパースペクティブに関連付けて使用可能である。ステップ７０２では、ユーザの入力に応答して、パースペクティブ選択を受信する。ステップ７０４では、ユーザのサンプル・データを受信する。このサンプル・データは、図７〜９にそれぞれ示す予想されるウインドウ６０２Ａ〜６０２Ｃの１つ等の、パースペクティブ・ウインドウに入力することができる。ステップ７０６では、実行要求を受信する。ユーザは、「ボタン」または同様のユーザ入力デバイスを活性化することによって、実行要求を開始することができる。ステップ７０８では、ステップ７０２で選択した特定のパースペクティブに関連したドメインにおける対応するコードを、ウエブ・サービス・ページ内に挿入する。ステップ７１０では、ユーザのクライアントは、例えば図１のブラウザ１０４等のブラウザを介して、ページを実行する。ウエブ・ページの実行は、図１に関連付けて上述したように、ウエブ・サービスに対する要求を生成する。要求は、ユーザが供給したおよびステップ７０４で受信した例示的な入力データを含む。サンプル・データに応答して、図１のウエブ・サービス・アプリケーション１１８等のウエブ・サービス・アプリケーションは、サンプル・データに基づいた結果を生成し、結果を含むＳＯＡＰメッセージ等のメッセージを、ディスプレイ１のためのクライアントに戻す。
【００２６】
図１１に、本発明を実施するための代表的なハードウエア環境を示す。これは、主題の発明に従ったデータ処理システム８００の例示的なハードウエア構成を示す。例えば、図１のクライアント１０４は、データ処理システム８００に従って実施可能である。システム８００は、従来のマイクロプロセッサ等の中央演算処理装置（ＣＰＵ）８１０、および、システム・バス８１２を介して相互接続された多数の他のユニットを含む。データ処理システム８００は、ランダム・アクセス・メモリ（ＲＡＭ）８１４、リード・オンリ・メモリ（ＲＯＭ）８１６、およびバス８１２にディスク・ユニット８２０等の周辺デバイスを接続するための入力／出力（Ｉ／Ｏ）アダプタ８１８、キーボード８２４、マウス８２６、および／またはタッチ・スクリーン・デバイス（図示せず）等の他のユーザ・インタフェース・デバイスをバス８１２に接続するためのユーザ・インタフェース・アダプタ８２２を含む。また、システム８００は、データ処理システムを他のシステムと通信可能とするデータ処理ネットワークにデータ処理システム８００を接続するための通信アダプタ８３４、および、バス８１２をディスプレイ・デバイス８３８に接続するためのディスプレイ・アダプタ８３６を含む。ＣＰＵ８１０は、ここには示さない他の回路を含むことができ、これには、マイクロプロセッサ内に一般的に見られる回路、例えば実行ユニット、バス・インタフェース・ユニット、演算論理ユニット等が含まれる。また、ＣＰＵ８１０は、単一集積回路上にあることも可能である。
【００２７】
ディスプレイ・モニタ８３８は、ディスプレイ・アタプダ８３６によってシステム・バス８１２に接続されている。このように、ユーザは、キーボード８２４、トラックボール８３２、またはマウス８２６によってシステムに入力を行い、スピーカ８２８、ディスプレイ８３８を介してシステムから出力を受け取ることができる。
【００２８】
本発明の好適な実施は、ここで記載する方法または複数の方法を実行するようにプログラムされたコンピュータ・システムとして、およびコンピュータ・プログラム・プロダクトとしての実施を含む。コンピュータ・システム実施によると、方法または複数の方法を実行するための命令セットは、概ね上述のように構成された１つ以上のコンピュータ・システムのランダム・アクセス・メモリ８１４に常駐している。これらの命令セットは、それらを実行するシステム・コンポーネントと関連付けて、ウエブ・サービスの多数のパースペクティブを生成し、ウエブ・サービスに対するサンプル・コールを実行することができる。コンピュータ・システムによって必要となるまで、命令セットは、別のコンピュータ・メモリにコンピュータ・プログラム・プロダクトとして、例えばディスク・ドライブ８２０に保存することができる。（これは、ディスク・ドライブ８２０における最終的な使用のため、光ディスクまたはフロッピ・ディスク等の着脱可能メモリを含むことができる）。更に、コンピュータ・プログラム・プロダクトは、別のコンピュータに保存し、所望の場合、ネットワークまたはインターネット等の外部のネットワークによってユーザのワークステーションに送信することができる。命令セットの物理的保存により、それが保存される媒体が物理的に変化して、媒体がコンピュータ読み取り可能情報を有するようになることは、当業者には認められよう。この変化は、電気的、磁気的、化学的、生物学的、または他のいずれかの物理的変化であり得る。命令、シンボル、文字等の点で本発明を説明することは都合が良いが、読者は、これらおよび同様の言葉は全て適切な物理的要素に関連付けられることに留意すべきである。
【００２９】
本発明は、比較、確認、選択、識別等の言葉、または人のオペレータに関連付けることができる他の言葉を記述することができることを注記しておく。しかしながら、実施形態の少なくとも１つの一部を形成する、ここに記載する少なくとも多数の動作では、人のオペレータによるアクションは望ましくない。記載する動作は、大部分、電気信号を処理して他の電気信号を生成する機械動作である。
【００３０】
図１２は、主題の発明に従ったデータ処理システム９００の例示的なハードウエア構成を示す。例えば、図１のページ・サーバ１０８およびウエブ・アプリケーション・サーバ１１４を、データ処理システム９００に従って実施することができる。システム９００は、従来のマイクロプロセッサ等の中央演算処理装置（ＣＰＵ）９１０、および、システム・バス９１２を介して相互接続された多数の他のユニットを含む。データ処理システム９００は、ランダム・アクセス・メモリ（ＲＡＭ）９１４、リード・オンリ・メモリ（ＲＯＭ）９１６、および、バス９１２にディスク・ユニット９２０等の周辺デバイスを接続するための入力／出力（Ｉ／Ｏ）アダプタ９１８を含む。また、システム９００は、データ処理システムを他のシステムと通信可能とするデータ処理ネットワークにデータ処理システム９００を接続するための通信アダプタ９３４も含む。ＣＰＵ９１０は、ここには示さない他の回路を含むことができ、これには、マイクロプロセッサ内に一般的に見られる回路、例えば実行ユニット、バス・インタフェース・ユニット、演算論理ユニット等が含まれる。また、ＣＰＵ９１０は、単一集積回路上にあることも可能である。
【００３１】
本発明の好適な実施形態は、ここで記載する方法または複数の方法を実行するようにプログラムされたコンピュータ・システムとして、およびコンピュータ・プログラム・プロダクトとしての実施を含む。コンピュータ・システム実施によると、方法または複数の方法を実行するための命令セットは、概ね上述のように構成された１つ以上のコンピュータ・システムのランダム・アクセス・メモリ９１４に常駐している。これらの命令セットは、それらを実行するシステム・コンポーネントと関連付けて、ウエブ・サービスに対するサンプル・コールを実行することができる。コンピュータ・システムによって必要となるまで、命令セットは、別のコンピュータ・メモリにコンピュータ・プログラム・プロダクトとして、例えばディスク・ドライブ９２０に保存することができる。（これは、ディスク・ドライブ９２０における最終的な使用のため、光ディスクまたはフロッピ・ディスク等の着脱可能メモリを含むことができる）。更に、コンピュータ・プログラム・プロダクトは、別のコンピュータに保存し、所望の場合、ネットワークまたはインターネット等の外部のネットワークによってユーザのワークステーションに送信することができる。命令セットの物理的保存により、それが保存される媒体が物理的に変化して、媒体がコンピュータ読み取り可能情報を有するようになることは、当業者には認められよう。この変化は、電気的、磁気的、化学的、生物学的、または他のいずれかの物理的変化であり得る。命令、シンボル、文字等の点で本発明を説明することは都合が良いが、読者は、これらおよび同様の言葉は全て適切な物理的要素に関連付けられることに留意すべきである。
【図面の簡単な説明】
【００３２】
【図１】本発明に関連付けて使用可能なウエブ・サービスを提供するためのネットワーク・アーキテクチャを示す。
【図２】本発明の一実施形態に従ってウエブ・サービスの多数のパースペクティブを提供するための方法をフローチャートの形態で示す。
【図３】図２の方法の一部を更に詳細に、フローチャートの形態で示す。
【図４】本発明の原理に従ったＷＳＤＬページの例示的な抽象データ・モデルを示す。
【図５】図２の方法の別の部分を更に詳細に、フローチャートの形態で示す。
【図６】図２の方法の別の部分を更に詳細に、フローチャートの形態で示す。
【図７】本発明の原理に従ったウエブ・サービス・ページのパースペクティブの例示的なグラフィカル・ユーザ・インタフェース（ＧＵＩ）ビューを示す。
【図８】本発明の原理に従ったウエブ・サービス・ページのパースペクティブの例示的なグラフィカル・ユーザ・インタフェース（ＧＵＩ）ビューを示す。
【図９】本発明の原理に従ったウエブ・サービス・ページのパースペクティブの例示的なグラフィカル・ユーザ・インタフェース（ＧＵＩ）ビューを示す。
【図１０】本発明の原理に従ったウエブ・サービスを実行するための方法をフローチャートの形態で示す。
【図１１】本発明の一実施形態に従ってウエブ・サービスにアクセスするための文書コンポーネントを生成するためのデータ処理システムを、ブロック図の形態で示す。
【図１２】本発明の一実施形態に従ってタグ・ライブラリを介してウエブ・サービスにアクセスしてウエブ・ページにおいて動的データを生成するための文書コンポーネントを生成するためのデータ処理システムを、ブロック図の形態で示す。
【図１】
2005531840.tif 000003
【図２】
2005531840.tif 000004
【図３】
2005531840.tif 000005
【図４】
2005531840.tif 000006
【図５】
2005531840.tif 000007
【図６】
2005531840.tif 000008
【図７】
2005531840.tif 000009
【図８】
2005531840.tif 000010
【図９】
2005531840.tif 000011
【図１０】
2005531840.tif 000012
【図１１】
2005531840.tif 000013
【図１２】
2005531840.tif 000014
【国際調査報告】
2005531840.tif 000015
2005531840.tif 000016