JP4208185B2 - 既存WebアプリケーションのWebサービスへの変換方法及び装置 - Google Patents

既存WebアプリケーションのWebサービスへの変換方法及び装置 Download PDF

Info

Publication number
JP4208185B2
JP4208185B2 JP2003284899A JP2003284899A JP4208185B2 JP 4208185 B2 JP4208185 B2 JP 4208185B2 JP 2003284899 A JP2003284899 A JP 2003284899A JP 2003284899 A JP2003284899 A JP 2003284899A JP 4208185 B2 JP4208185 B2 JP 4208185B2
Authority
JP
Japan
Prior art keywords
web
web service
existing
service
conversion
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
JP2003284899A
Other languages
English (en)
Other versions
JP2005056058A (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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2003284899A priority Critical patent/JP4208185B2/ja
Publication of JP2005056058A publication Critical patent/JP2005056058A/ja
Application granted granted Critical
Publication of JP4208185B2 publication Critical patent/JP4208185B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、既存のWebアプリケーションをWebサービスに動的に変換する方法および装置に関する。
従来のWebアプリケーションをWebサービスに変換する方法の一つに、プロキシ型の変換サーバを利用して、WebサービスのプロトコルであるSOAPと既存のWebアプリケーションのプロトコルであるHTTPとを相互に変換する方法がある(特許文献1参照)。
ここで、既存Webアプリケーションとは、ユーザからのリクエストに応じて、WebサーバがWebページを返すシステムを意味する。
特願2003−42221号
この従来システムでは、変換サーバは、Webサービスとして提供する情報が記述されたWebページをWebアプリケーションから取得するのに必要な情報を、WebサーバクライアントからSOAPリクエストとして受信する。この情報からHTTPリクエストを生成し、Webサーバから目的のWebページをHTTPレスポンスとして受信する。そして、このWebページから目的の情報を取得し、SOAP(Simple Object Access Protocol)レスポンスを生成してWebサーバクライアントに送信する。
この方法を用いると、既存のWebアプリケーションに対して修正や変更を行うことなく、Webサービスを提供できる。
例えば、<FORM>タグを含むWebページAにおいて、ユーザが検索キーを入力すると、検索結果を含むWebページBを返す既存Webアプリケーションが存在しているものと想定する。この既存Webアプリケーションを、変換サーバを利用してWebサービスに変換するには以下のように行う。
変換サーバは、Webサービスクライアントから検索キーを含むSOAPリクエストを受信すると、このSOAPメッセージから検索キーを取得してHTTPリクエストを生成し、Webサーバに送信する。Webサーバは、WebページBを含むHTTPレスポンスを変換サーバに送信する。WebサーバからWebページBを含むHTTPレスポンスを受信した変換サーバは、WebページBから検索結果のデータのみを取得し、これからSOAPレスポンスを生成し、Webサービスクライアントに送信する。ここで、変換サーバは、これまで経由したWebページの履歴や、これまでに実行したWebサービスの結果については考慮していない。
しかしながら、上記した従来の変換システムは、リクエスト発行のたびにクライアントとサーバ間を接続し直すステートレス(Stateless)なWebサーバにしか対応しておらず、CookieやURLの書き換えを利用してセッション管理を行うステートフルなWebサーバには対応していない。
例えば、セッション管理が必要となる既存のECサイトをWebサービスに変換する場合について説明する。
図13〜16は、ECサイトの画面例である。ユーザは、最初にこのECサイトのホームページ(home)1300(図13)にアクセスする。Webサーバは、Webページhomeがリクエストされると、セッションIDを生成し、CookieあるいはURLによる書き換えの方法を用いてセッション管理を開始する。次に、商品検索ページ(search)1400(図14)に移動し、目的の商品の商品名1401やメーカ名1402を入力して商品を検索する。目的の商品が検索できた場合、商品検索結果の表において、目的の商品の「入れる」のリンク1403を押し、ショッピングカートページ(shopping_cart)1500(図15)へ移動する。ショッピングカートページ(shopping_cart)1500は、ユーザが選択した商品の見積もり結果を表示する。ユーザは見積もりの内容に問題がなければ、購入ボタン1501を押し、購入結果ページ(purchase)1600(図16)に移動する。
以上で、商品の購入が完了する。ただし、ここでは氏名や住所など個人情報を入力するページは省略している。
図17は許可されているページ間遷移を表した図である。商品検索ページsearch1702は、自分自身、ホームページhome1701、ショッピングカートページshopping_cart1703からしかアクセスできず、最初にアクセスするには、セッションを特定するためのセッションIDを発行し、Cookieの設定やURLの書き換えを開始するホームページhome1701を経由しなければならないことを意味している。
また、ショッピングカートページshopping_cart1703は、商品検索ページsearch1702から、購入結果ページpurchase1704は商品検索ページshopping_cart1703からしかアクセスできない。Webサーバは、この遷移が守られていることをセッション管理によって確認している。
次に、このECサイトをWebサービスとして提供することを考える。そして、このECサイトを図18に示すように3つのサービスに分けて提供する場合を考える。すなわち、商品検索ページsearchを利用し商品検索を行うサービスSearch1801、商品検索ページsearchとショッピングカートページshopping_cartを利用して商品見積もりを行うサービスEstimation1802、ショッピングカートページshopping_cartと購入結果ページpurchaseを利用して商品購入を行うサービスPurchase1803である。
このとき、従来のシステムを用いると以下の問題が生じる。
まず、サービスSearch1801を実行しようとすると、変換サーバはホームページhomeを経由せずに直接、商品検索ページsearchを要求するため、検索結果を取得できない。また、サービスEstimation1802を実行しようとすると、商品を特定するための情報は商品検索ページsearchの検索結果に依存するので、前の状態(商品検索ページsearchの検索結果)を保持していない変換サーバは、Webサーバにショッピングカートページshopping_cartを要求できない。
本発明の目的は、このような問題を解決し、ステートフルなWebサーバを利用した既存WebアプリケーションをWebサービスに変換する方法および装置を提供することを目的とする。
上記の目的を達成するために、本発明は、既存のWebアプリケーションをWebサービスに動的に変換する方法であって、
前記変換プロファイル作成装置が、コンテンツ管理者の指示に従い前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを作成する第1のステップと、前記変換サーバが、WebサービスクライアントからのSOAPリクエストに応じて、前記第1のステップで作成した変換プロファイルに基づき前記既存WebアプリケーションをWebサービスに変換する第2のステップとを備えることを特徴とする。
そして、前記第1のステップが、
前記既存Webアプリケーションのセッション情報を設定するステップaと、提供するWebサービスのフロー情報を設定するステップbと、提供するWebサービスの入力項目を設定するステップcと、提供するWebサービスの出力項目を設定するステップdとを備えることを特徴とする。
また、前記ステップaにおいて、前記Webサーバがセッション管理を開始するWebページから、提供するWebサービスが利用するWebページまでに経由するWebページを設定することを特徴とする。
また、前記ステップaにおいて、前記既存WebアプリケーションのURLの書き換えによるセッション管理に対応するため、次のWebページへのURLを現在のWebページ内の次WebページへのリンクをXPathで指定することを特徴とする。
また、前記ステップbにおいて、Webサービスを実行する前に、実行されるべきWebサービス名とその成否を設定することを特徴とする。
また、前記ステップcにおいて、前記Webページ内のFORMタグで指定された入力項目を、提供するWebサービスの入力項目として設定することを特徴とする。
また、前記ステップcにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、提供するWebサービスの入力項目として、引数をもつURLを設定することを特徴とする。
また、前記ステップcにおいて、提供するWebページへの入力項目として指定した項目に対して、変数名、型を設定することを特徴とする。
また、前記ステップdにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、リンクを含む部分を選択した場合、リンク先のURLを提供するWebサービスの出力項目として設定することを特徴とする。
また、前記第2のステップが、作成した前記変換プロファイルに従い、Webサービスクライアントから受信したSOAPリクエストを解析し、HTTPリクエストを生成し、Webサーバ内の既存Webアプリケーションが提供するWebページを取得するステップeと、WebサーバからのHTTPレスポンスを解析し、SOAPレスポンスを生成してWebサービスクライアントに配信するステップfとを備えることを特徴とする。
また、前記ステップeにおいて、WebサービスクライアントからのSOAPリクエストにCookieなどのセッション情報がない場合、前記Webサーバがセッションを開始するWebページから、前記変換サーバが提供するWebサービスが利用するWebページまでWebページを辿ることによってセッション情報を取得することを特徴とする。
また、前記ステップeにおいて、前記変換サーバが最後に実行したWebサービスの状態及び結果を保持しておくことにより、提供するWebサービスを実行可能か決定することを特徴とする。
また、前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目が既存WebページのFORMを基にしている場合、変換サーバが生成するHTTPリクエストのURLをFORMのaction属性値にすることを特徴とする。
また、前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目がURLである場合、前記変換サーバが生成するHTTPリクエストのURLを、WebサービスクライアントからのSOAPリクエスト中のURLに設定することを特徴とする。
また、前記ステップfにおいて、既存WebアプリケーションがCookieによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスもそのCookieを利用してセッション管理を行うことを特徴とする。
また、前記ステップfにおいて、既存WebアプリケーションがURLの書換えによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスでは、CookieなどWebサービスでも利用できるセッション管理方法に変換することを特徴とする。
本発明に係る変換装置は、WebサービスクライアントからのSOAPリクエストに応じて、Webサーバ内の既存WebアプリケーションをWebサービスに変換する装置であって、
前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを変換プロファイル作成装置から受信する第1の手段と、WebサービスクライアントからのSOAPリクエストに応じて、前記変換プロファイル作成装置から受信した前記変換プロファイルに基づき、前記既存WebアプリケーションをWebサービスに変換する第2の手段とを備えることを特徴とする。
本発明によれば、セッション管理を行っている既存Webアプリケーションにも対応することができ、より多くの既存WebアプリケーションをWebサービスに動的に変換することができる。
以下、本発明を実施する場合の一形態を、図面を参照して具体的に説明する。
図1は、本発明に係る変換方法を適用した変換システムの実施形態を示す全体構成図である。
ここで示すシステムは、Webサービスの提供を受けるWebサービスクライアント110、インターネット120を通して既存Webアプリケーションを動的に変換しWebサービスを提供する変換サーバ150、既存WebアプリケーションをWebサービスに変換するためのプロファイルを作成する変換プロファイル作成装置130、既存のWebアプリケーションを提供するWebサーバ140から構成される。
変換サーバ150は、Webサービスクライアント110からSOAPリクエストを受信し解析するSOAPリクエスト受信・解析部151、データの送受信を制御する制御部152、Webサービスを提供するための情報を保持するサービス情報保持部153、提供したサービスや取得したWebページの情報を保持しておくステータス保持部154、取得したWebページを解析するコンテンツ解析部155、Webサーバ140からWebページを取得するためのHTTPリクエストを生成し送信するHTTPリクエスト生成・送信部156、Webサーバ140からのレスポンスを受信するHTTPレスポンス受信部157、Webサービスクライアント110に結果を返すSOAPレスポンスを生成し送信するSOAPレスポンス生成・送信部158、変換プロファイル作成装置130が生成した変換プロファイルを受信する変換プロファイル受信部159から構成される。
ステータス保持部154には、図12に示すように、セッションID1201ごとに、最後に実行したWebサービス名1202、最後に実行したWebサービスの成否1203、最後に取得したHTTPレスポンス1204の情報が保持されている。
変換サーバ150が、Webサーバ140内に実装された既存のWebアプリケーションを動的に変換してWebサービスを提供するには、最初にコンテンツ管理者が変換プロファイル作成装置130を利用して、変換プロファイルを作成する必要がある。
変換プロファイルとは、既存WebアプリケーションをWebサービスに変換する上で必要となる既存Webアプリケーションに関する情報のことである。
変換プロファイル作成装置130の画面を図2に示す。
画面は、1つのWebサイト(プロジェクト221)が提供するWebサービスの変換プロファイル222の一覧を表示するプロジェクト構成表示部220、Webページを表示するブラウザ部230、変換プロファイルに記述される情報を設定するサービス設定部240から構成されている。さらにサービス設定部240は、このWebサービスへの入力に関する設定を行う入力部241、出力に関する設定を行う出力部242、セッションに関する設定を行うセッション部243、このWebサービスが実行される前の状態に関する設定を行うフロー部244から構成されている。
コンテンツ管理者がこの変換プロファイル作成装置130を利用して変換プロファイルを作成する手順について説明する。ここでは、図3のフローチャートに基づいて、2つのWebサービスSearchとEstimationの変換プロファイルを作成する例を示すことにより具体的に説明する。
最初に、WebサービスSearchを作成する例を示す。このサービスは、図14で説明した商品検索ページsearchを利用し、商品名とメーカを入力すると、商品検索結果を出力するサービスである(図18参照)。
まず、ステップ301において、コンテンツ管理者は、空の変換プロファイルSearchを作成する。作成した変換プロファイルは、プロジェクト構成表示部220に表示される。
ステップ302では、コンテンツ管理者は、セッション部243にセッション管理に関する情報を入力する。WebサービスSearchに利用する商品検索ページsearchは、図18で説明したようにホームページhome経由でなければアクセスできない。そこで、図4に示すように、ブラウザ部230にホームページhomeを表示する。図4は、変換プロファイル作成装置130の画面のうちブラウザ部230とサービス設定部240のみを図示している。これ以降の図では、この2つの部分のみを図示する。
コンテンツ管理者は、ホームページhome内の商品検索ページsearchへのリンクをマウスポインタ401で選択し、コンテキストメニュー402の「1ページ目から2ページ目」を選択する。これにより、セッション部243のセッション開始ページ403にホームページhomeのURL、2ページ目以降のページ404に商品検索ページsearchへのリンクを表すタグ<A>のXPathが入力される。ここで、商品検索ページsearchのURLではなく、リンクを表すタグ<A>のXPathを指定しているのは、URLの書き換えによるセッション管理によりURLが動的に作成される場合に対応するためである。また、マウスポインタ401によるWebページ内のタグの選択方法は、特開2003−6106号公報(出願人および発明者は本願発明と同一)に開示されている手法を用いることができる。
ステップ303では、コンテンツ管理者は、ブラウザ部230に呼び出し元のページsearchを表示させる(図5参照)。
この例ではフロー部への入力の必要がないのでステップ304は省略する。フロー部への入力はもう一方の例で説明する。
ステップ305では、コンテンツ管理者は、WebサービスSearchの入力項目を設定する(図5参照)。すなわち、コンテンツ管理者は、商品検索ページsearch内で目的の入力部を含むタグ<FORM>全体をマウスポインタ501で選択し、コンテキストメニューの「取り込み」502を選択する。これにより、入力部241において、「FORMによる入力」503が選択され、タグ<FORM>の情報(ACTION,METHOD)及び、子要素の<INPUT>, <TEXTAREA>の情報が表示される。
コンテンツ管理者は、さらに、入力項目に対して、子要素のタグについて、変数名(ProductName, MakerName)及び変数の型(文字列string)504を設定する。
ステップ306では、コンテンツ管理者は、呼び出し先Webページである検索結果が表示された商品検索ページsearchをブラウザ部230に表示させる(図6参照)。
ステップ307では、コンテンツ管理者は、WebサービスSearchの出力項目を設定する(図6参照)。すなわち、コンテンツ管理者は、Webページsearch内の出力項目である商品検索結果を表示しているタグ<TABLE>部分をマウスポインタ601で選択し、コンテキストメニュー602を選択する。これにより、図6(b)に示すようなTABLE入力ダイアログ610が表示される。
コンテンツ管理者は、TABLE入力ダイアログ610においてデータが行単位か列単位かを選択し(611)、またラベルを除くデータが開始されている開始行、開始列を設定し(612)、各列(行)に対する変数名及び変数の型613を設定する。ここで、4列目の変数の型には「URL」614が設定されている。これは、4列目「カート」の「入れる」603には、リンクが設定されており、そのURLにはセッションや商品を特定する情報が含まれている(例えばHTTP
1059715047515_0
○Shopping/shopping_cart;sessionID=abcd123?product_code=4567890)。このため、4列目は「入れる」という文字列よりも、そのリンクのURLが重要であり、変数の型として「URL」を設定すると、WebサービスSearchの出力として、そのURLを返すことを指定している。
以上のTABLE入力ダイアログ610への設定により、出力部242に図6(a)に示すような出力情報620が表示される。
ステップ308では、変換プロファイル作成装置130が上記の情報が記述された変換プロファイルを保存し、変換サーバ150に配置する。変換サーバ150では、変換プロファイル受信部159が変換プロファイル作成装置130から送信された変換プロファイルを受信し、制御部152に変換プロファイルに記述された情報を渡す。
制御部152は、サービス情報保持部153にその情報を保持させる。また、制御部152は、変換プロファイルの情報に基づきWDSL(Web Service Description Language)を生成し、公開する。生成されるWDSLについては前述した特許参考文献1に説明されているので、ここでの詳細な参照は省略する。
次に、WebサービスEstimationを作成する例を示す。
このサービスは、商品検索ページsearchとショッピングカートページshopping_cartを利用し(図18参照)、商品の検索結果に含まれる商品を選択すると、その商品の見積もりを出力するサービスである。
まず、ステップ301では、コンテンツ管理者は、空の変換プロファイルEstimationを作成する。
この例ではステップ302のセッション部への入力は必要ないので、省略する。セッション部への入力例はもう一方の例で説明している。
ステップ303では、コンテンツ管理者は、呼び出し元Webページである検索結果の表示された商品検索ページsearchをブラウザ部230に表示する(図7参照)。
ステップ304では、コンテンツ管理者は、サービス設定部240のフロー部244に、このWebサービスEstimationが実行できる条件を入力する(図7参照)。WebサービスEstimationは、商品検索サービスSearchが実行されて成功した場合に実行できるので、コンテンツ管理者は、サービス名が「Search」、実行結果が「成功」という条件701を入力する。
ステップ305では、コンテンツ管理者は、WebサービスEstimationの入力項目を設定する(図8参照)。商品検索ページsearchからショッピングカートページshopping_cartへ移動するには、検索結果の特定の商品に対する列「カート」の「入れる」801をクリックする。前述の通り「入れる」のリンクには、商品情報やセッション情報が含まれるが設定されており、これによってWebサーバ140は誰が何の商品を選択したか認識することができる。このような場合、コンテンツ管理者は、入力部241の「URLによる入力」802を選択する。これにより、WebサービスEstimationは入力項目としてURLを入力できるようになる。
ステップ306では、コンテンツ管理者は、呼び出し先のページshopping_cartをブラウザ部230に表示する(図9参照)。
ステップ307では、コンテンツ管理者は、WebサービスEstimationの出力項目を設定する(図9参照)。すなわち、コンテンツ管理者は、見積もりが表示されたTABLE部分901を選択し、出力部242において変数名や変数型などの必要な設定を行う。
ステップ308では、変換プロファイル作成装置130は、上記の情報が記述された変換プロファイルを保存し、変換サーバ150に配置する。
以上で、WebサービスSearchとEstimationniに関する変換プロファイル作成装置130による変換プロファイルの作成が完了したことになる。
次に、以上のようにして作成され、変換サーバ150のサービス情報保持部153に保持された変換プロファイルを用い、変換サーバ150がセッション管理を行う既存WebアプリケーションをWebサービスに変換する手順を図10、図11のフローチャートに基づいて説明する。
最初に、既存Webアプリケーションが、Cookieによるセッション管理を行っている場合について説明する。
図10はこの場合における、変換サーバ150が既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。ここで、変換サーバ150とWebサーバ140間で行っているCookieによるセッション管理方式は、変換サーバ150とWebサービスクライアント110間のWebサービスにおけるセッション管理方式としても利用できる。
まず、ステップ1001では、SOAPリクエスト受信・解析部151が、Webサービスクライアント110からのSOAPリクエストを受信し、Cookie情報を取得する。ただし、ここではWebサービスのセッション管理は、Cookieを用いて行うものとする。もし、Cookie情報が存在すればステップ1002を実行し、存在しない場合は1012を実行する。
ステップ1002では、制御部152が、ステータス保持部154が保持している最後に実行したWebサービス名1202及びその成否1203(図12参照)と、サービス情報保持部153が保持している図3のステップ304で設定したこのWebサービスを実行する条件とを比較する。比較した結果がこのWebサービスを実行するのに適切であれば、ステップ1004を実行し、不適切であればステップ1003を実行して例外をWebサービスクライアント110に返信する。
ステップ1004では、制御部152が、サービス情報保持部153が保持する図3のステップ305で設定した入力項目を参照して、SOAPリクエストから必要なデータを取得する。
ステップ1005では、HTTPリクエスト生成・送信部156がステップ1004で取得したデータを基にHTTPリクエストを生成し、Webサーバ140に送信する。生成されるHTTPリクエストについては、前述の特許文献1に説明されているのと同様である。
ステップ1006では、HTTPレスポンス受信部157が、Webサーバ140からHTTPレスポンスを受信する。
ステップ1007では、制御部152が、HTTPレスポンスからCookieに関する情報を取得する。
ステップ1008では、コンテンツ解析部155が、HTTPレスポンスに含まれるHTML文書を解析し、サービス情報保持部153が保持する図3のステップ307で設定した出力項目を参照して、必要なデータを取得する。取得方法の詳細に関しては、前述の特許文献1に説明されているのと同様であるので、ここでの説明は省略する。ただし、変数の型が「URL」である変数に関しては、指定したリンクに設定されたURLを取得する。
ステップ1009では、SOAPレスポンス生成・送信部158が、ステップ1008で取得したデータを基にSOAPレスポンスを作成する。生成されるSOAPレスポンスに関しては、前述の特許文献1に説明されているのと同様である。
ステップ1010では、制御部152が、ステータス保持部154が保持する情報を更新する。すなわち、ステップ1009でSOAPレスポンスの作成に成功した場合は、制御部152は、ステータス保持部154にサービス名とそのサービスが成功したことを保持させ、HTTPレスポンスが取得できない、HTML文書から必要なデータが取得できない、などの問題が生じた場合は、ステータス保持部154に「失敗」というステータスを保持させる。
ステップ1011では、SOAPレスポンス生成・送信部158が、ステップ1009で作成したSOAPレスポンスに、ステップ1007で取得したCookie情報を設定してWebサービスクライアント110に送信する。
一方、ステップ1012では、制御部152が、サービス情報保持部153に保持されている図3のステップ302で設定したセッションに関する情報を参照し、最初に実行されるサービスとして適切か判定する。セッションに関する情報が設定されているならば適切であると判断し、ステップ1014を実行する。セッションに関する情報が設定されていなければ、不適切と判断し、ステップ1013を実行し、Webサービスクライアント110に例外を返信する。
ステップ1014では、制御部152が、サービス情報保持部153に保持されている図3のステップ302で設定したセッションに関す情報と、ステータス保持部154が保持する最後に取得したHTTPレスポンス1204(図12)のURLとを比較し、次にアクセスすべきWebページが存在するか判定する。存在する場合は、ステップ1015を実行し、存在しない場合は、ステップ1004を実行する。
ステップ1015では、HTTPリクエスト生成・送信部156が、ステップ1014で取得したURLとステップ1017で取得するCookie情報を含むHTTPリクエストを生成し、Webサーバ140に送信する。
ステップ1016では、HTTPレスポンス受信部157がWebサーバ140からHTTPレスポンスを受信する。
ステップ1017では、制御部152がステップ1016で取得したHTTPレスポンスからCookie情報を取得する。
ステップ1018では、制御部152が、ステータス保持部154にステップ1016で取得したHTTPレスポンスを保持させる。
以上が、Webサーバ140内の既存Webアプリケーションが、URLの書き換えによるセッション管理を行っている場合のWebサービスへの変換の手順である。
次に、既存Webアプリケーションが、URLの書き換えによるセッション管理を行っている場合の変換手順を、図11のフローチャートに基づいて説明する。
URLの書き換えによるセッション管理方式は、Webサービスにおけるセッション管理方式として利用することができない。そのため、既存WebアプリケーションがURLの書き換えによるセッション管理を行っている場合、変換サーバ150は、Webサービスクライアント110とのセッション管理は、CookieなどのWebサービスで利用可能なセッション管理方式に変換して行う必要がある。
まず、ステップ1101では、SOAPリクエスト受信・解析部151が、Webサービスクライアント110からのSOAPリクエストを受信し、Cookie情報を取得する。Cookie情報が存在すれば、ステップ1102を実行し、存在しなければ、ステップ1111を実行する。
ステップ1102では、制御部152が、ステータス保持部154が保持している最後に実行したWebサービス名1202及びその成否1203(図12参照)と、サービス情報保持部153が保持している図3のステップ304で設定したこのWebサービスを実行する条件とを比較する。比較した結果が一致し、このWebサービスを実行するのに適切であれば、ステップ1104を実行し、比較した結果が一致せず不適切であればステップ1103を実行して例外をWebサービスクライアント110に返信する。
ステップ1104では、制御部152が、サービス情報保持部153の保持する図3のステップ305で設定した入力項目を参照して、SOAPリクエストから必要なデータを取得する。
ステップ1105では、HTTPリクエスト生成・送信部156がステップ1104で取得したデータを基にHTTPリクエストを生成し、Webサーバ140に送信する。生成されるHTTPリクエストについては、前述の特許文献1で説明されているのと同様である。
このとき、HTTPリクエスト生成・送信部156は、サービス情報保持部153から図3のステップ305で設定した入力部の情報(図5及び図8)を参照し、「URLの直接入力」または「FORMによる入力」であるか判断する。「URLの直接入力」の場合は、HTTPリクエスト生成・送信部156は、ステップ1104で取得したSOAPリクエストからURLを取得し、HTTPリクエストを生成する。「FORMによる入力」の場合は、HTTPリクエスト生成・送信部156は、図3のステップ305で設定した図5のACTIONの値505からURLを取得し、HTTPリクエストを生成する。
ステップ1106では、HTTPレスポンス受信部17が、Webサーバ140から信する。
ステップ1107では、コンテンツ解析部15が、HTTPレスポンスに含まれるHTML文書を解析し、サービス情報保持部13が保持する図3のステップ307で設定した出力項目を参照し、必要なデータを取得する。取得方法の詳細に関しては、前述の特許文献1で説明されているのと同様である。ただし、変数の型が「URL」である変数に関しては、指定したリンクに設定されたURLを取得する。
ステップ1108では、SOAPレスポンス生成・送信部759が、ステップ1107で取得したデータを基にSOAPレスポンスを作成する。生成されるSOAPレスポンスに関しては、前述の特許文献1で説明されているのと同様である。
ステップ1109では、制御部152が、ステータス保持部154が保持する情報を更新する。すなわち、ステップ1109でSOAPレスポンスの作成に成功した場合は、制御部152は、ステータス保持部154にサービス名とそのサービスが成功したことを保持させ、HTTPレスポンスが取得できない、HTML文書から必要なデータが取得できない、などの問題が生じた場合は、ステータス保持部154に「失敗」というステータスを保持させる。
ステップ1110では、SOAPレスポンス生成・送信部158が、ステップ1108で作成したSOAPレスポンスに、ステップ1101で取得したCookie情報または、ステップ1113で生成したセッションIDを基に生成したCookie情報を設定してWebサービスクライアント110に送信する。
一方、ステップ1111では、制御部152が、サービス情報保持部153に保持されている図3のステップ302で設定したセッションに関する情報を参照し、最初に実行されるサービスとして適切か判定する。セッションに関する情報が設定されているならば適切であると判断し、ステップ1113を実行する。セッションに関する情報が設定されていなければ、不適切と判断しステップ1112を実行し、Webサービスクライアント110に例外を返信する。
ステップ1113では、制御部152が、このセッションに対するセッションIDを生成し、ステータス保持部154にこのセッションIDを登録する。
ステップ1114では、サービス情報保持部153に保持されている図3のステップ302で設定したセッションに関する情報と、ステータス保持部154が保持する最後に取得したHTTPリクエスト1204(図12)のURLとを比較し、次にアクセスすべきWebページが存在するか判定する。存在する場合は、ステップ1115を実行し、存在しない場合は、ステップ1104を実行する。
ステップ1115では、HTTPリクエスト生成・送信部156が、HTTPリクエストを生成し、Webサーバ140に送信する。HTTPリクエスト生成・送信部156は、このHTTPリクエストのURLを次のように求める。すなわち、アクセスするWebページがセッション開始ページであるならば、HTTPリクエスト生成・送信部156は、サービス情報保持部153から図3のステップ302で設定した図4のセッション開始ページ403のURLを取得する。2ページ目以降であるならば、サービス情報保持部153から図3のステップ302で設定した図4の2ページ目以降のページにおける「Xpath」404を取得し、ステータス保持部154が保持する最後に取得したHTTPレスポンス1204(図12)のHTML文書からXPathに従いURLを取得する。これにより、動的に生成されるURLに対応可能になる。
ステップ1116では、HTTPレスポンス部157がWebサーバ140からHTTPレスポンスを受信する。
ステップ1117では、制御部152が、ステータス保持部154にステップ1116で取得したHTTPレスポンスを保持させる。
なお、以上の説明では、Webサービスのセッション管理にCookieを利用したが、SOAPヘッダーを利用してもよい。
本発明の既存WebアプリケーションをWebサービスに変換する方法を適用したシステムの実施の形態を示す図である。 変換プロファイル作成装置の画面例を示す図である。 変換プロファイルを作成する手順を説明するフローチャートである。 WebサービスSearchのセッションに関する設定を行う変換プロファイル作成装置の画面例を示す図である。 WebサービスSearchの入力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。 WebサービスSearchの出力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。 WebサービスEstimationのフローに関する設定を行う変換プロファイル作成装置の画面例を示す図である。 WebサービスEstimationの入力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。 WebサービスEstimationの出力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。 既存WebアプリケーションがCookieによるセッション管理を行っている場合に、変換サーバが既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。 既存WebアプリケーションがURLの書き換えによるセッション管理を行っている場合に、変換サーバが既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。 ステータス保持部のデータ構造を示す図である。 セッション管理を行う既存ECサイトにおけるホームページの画面例である。 セッション管理を行う既存ECサイトにおける商品検索ページの画面例である。 セッション管理を行う既存ECサイトにおけるショッピングカートページの画面例である。 セッション管理を行う既存ECサイトにおける購入手続き完了を表示するページの画面例である。 Webページ間の可能なページ遷移を示す図である。 本発明の変換方法を用いて提供するWebサービスと既存のWebページとの関係を示す図である。
符号の説明
110 Webサービスクライアント
120 インターネット
130 変換プロファイル作成装置
140 Webサーバ
150 変換サーバ
151 SOAPリクエスト受信・解析部
152 制御部
153 サービス情報保持部
154 ステータス保持部
155 コンテンツ解析部
156 HTTPリクエスト生成・送信部
157 HTTPレスポンス受信部
158 SOAPレスポンス生成・送信部
159 変換プロファイル受信部

Claims (17)

  1. 変換プロファイル作成装置と変換サーバによりWebサーバ内の既存WebアプリケーションをWebサービスに変換する方法であって、
    前記変換プロファイル作成装置が、コンテンツ管理者の指示に従い前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを作成する第1のステップと、
    前記変換サーバが、WebサービスクライアントからのSOAPリクエストに応じて、前記第1のステップで作成した変換プロファイルに基づき前記既存WebアプリケーションをWebサービスに変換する第2のステップと
    を備えることを特徴とする既存WebアプリケーションのWebサービスへの変換方法。
  2. 前記第1のステップが、
    前記既存Webアプリケーションのセッション情報を設定するステップaと、
    提供するWebサービスのフロー情報を設定するステップbと、
    提供するWebサービスの入力項目を設定するステップcと、
    提供するWebサービスの出力項目を設定するステップdと
    を備えることを特徴とする請求項1に記載の既存WebアプリケーションのWebサービスへの変換方法。
  3. 前記ステップaにおいて、前記Webサーバがセッション管理を開始するWebページから、提供するWebサービスが利用するWebページまでに経由するWebページを設定することを特徴とする請求項2に記載の既存WebアプリケーションのWebサービスへの変換方法。
  4. 前記ステップaにおいて、前記既存WebアプリケーションのURLの書き換えによるセッション管理に対応するため、次のWebページへのURLを現在のWebページ内の次WebページへのリンクをXPathで指定することを特徴とする請求項2または3に記載の既存WebアプリケーションのWebサービスへの変換方法。
  5. 前記ステップbにおいて、Webサービスを実行する前に、実行されるべきWebサービス名とその実行結果を設定することを特徴とする請求項2〜4のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  6. 前記ステップcにおいて、前記Webページ内のFORMタグで指定された入力項目を、提供するWebサービスの入力項目として設定することを特徴とする請求項2〜5のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  7. 前記ステップcにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、提供するWebサービスの入力項目として、引数をもつURLを設定することを特徴とする請求項2〜6のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  8. 前記ステップcにおいて、提供するWebページへの入力項目として指定した項目に対して、変数名、型を設定することを特徴とする請求項2〜7のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  9. 前記ステップdにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、リンクを含む部分を選択した場合、提供するWebサービスの出力項目としてリンク先のURLを設定することを特徴とする請求項2〜8のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  10. 前記第2のステップが、作成した前記変換プロファイルに従い、Webサービスクライアントから受信したSOAPリクエストを解析し、HTTPリクエストを生成し、Webサーバ内の既存Webアプリケーションが提供するWebページを取得するステップeと、WebサーバからのHTTPレスポンスを解析し、SOAPレスポンスを生成してWebサービスクライアントに配信するステップfとを備えることを特徴とする請求項2〜9のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  11. 前記ステップeにおいて、WebサービスクライアントからのSOAPリクエストにCookieを用いたセッション情報がない場合、前記Webサーバがセッションを開始するWebページから、前記変換サーバが提供するWebサービスが利用するWebページまでWebページを辿ることによってセッション情報を取得することを特徴とする請求項10に記載の既存WebアプリケーションのWebサービスへの変換方法。
  12. 前記ステップeにおいて、前記変換サーバが最後に実行したWebサービスの状態及び結果を保持しておくことにより、提供するWebサービスを実行可能か決定することを特徴とする請求項10または11に記載の既存WebアプリケーションのWebサービスへの変換方法。
  13. 前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目が既存WebページのFORMを基にしている場合、変換サーバが生成するHTTPリクエストのURLをFORMのaction属性値にすることを特徴とする請求項10〜12のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  14. 前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目がURLである場合、前記変換サーバが生成するHTTPリクエストのURLを、WebサービスクライアントからのSOAPリクエスト中のURLに設定することを特徴とする請求項10〜13のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  15. 前記ステップfにおいて、既存WebアプリケーションがCookieによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスもそのCookieを利用してセッション管理を行うことを特徴とする請求項10〜14のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  16. 前記ステップfにおいて、既存WebアプリケーションがURLの書換えによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスでは、Cookieを用いたWebサービスでも利用できるセッション管理方法に変換することを特徴とする請求項10〜15のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。
  17. WebサービスクライアントからのSOAPリクエストに応じて、Webサーバ内の既存WebアプリケーションをWebサービスに変換する装置であって、
    前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを変換プロファイル作成装置から受信する第1の手段と、
    WebサービスクライアントからのSOAPリクエストに応じて、前記変換プロファイル作成装置から受信した前記変換プロファイルに基づき、前記既存WebアプリケーションをWebサービスに変換する第2の手段と
    を備えることを特徴とする既存WebアプリケーションのWebサービスへの変換装置。
JP2003284899A 2003-08-01 2003-08-01 既存WebアプリケーションのWebサービスへの変換方法及び装置 Expired - Fee Related JP4208185B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003284899A JP4208185B2 (ja) 2003-08-01 2003-08-01 既存WebアプリケーションのWebサービスへの変換方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003284899A JP4208185B2 (ja) 2003-08-01 2003-08-01 既存WebアプリケーションのWebサービスへの変換方法及び装置

Publications (2)

Publication Number Publication Date
JP2005056058A JP2005056058A (ja) 2005-03-03
JP4208185B2 true JP4208185B2 (ja) 2009-01-14

Family

ID=34364704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003284899A Expired - Fee Related JP4208185B2 (ja) 2003-08-01 2003-08-01 既存WebアプリケーションのWebサービスへの変換方法及び装置

Country Status (1)

Country Link
JP (1) JP4208185B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4285655B2 (ja) * 2005-07-19 2009-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Webサービスを提供する方法、装置、プログラム
JP6158667B2 (ja) * 2013-09-30 2017-07-05 Kddi株式会社 サーバ装置、端末装置、通信方法およびコンピュータプログラム

Also Published As

Publication number Publication date
JP2005056058A (ja) 2005-03-03

Similar Documents

Publication Publication Date Title
EP2256646B1 (en) Improvements in and relating to remote user interfaces
JP4540689B2 (ja) ウェブブラウザ、データ処理装置、およびウェブページデータ処理方法
JP5030354B2 (ja) ネットワーク上にオブジェクトを配信するための方法およびシステム
EP1811747B1 (en) Method and apparatus for storing and restoring state information of remote user interface
JP2004530192A (ja) クッキーを利用して単一操作印刷オプションを提供するWebベースのイメージング・システム
KR20020022374A (ko) 웹 문서의 주소 변환을 이용한 공동 브라우징 방법
JP5638761B2 (ja) 画面生成方法、画面表示方法、画面生成装置、及びプログラム
JP4462901B2 (ja) モーダル同期制御方法およびマルチモーダルインターフェイスシステム
JPH10207805A (ja) Wwwサーバ・wwwブラウザ・システム
CN102004729A (zh) 一种网站网页的展现方法、***及网站服务器
JP2010204834A (ja) アプリケーション実行方法、アプリケーション変更装置、及びアプリケーション変更プログラム
JP2004246747A (ja) 既存サービスのラッピング方法および装置
JP4208185B2 (ja) 既存WebアプリケーションのWebサービスへの変換方法及び装置
JP5774429B2 (ja) 通信装置および通信方法、ならびに、プログラム
JP2000112888A (ja) ブラウザ操作管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
EP2101474A1 (en) Service bindings for web services
JP2005149131A (ja) 情報処理装置、方法及びプログラム
JP5154716B1 (ja) 情報処理装置、方法およびプログラム
JP2005107662A (ja) Wwwシステム処理方法およびシステム
JPH11161603A (ja) データ中継装置、データ中継方法、情報端末装置、情報端末装置の情報処理方法、データ通信システムおよび記録媒体
JP2009031834A (ja) プログラム、情報記憶媒体、コンピュータシステム及びコンピュータシステムの制御方法
JP2002358280A (ja) クライアントサーバシステム
Heinzl et al. The web service browser: Automatic client generation and efficient data transfer for web services
JP2000285058A (ja) 情報提供装置および方法、情報処理装置および方法、並びに媒体
JP3900634B2 (ja) データ固定化装置、データ固定化方法、情報端末装置、情報端末装置の情報処理方法、サーバ、サーバの情報処理方法および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees