JP4208185B2 - Method and apparatus for converting existing web application to web service - Google Patents
Method and apparatus for converting existing web application to web service Download PDFInfo
- 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
Links
Images
Description
本発明は、既存のWebアプリケーションをWebサービスに動的に変換する方法および装置に関する。 The present invention relates to a method and apparatus for dynamically converting an existing Web application into a Web service.
従来のWebアプリケーションをWebサービスに変換する方法の一つに、プロキシ型の変換サーバを利用して、WebサービスのプロトコルであるSOAPと既存のWebアプリケーションのプロトコルであるHTTPとを相互に変換する方法がある(特許文献1参照)。
ここで、既存Webアプリケーションとは、ユーザからのリクエストに応じて、WebサーバがWebページを返すシステムを意味する。
Here, the existing Web application means a system in which a Web server returns a Web page in response to a request from a user.
この従来システムでは、変換サーバは、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サービスに変換するには以下のように行う。
In this conventional system, the conversion server receives, as a SOAP request, from the Web server client, information necessary for acquiring a Web page describing information to be provided as a Web service from the Web application. An HTTP request is generated from this information, and the target Web page is received as an HTTP response from the Web server. Then, the target information is acquired from the Web page, and a SOAP (Simple Object Access Protocol) response is generated and transmitted to the Web server client.
If this method is used, a web service can be provided without modifying or changing an existing web application.
For example, in the Web page A including the <FORM> tag, it is assumed that there is an existing Web application that returns the Web page B including the search result when the user inputs a search key. This existing Web application is converted into a Web service using the conversion server as follows.
変換サーバは、Webサービスクライアントから検索キーを含むSOAPリクエストを受信すると、このSOAPメッセージから検索キーを取得してHTTPリクエストを生成し、Webサーバに送信する。Webサーバは、WebページBを含むHTTPレスポンスを変換サーバに送信する。WebサーバからWebページBを含むHTTPレスポンスを受信した変換サーバは、WebページBから検索結果のデータのみを取得し、これからSOAPレスポンスを生成し、Webサービスクライアントに送信する。ここで、変換サーバは、これまで経由したWebページの履歴や、これまでに実行したWebサービスの結果については考慮していない。 When the conversion server receives the SOAP request including the search key from the Web service client, the conversion server acquires the search key from the SOAP message, generates an HTTP request, and transmits the HTTP request to the Web server. The Web server transmits an HTTP response including Web page B to the conversion server. The conversion server that has received the HTTP response including the Web page B from the Web server acquires only the search result data from the Web page B, generates a SOAP response therefrom, and transmits it to the Web service client. Here, the conversion server does not consider the history of Web pages that have been passed so far and the results of Web services that have been executed so far.
しかしながら、上記した従来の変換システムは、リクエスト発行のたびにクライアントとサーバ間を接続し直すステートレス(Stateless)なWebサーバにしか対応しておらず、CookieやURLの書き換えを利用してセッション管理を行うステートフルなWebサーバには対応していない。 However, the above-described conventional conversion system only supports a stateless Web server that reconnects the client and the server each time a request is issued, and session management is performed using rewriting of cookies and URLs. It does not support stateful web servers.
例えば、セッション管理が必要となる既存の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)に移動する。
以上で、商品の購入が完了する。ただし、ここでは氏名や住所など個人情報を入力するページは省略している。
For example, a case where an existing EC site that requires session management is converted into a Web service will be described.
13 to 16 are screen examples of the EC site. The user first accesses a home 1300 (FIG. 13) of the EC site. When a Web page home is requested, the Web server generates a session ID and starts session management using a cookie or URL rewriting method. Next, the user moves to a product search page (search) 1400 (FIG. 14), and inputs a
This completes the purchase of the product. However, the page for inputting personal information such as name and address is omitted here.
図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である。
FIG. 17 is a diagram showing permitted transition between pages. The product
Further, the shopping
Next, consider providing this EC site as a Web service. Then, consider a case where this EC site is divided into three services as shown in FIG. That is, a
このとき、従来のシステムを用いると以下の問題が生じる。
まず、サービスSearch1801を実行しようとすると、変換サーバはホームページhomeを経由せずに直接、商品検索ページsearchを要求するため、検索結果を取得できない。また、サービスEstimation1802を実行しようとすると、商品を特定するための情報は商品検索ページsearchの検索結果に依存するので、前の状態(商品検索ページsearchの検索結果)を保持していない変換サーバは、Webサーバにショッピングカートページshopping_cartを要求できない。
At this time, the following problems occur when a conventional system is used.
First, when trying to execute the
本発明の目的は、このような問題を解決し、ステートフルなWebサーバを利用した既存WebアプリケーションをWebサービスに変換する方法および装置を提供することを目的とする。 An object of the present invention is to solve such problems and to provide a method and apparatus for converting an existing Web application using a stateful Web server into a Web service.
上記の目的を達成するために、本発明は、既存の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サービスでも利用できるセッション管理方法に変換することを特徴とする。
To achieve the above object, the present invention is a method for dynamically converting an existing web application into a web service,
A first step in which the conversion profile creation device creates a conversion profile describing information necessary for converting the existing web application into a web service in accordance with an instruction from a content manager; and the conversion server comprises a web service client And a second step of converting the existing Web application into a Web service based on the conversion profile created in the first step in response to a SOAP request from.
And the first step comprises
Step a for setting session information of the existing Web application, Step b for setting flow information for the Web service to be provided, Step c for setting input items for the Web service to be provided, and Output items for the Web service to be provided And d for setting.
Further, in the step a, a Web page that passes from a Web page where the Web server starts session management to a Web page used by a Web service to be provided is set.
In step a, in order to support session management by rewriting the URL of the existing Web application, the URL to the next Web page is designated by the XPath as the link to the next Web page in the current Web page. Features.
In step b, before executing the Web service, the name of the Web service to be executed and its success or failure are set.
In step c, an input item specified by a FORM tag in the Web page is set as an input item of a Web service to be provided.
Further, in the step c, in order to cope with the data transfer by the argument of the URL of the existing Web application, a URL having an argument is set as an input item of the Web service to be provided.
In the step c, variable names and types are set for items specified as input items to the Web page to be provided.
Further, in the step d, in order to cope with the data transfer by the URL argument of the existing Web application, when a part including a link is selected, it is set as an output item of the Web service that provides the link destination URL. Features.
The second step is a step of analyzing a SOAP request received from a Web service client according to the created conversion profile, generating an HTTP request, and acquiring a Web page provided by an existing Web application in the Web server. e and analyzing the HTTP response from the Web server, generating a SOAP response, and delivering it to the Web service client.
In step e, when there is no session information such as a cookie in the SOAP request from the Web service client, from the Web page where the Web server starts the session to the Web page used by the Web service provided by the conversion server Session information is acquired by tracing a Web page.
In the step e, it is determined whether the Web service to be provided can be executed by holding the status and result of the Web service last executed by the conversion server.
In step e, if the input item of the Web service provided by the conversion server is based on the FORM of an existing Web page, the URL of the HTTP request generated by the conversion server is set to the action attribute value of FORM. Features.
In step e, if the input item of the Web service provided by the conversion server is a URL, the URL of the HTTP request generated by the conversion server is set to the URL in the SOAP request from the Web service client. It is characterized by.
In the step f, when an existing Web application performs session management using cookies, the Web service provided by the conversion server also performs session management using the cookies.
Further, in the step f, when an existing Web application performs session management by URL rewriting, the Web service provided by the conversion server is converted into a session management method that can also be used by the Web service such as a cookie. To do.
本発明に係る変換装置は、WebサービスクライアントからのSOAPリクエストに応じて、Webサーバ内の既存WebアプリケーションをWebサービスに変換する装置であって、
前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを変換プロファイル作成装置から受信する第1の手段と、WebサービスクライアントからのSOAPリクエストに応じて、前記変換プロファイル作成装置から受信した前記変換プロファイルに基づき、前記既存WebアプリケーションをWebサービスに変換する第2の手段とを備えることを特徴とする。
A conversion apparatus according to the present invention is an apparatus that converts an existing Web application in a Web server into a Web service in response to a SOAP request from a Web service client.
First means for receiving a conversion profile describing information necessary for converting the existing Web application into a Web service from the conversion profile generation apparatus, and the conversion profile generation apparatus in response to a SOAP request from a Web service client And a second means for converting the existing Web application into a Web service based on the conversion profile received from.
本発明によれば、セッション管理を行っている既存Webアプリケーションにも対応することができ、より多くの既存WebアプリケーションをWebサービスに動的に変換することができる。 According to the present invention, it is possible to deal with an existing Web application that performs session management, and it is possible to dynamically convert more existing Web applications into Web services.
以下、本発明を実施する場合の一形態を、図面を参照して具体的に説明する。
図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アプリケーションに関する情報のことである。
Hereinafter, an embodiment for carrying out the present invention will be specifically described with reference to the drawings.
FIG. 1 is an overall configuration diagram showing an embodiment of a conversion system to which a conversion method according to the present invention is applied.
The system shown here includes a Web service client 110 that receives a Web service, a
The
As shown in FIG. 12, the
In order for the
The conversion profile is information related to an existing Web application that is necessary for converting an existing Web application into a Web service.
変換プロファイル作成装置130の画面を図2に示す。
画面は、1つのWebサイト(プロジェクト221)が提供するWebサービスの変換プロファイル222の一覧を表示するプロジェクト構成表示部220、Webページを表示するブラウザ部230、変換プロファイルに記述される情報を設定するサービス設定部240から構成されている。さらにサービス設定部240は、このWebサービスへの入力に関する設定を行う入力部241、出力に関する設定を行う出力部242、セッションに関する設定を行うセッション部243、このWebサービスが実行される前の状態に関する設定を行うフロー部244から構成されている。
A screen of the conversion
The screen sets a project configuration display unit 220 that displays a list of
コンテンツ管理者がこの変換プロファイル作成装置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つの部分のみを図示する。
A procedure in which the content manager creates a conversion profile using the conversion
First, an example of creating a Web service Search is shown. This service is a service for outputting a product search result when the product name and manufacturer are input using the product search page search described with reference to FIG. 14 (see FIG. 18).
First, in
In
コンテンツ管理者は、ホームページ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は省略する。フロー部への入力はもう一方の例で説明する。
The content manager selects the link to the product search page “search” in the home page with the
In
In this example, since there is no need to input to the flow unit,
ステップ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が表示される。
In
The content manager further sets a variable name (ProductName, MakerName) and a variable type (character string string) 504 for the tag of the child element for the input item.
In
In
コンテンツ管理者は、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が表示される。
In the
1059715047515_0
○ Shopping / shopping_cart; sessionID = abcd123? Product_code = 4567890). For this reason, the URL of the link in the fourth column is more important than the character string “put”, and if “URL” is set as the variable type, the URL is returned as the output of the Web service search. is doing.
With the above setting in the
ステップ308では、変換プロファイル作成装置130が上記の情報が記述された変換プロファイルを保存し、変換サーバ150に配置する。変換サーバ150では、変換プロファイル受信部159が変換プロファイル作成装置130から送信された変換プロファイルを受信し、制御部152に変換プロファイルに記述された情報を渡す。
制御部152は、サービス情報保持部153にその情報を保持させる。また、制御部152は、変換プロファイルの情報に基づきWDSL(Web Service Description Language)を生成し、公開する。生成されるWDSLについては前述した特許参考文献1に説明されているので、ここでの詳細な参照は省略する。
In
The
次に、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を入力する。
Next, an example of creating a Web service Estimation is shown.
This service uses a product search page search and a shopping cart page shopping_cart (see FIG. 18), and when a product included in a product search result is selected, an estimate of the product is output.
First, in
In this example, input to the session part in
In
In
ステップ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による変換プロファイルの作成が完了したことになる。
In
In
In
In
This completes the creation of the conversion profile by the conversion
次に、以上のようにして作成され、変換サーバ150のサービス情報保持部153に保持された変換プロファイルを用い、変換サーバ150がセッション管理を行う既存WebアプリケーションをWebサービスに変換する手順を図10、図11のフローチャートに基づいて説明する。
最初に、既存Webアプリケーションが、Cookieによるセッション管理を行っている場合について説明する。
図10はこの場合における、変換サーバ150が既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。ここで、変換サーバ150とWebサーバ140間で行っているCookieによるセッション管理方式は、変換サーバ150とWebサービスクライアント110間のWebサービスにおけるセッション管理方式としても利用できる。
Next, using the conversion profile created as described above and held in the service
First, a case where an existing Web application performs session management using cookies will be described.
FIG. 10 is a flowchart illustrating a procedure in which the
まず、ステップ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リクエストから必要なデータを取得する。
First, in
In
In
ステップ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を取得する。
In
In
In
In
ステップ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に送信する。
In
In
In
一方、ステップ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に送信する。
On the other hand, in
In
In
ステップ1016では、HTTPレスポンス受信部157がWebサーバ140からHTTPレスポンスを受信する。
ステップ1017では、制御部152がステップ1016で取得したHTTPレスポンスからCookie情報を取得する。
ステップ1018では、制御部152が、ステータス保持部154にステップ1016で取得したHTTPレスポンスを保持させる。
以上が、Webサーバ140内の既存Webアプリケーションが、URLの書き換えによるセッション管理を行っている場合のWebサービスへの変換の手順である。
In
In
In
The above is the procedure for conversion to the Web service when the existing Web application in the
次に、既存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リクエストから必要なデータを取得する。
Next, the conversion procedure when the existing Web application performs session management by rewriting URL will be described based on the flowchart of FIG.
The session management method based on URL rewriting cannot be used as a session management method in a Web service. Therefore, when an existing Web application performs session management by rewriting URL, the
First, in
In
In step 1104, the
ステップ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から信する。
In
At this time, the HTTP request generation /
In
ステップ1107では、コンテンツ解析部15が、HTTPレスポンスに含まれるHTML文書を解析し、サービス情報保持部13が保持する図3のステップ307で設定した出力項目を参照し、必要なデータを取得する。取得方法の詳細に関しては、前述の特許文献1で説明されているのと同様である。ただし、変数の型が「URL」である変数に関しては、指定したリンクに設定されたURLを取得する。
ステップ1108では、SOAPレスポンス生成・送信部759が、ステップ1107で取得したデータを基にSOAPレスポンスを作成する。生成されるSOAPレスポンスに関しては、前述の特許文献1で説明されているのと同様である。
In
In
ステップ1109では、制御部152が、ステータス保持部154が保持する情報を更新する。すなわち、ステップ1109でSOAPレスポンスの作成に成功した場合は、制御部152は、ステータス保持部154にサービス名とそのサービスが成功したことを保持させ、HTTPレスポンスが取得できない、HTML文書から必要なデータが取得できない、などの問題が生じた場合は、ステータス保持部154に「失敗」というステータスを保持させる。
ステップ1110では、SOAPレスポンス生成・送信部158が、ステップ1108で作成したSOAPレスポンスに、ステップ1101で取得したCookie情報または、ステップ1113で生成したセッションIDを基に生成したCookie情報を設定してWebサービスクライアント110に送信する。
In
In
一方、ステップ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を実行する。
On the other hand, in
In
In
ステップ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ヘッダーを利用してもよい。
In
In
In
In the above description, a cookie is used for session management of a Web service, but a SOAP header may be used.
110 Webサービスクライアント
120 インターネット
130 変換プロファイル作成装置
140 Webサーバ
150 変換サーバ
151 SOAPリクエスト受信・解析部
152 制御部
153 サービス情報保持部
154 ステータス保持部
155 コンテンツ解析部
156 HTTPリクエスト生成・送信部
157 HTTPレスポンス受信部
158 SOAPレスポンス生成・送信部
159 変換プロファイル受信部
DESCRIPTION OF SYMBOLS 110
Claims (17)
前記変換プロファイル作成装置が、コンテンツ管理者の指示に従い前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを作成する第1のステップと、
前記変換サーバが、WebサービスクライアントからのSOAPリクエストに応じて、前記第1のステップで作成した変換プロファイルに基づき前記既存WebアプリケーションをWebサービスに変換する第2のステップと
を備えることを特徴とする既存WebアプリケーションのWebサービスへの変換方法。 A method of converting an existing Web application in a Web server into a Web service by a conversion profile creation device and a conversion server,
A first step in which the conversion profile creation device creates a conversion profile describing information necessary to convert the existing web application into a web service in accordance with an instruction from a content manager;
The conversion server includes a second step of converting the existing Web application into a Web service based on the conversion profile created in the first step in response to a SOAP request from a Web service client. A method for converting an existing Web application into a Web service.
前記既存Webアプリケーションのセッション情報を設定するステップaと、
提供するWebサービスのフロー情報を設定するステップbと、
提供するWebサービスの入力項目を設定するステップcと、
提供するWebサービスの出力項目を設定するステップdと
を備えることを特徴とする請求項1に記載の既存WebアプリケーションのWebサービスへの変換方法。 The first step comprises:
Setting the session information of the existing web application;
A step b of setting flow information of a web service to be provided;
Setting an input item of a Web service to be provided; c.
The method for converting an existing web application into a web service according to claim 1, further comprising a step d of setting an output item of the web service to be provided.
前記既存WebアプリケーションをWebサービスに変換するのに必要な情報を記述した変換プロファイルを変換プロファイル作成装置から受信する第1の手段と、
WebサービスクライアントからのSOAPリクエストに応じて、前記変換プロファイル作成装置から受信した前記変換プロファイルに基づき、前記既存WebアプリケーションをWebサービスに変換する第2の手段と
を備えることを特徴とする既存WebアプリケーションのWebサービスへの変換装置。 A device that converts an existing web application in a web server into a web service in response to a SOAP request from a web service client,
First means for receiving a conversion profile describing information necessary for converting the existing Web application into a Web service from a conversion profile creation device;
An existing Web application comprising: second means for converting the existing Web application into a Web service based on the conversion profile received from the conversion profile creation device in response to a SOAP request from a Web service client. Conversion device for Web services.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003284899A JP4208185B2 (en) | 2003-08-01 | 2003-08-01 | Method and apparatus for converting existing web application to web service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003284899A JP4208185B2 (en) | 2003-08-01 | 2003-08-01 | Method and apparatus for converting existing web application to web service |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005056058A JP2005056058A (en) | 2005-03-03 |
JP4208185B2 true JP4208185B2 (en) | 2009-01-14 |
Family
ID=34364704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003284899A Expired - Fee Related JP4208185B2 (en) | 2003-08-01 | 2003-08-01 | Method and apparatus for converting existing web application to web service |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4208185B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4285655B2 (en) * | 2005-07-19 | 2009-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, apparatus, and program for providing Web service |
JP6158667B2 (en) * | 2013-09-30 | 2017-07-05 | Kddi株式会社 | Server device, terminal device, communication method, and computer program |
-
2003
- 2003-08-01 JP JP2003284899A patent/JP4208185B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005056058A (en) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2256646B1 (en) | Improvements in and relating to remote user interfaces | |
JP4540689B2 (en) | Web browser, data processing apparatus, and web page data processing method | |
JP5030354B2 (en) | Method and system for distributing objects over a network | |
EP1811747B1 (en) | Method and apparatus for storing and restoring state information of remote user interface | |
JP2004530192A (en) | Web-based imaging system using cookies to provide single-operation printing options | |
KR20020022374A (en) | Method for collaborative browsing in using the transformation of URL | |
JP5638761B2 (en) | Screen generation method, screen display method, screen generation device, and program | |
JP4462901B2 (en) | Modal synchronization control method and multimodal interface system | |
JPH10207805A (en) | Www server and www browser system | |
CN102004729A (en) | Method and system for showing website webpage and website server | |
JP2010204834A (en) | Application executing method, application changing device, and application changing program | |
JP2004246747A (en) | Wrapping method and system of existing service | |
JP4208185B2 (en) | Method and apparatus for converting existing web application to web service | |
JP5774429B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP2000112888A (en) | Browser operation management device and computer- readable recording medium recording program | |
EP2101474A1 (en) | Service bindings for web services | |
JP2005149131A (en) | Information processing device, method and program | |
JP5154716B1 (en) | Information processing apparatus, method, and program | |
JP2005107662A (en) | Www system processing method and system | |
JPH11161603A (en) | Device and method of repeating data, information terminal device and method thereof, data communication system, and record medium | |
JP2009031834A (en) | Program, information storage medium, computer system, and method for controlling computer system | |
Heinzl et al. | The web service browser: Automatic client generation and efficient data transfer for web services | |
JP2000285058A (en) | Information providing device and method, information processor and information processing method and medium | |
JP3900634B2 (en) | Data fixing device, data fixing method, information terminal device, information processing method of information terminal device, server, information processing method of server, and recording medium | |
JP2004530177A (en) | Web-based imaging system that provides automatic printing options using cookies |
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 |