JP4285655B2 - Webサービスを提供する方法、装置、プログラム - Google Patents

Webサービスを提供する方法、装置、プログラム Download PDF

Info

Publication number
JP4285655B2
JP4285655B2 JP2005208184A JP2005208184A JP4285655B2 JP 4285655 B2 JP4285655 B2 JP 4285655B2 JP 2005208184 A JP2005208184 A JP 2005208184A JP 2005208184 A JP2005208184 A JP 2005208184A JP 4285655 B2 JP4285655 B2 JP 4285655B2
Authority
JP
Japan
Prior art keywords
web service
request
response
information
web
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
JP2005208184A
Other languages
English (en)
Other versions
JP2007026150A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2005208184A priority Critical patent/JP4285655B2/ja
Priority to US11/427,817 priority patent/US20070022199A1/en
Priority to CNB2006101015048A priority patent/CN100456722C/zh
Publication of JP2007026150A publication Critical patent/JP2007026150A/ja
Priority to US12/060,429 priority patent/US20080228930A1/en
Application granted granted Critical
Publication of JP4285655B2 publication Critical patent/JP4285655B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Session management
    • 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/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、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、2)。
特開2005−149131公報 特開2005−56058公報
しかしながら、従来技術では、Webアプリケーションの中で単一のユーザセッションのみを対象とし、複数のWebページにまたがってユーザセッションを保つ、いわゆるステートフル(Stateful)なWebアプリケーションには対応できていない。つまり、Webページを切り替えるたびにユーザセッションを新たに確立しなおすことを前提としている。例えば、特許文献1ではWebアプリケーションとWebサービスとの間のプロトコル分析、変換方法などが開示されているが、ユーザセッションの管理については記載されていない。
さらに、特許文献2は、ステートフルなWebアプリケーションに対応した例であるが、プロキシサーバでセッション状態を管理する必要があり、プロキシサーバとWebサービス・クライアントとの間でのセッション管理が複雑になる。また、セッション情報がどのように渡されるかを、明示的に指定してプロキシサーバを構成する必要があり、構成の手間がかかる。さらには、セッション情報は、プロキシサーバからWebサービス・クライアントへWebサービスの伝送層(HTTP)を通じて渡されるため、特殊な伝送層に対応したWebサービス・クライアントが必要になる。
したがって、WebアプリケーションをWebサービスに変換するプロキシサーバに負担が少なく、かつ、サービスを要求するクライアント上で複雑なプログラミングや特殊なミドルウェアを必要としない柔軟なWebサービス・クライアントが構成できるような簡便な方法が望ましい。
本発明は、上記課題を解決し、ステートフルなWebアプリケーションに対して簡単で柔軟なWebサービス・クライアントの構成を可能にする方法を提供することを目的とする。
本発明は、Webサービス・クライアントのリクエストに対して、プロキシ装置が、Webアプリケーション・サーバにアクセスし、Webサービスを提供する方法であって、
Webサービス・クライアントのリクエストに応じて、アプリケーション・サーバにたいして、HTTPリクエストを送るステップと、Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加え、HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディから抽出したユーザセッション情報を、Webサービス・クライアントヘのレスポンスに含めるステップと、Webサービス・クライアントからのリクエストに含まれたユーザセッション情報を、HTTPリクエスト中のエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含め、前記Webアプリケーション・サーバに送るステップと、を備えるWebサービスを提供する方法を提案する。
上記発明によれば、Webサービス・クライアントからのリクエストに応じて、プロキシ装置が、Webアプリケーションを格納するHTTPサーバに対して、HTTPリクエストを発行する。HTTPサーバからその返答であるHTTPレスポンスをプロキシ装置が受信すると、そこからユーザセッション情報を抽出して、Webサービス・クライアントへのレスポンスにこのユーザセッション情報を含める。Webサービス・クライアントは以後のリクエストに、そのユーザセッション情報をアプリケーション・データの一部として含め、かつ、他のアプケーション・データと区別可能なかたちで送ることができる。プロキシ装置は、受信したWebサービス・クライアントからのリクエストに含まれているユーザセッション情報を、HTTPリクエストに埋め込んでHTTPサーバに送信するため、もとのユーザセッションを再開することができる。そのため、Webサービス・クライアント、プロキシ装置共にユーザセッション管理の負担をかけず、容易にWebサービス化を実現することができる。
本発明によれば、複雑なプログラミングなしに、既存のステートフルなWebアプリケーションをWebサービス化することができる。また、いったん本発明のWebサービス化を適用すれば、BPEL4WS(Business Process Execution Language for Web Service)のような言語で、複数のHTTPセッションに対応する複数のオペレーションを組み合わせて、1つのサービスとして提供することも可能になる。つまり、複数のHTTPセッションにまたがるようなWebアプリケーションの一連の操作を1つのサービスとして簡単に提供できる。
以下、発明の実施形態を通じて本発明を説明する。なお、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている構成要素の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明に係るWebサービスを提供するシステム構成の概略を示す。Webサービスの提供を要求するWebサービス・クライアント30はインターネット20を介して、プロキシ装置10と通信する。プロキシ装置10は、Webアプリケーションを提供するWebアプリケーション・サーバ40と通信路50を介して通信する。通信路50はローカル・エリア・ネットワーク(LAN)であってよい。すなわち、プロキシ装置10は、Webサービス・クライアント30とWebアプリケーション・サーバ40との間を仲介する役割をはたす。プロキシ装置10とWebサービス・クライアント30との間では、通信プロトコルとして、一般にはSOAP(Simple Object Access Protocol)を用いるが、他のプロトコル、例えば、CORBA(Common Object Request Broker Architecture)などにも応用が可能である。Webアプリケーション・サーバ40とプロキシ装置10の間では一般的なHTTPプロトコルが用いられる。以下の実施形態では、Webアプリケーション・サーバとのプロトコルはSOAPを例として説明するが、他のプロトコルであっても基本的な構成は同様である。
プロキシ装置10は、Webサービス・クライアント30に対するSOAPリクエストとそのレスポンスを処理するSOAPリクエスト受信部11b、リクエスト解析部11aと、レスポンス生成部14a,SOAPレスポンス送信部14bを備える。さらに、プロキシ装置10は、Webアプリケーション・サーバ40に対するリクエストとレスポンスを処理するHTTPリクエスト生成部12a、HTTPリクエスト送信部12bとHTTPレスポンス受信部13b、HTTPレスポンス解析部13aおよび、全体を制御する制御部15から構成される。
リクエスト解析部11aは、SOAPリクエスト受信部11bを介して、Webサービス・クライアントからのWebサービスのリクエストを受信し、そのメッセージ内容を解析する。
HTTPリクエスト生成部12aは、上記SOAPリクエストに応じて、Webアプリケーション・サーバ40にHTTPリクエストをHTTPリクエスト送信部12bを介して送信する。
HTTPレスポンス解析部13aは、Webアプリケーション・サーバからのHTTPレクエストに対するHTTPレスポンスに含まれたセッション管理に必要な情報を抽出する。抽出の詳細については、後述する。
レスポンス生成部14aは、制御部15を介して、HTTPレスポンス解析部13aによって抽出されたセンション管理に必要な情報をWebサービス・クライアントへのSOAPレスポンスの中のSOAPボディに含める。Webサービス・クライアントは受信したSOAPレスポンスに含まれる上記ユーザセッション情報を以後のSOAPリクエストにそのまま含める。また、そのユーザセッション情報は、HTTPリクエスト生成部12aによって以後のHTTPリクエストに含められる。
上記送受信のプロセスを図4に示す。以下、図1のプロキシ装置10を変換プロキシ64、Webサービス・クライアント30をWSクライアント63、Webアプリケーション・サーバ40をWebアプリケーション62として表記する。比較のため、図2にステートレス(Webページが変わるたびにユーザセッションを確立しなおす)なWebアプリケーションとWebブラウザ61を介したユーザとの送受信のプロセスを示した。ここで示されるように、ユーザが入力、クリックするたびにWebアプリケーションに対してHTTPリクエスト(S02,S06)が発行され、それに対するHTTPレスポンス(S03,S07)に応じて、Webブラウザ61がフォーム表示や結果の表示を行う。
図3には、このようなステートレスなWebアプリケーションを、従来技術によってWebサービス化する変換プロキシを介して、WSクライアント63とWebアプリケーション62との送受信のプロセスを示した。図3のプロセスでは、SOAPリクエストS11に応じてHTTPリクエストS12が発行されるが、HTTPレスポンスS13からユーザセッション情報を抽出し、SOAPレスポンスS14にユーザセッション情報が含まれることはない。一方、図4で示されるプロセスでは、最初のSOAPリクエストS21に対して、HTTPリクエストS22が発行され、Webアプリケーション・サーバから、HTTPリクエストS22に対するHTTPレスポンスS23が返信されると、そのHTTPレスポンスS23からユーザセッション情報が解析されて(自動的に)抽出される。
また、SOAPリクエストS25に含められたユーザセッション情報は(自動的に)HTTPリクエストS26に(適切に)埋め込まれる。このため、S24で返されたユーザセッション情報がS25に含めて送られると、S22−S23のセッションを継続してS26−S27の送受信を行なうことができるようになる。HTTPレスポンスS27からはやはり(自動的に)ユーザセッション情報が抽出され、S28に含めて送られる。以降、同様に、送り返されたユーザセッション情報をSOAPリクエストに含めることにより、それに対応するHTTP送受信は、もとのHTTP送受信のセッションを継続して行なうことができる。これによって、SOAPリクエストのたびにユーザセッションを確立しなおす必要がなくなり、以前のユーザセッションを再開することができるようになる。
WSクライアント63(図4参照)の機能は、典型的には、BPEL4WSのような、ワークフローエンジン上に構成されたプログラムや、通常のJava(登録商標)のようなプログラミング言語で書かれたりするソフトウェアによって実現される。図5にその送受信プロセスの例を示した。ワークフローエンジン65は、変換プロキシ64により提供されるWebサービスポートから返信(S34)されたセッション管理情報をそのまま、Webサービス化プロキシで提供される別のWebサービスポートに送ればよい(S35)。
図6に、本発明に係る変換プロキシの動作を説明するために用いるHTTPリクエスト・レスポンスのメッセージ構成を示す。本発明に係る変換プロキシでは、すでに述べたようにHTTPサーバから送られるHTTPレスポンス70に含まれるセッション情報を抽出し、HTTPサーバから返されるユーザセッション情報として、HTTPクライアントへのレスポンスに、その情報をエンティティ・ボディ(Entity-Body)73中のアプリケーション・データとして、区別可能な一連情報として含める。
Entity-Body中にアプリケーション・データとしてユーザセッション情報を含めることによって、変換プロキシとWebサービス・クライアントとの間のセッション情報の管理が単純になる。つまり、SOAPのトランスポート層であるHTTPのCokkieヘッダや、SOAPヘッダのようなメタデータとしてWebサービス・クライアントと変換プロキシとの間でセッション管理情報が受け渡されることはない。Webサービス・クライアントは、セッション情報の存在自体は意識する必要があるが、その中身までを意識する必要はなく、セッション上連続する一つめのWebサービスレスポンスから得られたセッション情報をそのまま次のWebサービスリクエストに含めるだけでよい。これによって、得られたセッション情報を複数のクライアント・アプリケーション間で受け渡して用いるなど、柔軟なWebサービス・クライアントの構成が可能となる。
セッション情報として抽出するのは以下の3つのである。
1)Set−Cookieヘッダ情報、および、エンティティ・ボディ中のSCRIPT要素をエミュレートしたときに設定されるCookieの値
2)エンティティ・ボディ中のFORM要素に指定されたaction属性値URI、または、通常のハイパーリンク先のURI(以降の説明では、通常のハイパーリンクは、INPUTコントロールがなくGETメソッドであるような、特殊なフォームであるとみなす。)
3)FORM中のtype属性がhiddenに設定されたINPUTコントロールのname属性値とvalue属性値のペア群
また、変換プロキシは、抽出したユーザセッション情報をSOAPレスポンスのSOAPボディに含めることによって、以後、Webサービス・クライアントがWebサービスのリクエストにこのユーザセッション情報をそのまま送れるようにし、受け取ったユーザセッション情報を、該当するセッション管理手法を用いてHTTPリクエスト603に埋め込んでHTTPサーバに送る。
<データ構造>
図7に、比較のため、従来のWebサービス化におけるSOAPリクエスト100,SOAPレスポンス110と、本発明に係るWebサービス化におけるSOAPリクエスト・レスポンスのデータ構造を示す。基本的には、セッション情報104がSOAPボディ101に加わっているだけと考えればよい。この構造では、セッション情報は常にアプリケーション・データとしてSOAPリクエスト100のSOAPボディ101に含まれるため、変換プロキシにおいて内容をチェックする必要がなく、HTTPリクエスト中にそのまま含めることができる。
図8に、セッション情報部の構造を示す。これらのうち、action(0か1個)は、Formタグのaction属性の値、Cookie(0か1個)は、Set-CookieヘッダやCookieヘッダ、スクリプトなどで設定されるCookieの値、hidden(0個以上)は、hidden属性のINPUTコントロールに設定されている名前(name)と値(value)の組が入る。
上記手法を用いることにより、セッション管理のための情報の設定は全て、変換プロキシにより自動的に行われ、URIによるセッション管理の存在をユーザ(Webサービス・クライアント)が明示的に指定する必要はない。また、Formのaction属性値の書換えによるセッション管理や、Formの隠しフィールドの書換えによるセッション管理にも対応できる。
<アルゴリズム>
図9は、本発明に係るWebサービス化プロキシにおける、Webサービス化アルゴリズムの概要を示す。まず、SOAPリクエストを受信すると(ステップS100)、リクエスト解析部11a(図1参照)がSOAPメーセージをデシリアライズ(非直列化)して解析する(ステップS101)。
次に、HTTPリクエスト生成部12a(図1参照)は、SOAPリクエストに対してHTTPリクエストを生成する(ステップS102)。ここで、SOAPメッセージの中にactionエレメントが存在すれば、そのエレメント値に従ってRequest−URIを変更する(ステップS103)。さらに、Cookieエレメントが存在すれば、Cookieエレメントの値を用いてEnity−Header中にCookieヘッダを加える(ステップS104)。また、hiddenエレメントが存在すれば、Request−URIにname属性値とValue属性値のペアを、GETメソッドのときはRequest−URIに加え、POSTメソッドのときはEntity−Bodyに加える(ステップS105)。その後、HTTPリクエストを送信する(ステップS106)。
次に、HTTPレスポンス解析部13a(図1参照)が、上記送信したHTTPリクエストのレスポンスを受信し(ステップS107)、内容を解析する(ステップS108)。このとき、ステータスコードがリダイレクトを示す“3xx”(ステップS109:Yes)であれば、リダイレクトHTTPリクエストの送信を行う(ステップS111)。また、ステータスコードが正常を示す“200”であれば(ステップS110:YES)、レスポンス生成部14a(図1参照)へ処理を渡す。
レスポンス生成部14aは、SOAPレスポンスを生成し(ステップS113)、生成したSOAPレスポンスにセッション情報(sessionInfo部)を加える(ステップS114)。次に、アプリケーション部本体の情報を加えるために、HTMLを解析し、エミュレートする(ステップS115)。さらに、ハンドルEntity−Header(ステップS116)、ハンドルHTML Script(ステップS117)、ハンドル HTML Form(ステップS118)の各処理(後述)を行う。最後に、SOAPレスポンスを送信して(ステップS119)、処理を終了する。
図10は、HTTPリクエスト生成(ステップS102)の詳細を示している。まず、アダプター・コンフィギュレーション(後述)の設定に従って、HTTP Request−Lineをセットし(ステップS102a)、HTTP Entity−HeaderをUser−Agentのようなヘッダとともにセットする(ステップS102b)。また、HTTP Entity−Bodyを空にセットする(ステップS102c)。次に、アプリケーション部(“sessionInfo”でない部分)からname属性値とvalue属性値のペアを抽出する(ステップS102d)。そして、GETメソッドのときは、Request−URIにname属性値とvalue属性値のペアを加え(ステップS102f)、POSTメソッドのときは、Entity−Bodyにname属性値とvalue属性値のペアを加える(ステップS102g)。
図11〜13は、action,cookie,hiddenの各ハンドル(S103、S104、S105)の処理を表したものであるが、図9の説明で既に明らかであるのでここでは説明を省略する。
図14〜図16は、受け取ったHTTPレスポンスからWebサービスのレスポンスを生成するアルゴリズムの詳細を示している。ハンドルEntity−Header(ステップS116)では、Entity−Header中にSet−Cookieヘッダがあれば(ステップS116a:Yes)、そのヘッダに従って、cookieエレメントを加える(ステップS116b)。ハンドルHTML Script(ステップS117)では、Scriptによってセットされたcookieがあれば(ステップS117a:Yes)、そのScriptのエミュレーションの結果に従ってcookieエレメントを加える(ステップS117b)。ハンドルHTML Form(ステップS118)では、HTML Form中のaction属性値に従ってactionエレメントを加える(ステップS118a)。つぎに、hidden inputが存在すれば(ステップS118b:Yes)、hidden inputに従って、hiddenエレメントを加える(ステップS118c)。
<設定方法>
本発明に係るWebサービス化プロキシには、図17のような設定情報(アダプター・コンフィギュレーション)を与える。「HTTP Server to adapt」部500は、HTTPサーバのホスト名またはIPアドレスと、TCPポートを与える。「WSDL setting」部501は、生成するWSDL(Web Service Description Language)の名前空間や名前を指定する。ここで、WSDLとはWebサービスの内容を説明するXMLの文法であり、Webサービス・クライアントが参照する。
1つのHTMLページ内には、複数のフォーム(FORM要素)を含めることができるが、簡潔にするため、1つのHTMLページにつき1つのフォームであると仮定して以降は説明する。複数のフォームに対応するためには、1つのフォームにつき、1つのWebサービス・オペレーションを対応させる。
「Flag for State-aware」部502は、ステートフル・Webアプリケーションに対応するかどうかを指定する。ここがfalseの場合は、従来型のステートレス・Webアプリケーションのみに対応したWebサービス化が行なわれ、trueの場合、本発明に係るステートフルなWebアプリケーションに対応したWebサービス化が行なわれる。
HTTPのセッション(HTTPリクエストとレスポンスの組)ごとに、「HTTP Request Method」部503、「WSDL operation name」部504、「Request setting」部505、「Response setting」部506を設定する。これらのうち、「HTTP Request Method」部503は、GETまたはPOSTを指定し、「WSDL operation name」部504には、対応させるWSDLオペレーションの名前を指定する。
「Request setting」部505では、本来ユーザが入力する情報のうちどの部分をWebサービスのリクエストとして受け取れるようにして、どの部分を固定しておくかを指定する。また、「Response setting」部506では、サーバから帰ってきたHTMLコンテントのうち、どの部分をWebサービスのレスポンスとして返すようにするかを指定する。
HTMLのどの部分をどのように取り出すかについては、[“A Brief Survey of Web Data Extraction Tools”, Alberto H. F. Laender and Berthier A. Ribeiro-Neto, ACM SIGMOD Record, Volume 31, Issue 2, June 2002.]で紹介されているような既存の技術であるため、ここでは詳細の説明は省略する。また、既存の技術を自由に適用可能である。例えば、あるXPathで指定されたHTML中の部分を、XML(eXtensible Markup Language)スキーマの文字列型に変換し、指定した要素で包む、といったことを記述できる。
<WSDLの生成>
上述の設定情報を元に、場合によっては名前付けのマッピングなどのユーザの指定を追加し、Webサービス化によって得られるサービスのWSDLを生成する。基本的には、「Request setting」部505で指定された情報をWebサービスリクエスト中のMessage Partにマップし、「Response setting」部505で指定された情報をWebサービスレスポンス中のMessage Partにマップする。さらに、設定情報に関係なく、エラー時のメッセージを適切に規定する。このような処理は、WebアプリケーションのWebサービス化を行なうツール一般に共通である。
図18上部は、この一般的なWSDL生成系(WSDL Generator)を示しているが、本発明に係る手法では、図18下部のように、stateful-awarenessフラグ(510)を参照して、これにセッション情報(520)を運ぶために必要な部分がWSDLに追加される。本発明に係る手法では、セッション情報を運ぶためのMessage Partを自動的に定義し、WSDL記述に追加する。具体的には、図6で示した構造のデータを、通常のMessage Partの一部、または、別Message PartとするようなWSDLを生成する。
図19にこのアルゴリズムを示した。まず、与えられた設定情報(通常のプロセス)に従ってWSDL記述(WSDL Description)を生成する(ステップS541)。次に、statefulness-awareオプション(図17の502に相当)をReadする(ステップS542)。そのstatefulness-awareオプションがTrueであれば(ステップS543:True)、セッション情報(sessionInfo部)をWSDL記述の中のそれぞれのメッセージに対して加える(ステップS544)。
以下、具体的な例に即して説明する。
<WSDLの生成例>
図20に示すような設定情報が与えられたとする。この与えられた設定情報から、図21に示すようなWSDLを生成する。
ここでは、セッション情報を別Message Part(SessionInfo部)とし、本来のフォーム入力や結果相当の情報をそれとは別のMessage Part(RequrestDocument/ResponseDocument部)としている。別の方法としては、セッション情報要素(html2ws:sessionInfo)とフォーム入力要素(app:searchRequestElement)の内容を内包する1つのパートと、セッション情報要素(html2ws:sessionInfo)と結果要素(app:searchResponseElement)の内容を内包する1つのパートとして、それぞれsearchRequestとsearchResponseメッセージの内容としてもよい。本来、後者の形式のほうが典型的なWebサービスであり扱いやすいが、ここではセッション情報要素の出現を分かりやすくするために、前者の方法を用いた場合で説明していく。
図21のWSDLに従って作られたWebサービス・クライアントから送られてくるメッセージのうち、WSDLのオペレーションsearchに相当するものは、図22のようになる。
ここでは、本発明に係るプロキシにより、[数1]のSOAPリクエストが[数2]のHTTPPリクエストに変換され、[数3]のHTTPレスポンスが[数4]のSOAPレスポンスに変換されている。
Figure 0004285655
Figure 0004285655
Figure 0004285655
Figure 0004285655
<Webサービスを構成する例>
以下、単純なステートフルWebアプリケーションから本発明に係るWebサービス化プロキシを利用して得られる複数のWebサービスポートを、BPEL4WSを用いて組み合わせて、単一のWebサービスを構成する例を示す。図23は、対象とするWebアプリケーション「Shop」の画面(ページ)遷移図である。ただし、ここでは、Webサービス化上興味のないページは省かれており、また、Webサービス化上興味のないページ遷移(点線で示してある)は以降の説明には用いない。
このWebアプリケーションは、次のような動作をする。
1)ユーザが公開されているURIにアクセスするとログイン・ページ(Login)701が表示される。
2)ログイン・ページ(Login)701で、フォームからユーザ名(Username)702とパスワード(Password)703を受け取り、ログインに成功するとカタログ・ページ(Catalog)704が表示される。
3)カタログ・ページ(Catalog)704で、フォームのリストから商品を選ぶ(Item No.)705と、その商品情報を示すページ(Item)706が表示される。ただし、その商品の在庫がない場合は、在庫切れを示すページ(No Stock)707が表示される。
4)商品情報ページ(Item)706で、フォームの「買う」ボタンを押すと、その商品が入れられた買い物かごを示すページ(Shopping Cart)708が表示される。
5)買い物かごページ(Shopping Cart)708から、フォームの「発注」ボタンを押すと、買い物かごに入っている商品を発注したことになり、発注情報ページ(Order)709が表示される。発注情報ページ(Order)709には、配達予定日(Delivery Date)710を示す情報が示される。
本発明に係るWebサービス化プロキシに適切な設定情報(次のページに遷移するのに必要な入力フォームの情報、次のページから抽出されるデータと抽出方法、WSDL上の名前付けなど)を与えると、図24に示す、点線の四角(711〜715)に当る部分に相当するWebサービスポート5つが構成される。各ポートのオペレーションを点線の四角の左に示した。
構成されたWebサービスポートは上述のWebアプリケーションの動作に対応した、次の5つである。
1)start() セッション管理情報(context)を返す(res0)。(実際contextの中身は常に空である。)
2)login() セッション管理情報(context)、ユーザ名(username)、パスワード(password)を受け取り(req1)、セッション管理情報(context)を返す(res1)。
3)showItem() セッション管理情報(context)、商品番号(item number)を受け取り(req2)、セッション管理情報(context)、在庫があるかどうか(is in stock?)を返す(res2)。遷移先のページ(ItemまたはNo Stock)からは在庫切れページであったかどうかが(XPath指定の評価結果などにより)抽出される。
4)putItemIntoCart() セッション管理情報(context)を受け取り(req3)、セッション管理情報(context)を返す(res3)。
5)orderItemsInCart() セッション管理情報(context)を受け取り(req4)、セッション管理情報(context)、配送予定日(delivery date)を返す(res4)。遷移先のページ(Order)からは、配送予定日を示す部分が(XPath指定の評価結果などにより)抽出される。
この得られた5つのWebサービスポートにアクセスして、1つのWebサービスを提供するようなBPEL4WSプログラムは次のように書くことができる。
Figure 0004285655
Figure 0004285655
このBPEL4WSプログラムにより構成されるWebサービス(オペレーション名buyItem)は、商品番号(app2:itemNumber)、ユーザ名(app2:username)、パスワード(app2:password)を受け取り(request変数、行4-5)、配送予定日(app2:deliveryDate)を返す(response変数、行79-80)。詳細の説明は省くが、以降、本発明の応用可能性を示すために重要な部分について説明する。
各invoke部(行7-9、行26-28、行41-43、行57-59、行68-70)で本発明に係るWebサービス化により得られたWebサービスポートにアクセスしている。例えば、最初のinvoke部(行7-9)では、operation=“start”として、「start」オペレーションを呼び出している。サービスを呼び出した結果返ってくる値は、outputVariable=“res0”とすることにより、変数res0に格納される。その他の属性の指定は、単なる名前付けやWSDL中の記述を指し示すためのものであり、ここでは特に気にしなくてよい。また、最初のinvoke部(行7-9)では用いていないが、inputVariable=“x”とすることにより、変数xに格納されている値をサービスを呼び出す際に受け渡すことができる。
各assign部(行11-24、行30-39、行44-49、行61-66、行72-77)で、前後2つのWebサービス呼び出し(invoke部)間で受け渡されるデータ(セッション管理情報)、及び、後ろのinvoke部のアクセス時に与えるその他のデータ(ユーザ名、パスワード、商品番号)を設定している。例えば、最初のassign部(行11-24)では、次のような操作をしている。
1)「start」オペレーション(行7-9)と「login」オペレーション(行26-28)の間に位置し、「start」の結果が入った変数res0から「login」に渡す変数req1で示される値中に、セッション情報パート(http2ws:SessionInfo)をコピー(行12-15)する。
2)「login」オペレーション(行26-28)に渡す変数req1で示される値中に、プログラムによって構成されるオペレーションbuyItemの受け取る値の格納された変数requestから、ユーザ名(app2:username)とパスワード(app2:password)をコピー(行16-23)する。
このように、本発明に係る手法を利用すると、受け取ったセッション情報はそのまま次のオペレーション呼び出し時に用いて渡すだけで、ステートフルなWebアプリケーションをWebサービス化したものに、問題なくアクセスできるようになる。後の処理は、複数Webサービスを組み合わせる際の通常の処理であり、本発明に係る手法に特有ではない。基本的には、アプリケーション固有の必要な入力をオペレーション呼び出し時に渡し、アプリケーション固有の必要な出力をオペレーション呼び出しから受け取ればよい。
本発明に係る手法を利用して得られたサービスを単純に順番に呼び出すだけでなく、各サービスのオペレーション呼び出しの結果によって制御の流れを変えたり、セッション情報以外の呼び出し結果を後の呼び出しに用いたりすることは自由に行なえる。例えば、「invokeShowItem」invokeと直後のassign部の後ろのswitch部(行51-55)では、switch構文を用いて、showItemオペレーションを呼び出して得られた結果(res2)のうちの、在庫があるかどうかの情報(app:isInStock)を調べて、在庫切れだった場合に、(プログラムで構成されるWebサービスである)buyItem呼び出しの結果としてSOAPフォールト を返すようにしている。
同じプログラムを1つの図中に示したものが図25である。最初の<receive name>部801が、構成されるWebサービスの受け取るメッセージを規定し、最後の<reply name>部802が、構成されるWebサービスの返すメッセージを規定している。901〜905の<invoke>部が、Webサービスとのやりとりを示している。図26は、これに、データのフローを示すための矢印を加えたものである。点線の矢印はセッション管理情報のフローを示し、破線の矢印はページから抽出されたデータのフローを示し、一点鎖線の矢印は、フォームの入力に用いられるデータのフローを示している。
セッション管理情報(http2ws:sessionInfo)は、基本的に、プログラムの制御の流れに沿って用いられる。プログラムの制御はここでは一部の分岐を除いて直線的だが、ループや分岐をもっていてもよく、セッション管理情報(http2ws:sessionInfo)は、その流れに沿って用いられることになる。
また、ここでは、ページから抽出されたデータの流れ(点線の矢印)と、フォームの入力に用いられるデータの流れ(一点鎖線の矢印)は、独立であるが、プログラムによっては繋がる(抽出されたデータをフォームの入力に用いる)こともありえる。しかしながら、ユーザのログインを必要とするアプリケーションや、買い物カゴのようなユーザフレンドリな機能を提供しているようなアプリケーション(ステートフルWebアプリケーション)をWebサービス化するためには、以下のようなユーザセッションの考慮が必要である。
以上、本発明を実施形態、具体例を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲に限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
また、本発明は、ひとつの実施形態として、主にプロキシ装置またはプロキシサーバ上のコンピュータ・プログラムによって実現可能である。上記プログラムを格納する記憶媒体としては、ハードティスクの他、フロッピー(登録商標)ディスクなどの磁気記録媒体、CD−ROM,DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、上記プログラムはネットワークに接続されたサーバシステム内に設けたハードディスクまたはRAM等の記憶装置を媒介として、コンピュータ・システムに提供されてもよい。
本発明に係るシステム構成図を示す図である。 ステートレスなWebアプリケーションとユーザのやりとりを示す図である。 従来のステートレスなWebアプリケーションをWebサービス化した場合を示す図である。 本発明に係るWebサービス化を示す図である。 Webサービス化を利用した2つのWebサービス間におけるセッション管理情報の送受信プロセス例を示した図である。 HTTPメッセージの構造のメッセージ例を示す図である。 SOAPメッセージの構造(左:従来手法によるもの、右:本発明に係る手法によるもの)を示す図である。 本発明に係るセッション情報部の構造を示す図である。 本発明に係るWebサービス化のアルゴリズムの概略を示す図である。 HTTPリクエストの生成アルゴリズムを示す図である。 リクエスト用ユーザセッション情報の処理アルゴリズム(1)を示す図である。 リクエスト用ユーザセッション情報の処理アルゴリズム(2)を示す図である。 レスポンス用ユーザセッション情報の処理アルゴリズム(3)を示す図である。 レスポンス用ユーザセッション情報の処理アルゴリズム(1)を示す図である。 レスポンス用ユーザセッション情報の処理アルゴリズム(2)を示す図である。 レスポンス用ユーザセッション情報の処理アルゴリズム(3)を示す図である。 本発明に係る手法のWebサービス化プロキシに与える設定情報を示す図である。 WSDL生成系(WSDL Generator)を示す図である。 WSDL生成アルゴリズムを示す図である。 変換プロキシに対する設定の例を示す図である。 与えられた設定から自動生成されたWSDL例を示す図である。 searchオペレーションのメッセージ例を示す図である。 単純なWebアプリケーション例「Shop」の画面遷移図である。 Webアプリケーション「Shop」に本発明に係る手法を適用してできる5つのWebサービスポートを示す図である。 Webサービス・クライアント上でのBPEL4WSプログラム・リスト例 BPEL4WSプログラム・リスト例中のデータフローを示す図である。
符号の説明
10 プロキシ装置
11a リクエスト解析部
11b SOAPリクエスト受信部
12a HTTPリクエスト生成部
12b HTTPリクエスト送信部
13a HTTPレスポンス解析部
13b HTTPレスポンス受信部
14a レスポンス生成部
14b SOAPレスポンス送信部
15 制御部
20 インターネット
30 Webサービス・クライアント
40 Webアプリケーション・サーバ
50 通信路
60 ユーザ
61 Webブラウザ
62 Webアプリケーション
63 WSクライアント
64 変換プロキシ
100 SOAPリクエスト
101 SOAP エンベロープ
102 ユーザ入力をエミュレートする情報
103 HTMLから抽出した情報
104 セッション情報
701 ログイン・ページ
704 カタログ・ページ
706 商品情報ページ
707 在庫切れページ
708 買い物かごページ
709 発注情報ページ

