JP4291174B2 - Webサービス委譲処理方法及び実施装置並びに処理プログラム - Google Patents

Webサービス委譲処理方法及び実施装置並びに処理プログラム Download PDF

Info

Publication number
JP4291174B2
JP4291174B2 JP2004038278A JP2004038278A JP4291174B2 JP 4291174 B2 JP4291174 B2 JP 4291174B2 JP 2004038278 A JP2004038278 A JP 2004038278A JP 2004038278 A JP2004038278 A JP 2004038278A JP 4291174 B2 JP4291174 B2 JP 4291174B2
Authority
JP
Japan
Prior art keywords
message
response
delegation
web service
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004038278A
Other languages
English (en)
Other versions
JP2005228229A (ja
Inventor
剛 根本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004038278A priority Critical patent/JP4291174B2/ja
Priority to US11/055,000 priority patent/US7650410B2/en
Publication of JP2005228229A publication Critical patent/JP2005228229A/ja
Application granted granted Critical
Publication of JP4291174B2 publication Critical patent/JP4291174B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明はWebサービスを提供する為の処理を他の情報処理装置に委譲するWebサービス委譲処理技術に関するものである。
複数のノードに分散して配置された複数のWebサービス処理部が互いに連携してサービス(プログラムやオブジェクトの実行により実現される機能)を提供する多段型のWebサービス処理には、非特許文献1に記載される様な技術があり、同じサービスを提供するWebサービス同士が互いに委譲し合うことで、クライアント側の情報処理装置に対してサービスが提供できないという事象を減少させることができる。
David A. Chappell他著「Java Web Services」出版社:O’Reilly & Associates,Inc., 2002.3,p6
上記従来技術によれば、Webサービス処理においてリクエストを連鎖的に委譲すると、それに対する応答も連鎖的に返される為、単に委譲しただけのサービス提供装置にとってはその応答は必要が無いにも関わらず、応答が引き回されることによって通信資源及び時間が浪費されるという問題がある。
本発明の目的は上記問題を解決し、Webサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能な技術を提供することにある。
本発明は、Webサービスを提供する為の処理を委譲するWebサービス提供装置において、他のWebサービス提供装置から委譲された処理の結果をリターン先情報ヘッダで示される送信先へ応答するものである。
本発明のWebサービス提供装置(計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い)では、Webサービス(プログラムやオブジェクトの実行により実現される機能)の提供を要求するリクエストメッセージをクライアント側の処理装置やWebサービス提供装置から通信装置により受信すると、このリクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するかどうかを自装置の状態や他のサービスの稼動状況等から判定し、その処理を委譲する場合にはサービス委譲処理を実行し、自装置で処理する場合にはその処理を自装置で実行する。
委譲元のWebサービス提供装置におけるサービス委譲処理では、まず各Webサービス提供装置での委譲された処理の実行状況を示す委譲先データベース中の情報を記憶装置から読み出し、その読み出した情報に応じて委譲先のWebサービス提供装置を決定する。
次に、委譲される処理の処理結果を含む応答メッセージ(リターン先情報ヘッダ及び処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージ)の委譲元への送信を委譲先のWebサービス提供装置へ要求するかどうかを判定する。例えば、クライアント側の処理装置からリクエストメッセージを直接受信したWebサービス提供装置では、クライアント側の処理装置へ処理結果を応答する必要があるので、委譲された処理の処理結果を含む応答メッセージの送信を要求する判定を行い、委譲された処理を更に他のWebサービス提供装置に委譲するWebサービス提供装置では処理結果を必要としない為、委譲された処理の処理結果を含む応答メッセージの送信を要求しない判定を行う。なお委譲された処理を更に他のWebサービス提供装置に委譲するWebサービス提供装置でも、特にその処理結果を必要とする場合には、委譲された処理の処理結果を含む応答メッセージの送信を要求する判定を行っても良い。
前記判定の結果、委譲された処理の処理結果を含む応答メッセージの送信を要求する場合には、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを、前記決定した委譲先のWebサービス提供装置へ通信装置により送信して当該処理の委譲を行う。
前記の様にして委譲された処理を委譲先のWebサービス提供装置で処理する場合、その処理を委譲先のWebサービス提供装置で実行した後、そのリクエストメッセージのヘッダ部の情報と処理結果を含む応答メッセージを生成する。
次に、前記生成した応答メッセージ中にリターン先情報ヘッダが含まれているかどうかを調べ、リターン先情報ヘッダが含まれている場合には、その応答メッセージをボディ部に埋め込んだ応答埋め込みメッセージを生成した後、その応答埋め込みメッセージを当該リターン先情報ヘッダでリターン先として示されているWebサービス提供装置へ通信装置により送信する。
リターン先情報ヘッダでリターン先として示されているWebサービス提供装置は、前記送信された応答埋め込みメッセージを受信した後、その応答埋め込みメッセージから応答メッセージを取り出し、そのリターン先情報ヘッダの中から自装置の情報を削除する。
そして、そのリターン先情報ヘッダ中に他のWebサービス提供装置へのリターン先情報が残っているかどうかを調べ、他のリターン先情報が残っている場合には、そのリターン先情報ヘッダを含む応答メッセージをボディ部に埋め込んだ応答埋め込みメッセージをリターン先情報ヘッダで示されるWebサービス提供装置へ送信し、他のWebサービス提供装置へのリターン先を示すリターン先情報ヘッダが残っていない場合には、最初にそのWebサービスの提供を要求したクライアント側の処理装置へ応答メッセージを送信する。
本発明によれば、Webサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能である。
以下にWebサービスを提供する為の処理を他のWebサービス提供装置に委譲する一実施形態のWebサービス提供装置について説明する。
図1は本実施形態のWebサービス提供システムの全体構成を示す図である。図1のWebサービス提供システムでは、同じ内容のサービスを提供し、お互いに委譲し合うサービス処理部A111、サービス処理部B112、サービス処理部C113、サービス処理部D114、サービス処理部E115、サービス処理部F116、サービス処理部G117からなる同業サービスネットワーク102と、ネットワーク101を介して繋がるクライアント側処理装置103が存在する。各サービス処理部は、それぞれWebサービス提供装置104からWebサービス提供装置108に分散している。
ここで、クライアント側処理装置103が所定のサービスの提供を受ける場合、クライアント側処理装置103は、そのサービスを提供しているWebサービス提供装置104のサービス処理部A111に対してリクエストメッセージ121を送信する。
サービス処理部A111は、自処理部でそのリクエストを処理できる場合には処理を実行するが、処理できない場合には同業サービスネットワーク102内の別のサービス処理部に処理を委譲する。本図ではサービス処理部B112に委譲しており(リクエストメッセージ122)、サービス処理部B112以後も同様にサービス処理部D114まで処理を委譲している(リクエストメッセージ123及びリクエストメッセージ124)。
そして、サービス処理部D114で処理が可能であった場合、従来技術であればそのリクエストに対する応答は委譲された道順を逆に辿って応答を返す(応答メッセージ126〜128)。しかし、単に処理を委譲しただけのサービス処理部B112及びサービス処理部C113は、必ずしも処理結果が含まれる応答を必要としない為、この様に応答を引き回すことによって無駄な通信資源を消費する可能性がある。また、送信パスを逆に辿る際、パス上のサービス処理部が必ずアクティブである保証もない為、クライアント側処理装置103への応答が遅延する可能性もある。
本実施形態は、クライアント側処理装置103からのリクエストを直接受信したサービス処理部A111に対して、処理を行ったサービス処理部D114から応答を直接送る(応答メッセージ125)ことにより、不要な応答の引き回し(応答メッセージ126〜128)を無くし、応答を効率良く返すと共に、不必要な通信資源を削減することを目的とする。なお、本図では、クライアント側処理装置103からのリクエストメッセージ121はサービス処理部A111に送信されているが、同業サービスネットワーク102に属するサービス処理部であればどれでも構わない。
図2は本実施形態のクライアント側処理装置103からのリクエストメッセージ121を処理するまでのメッセージの流れを時間的に表すシーケンスの一例を示す図である。まず、クライアント側処理装置103からのリクエストメッセージ121をサービス処理部A111が受信する。
次に、サービス処理部A111はサービス処理部B112にリクエストメッセージ(委譲)122を送信してリクエストを委譲する。ここで、「リクエストメッセージ(委譲)」は、処理を委譲する際に用いられるリクエストメッセージを示すものとし、以下の記載でも同様であるものとする。同様に、サービス処理部B112はサービス処理部C113にリクエストメッセージ(委譲)123を送信してリクエストを委譲し、サービス処理部C113はサービス処理部D114にリクエストメッセージ(委譲)124を送信してリクエストを委譲する。
サービス処理部D114は、処理が完了したら、リクエストに対する応答を埋め込んだメッセージである応答埋め込みメッセージ125をサービス処理部A111に対して送信する。サービス処理部A111は、応答埋め込みメッセージ125から処理の応答を取り出し、クライアント側処理装置103に応答メッセージ201を返信する。
またサービス処理部D114は、サービス処理部A111に応答埋め込みメッセージ125を送信した後、直接委譲を受けたサービス処理部C113に対して、応答埋め込みメッセージ125を送信したことを通知する為の応答メッセージ(通知)126を送信する。ここで、「応答メッセージ(通知)」は、委譲された処理の終了を通知する際に用いられる応答メッセージを示すものとし、以下の記載でも同様であるものとする。
サービス処理部C113は、サービス処理部D114から受信した応答メッセージ(通知)126を利用してサービス処理部B112に応答メッセージ(通知)127を送信し、同様にサービス処理部B112もサービス処理部A111に対して応答メッセージ(通知)128を送信する。
この様に本実施形態のサービス提供装置では、通常であれば応答メッセージ(通知)128を受信するタイミング以降でなければクライアント側処理装置103に返信できない応答メッセージ201を、サービス処理部D114の処理が完了してから直ぐにクライアント側処理装置103に返信することができる。
図3は本実施形態の委譲処理を行うWebサービス提供装置の概略構成を示す図である。図3に示す様に本実施形態のWebサービス提供装置300は、サービス処理部301と、メッセージ受信解析部302と、サービス実行部303と、サービス委譲処理部304と、返信用メッセージ生成部305と、メッセージ送信部306と、メッセージ返信部307とを有している。
サービス処理部301は、Webサービスを提供する為の処理の委譲や実行を行う各部を制御する処理部である。メッセージ受信解析部302は、Webサービスの提供を要求するリクエストメッセージ321またはリクエストメッセージ(委譲)322を通信装置により受信し、その内容を解析する処理部である。
サービス実行部303は、前記リクエストメッセージで要求されたWebサービスの処理を自装置で実行する処理部である。サービス委譲処理部304は、前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信装置により送信して当該処理の委譲を行う処理部である。
返信用メッセージ生成部305は、委譲により得られた結果または自装置で処理した結果から返信用のメッセージを生成する処理部である。メッセージ送信部306は、前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答埋め込みメッセージ323を当該リターン先情報ヘッダで示される送信先へ通信装置により送信する処理部である。メッセージ返信部307は、応答メッセージ(通知)324または応答メッセージ325をリクエストメッセージ321またはリクエストメッセージ(委譲)322の送信元へ返信する処理部である。
Webサービス提供装置300をサービス処理部301、メッセージ受信解析部302、サービス実行部303、サービス委譲処理部304、返信用メッセージ生成部305、メッセージ送信部306及びメッセージ返信部307として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
またWebサービス提供装置300は委譲先データベース311を有している。委譲先データベース311は、サービス委譲処理部304が委譲を行う際に委譲先を決定する為に必要な情報を保持するデータベースである。
このWebサービス提供装置300は、リクエストメッセージ321またはリクエストメッセージ(委譲)322を受信すると、リクエストの内容と自装置の状態に応じて自分で処理をするか若しくは委譲するかを判断して処理または委譲を行う。そして、その結果を特定のリターン先に送信する様に指定されていれば応答埋め込みメッセージ323と応答メッセージ(通知)324を送信し、そうでなければ従来通り応答メッセージ325を送信する処理を行う。
図4は本実施形態のサービス委譲処理部304の構成を示す図である。サービス委譲処理部304は、リクエストを委譲することが決定した場合に動作する。
サービス委譲処理部304は、委譲先のサービス処理部を決定する委譲先決定部401、委譲先のサービス処理部に対してリクエストメッセージ(委譲)322を送信する委譲メッセージ送信部402、自分のサービス処理部が応答埋め込みメッセージ323を受ける様に設定した場合に、実際に応答埋め込みメッセージ323を受信する応答埋め込みメッセージ受信部403、応答メッセージ(通知)324または応答メッセージ325を受信する委譲メッセージ応答受信部404から成る。
委譲先決定部401で委譲先を決定する為に、委譲先データベース311の情報を利用するものとする。また、応答埋め込みメッセージ受信部403及び委譲メッセージ応答受信部404は、受信したメッセージの送信先の情報を元に委譲先データベース311を更新するものとする。
図5は本実施形態のリクエストメッセージ(委譲)322の形式例を示す図である。図5のリクエストメッセージ(委譲)322はXML(Extensible Markup Language)で表現されているものとし、要素としてヘッダ部501とボディ部502を含んでいる。
ヘッダ部501は、主にWebサービスの制御情報を含んでおり、要素として、本実施形態の特徴の一つであるリターン先情報ヘッダ511と、その他のヘッダ512を持っている。リターン先情報ヘッダ511は、応答埋め込みメッセージ323の送信先に関する情報を持ち、その他のヘッダ512及びボディ部502は、委譲する処理の内容等の情報を含んでいる。
図6は本実施形態のリターン先情報ヘッダ511の内容例を示す図である。図6に示す様にリターン先情報ヘッダ511は、リターン先の情報602を開始タグ601と終了タグ603で囲む形で表すものとし、この例ではリターン先が1個しかないが、複数個指定しても構わないものとする。
リターン先の情報602は、リターン先のURL(Uniform Resource Locator)を表す属性611、現在のメッセージの状態を表す種別属性612、リターン先のどのメッセージに対応するメッセージであるかを示すメッセージ識別子属性613を含んでいる。
種別属性612には、リクエストメッセージであることを表す種別(request)、リクエストに対する応答であることを表す種別(response)、そして既に応答埋め込みメッセージを通知済みであることを表す種別(notice)がある。種別属性がnoticeであれば、そのリターン先情報ヘッダ511が含まれるメッセージは応答メッセージ(通知)324である。
図6のリターン先情報ヘッダ511を含むメッセージはリクエストのメッセージであり、当該メッセージに対する応答埋め込みメッセージのリターン先はサービス処理部Aで、サービス処理部Aにおいて対応するメッセージはA-1という識別子を持つことを示している。
リターン先の情報602を複数個指定する場合には、後から指定するものを上に指定するものとする。リターン先において、リターン先情報ヘッダ511が指定されたメッセージを受信した場合には、自分自身を示す情報を削除し、それでもなおリターン先情報が残っている場合には、そのリターン先情報で示される送信先にメッセージを送信するものとする。
図7は本実施形態の応答埋め込みメッセージ323の形式例を示す図である。図7の応答埋め込みメッセージ323もXML形式であるものとし、要素としてヘッダ部701とボディ部702を持っている。ヘッダ部701の内容はヘッダ部501の内容と同様であり、ボディ部702については、ただ一つの要素である応答メッセージ325を含んでいる。
応答メッセージ325は、それ自身がメッセージの形式をしており、要素としてヘッダ部731及びボディ部732を持っている。応答メッセージ325のヘッダ部731も他のヘッダ部501やヘッダ部701と同様の構成であり、応答メッセージ325のボディ部732はWebサービスの処理結果等の実際の応答に関する情報を含んでいる。
応答メッセージ325はそれ自身がメッセージの形式をしている為、応答埋め込みメッセージ323を受信したサービス処理部は、応答メッセージ325を取り出して別のサービス処理部またはクライアント側処理装置103に送信することが可能である。
応答埋め込みメッセージ323及び応答メッセージ325には、その内容がリクエストに対する応答であることを示す為に、リターン先情報ヘッダ711及びリターン先情報ヘッダ741中の種別属性612に応答を表す値を設定するものとする。
図8は本実施形態の応答メッセージ(通知)324の形式例を示す図である。図8の応答メッセージ(通知)324も他のメッセージ同様XML形式であるものとし、ヘッダ部801及びボディ部802を要素に持っている。ヘッダ部801の内容も他のメッセージ同様リターン先情報ヘッダ811とその他のヘッダ812から成る。
本メッセージの役割は、既に応答埋め込みメッセージ323をリターン先に送信したことを示すことであるので、ボディ部802は特に要素を持たないものとし、リターン先情報ヘッダ811における種別属性612には、通知目的であることを示す値を設定するものとする。
図9は本実施形態の委譲先データベース311のデータ形式の一例を示す図である。図9に示す様に委譲先データベース311は、属性として委譲先識別子911、委譲先URL912、これまでにどの程度委譲したリクエストを処理したかを示す委譲処理率913、これまでの委譲の依頼数を示す委譲依頼数914、これまでの委譲の処理数を示す委譲処理数915、各レコードの登録された日付を表す登録日916を持っている。
この例のサービス処理部B112に関する情報を示すレコード902は、サービス処理部B112が2003年4月5日からサービス処理部A111のデータベースに登録されており、サービス処理部Aからの委譲依頼を80%の確率で処理しており、依頼数は120件、処理数は96件にのぼることを示している。サービス委譲処理部304の委譲先決定部401は、本情報を基に委譲先を決定する。また、応答埋め込みメッセージ受信部403及び委譲メッセージ応答受信部404は受信したメッセージ内容を基に本情報を更新する。
図10は本実施形態のWebサービス提供装置300の処理手順を示すフローチャートである。ステップ1001でWebサービス提供装置300のメッセージ受信解析部302は、Webサービスの提供を要求するリクエストメッセージ321またはリクエストメッセージ(委譲)322がクライアント側処理装置103または他のWebサービス提供装置300から送信されているかどうかを調べ、送信されている場合にはそれらのメッセージを通信装置により受信してメモリに格納する。
ステップ1002では、前記メモリに格納したメッセージの内容を読み出してその内容を解析し、このリクエストを他のWebサービス提供装置300に委譲するかどうか判定する。この判定方法は、自装置での処理負荷等の状態を判断して判定しても良いし、他のサービス処理部の稼動状況から判断しても構わない。委譲先データベース311に属性を追加し、それを利用して判定しても良い。
ステップ1002で判定した結果、そのリクエストを委譲する場合にはステップ1003へ進み、ステップ1003でサービス委譲処理部304は、リターン先情報ヘッダ511の付加されたリクエストメッセージ(委譲)322を通信装置により委譲先のWebサービス提供装置300へ送信して当該処理の委譲を行う。
またステップ1002で判定した結果、そのリクエストを自装置で処理する場合にはステップ1004へ進み、ステップ1004でサービス実行部303は、前記リクエストメッセージで要求されたWebサービスの処理を自装置で実行する処理を行う。
次にステップ1005で返信用メッセージ生成部305は、ステップ1003での委譲により得られた結果またはステップ1004での自装置で処理した結果から返信用のメッセージを生成する処理を行う。生成する返信用のメッセージには応答埋め込みメッセージ323と応答メッセージ(通知)324の対と、応答メッセージ325の2種類がある。どちらの返信用メッセージを生成したかによって、以降の処理が異なる。
ステップ1006では、ステップ1005で応答埋め込みメッセージ323を生成したかどうかを調べ、応答埋め込みメッセージ323を生成した場合にはステップ1007へ進み、そうでない場合にはステップ1009へ進む。
ステップ1007でメッセージ送信部306は、ステップ1005で生成された応答埋め込みメッセージ323中のリターン先情報ヘッダからリターン先のURLを表す属性611を読み出し、その応答埋め込みメッセージ323を属性611で示される送信先へ通信装置により送信する処理を行う。そしてステップ1008でメッセージ返信部307は、ステップ1005で生成された応答メッセージ(通知)324を、リクエストメッセージ(委譲)322の送信元へ返信する処理を行う。また、ステップ1009では、メッセージ返信部307により、応答メッセージ325をリクエストメッセージ321の送信元へ返信する処理を行う。
サービスを委譲する場合のステップ1003の処理及び返信用メッセージを生成するステップ1005の処理の詳細については、それぞれ図11、図12にて表している。以下、これらの処理手順について説明する。
図11は本実施形態のサービス委譲処理部304におけるサービス委譲処理の処理手順を示すフローチャートである。ステップ1003でサービス委譲処理部304が処理を開始すると、まずステップ1101でサービス委譲処理部304は、各Webサービス提供装置での委譲された処理の実行状況を示す委譲先データベース311中の情報を記憶装置から読み出し、その読み出した情報に応じて委譲先のWebサービス提供装置を決定する。決定の方法は、委譲処理率913が最も高いものを選択しても良いし、登録日が最も新しいものを選択する方法でも良いし、これらの組合せ条件を満たすものでも構わない。
次にステップ1102では、応答埋め込みメッセージ323を要求するかどうかを判定する。例えば、クライアント側処理装置103からリクエストメッセージ321を直接受信したWebサービス提供装置では、クライアント側処理装置103へ処理結果を応答する必要があるので、委譲された処理の処理結果を含む応答埋め込みメッセージ323の送信を要求する判定を行い、リクエストメッセージ(委譲)322により委譲された処理を更に他のWebサービス提供装置に委譲するWebサービス提供装置では、その処理結果を必要としない為、委譲された処理の処理結果を含む応答埋め込みメッセージ323の送信を要求しない判定を行う。なお委譲された処理を更に他のWebサービス提供装置に委譲するWebサービス提供装置でも、特にその処理結果を必要とする場合には、委譲された処理の処理結果を含む応答埋め込みメッセージ323の送信を要求する判定を行っても良い。
ステップ1102での判定の結果、応答埋め込みメッセージ323を要求する場合には、ステップ1103にて自装置のサービス処理部へのURLを示す属性611及び現在処理中のメッセージを識別する為のメッセージ識別子属性613をリターン先情報ヘッダ511としてリクエストメッセージ(委譲)322に記述する。ここで、ステップ1001で受信したメッセージがリクエストメッセージ(委譲)322であり、既にリターン先情報ヘッダ511が含まれている場合には、そのリターン先情報ヘッダ511に自装置の属性611及びメッセージ識別子属性613を追加してリクエストメッセージ(委譲)322の記述を行う。また応答埋め込みメッセージ323を要求しない場合には、受信したメッセージをそのままリクエストメッセージ(委譲)322とする。
続いてステップ1104では、リクエストメッセージ(委譲)322をステップ1101で決定した委譲先のWebサービス提供装置に対して通信装置により送信する。
この先の処理は、ステップ1102にて応答埋め込みメッセージ323を要求するとの判定を行ったかどうかによって処理が異なっており、ステップ1105では、ステップ1102で応答埋め込みメッセージ323を要求する判定を行ったかどうかを調べ、その判定を行っている場合にはステップ1108に進み、ステップ1108では、応答埋め込みメッセージ323が送信されるのを待って、応答埋め込みメッセージ323の受信を行う。
複数のリクエストを他のサービス処理部に委譲している場合、どの応答埋め込みメッセージ323がどのリクエストメッセージ(委譲)322に対応するものであるかを識別する必要がある。そこで、ステップ1109では、応答埋め込みメッセージ中のリターン先情報ヘッダ511中のメッセージ識別子属性613を利用し、まずリクエストメッセージ(委譲)322と応答埋め込みメッセージ323とを対応付ける。その後、応答埋め込みメッセージ323から応答メッセージ325を取り出し、応答メッセージ325中のリターン先情報ヘッダ511の中から自サービス処理部の情報を削除し、その応答メッセージ325を返信用メッセージ生成部305に送る。
更にステップ1110にて、リクエストメッセージ(委譲)322に対応する応答メッセージ(通知)324を受信するのを待つ。応答メッセージ(通知)324は特に返信用メッセージ生成部305に送る必要はない。
一方、ステップ1102で応答埋め込みメッセージ323を要求する判定を行っていない場合にはステップ1106に進み、リクエストメッセージ(委譲)322に対する応答メッセージ325を受信するのを待ち、受信した応答メッセージ325を返信用メッセージ生成部305に送る(ステップ1107)。
これらの処理の後で、ステップ1111にて委譲先の処理の状況を委譲先データベース311に反映する。これら一連の動作を行うことにより、他サービス処理部に処理を委譲した場合に、従来通りに応答を受信する処理と、本実施形態の特徴である、先に応答を受信する処理の両方が可能となる。
図12は本実施形態の返信用メッセージ生成部305の処理手順を示すフローチャートである。ステップ1005で返信用メッセージ生成部305の処理が開始されると、ステップ1201で返信用メッセージ生成部305は、ステップ1002での判定結果を調べて、自サービス処理部でリクエストを処理したかどうか判定し、自サービス処理部でリクエストを処理した場合にはステップ1202へ進む。
ステップ1202で返信用メッセージ生成部305は、その実行結果を元にしてリクエストメッセージのヘッダ部と処理結果を含む応答メッセージ325を生成する。なお、自サービス処理部で処理をしなかった場合、すなわち他サービス処理部に処理を委譲した場合には、図11に示した様に既にサービス委譲処理部304の働きによって応答メッセージ325は生成されている。
ステップ1203では、返信用メッセージ生成部305またはサービス委譲処理部304によって生成された応答メッセージ325中のヘッダ部を参照し、その中にリターン先情報ヘッダ511が残っているかどうかを調べる。リターン先情報ヘッダ511が残っている場合には、そのリターン先情報に従って応答埋め込みメッセージ323を送信しなければならない。この為、ステップ1204にて応答メッセージ325をボディ部に埋め込んだ応答埋め込みメッセージ323を生成し、ステップ1205では、この応答に関する応答メッセージ(通知)324を生成する。
一方、ステップ1203で調べた結果、返信用メッセージ生成部305またはサービス委譲処理部304によって生成された応答メッセージ325中のヘッダ部にリターン先情報ヘッダ511が残っていなければ、応答埋め込みメッセージ323を生成する必要はないので、そのまま返信用メッセージ生成部305の処理を終了する。
なお、上記実施形態では、委譲を行う様に提携した同業サービスネットワーク102を例に挙げて説明したが、委譲先データベース311に負荷情報を格納して負荷分散ネットワークに適用し、その負荷に応じて委譲先を決定する様にしても構わないものとする。
また本実施形態では、委譲先データベース311をテーブルで表現したが、委譲先データベース311の情報を単なるテキストファイルまたは別の形式で保持しても構わないものとする。更に本実施形態では、委譲先データベース311をWebサービス提供装置内に保持する様に表現したが、委譲先データベース311をWebサービス提供装置外に配置し、ネットワークで共有化するものとしても構わないものとする。
以上説明した様に本実施形態のWebサービス提供装置によれば、他のWebサービス提供装置から委譲された処理の結果をリターン先情報ヘッダで示される送信先へ応答するので、Webサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能である。
本実施形態のWebサービス提供システムの全体構成を示す図である。 本実施形態のクライアント側処理装置103からのリクエストメッセージ121を処理するまでのメッセージの流れを時間的に表すシーケンスの一例を示す図である。 本実施形態の委譲処理を行うWebサービス提供装置の概略構成を示す図である。 本実施形態のサービス委譲処理部304の構成を示す図である。 本実施形態のリクエストメッセージ(委譲)322の形式例を示す図である。 本実施形態のリターン先情報ヘッダ511の内容例を示す図である。 本実施形態の応答埋め込みメッセージ323の形式例を示す図である。 本実施形態の応答メッセージ(通知)324の形式例を示す図である。 本実施形態の委譲先データベース311のデータ形式の一例を示す図である。 本実施形態のWebサービス提供装置300の処理手順を示すフローチャートである。 本実施形態のサービス委譲処理部304におけるサービス委譲処理の処理手順を示すフローチャートである。 本実施形態の返信用メッセージ生成部305の処理手順を示すフローチャートである。
符号の説明
101…ネットワーク、102…同業サービスネットワーク、103…クライアント側処理装置、104〜108…Webサービス提供装置、111…サービス処理部A、112…サービス処理部B、113…サービス処理部C、114…サービス処理部D、115…サービス処理部E、116…サービス処理部F、117…サービス処理部G、121〜124…リクエストメッセージ、125〜128…応答メッセージ、122〜124…リクエストメッセージ(委譲)、125…応答埋め込みメッセージ、126〜128…応答メッセージ(通知)、201…応答メッセージ、300…Webサービス提供装置、321…リクエストメッセージ、322…リクエストメッセージ(委譲)、323…応答埋め込みメッセージ、324…応答メッセージ(通知)、325…応答メッセージ、301…サービス処理部、302…メッセージ受信解析部、303…サービス実行部、304…サービス委譲処理部、305…返信用メッセージ生成部、306…メッセージ送信部、307…メッセージ返信部、311…委譲先データベース、401…委譲先決定部、402…委譲メッセージ送信部、403…応答埋め込みメッセージ受信部、404…委譲メッセージ応答受信部、501…ヘッダ部、502…ボディ部、511…リターン先情報ヘッダ、512…その他のヘッダ、601…開始タグ、602…リターン先の情報、603…終了タグ、611…属性、612…種別属性、613…メッセージ識別子属性、701…ヘッダ部、702…ボディ部、711…リターン先情報ヘッダ、712…その他のヘッダ、731…ヘッダ部、732…ボディ部、741…リターン先情報ヘッダ、742…その他のヘッダ、801…ヘッダ部、802…ボディ部、811…リターン先情報ヘッダ、812…その他のヘッダ、901〜907…レコード、911…委譲先識別子、912…委譲先URL、913…委譲処理率、914…委譲依頼数、915…委譲処理数、916…登録日

Claims (10)

  1. Webサービスを提供する為の処理を委譲するWebサービス委譲処理方法において、
    Webサービスの提供を要求するリクエストメッセージをネットワークである通信手段により受信するステップと、
    前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するかどうか判断するステップと、
    委譲した場合の処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージの委譲元への送信を要求する場合に、その応答埋め込みメッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うステップと、
    前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを生成するステップと、
    前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップと
    通知用の応答メッセージを前記リクエストメッセージの送信元へ通信手段により送信するステップと
    を有することを特徴とするWebサービス委譲処理方法。
  2. 前記Webサービスの処理を委譲する際にその処理結果を含む応答メッセージの委譲元への送信が不要である場合に、前記リクエストメッセージを変更せずに通信手段により送信して当該処理の委譲を行うことを特徴とする請求項1に記載されたWebサービス委譲処理方法。
  3. 前記自装置が、前記Webサービスの処理を委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する際に、リクエストメッセージ中にリターン先情報ヘッダが含まれている場合には、そのリターン先情報ヘッダに自装置を示す送信先を追加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うことを特徴とする請求項1または請求項2のいずれかに記載されたWebサービス委譲処理方法。
  4. 前記自装置が、委譲処理率、委譲依頼数、委譲処理数である各Webサービス提供装置での委譲された処理の実行状況を示す委譲先データベース中の情報を記憶手段から読み出し、その読み出した情報に応じて委譲先のWebサービス提供装置を決定することを特徴とする請求項1乃至請求項3のいずれか1項に記載されたWebサービス委譲処理方法。
  5. 前記自装置が、前記処理結果を含む応答メッセージをリターン先情報ヘッダで示される送信先へ送信する際に、どのリクエストメッセージに対応した処理結果であるかを識別する為のメッセージ識別子を含む応答メッセージを通信手段により送信することを特徴とする請求項1乃至請求項4のいずれか1項に記載されたWebサービス委譲処理方法。
  6. 前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その委譲された処理の終了を通知する為の応答メッセージを当該リクエストメッセージの送信元のWebサービス提供装置へ通信手段により送信することを特徴とする請求項1乃至請求項5のいずれか1項に記載されたWebサービス委譲処理方法。
  7. 前記自装置が、前記処理結果を含む応答メッセージを送信する際に、リターン先情報ヘッダ及び処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを生成して当該リターン先情報ヘッダで示される送信先へ通信手段により送信することを特徴とする請求項1乃至請求項6のいずれか1項に記載されたWebサービス委譲処理方法。
  8. Webサービスを提供する為の処理を実行してWebサービスの提供を行うWebサービス提供装置において、
    Webサービスの提供を要求するリクエストメッセージをネットワークである通信手段により受信するメッセージ受信解析部と、
    前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するかどうか判断して委譲した場合の処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージの委譲元への送信を要求する場合に、その応答埋め込みメッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うサービス委譲処理部と、
    前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを生成し、前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するメッセージ送信部と、通知用の応答メッセージを前記リクエストメッセージの送信元へ通信手段により送信するメッセージ返信部とを備えることを特徴とするWebサービス提供装置。
  9. Webサービスを提供する為の処理を委譲するWebサービス委譲処理方法をコンピュータに実行させる為のプログラムにおいて、
    Webサービスの提供を要求するリクエストメッセージをネットワークである通信手段により受信するステップと、
    前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するかどうか判断するステップと、
    委譲した場合の処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージの委譲元への送信を要求する場合に、その応答埋め込みメッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うステップと、
    前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを生成するステップと、
    前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップと
    通知用の応答メッセージを前記リクエストメッセージの送信元へ通信手段により送信するステップと
    をコンピュータに実行させることを特徴とするプログラム。
  10. Webサービスを提供する為の処理を委譲するWebサービス委譲処理方法において、
    Webサービスの提供を要求するリクエストメッセージをネットワークである通信手段により受信するステップと、
    前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するかどうか判断するステップと、
    委譲すると判断した場合に、前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲するステップと、
    当該サービスを委譲するステップは、
    委譲先とする他のWebサービス提供装置を決定するステップと、
    委譲先の処理による処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージの委譲元への送信を要求するかどうかを決定するステップと、
    前記応答埋め込みメッセージの委譲元への送信を要求する場合に、その応答埋め込みメッセージの送信先である自装置を示すリターン先情報ヘッダを生成し、そのリターン先情報ヘッダを付加したリクエストメッセージを生成するステップと、
    委譲先に前記リクエストメッセージを送信するステップと、
    委譲先の処理による処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージの委譲元への送信を要求しているかどうかを判定するステップと、
    前記応答埋め込みメッセージの委譲元への送信を要求している場合に、その応答埋め込みメッセージを受信するステップと、
    前記応答埋め込みメッセージから委譲先の処理による処理結果を含む応答メッセージを抽出し、リターン先情報ヘッダから自装置の情報を削除して返信用メッセージ生成部に送るステップと、
    前記応答埋め込みメッセージの委譲元への送信を要求していない場合に、委譲先の処理による処理結果を含む応答メッセージを受信するステップと、
    受信した前記応答メッセージをそのまま返信用メッセージ生成部へ送るステップと、
    を有し、
    前記リクエストメッセージで要求されたWebサービスの処理を他のWebサービス提供装置へ委譲しないと判断した場合に、前記リクエストメッセージで要求されたWebサービスの処理を自装置にて処理するステップと、
    返信用メッセージを生成するステップと、
    当該返信用メッセージを生成するステップは、
    自装置によって前記リクエストメッセージを処理したかどうか判定するステップと、
    処理した場合に、処理結果と前記リクエストメッセージのヘッダ部から応答メッセージを生成するステップと、
    前記応答メッセージにリターン先情報ヘッダが残っているかどうか判定するステップと、
    残っている場合に、前記応答メッセージを埋め込んだ応答埋め込みメッセージを生成するステップと、
    通知用の応答メッセージを生成するステップと、
    を有し、
    前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ送信するかどうか判定するステップと、
    前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ送信する場合に、前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップと、
    前記通知用の応答メッセージをリクエストメッセージの送信元に送信するステップと、
    前記応答埋め込みメッセージを当該リターン先情報ヘッダで示される送信先へ送信しない場合に、前記応答メッセージをリクエストメッセージの送信元に送信するステップと、
    を有することを特徴とするWebサービス委譲処理方法。
JP2004038278A 2004-02-16 2004-02-16 Webサービス委譲処理方法及び実施装置並びに処理プログラム Expired - Fee Related JP4291174B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004038278A JP4291174B2 (ja) 2004-02-16 2004-02-16 Webサービス委譲処理方法及び実施装置並びに処理プログラム
US11/055,000 US7650410B2 (en) 2004-02-16 2005-02-09 Method and system for managing programs for Web service system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004038278A JP4291174B2 (ja) 2004-02-16 2004-02-16 Webサービス委譲処理方法及び実施装置並びに処理プログラム

Publications (2)

Publication Number Publication Date
JP2005228229A JP2005228229A (ja) 2005-08-25
JP4291174B2 true JP4291174B2 (ja) 2009-07-08

Family

ID=34987658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004038278A Expired - Fee Related JP4291174B2 (ja) 2004-02-16 2004-02-16 Webサービス委譲処理方法及び実施装置並びに処理プログラム

Country Status (2)

Country Link
US (1) US7650410B2 (ja)
JP (1) JP4291174B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171593B2 (en) * 2014-06-30 2019-01-01 Verizon Patent And Licensing Inc. Validating web services for compatibility with a client device by emulating the client device by populating a template associated with the web services
JP4855655B2 (ja) * 2004-06-15 2012-01-18 株式会社ソニー・コンピュータエンタテインメント 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
US8321503B2 (en) * 2010-06-24 2012-11-27 Microsoft Corporation Context-specific network resource addressing model for distributed services

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6898633B1 (en) * 2000-10-04 2005-05-24 Microsoft Corporation Selecting a server to service client requests
US7509372B2 (en) * 2001-09-13 2009-03-24 International Business Machines Corporation Method and system for redirecting data requests in peer-to-peer data networks
US7143139B2 (en) * 2002-03-27 2006-11-28 International Business Machines Corporation Broadcast tiers in decentralized networks

Also Published As

Publication number Publication date
US20050210136A1 (en) 2005-09-22
JP2005228229A (ja) 2005-08-25
US7650410B2 (en) 2010-01-19

Similar Documents

Publication Publication Date Title
CN102185900B (zh) 一种应用服务平台***和一种开发应用服务的方法
US7539734B2 (en) Systems for dynamic inter-operability of nodes in service grids
US7904882B2 (en) Managing virtual business instances within a computer network
JP5188284B2 (ja) サービス接続システム及びサービス接続方法
US7689430B2 (en) Access to web services
US20090019106A1 (en) Method of redirecting client requests to web services
US7996562B2 (en) Messaging system interface to web services
US20060020692A1 (en) System and method for locating web services
JP2006072978A (ja) サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体
CN109327511B (zh) 一种基于http协议的数据请求方法和服务器
US7500251B2 (en) Method and system for managing programs for web service system
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
WO2008055888A2 (en) Method and system for dynamically specifying a format for data provided by a web service invocation
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
CN115174472B (zh) 一种消息转发处理方法及相关装置
JP2008234206A (ja) 情報送信システム、情報処理装置、情報管理装置及び情報送信方法
JP2005346573A (ja) Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体
US20100220352A1 (en) Image forming apparatus, image forming system, and information processing method
JP4291174B2 (ja) Webサービス委譲処理方法及び実施装置並びに処理プログラム
US7885997B2 (en) Data processing method, program, device, message structure, message generation method, and message transmission method
CN105306602A (zh) 超文本传输协议请求的处理方法、处理装置和服务器
US20040172441A1 (en) Systems and methods for defining conversation information for web-services
JP5084355B2 (ja) フロー処理実行装置、フロー処理実行方法及びプログラム
JP2007102480A (ja) 通信制御プログラム、通信制御方法および通信制御装置
JP2011022856A (ja) Webアプリケーションの連携方法、連携装置、および連携プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090402

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees