説明

Webサービスのための情報処理システムおよび情報処理方法

【課題】Webサービスを利用するクライアントおよびそのサービスを提供するサーバ側の双方の利便性を考慮した技術を提供する。
【解決手段】クライアント装置(20)がサーバ装置(10)に対し同期通信により処理の実行要求を送信すると(S1)、サーバ装置が、同期通信を終了させる情報を応答する(S2)。サーバ装置は、要求された処理を実行すると共に(S3)、処理の実行状況を表すメタデータを生成する(S4)。クライアント装置は、処理の実行状況についてサーバ装置へ問い合わせを行い、サーバ装置は、その問い合わせに対し当該メタデータを送信する(S6,S10)。クライアント装置は、要求した処理の完了をメタデータにより認識したとき(S11)、処理の実行結果の通知要求をサーバ装置へ送信する(S12)。サーバ装置は、クライアント装置からの通知要求に対し当該実行結果を応答する(S13)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、HTTP(HyperText Transfer Protocol)/HTTPS(HTTP Security)のような同期通信の通信プロトコルを利用したWebサービスの技術に関する。
【背景技術】
【0002】
図9に、一般的なWebサービスの形態を模式的に示す。Webサービスを提供するサーバ1と、サーバ1に対しサービスを要求するクライアント2との間では、他のコンピュータにあるデータを取得するための通信プロトコルとしてSOAP(Simple Object Access Protocol)が利用される。
【0003】
SOAPを利用するサーバ1及びクライアント2は、例えば、WSDL(Web Services Description Language)なるフォーマットに従い作成されたXML(eXtensible Markup Language)ベースのSOAPメッセージをHTTP/HTTPSにより授受する。このようなHTTP/HTTPSにSOAPを適用した通信形態は「SOAP over HTTP/HTTPS」と称され、Webサービスに広く利用されている。
【0004】
ところで、HTTP/HTTPSによる通信は、サーバがクライアントからリクエストを受信したとき所定期間内にレスポンスを送ることを基本とする同期通信である。よって、HTTP/HTTPSは、例えば、通信帯域や時間に使用制限があるクライアントのように、非同期通信が望まれるクライアントには対処が困難である。
【0005】
一方、SOAP自体は、ベースとなる通信プロトコルが指定されていないことから、HTTP/HTTPS以外のプロトコルにも適用可能である。よって、非同期通信のニーズに応じるためには、例えば図10に示すように、POP(Post Office Protocol)/SMTP(Simple Mail Transfer Protocol)あるいはJMS(Java(登録商標) Message Service)のようなプロトコルをSOAPと併用すればよい。
【0006】
図10に示す通信形態において、クライアント4は、HTTP/HTTPSにより交信するサーバ1とは別個に設けられた、POP/SMTPやJMS専用のサーバ3と交信する。そして、この専用のサーバ3を介して、HTTP/HTTPSによるサーバ1からデータを取得する。
【0007】
このようにネットワークを利用して他のコンピュータからデータを取得する技術に関し、例えば、後述の特許文献1に記載のものがある。特許文献1に記載の技術は、機器の状態やその機器の動作ログなどの情報を外部に提供する機能を持つネットワーク装置が、RDF等のXML形式のフォーマットにより上記情報を作成し、その情報をクライアント側の仕様に合わせてHTML形式等に変換して提供するというものである。
【特許文献1】特開2005−209056号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、前述の図10に示すような通信形態の場合、クライアント4は、一般に普及している「SOAP over HTTP/HTTPS」のサービスを利用することができない。また、WebサービスのためにPOP/SMTPやJMS専用のサーバ3の介在が必要とされることで、このサーバ3の処理負荷が増大するという問題もある。
【0009】
一方、上記特許文献1に記載の技術では、HTML形式等、クライアント側のフォーマット形式に合わせてWebサービスが提供される。しかしながら、そのためには、サーバ(ネットワーク装置)が、XML形式にて作成した情報をその都度HTML形式等に変換する必要がある。よって、サーバでは、クライアント側の多様なフォーマット形式に対処すべく複数の変換パターンを想定する必要があり、そのようなサーバの管理は容易ではない。
【0010】
本発明は、上記課題に鑑みてなされたものであり、同期通信のWebサービスを利用するクライアントおよびそのサービスを提供するサーバ側の双方の利便性を考慮した技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る情報処理システムは、通信ネットワークに接続されたサーバ装置およびクライアント装置を備え、前記クライアント装置は、前記サーバ装置に対し同期通信により処理の実行要求を送信する手段と、前記処理の実行状況を前記サーバ装置へ問い合わせる手段と、前記処理の実行結果の通知要求を前記サーバ装置へ送信する手段とを有し、前記サーバ装置は、前記クライアント装置からの処理の実行要求に対し同期通信を終了させる情報を応答する手段と、前記クライアント装置から要求された処理を実行し且つ該処理の実行状況を表すメタデータを生成する手段と、処理の実行状況に関する前記クライアント装置からの問い合わせに対し当該メタデータを送信する手段と、処理の実行結果に関する前記クライアント装置からの通知要求に対し当該実行結果を応答する手段とを有する。
【発明の効果】
【0012】
本発明によれば、クライアント装置から同期通信により処理の実行要求を受けたサーバ装置が、一旦その同期通信を終了させ、別途、その処理の実行結果をクライアント装置へ応答するよう構成したことから、同期通信の環境下で、非同期通信と同様な通信形態を提供することができる。さらに、処理の要求から処理結果の応答までの間、その処理の実行状況をクライアント装置から確認することができるため、処理結果を取得すべきタイミングを適切に認識することができる。これにより、処理の要求から処理結果の取得までを迅速に行うことができ、結果、ユーザの利便性が高められる。
【発明を実施するための最良の形態】
【0013】
図1に、本発明の実施形態のシステム構成を示す。本実施形態のシステムは、通信ネットワーク100に接続されたサーバ10およびクライアント20を備える。サーバ10は、クライアント20に対し通信ネットワーク100を介してWebサービスを提供する事業者のコンピュータである。クライアント20は、サーバ10によるWebサービスを利用する個人あるいは企業等のユーザが使用するコンピュータである。
【0014】
サーバ10は、図1に示すように、クライアント20から要求されるWebサービスに関する処理を実行するWebサービス処理部11と、Webサービスの処理状況に関する後述のメタデータを処理するメタデータ処理部12とを備える。これらは、クライアント20のCPU(図示略)が実行するプログラムに対応する機能である。
【0015】
クライアント20は、サーバ10により提供されるWebサービスを利用するためのプログラムに対応するWebサービスクライアント部21を備える。
【0016】
図2に示すシーケンスを参照して、本実施形態の動作について説明する。まず、クライアント20のWebサービスクライアント部21は、Webサービスを利用すべく、サーバ10に対しHTTP/HTTPS通信によりSOAPメッセージを送信する(ステップS1)。このSOAPメッセージは、サーバ10に対し処理の実行要求を通知するためのHTTP/HTTPSリクエストに記述されるメッセージであり、一般のSOAP仕様のフォーマットに基づき作成される。
【0017】
サーバ10のWebサービスクライアント部21は、クライアント20からのSOAPメッセージを受信すると、そのリクエストに対するレスポンス処理を例外処理として取り扱う。これは、現時点のセッションを終了させるための、便宜上の取り扱いであり、クライアント20から要求された処理自体が例外処理の対象であることを意味するものではない。
【0018】
Webサービスクライアント部21は、便宜上の例外処理として、「SOAP Fault」のメッセージを記述したHTTP/HTTPSレスポンスをクライアント20へ送信する(ステップS2)。このとき送信されるレスポンスの一例を図3に示す。
【0019】
図3に示すように、HTTP/HTTPSレスポンスのステータスコード(3a)は、受信確認を表す「202」のようなコードとし、レスポンス内のSOAPメッセージには「SOAP Fault」(3b)を作成する。また、この「SOAP Fault」のdetail要素(3c)には、クライアント20から受けた処理に割り当てたIDと、後述のメタデータが公開されるURLとを記述する。なお、HTTP/HTTPSレスポンスのステータスコード(3a)は、図示の例のように「202」とすることが望ましいが、不都合がある場合は、「500」(Internal Server Error)などであってもよい。
【0020】
サーバ10からの上記HTTP/HTTPSレスポンスがクライアント20により受信されると、いったん両者間のHTTP/HTTPS通信が終了する。
【0021】
続いて、サーバ10のWebサービス処理部11は、クライアント20から要求された処理を実行する(ステップS3)。この間、メタデータ処理部12は、処理の実行状況を表すメタデータを生成し、それを記憶デバイス(図示略)へ保存する(ステップS4)。メタデータは、RSS(Really Simple Syndication / RDF Site Summary)あるいはAtomのようなXMLベースのフォーマットに従い作成される。
【0022】
図4、図5及び図6に、メタデータの事例を示す。図4は、RSS1.0形式のフォーマットにより作成されたメタデータの例であり、図5は、RSS2.0形式のメタデータの例であり、そして、図6は、Atom0.3形式のメタデータの例である。
【0023】
メタデータ処理部12は、図4乃至図6のような形態で生成したメタデータを、前述のHTTP/HTTPSレスポンスによりクライアント20に通知したURL(図3:3c)にて公開する(ステップS5)。そして、処理の開始から所定期間ごとに実行状況のメタデータを生成し、生成の都度、公開するメタデータを更新する。
【0024】
ここで、サーバ10により公開されるメタデータは、少なくとも、処理が完了したか否かを公開することを目的としたものである。よって、メタデータの更新は、本実施形態のように定期的に行うことに替えて、例えば、処理の開始時および完了時、あるいは完了時のみに行うようにしてもよい。これにより、サーバ10の処理負荷が軽減される。
【0025】
一方、クライアント20は、サーバ10から受信したHTTP/HTTPSレスポンス(図3)に記述されている処理IDとメタデータの公開URLとを用いて、処理の実行状況を定期的にサーバ10へ問い合わせる(ステップS6)。すなわち、サーバ10に要求した処理に関し公開されているメタデータの更新を確認する。この確認は、予めWebサービスクライアント部21に設定した、いわゆるRSSリーダ等のソフトウェアにより行うことができる。
【0026】
サーバ10は、クライアント20から要求された処理を実行し終えると(ステップS7)、処理の完了を表すメタデータを生成し公開する(ステップS8、S9)。
【0027】
クライアント20は、問い合わせにより取得したメタデータから処理の完了を認識すると(ステップS10、S11)、処理結果を要求するための図7に示すようなHTTP/HTTPSリクエストをサーバ10へ送信する(ステップS12)。このリクエストに含まれるSOAPメッセージのヘッダ(7a)には、先にサーバ10から通知された処理IDを記述する。
【0028】
サーバ10は、上記リクエストをクライアント20から受信すると、その応答としてのHTTP/HTTPSレスポンスにより、処理IDに対応する処理結果を送信する(ステップS13)。なお、実際に例外処理が発生していた場合、すなわち、当初にクライアント20から要求された処理がサーバ10における例外処理の対象であった場合は、このHTTP/HTTPSレスポンス(ステップS13)に、例外処理の旨を示すSOAPメッセージを記述する。
【0029】
このように上記実施形態によれば、HTTP/HTTPSによる同期通信の環境下で、非同期通信と同様な形態によりWebサービスを提供することができる。その理由は、サーバ(10)が、クライアント(20)からの処理要求に対し、一旦そのセッションを終了させる応答を返すからである。また、「SOAP Fault」に処理状況の参照先URLを記述してクライアント(20)へ通知し、別途、その処理状況をメタデータで提供することから、クライアント側は、別のWebサービスなどを併用することなく、単一のURLにより非同期通信によるサービスを受けることができる。
【0030】
また、ファイヤーウォールを介在させたWebサービスを維持することができる。その理由は、既存のHTTP/HTTPS通信の環境を利用するからである。通常、HTTP/HTTPS通信に設定するファイヤーウォールは、他の通信プロトコルよりも制限が比較的少なく、セキュリティ設定に関しての柔軟性がある。
【0031】
さらにまた、Webサービスクライアント(21)にメタデータの解析機能が具備されていない場合でも、本実施形態のWebサービスを利用することができる。その理由は、広く普及しているRSSやAtom等のフォーマットを利用してメタデータが生成されるからである。
【0032】
[他の実施形態]
サーバ10が、公開したメタデータをクライアント20に供給する際、そのクライアント20に対し認証処理を行うようにしてもよい。例えば、サーバ10がRSSリーダ等により問い合わせを受けたとき、該当のメタデータを送信するに先立ち、従来知られたBasic認証等の認証技術により、クライアント20の正当性を判定する。そして、クライアント20から取得した個人情報(ユーザID/パスワード等)の認証が成功した場合に、そのクライアント20へ該当のメタデータを送信する。これにより、Webサービスの処理に関し、その処理状況を正当なユーザのみが確認することができ、結果、各ユーザのサービス利用状況等が漏洩することを防止できる。
【0033】
また、クライアント20から送信するHTTP/HTTPSリクエストにWebサービスの処理IDを記述することに関し、例えば図8に示すように、そのIDをHTTP/HTTPSリクエストのヘッダにCookieとして記述するようにしてもよい(図8:8a)。このように既存のCookie技術を利用することにより、クライアント20がHTTP/HTTPSリクエストに処理IDを設定すること、及び、そのIDをサーバ10で判別することが簡便となる。
【図面の簡単な説明】
【0034】
【図1】本発明の実施形態のシステム構成を示すブロック図である。
【図2】実施形態の動作手順を示すシーケンス図である。
【図3】実施形態におけるSOAP_Faultに関する説明図である。
【図4】実施形態におけるメタデータの事例(RSS1.0)に関する説明図である。
【図5】実施形態におけるメタデータの事例(RSS2.0)に関する説明図である。
【図6】実施形態におけるメタデータの事例(Atom)に関する説明図である。
【図7】実施形態における処理結果の要求に関する説明図である。
【図8】本発明の他の実施形態におけるSOAP_Faultに関する説明図である。
【図9】従来のWebサービスのシステムに関する説明図である。
【図10】従来のWebサービスの他のシステムに関する説明図である。
【符号の説明】
【0035】
100 通信ネットワーク
10 サーバ
11 Webサービス処理部
12 メタデータ処理部
20 クライアント
21 Webサービスクライアント部