Claims (8)

  1. Webサービス・クライアントのリクエストに応じて、プロキシ装置が、Webアプリケーション・サーバにアクセスし、前記Webサービス・クライアントにWebサービスを提供する方法であって、
    前記Webサービス・クライアントのリクエストがSOAPリクエストで、該リクエストに対する応答がSOAPレスポンスであり、
    前記プロキシ装置が、
    前記Webサービス・クライアントのリクエストに応じて、前記Webアプリケーション・サーバに対して、HTTPリクエストを送る第1のステップと、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加えて、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディとから抽出したユーザセッション情報を、前記Webサービス・クライアントへのレスポンスに区別可能な情報として含めて前記Webサービス・クライアントに送る第2のステップと、
    前記Webサービス・クライアントが前記第2のステップで送信された前記ユーザセッション情報を、そのまま前記区別可能な情報として含めたリクエストを受けて当該ユーザセッション情報を前記HTTPリクエスト中のエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含めて前記Webアプリケーション・サーバに送る第3のステップと、
    ユーザからあらかじめ与えられたコンフィギュレーション情報に基づいて、Webサービス・インターフェース情報としてWSDLを生成し、該WSDLに、前記HTTPリクエストに含める前記ユーザセッション情報を、前記SOAPリクエストの一部として含める記述を追加するとともに、前記WSDLに、前記HTTPレスポンス中の、前記ユーザセッション情報を、前記SOAPレスポンスの一部として含める記述を追加する第4のステップと、
    を実行するWebサービスを提供する方法。
  2. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である請求項1に記載のWebサービスを提供する方法。
  3. 前記コンフィギュレーション情報は、Webアプリ−ションが複数セッションを含むかどうかを前記プロキシ装置に指示する情報を含む請求項1又は2に記載のWebサービスを提供する方法。
  4. Webサービス・クライアントのリクエストに応じて、Webアプリケーション・サーバにアクセスし、前記Webサービス・クライアントにWebサービスを提供するプロキシ装置であって、
    前記Webサービス・クライアントのリクエストがSOAPリクエストで、該リクエストに対する応答がSOAPレスポンスであり、
    前記Webサービス・クライアントのリクエストに応じて、HTTPリクエストを生成して前記Webアプリケーション・サーバに送るHTTPリクエスト生成送信手段と、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加えて、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディとから抽出したユーザセッション情報を、前記Webサービス・クライアントへのレスポンスに区別可能な情報として含めて前記Webサービス・クライアントに送るレスポンス生成送信手段と、
    ユーザからあらかじめ与えられたコンフィギュレーション情報に基づいて、Webサービス・インターフェース情報としてWSDLを生成し、該WSDLに、前記HTTPリクエストに含める前記ユーザセッション情報を、前記SOAPリクエストの一部として含める記述を追加するとともに、前記WSDLに、前記HTTPレスポンス中の、前記ユーザセッション情報を、前記SOAPレスポンスの一部として含める記述を追加するWSDL生成手段とを備え、
    前記HTTPリクエスト生成送信手段は、前記Webサービス・クライアントが前記レスポンス生成送信手段によって送信された前記ユーザセッション情報を、そのまま前記区別可能な情報として含めたリクエストを受けた際当該ユーザセッション情報を前記HTTPリクエスト中のエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含めて前記Webアプリケーション・サーバに送るプロキシ装置。
  5. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である、請求項4に記載のプロキシ装置。
  6. Webサービス・クライアントのリクエストに応じて、プロキシ装置が、Webアプリケーション・サーバにアクセスし、前記Webサービス・クライアントにWebサービスを提供するためのコンピュータ・プログラムであって、
    前記Webサービス・クライアントのリクエストがSOAPリクエストで、該リクエストに対する応答がSOAPレスポンスであり、
    前記プロキシ装置に、
    前記Webサービス・クライアントのリクエストに応じて、前記Webアプリケーション・サーバに対して、HTTPリクエストを送る第1のステップと、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加えて、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディとから抽出したユーザセッション情報を、前記Webサービス・クライアントへのレスポンスに区別可能な情報として含めて前記Webサービス・クライアントに送る第2のステップと、
    前記Webサービス・クライアントが前記第2のステップで送信された前記ユーザセッション情報を、そのまま前記区別可能な情報として含めたリクエストを受けて当該ユーザセッション情報を前記HTTPリクエスト中のエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含めて前記Webアプリケーション・サーバに送る第3のステップと、
    ユーザからあらかじめ与えられたコンフィギュレーション情報に基づいて、Webサービス・インターフェース情報としてWSDLを生成し、該WSDLに、前記HTTPリクエストに含める前記ユーザセッション情報を、前記SOAPリクエストの一部として含める記述を追加するとともに、前記WSDLに、前記HTTPレスポンス中の、前記ユーザセッション情報を、前記SOAPレスポンスの一部として含める記述を追加する第4のステップと、
    を実行させる、コンピュータ・プログラム。
  7. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である、請求項6に記載のコンピュータ・プログラム。
  8. 請求項6又は7に記載のコンピュータ・プログラムを格納した記録媒体。
