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

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

Info

Publication number
JP2007026150A
JP2007026150A JP2005208184A JP2005208184A JP2007026150A JP 2007026150 A JP2007026150 A JP 2007026150A JP 2005208184 A JP2005208184 A JP 2005208184A JP 2005208184 A JP2005208184 A JP 2005208184A JP 2007026150 A JP2007026150 A JP 2007026150A
Authority
JP
Japan
Prior art keywords
web service
response
request
information
http
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.)
Granted
Application number
JP2005208184A
Other languages
English (en)
Other versions
JP4285655B2 (ja
Inventor
Michiaki Tachibori
道昭 立堀
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)

Abstract

【課題】既存のWebアプリケーションをWebサービスとして提供する方法において、複数ページにまたがってユーザセッションを保つWebアプリケーションに対応でき、変換プロキシとWebサービス・クライアントにとって簡便な方法が求められている。
【解決手段】Webアプリケーションを格納するHTTPサーバから送られるHTTPレスポンスから、典型的に用いられるセッション管理手法によって埋め込まれたセッション情報を抽出する。これら抽出された情報を、HTTPサーバから返されるユーザセッション情報として、Webサービスのレスポンスに含める。また、Webサービスのリクエストにこのユーザセッション情報を含めて送れるようにし、Webサービス・クライアントから受け取ったユーザセッション情報を、該当するセッション管理手法を用いてHTTPリクエストに埋め込んでHTTPサーバに送る。
【選択図】 図1

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 2007026150
Figure 2007026150
Figure 2007026150
Figure 2007026150
<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 2007026150
Figure 2007026150
この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 (14)

  1. Webサービス・クライアントのリクエストに対して、プロキシ装置が、Webアプリケーション・サーバにアクセスし、Webサービスを提供する方法であって、
    前記Webサービス・クライアントのリクエストに応じて、前記アプリケーション・サーバに対して、HTTPリクエストを送るステップと、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加え、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディから抽出したユーザセッション情報を、前記Webサービス・クライアントヘのレスポンスに含めるステップと、
    前記Webサービス・クライアントからのリクエストに含まれた前記ユーザセッション情報を、HTTPリクエスト中のエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含め、前記Webアプリケーション・サーバに送るステップと、
    を備えるWebサービスを提供する方法。
  2. 前記Webサービス・クライアントのリクエストが、SOAPリクエストであり、このリクエストに対する応答がSOAPレスポンスである請求項1に記載のWebサービスを提供する方法。
  3. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である請求項1に記載のWebサービスを提供する方法。
  4. 前記プロキシ装置が、ユーザからあらかじめ与えられたコンフィギュレーション情報に基づき、Webサービス・インターフェース情報としてWSDLを生成するステップを備える請求項3に記載のWebサービスを提供する方法。
  5. 前記コンフィギュレーション情報は、Webアプリ−ションが複数セッションを含むかどうかを前記プロキシ装置に指示する情報を含む請求項4に記載のWebサービスを提供する方法。
  6. 前記WSDLに、前記HTTPリクエストに含める前記ユーザセッション情報を、前記SOAPリクエストの一部として含める記述を追加する請求項4に記載のWebサービスを提供する方法。
  7. 前記WSDLに、前記HTTPレスポンス中の、前記ユーザセッション情報を、前記SOAPレスポンスの一部として含める記述を追加する請求項4に記載のWebサービスを提供する方法。
  8. Webサービス・クライアントのリクエストに対して、Webアプリケーション・サーバにアクセスし、Webサービスを提供するプロキシ装置であって、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加え、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディから抽出したユーザセッション情報を、前記Webサービス・クライアントヘのレスポンスに含めるレスポンス生成部と、
    前記Webサービス・クライアントのリクエストに含まれた前記ユーザセッション情報を、HTTPリクエスト中にエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含めるHTTPリクエスト生成部と、
    記HTTPリクエスト生成部によって生成された前記HTTPリクエストを、前記Webサービス・クライアントのリクエストに応じて、前記Webアプリケーション・サーバに送るHTTPリクエスト送信部と、
    を備えるプロキシ装置。
  9. 前記Webサービス・クライアントのリクエストが、SOAPリクエストであり、このリクエストに対する応答がSOAPレスポンスである請求項8に記載のプロキシ装置。
  10. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である、請求項8に記載のプロキシ装置。
  11. Webサービス・クライアントのリクエストに対して、Webアプリケーション・サーバにアクセスし、Webサービスを提供するためのコンピュータ・プログラムであって、コンピュータに、
    前記Webサービス・クライアントのリクエストに応じて、前記アプリケーション・サーバに対して、HTTPリクエストを送るステップと、
    前記Webアプリケーション・サーバからの応答であるHTTPレスポンス中のエンティティ・ボディから抽出したアプリケーション情報に加え、前記HTTPレスポンス中のエンティティ・ヘッダとエンティティ・ボディから抽出したユーザセッション情報を、前記Webサービス・クライアントヘのレスポンスに含めるステップと、
    前記Webサービス・クライアントのリクエストに含まれた前記ユーザセッション情報を、HTTPリクエスト中にエンティティ・ヘッダとアプリケーション・データの一部としてエンティティ・ボディに含め、前記Webアプリケーション・サーバに送るステップと、
    を実行させる、コンピュータ・プログラム。
  12. 前記Webサービス・クライアントのリクエストが、SOAPリクエストであり、このリクエストに対する応答がSOAPレスポンスである請求項11に記載のコンピュータ・プログラム。
  13. 前記ユーザセッション情報が、URI情報、Set−Cookieヘッダ情報、およびhiddenタグ情報である、請求項11に記載のコンピュータ・プログラム。
  14. 請求項11、12または13に記載のコンピュータ・プログラムを格納した記録媒体。
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 true JP2007026150A (ja) 2007-02-01
JP4285655B2 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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1953985A2 (en) 2007-02-05 2008-08-06 NEC Corporation Method and apparatus for reference signal generation in wireless communications system
JP2009223439A (ja) * 2008-03-13 2009-10-01 Canon Inc メッセージ生成処理方法及びメッセージ生成処理装置
JP2010238199A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 通信システム、通信装置および通信管理方法
JP2015038641A (ja) * 2010-04-19 2015-02-26 株式会社エクサ トランザクション管理プログラム
JP2015069547A (ja) * 2013-09-30 2015-04-13 Kddi株式会社 サーバ装置、端末装置、通信方法およびコンピュータプログラム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007081727A2 (en) * 2006-01-04 2007-07-19 Starent Networks Corporation Selecting application session services to process packet data streams based on profile information
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 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。
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
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
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
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
US9609068B2 (en) * 2013-12-16 2017-03-28 Fuji Xerox Co., Ltd. Session management system, session management apparatus, and non-transitory computer readable medium
JP6231420B2 (ja) * 2014-03-31 2017-11-15 出光興産株式会社 被塗装用ポリカーボネート樹脂成形材料、成形品及び塗装成形品
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1953985A2 (en) 2007-02-05 2008-08-06 NEC Corporation Method and apparatus for reference signal generation in wireless communications system
JP2009223439A (ja) * 2008-03-13 2009-10-01 Canon Inc メッセージ生成処理方法及びメッセージ生成処理装置
JP2010238199A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 通信システム、通信装置および通信管理方法
JP2015038641A (ja) * 2010-04-19 2015-02-26 株式会社エクサ トランザクション管理プログラム
JP2015069547A (ja) * 2013-09-30 2015-04-13 Kddi株式会社 サーバ装置、端末装置、通信方法およびコンピュータプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4285655B2 (ja) Webサービスを提供する方法、装置、プログラム
US7155478B2 (en) Selectively handling data processing requests in a computer communications network
JP5160553B2 (ja) サーバ・リソースに依存せずにクライアント環境内で用いるポートレットの集約
US7120703B2 (en) Transforming data automatically between communications parties in a computing network
US7769825B2 (en) System and method for web services Java API-based invocation
US8001246B2 (en) System and method for exposing distributed transaction services as web services
CA2557145C (en) System, apparatus and method for communicating asynchronously with synchronous web services using a mediator service
CN100568227C (zh) 用于在万维网服务架构中对服务进行排名的方法和系统
US8572564B2 (en) Configuring and constructing applications in a mainframe-based computing environment
JP4658960B2 (ja) クライアント要求をウェブ・サービスにリダイレクトする方法
CN101005501B (zh) 存储和恢复远程用户接口的状态信息的方法和设备
US7509422B2 (en) System and method for locating web services
US20050278348A1 (en) System and method for a Web service definition
US7996562B2 (en) Messaging system interface to 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
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
WO2004074960A2 (en) Distributed fragment caching and assembly in distributed computing applications
US20070055930A1 (en) Tool for monitoring rules for a rules-based transformation engine
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
JP2007149080A (ja) コンテキスト・ベースのナビゲーション

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