【特許請求の範囲】
【請求項1】
通信ネットワークに接続されたサーバ装置およびクライアント装置を備え、
前記クライアント装置は、前記サーバ装置に対し同期通信により処理の実行要求を送信する手段と、前記処理の実行状況を前記サーバ装置へ問い合わせる手段と、前記処理の実行結果の通知要求を前記サーバ装置へ送信する手段とを有し、
前記サーバ装置は、前記クライアント装置からの処理の実行要求に対し同期通信を終了させる情報を応答する手段と、前記クライアント装置から要求された処理を実行し且つ該処理の実行状況を表すメタデータを生成する手段と、処理の実行状況に関する前記クライアント装置からの問い合わせに対し当該メタデータを送信する手段と、処理の実行結果に関する前記クライアント装置からの通知要求に対し当該実行結果を応答する手段とを有することを特徴とする情報処理システム。
【請求項2】
前記サーバ装置は、処理の実行状況に関する前記クライアント装置からの問い合わせを受けたとき認証処理を実行し、認証に成功した場合に当該メタデータを送信することを特徴とする請求項1記載の情報処理システム。
【請求項3】
前記サーバ装置は、同期通信を終了させる前記情報として、例外処理に対応するメッセージを応答し、
前記クライアント装置は、前記サーバ装置から前記メッセージを含む応答を受けたとき、前記サーバ装置に対し処理の実行状況の問い合わせを開始することを特徴とする請求項1又は2記載の情報処理システム。
【請求項4】
前記サーバ装置は、メタデータをXMLに基づく文書形式により生成することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。
【請求項5】
自装置と通信ネットワークを介して接続されたサーバ装置に対し同期通信により処理の実行要求を送信する手段と、前記処理の実行状況を前記サーバ装置へ問い合わせる手段と、前記処理の実行結果の通知要求を前記サーバ装置へ送信する手段とを備えることを特徴とする情報処理装置。
【請求項6】
コンピュータを請求項5記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項7】
自装置と通信ネットワークを介して接続されたクライアント装置からの同期通信による処理の実行要求に対し同期通信を終了させる情報を応答する手段と、前記クライアント装置から要求された処理を実行し且つ該処理の実行状況を表すメタデータを生成する手段と、処理の実行状況に関する前記クライアント装置からの問い合わせに対し当該メタデータを送信する手段と、処理の実行結果に関する前記クライアント装置からの通知要求に対し当該実行結果を応答する手段とを備えることを特徴とする情報処理装置。
【請求項8】
処理の実行状況に関する前記クライアント装置からの問い合わせを受けたとき認証処理を実行し、認証に成功した場合に当該メタデータを送信することを特徴とする請求項7記載の情報処理装置。
【請求項9】
同期通信を終了させる前記情報として、例外処理に対応するメッセージを応答することを特徴とする請求項7又は8記載の情報処理装置。
【請求項10】
メタデータをXMLに基づく文書形式により生成することを特徴とする請求項7乃至9のいずれか1項に記載の情報処理装置。
【請求項11】
コンピュータを請求項7乃至10のいずれか1項に記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項12】
クライアント装置が、自装置と通信ネットワークを介して接続されたサーバ装置に対し同期通信により処理の実行要求を送信するステップと、
前記サーバ装置が、前記クライアント装置からの処理の実行要求に対し同期通信を終了させる情報を応答するステップと、
前記サーバ装置が、前記クライアント装置から要求された処理を実行し且つ該処理の実行状況を表すメタデータを生成するステップと、
前記クライアント装置が、前記処理の実行状況を前記サーバ装置へ問い合わせるステップと、
前記サーバ装置が、処理の実行状況に関する前記クライアント装置からの問い合わせに対し当該メタデータを送信するステップと、
前記クライアント装置が、前記処理の実行結果の通知要求を前記サーバ装置へ送信するステップと、
前記サーバ装置が、処理の実行結果に関する前記クライアント装置からの通知要求に対し当該実行結果を応答するステップとを備えることを特徴とする情報処理方法。
【請求項13】
前記サーバ装置が、メタデータを送信する前記ステップにおいて、
処理の実行状況に関する前記クライアント装置からの問い合わせを受けたとき認証処理を実行し、認証に成功した場合に当該メタデータを送信することを特徴とする請求項12記載の情報処理方法。
【請求項14】
前記サーバ装置が、同期通信を終了させる情報を応答する前記ステップにおいて、例外処理に対応するメッセージを前記情報として応答し、
前記クライアント装置が、処理の実行結果の通知要求を送信する前記ステップを、前記サーバ装置から前記メッセージを含む応答を受けたとき開始することを特徴とする請求項12又は13記載の情報処理方法。
【請求項15】
前記サーバ装置が、メタデータを生成する前記ステップにおいて、
メタデータをXMLに基づく文書形式により生成することを特徴とする請求項12乃至14のいずれか1項に記載の情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−3689(P2008−3689A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2006−170096(P2006−170096)
【出願日】平成18年6月20日(2006.6.20)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】