JP2005208184A 2005-07-19 2005-07-19 Webサービスを提供する方法、装置、プログラム Expired - Fee Related JP4285655B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005208184A JP4285655B2 (ja) 2005-07-19 2005-07-19 Webサービスを提供する方法、装置、プログラム
US11/427,817 US20070022199A1 (en) 2005-07-19 2006-06-30 Method, Apparatus, and Program Product For Providing Web Service
CNB2006101015048A CN100456722C (zh) 2005-07-19 2006-07-18 用于提供Web服务的方法、装置以及程序产品
US12/060,429 US20080228930A1 (en) 2005-07-19 2008-04-01 Method, apparatus, and program product for providing web service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005208184A JP4285655B2 (ja) 2005-07-19 2005-07-19 Webサービスを提供する方法、装置、プログラム

Publications (2)

Publication Number Publication Date
JP2007026150A JP2007026150A (ja) 2007-02-01
JP4285655B2 true JP4285655B2 (ja) 2009-06-24

Family

ID=37657237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005208184A Expired - Fee Related JP4285655B2 (ja) 2005-07-19 2005-07-19 Webサービスを提供する方法、装置、プログラム

Country Status (3)

Country Link
US (2) US20070022199A1 (ja)
JP (1) JP4285655B2 (ja)
CN (1) CN100456722C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106103589B (zh) * 2014-03-31 2019-09-06 出光兴产株式会社 被涂装用聚碳酸酯树脂成形材料、成形品及涂装成形品

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5318582B2 (ja) * 2006-01-04 2013-10-16 シスコ テクノロジー インコーポレーテッド ネットワーク・アクセス・デバイス内におけるインライン・サービスの方法およびシステム
US8929360B2 (en) * 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
JP5068071B2 (ja) * 2006-12-27 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。
JP4935993B2 (ja) 2007-02-05 2012-05-23 日本電気株式会社 無線通信システムにおけるリファレンス信号生成方法および装置
DE102007049523A1 (de) * 2007-10-15 2009-04-16 Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG System für die Prozessautomatisierung mit einer Vielzahl von intelligenten Sensoren und ein Verfahren zur Kalibrierung der Sensoren
US7855982B2 (en) * 2007-11-19 2010-12-21 Rajesh Ramankutty Providing services to packet flows in a network
JP5142773B2 (ja) * 2008-03-13 2013-02-13 キヤノン株式会社 メッセージ生成処理方法及びメッセージ生成処理装置
US7861001B2 (en) 2008-04-29 2010-12-28 Microsoft Corporation Transport independent redirection
CN101741872B (zh) * 2008-11-07 2013-10-02 华为软件技术有限公司 目标资源的信息获取方法及装置
US8037124B2 (en) * 2008-12-05 2011-10-11 International Business Machines Corporation System and method for describing and locating web services
JP5396974B2 (ja) * 2009-03-31 2014-01-22 富士通株式会社 通信システム、通信装置および通信管理方法
US8082351B1 (en) * 2009-05-26 2011-12-20 Adobe Systems Incorporated Software load balancing for session requests that maintain state information
CN101707627B (zh) * 2009-10-30 2014-11-05 中兴通讯股份有限公司 一种呈现页面信息的方法及其装置
US8190736B2 (en) 2009-12-16 2012-05-29 Quantum Corporation Reducing messaging in a client-server system
JP2015038641A (ja) * 2010-04-19 2015-02-26 株式会社エクサ トランザクション管理プログラム
US9130975B2 (en) * 2010-06-02 2015-09-08 Avaya Inc. Generation of macros
US9241190B2 (en) 2010-08-24 2016-01-19 Cisco Technology, Inc. Generating a response to video content request including dynamically processed video content
WO2013003455A2 (en) * 2011-06-27 2013-01-03 Usablenet Inc. Methods for implementing web services and devices thereof
US9521439B1 (en) 2011-10-04 2016-12-13 Cisco Technology, Inc. Systems and methods for correlating multiple TCP sessions for a video transfer
US8755342B2 (en) 2011-10-05 2014-06-17 Cisco Technology, Inc. System and method for dynamic bearer selection for immersive video collaboration in mobile wireless networks
US8903955B2 (en) 2011-12-02 2014-12-02 Cisco Technology, Inc. Systems and methods for intelligent video delivery and cache management
JP6158667B2 (ja) * 2013-09-30 2017-07-05 Kddi株式会社 サーバ装置、端末装置、通信方法およびコンピュータプログラム
US9609068B2 (en) * 2013-12-16 2017-03-28 Fuji Xerox Co., Ltd. Session management system, session management apparatus, and non-transitory computer readable medium
CN104243560A (zh) * 2014-09-02 2014-12-24 赵军富 移动设备上的web服务***
CN104468804A (zh) * 2014-12-15 2015-03-25 浪潮通用软件有限公司 一种web服务器、处理用户会话的方法及***
US9954746B2 (en) * 2015-07-09 2018-04-24 Microsoft Technology Licensing, Llc Automatically generating service documentation based on actual usage
CN106658084A (zh) * 2015-11-02 2017-05-10 杭州华为数字技术有限公司 视频流提供方法及装置
JP6625259B1 (ja) * 2019-07-11 2019-12-25 株式会社ぐるなび 情報処理装置、情報処理方法及びプログラム
CN110661787A (zh) * 2019-09-04 2020-01-07 苏宁云计算有限公司 Http重定向状态码捕获方法、装置和计算机设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088515A (en) * 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US20030023695A1 (en) * 1999-02-26 2003-01-30 Atabok Japan, Inc. Modifying an electronic mail system to produce a secure delivery system
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway
JP4179535B2 (ja) * 2002-09-03 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、リバースプロキシ、コンピュータ装置、データ処理方法及びプログラム
US20050076327A1 (en) * 2003-01-15 2005-04-07 University Of Florida Server-side wireless development tool
JP2004246747A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 既存サービスのラッピング方法および装置
JP2004265154A (ja) * 2003-02-28 2004-09-24 Motorola Inc ヘテロジニアスネットワークにおけるセッション維持方法及びその移動ノード
US20040186883A1 (en) * 2003-03-19 2004-09-23 Nyman Kai T. Method and apparatus for interfacing web services with mobile terminal applications during a browser or SIP session
CN1243432C (zh) * 2003-06-26 2006-02-22 中国科学院计算技术研究所 一种ip视频电话***会话和媒体授权方法
US20050004968A1 (en) * 2003-07-02 2005-01-06 Jari Mononen System, apparatus, and method for a mobile information server
JP4208185B2 (ja) * 2003-08-01 2009-01-14 日立ソフトウエアエンジニアリング株式会社 既存WebアプリケーションのWebサービスへの変換方法及び装置
EP1665711B8 (en) * 2003-09-17 2016-12-14 Google Technology Holdings LLC System and method for asynchronous wireless services using reverse service schema generation
JP2005092547A (ja) * 2003-09-18 2005-04-07 Hitachi Software Eng Co Ltd 単独の情報処理システムのWebサービスシステムへの再構築方法
CA2483233C (en) * 2003-09-30 2015-08-11 Layer 7 Technologies Inc. System and method securing web services
US7680954B2 (en) * 2004-03-16 2010-03-16 Thomson Licensing Proxy DNS for web browser request redirection in public hotspot accesses
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106103589B (zh) * 2014-03-31 2019-09-06 出光兴产株式会社 被涂装用聚碳酸酯树脂成形材料、成形品及涂装成形品

Also Published As

Publication number Publication date
US20070022199A1 (en) 2007-01-25
CN100456722C (zh) 2009-01-28
JP2007026150A (ja) 2007-02-01
US20080228930A1 (en) 2008-09-18
CN1901490A (zh) 2007-01-24

Similar Documents

Publication Publication Date Title
JP4285655B2 (ja) Webサービスを提供する方法、装置、プログラム
US7769825B2 (en) System and method for web services Java API-based invocation
US7155478B2 (en) Selectively handling data processing requests in a computer communications network
US8001246B2 (en) System and method for exposing distributed transaction services as web services
JP5160553B2 (ja) サーバ・リソースに依存せずにクライアント環境内で用いるポートレットの集約
US6961760B2 (en) Transforming data automatically between communications parties in a computing network
CA2557145C (en) System, apparatus and method for communicating asynchronously with synchronous web services using a mediator service
US7526520B2 (en) Method and apparatus for providing a client by a server with an instruction data set in a predetermined format in response to a content data request message by a client
CN100568227C (zh) 用于在万维网服务架构中对服务进行排名的方法和***
US8572564B2 (en) Configuring and constructing applications in a mainframe-based computing environment
CN101005501B (zh) 存储和恢复远程用户接口的状态信息的方法和设备
JP4658960B2 (ja) クライアント要求をウェブ・サービスにリダイレクトする方法
US7509422B2 (en) System and method for locating web services
JP2004519756A (ja) 多数のサービスからコンテンツを提供する方法
JP2004527016A (ja) オンラインでのアプリケーション開発
TWI313819B (en) A system and method for building component applications using metadata defined mapping between message and data domains
US20040117199A1 (en) Access to web services
US20090100344A1 (en) Mainframe-based browser
WO2004074960A2 (en) Distributed fragment caching and assembly in distributed computing applications
US20070055930A1 (en) Tool for monitoring rules for a rules-based transformation engine
JP2008293152A (ja) Webシステムの連携方法および装置
WO2009030568A1 (en) Method for providing a navigation element in an application
CA2437273C (en) Network conduit for providing access to data services
US20040162873A1 (en) Method and apparatus of wrapping an existing service
WO2002027552A2 (en) Enhanced browsing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071226

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090216

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: 20090303

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090318

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees