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 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
Japanese (ja)
Other versions
JP2005056058A (en
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/en
Publication of JP2005056058A publication Critical patent/JP2005056058A/en
Application granted granted Critical
Publication of JP4208185B2 publication Critical patent/JP4208185B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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ページを返すシステムを意味する。
特願2003−42221号
One method of converting a conventional web application into a web service is a method of mutually converting SOAP, which is a web service protocol, and HTTP, which is a protocol of an existing web application, using a proxy type conversion server. (See Patent Document 1).
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.
Japanese Patent Application No. 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サービスに変換するには以下のように行う。
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 product name 1401 and a manufacturer name 1402 of the target product to search for a product. When the target product can be searched, the “insert” link 1403 of the target product is pushed in the table of the product search result, and the screen is moved to the shopping cart page (shopping_cart) 1500 (FIG. 15). A shopping cart page (shopping_cart) 1500 displays the estimation result of the product selected by the user. If there is no problem in the contents of the estimate, the user presses a purchase button 1501 and moves to a purchase result page (purchase) 1600 (FIG. 16).
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 search page search 1702 can be accessed only from itself, the home page home 1701, and the shopping cart page shopping_cart 1703. For the first access, a session ID for identifying a session is issued, and cookie setting and URL rewriting are started. This means that the user must go through the homepage home1701.
Further, the shopping cart page shopping_cart 1703 can be accessed only from the product search page search 1702, and the purchase result page purchase 1704 can be accessed only from the product search page shopping_cart 1703. The Web server confirms by session management that this transition is protected.
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 service Search 1801 for searching for a product using a product search page search, a service Estimation 1802 for estimating a product using a product search page search and a shopping cart page shopping_cart, a product using a shopping cart page shopping_cart and a purchase result page purchase This is a service Purchase 1803 for making a purchase.

このとき、従来のシステムを用いると以下の問題が生じる。
まず、サービス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 service Search 1801, the conversion server directly requests the product search page search without going through the home page home, and therefore cannot obtain the search result. Further, when trying to execute the service Estimation 1802, the information for specifying the product depends on the search result of the product search page search, so the conversion server that does not hold the previous state (search result of the product search page search) The shopping cart page shopping_cart cannot be requested from the Web server.

本発明の目的は、このような問題を解決し、ステートフルな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 conversion server 150 that dynamically converts an existing Web application through the Internet 120 and provides the Web service, and a profile for converting the existing Web application into a Web service. Conversion profile creation device 130 for creating a web server 140 and web server 140 for providing an existing web application.
The conversion server 150 includes a SOAP request reception / analysis unit 151 that receives and analyzes a SOAP request from the Web service client 110, a control unit 152 that controls transmission / reception of data, and a service information holding unit that holds information for providing a Web service 153, a status holding unit 154 that holds information about the provided service and the acquired Web page, a content analysis unit 155 that analyzes the acquired Web page, and an HTTP request for acquiring the Web page from the Web server 140 An HTTP request generation / transmission unit 156 to transmit, an HTTP response reception unit 157 to receive a response from the Web server 140, and a SOAP response to generate and transmit a SOAP response that returns a result to the Web service client 110 Forming and transmitting section 158, and a conversion profile receiving unit 159 that receives the converted conversion profile profile generator 130 has generated.
As shown in FIG. 12, the status holding unit 154 holds, for each session ID 1201, information on the Web service name 1202 executed last, the success or failure of the Web service executed last 1203, and the HTTP response 1204 acquired last. ing.
In order for the conversion server 150 to dynamically convert an existing Web application installed in the Web server 140 to provide a Web service, the content manager first uses the conversion profile creation device 130 to convert the conversion profile. Need to create.
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 profile creation device 130 is shown in FIG.
The screen sets a project configuration display unit 220 that displays a list of conversion profiles 222 of Web services provided by one Web site (project 221), a browser unit 230 that displays Web pages, and information described in the conversion profile. The service setting unit 240 is configured. The service setting unit 240 further includes an input unit 241 that performs settings related to input to the Web service, an output unit 242 that performs settings related to output, a session unit 243 that performs settings related to a session, and a state before the Web service is executed. It consists of a flow unit 244 for setting.

コンテンツ管理者がこの変換プロファイル作成装置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 profile creation device 130 will be described. Here, a specific description will be given by showing an example of creating two Web service Search and Estimation conversion profiles based on the flowchart of FIG.
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 step 301, the content manager creates an empty conversion profile Search. The created conversion profile is displayed on the project configuration display unit 220.
In step 302, the content manager inputs information related to session management to the session unit 243. The product search page search used for the Web service Search can only be accessed via the home page home as described with reference to FIG. Therefore, as shown in FIG. 4, the home page home is displayed on the browser unit 230. FIG. 4 illustrates only the browser unit 230 and the service setting unit 240 in the screen of the conversion profile creation device 130. In the subsequent figures, only these two parts are shown.

コンテンツ管理者は、ホームページ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 mouse pointer 401 and selects “first page to second page” in the context menu 402. As a result, the URL of the home page home is input to the session start page 403 of the session unit 243, and the XPath of the tag <A> representing the link to the product search page search is input to the second and subsequent pages 404. Here, the XPath of the tag <A> representing the link is specified instead of the URL of the product search page search because it corresponds to the case where the URL is dynamically created by session management by rewriting the URL. is there. As a method for selecting a tag in a Web page using the mouse pointer 401, a method disclosed in Japanese Patent Application Laid-Open No. 2003-6106 (the applicant and the inventor are the same as the present invention) can be used.
In step 303, the content manager displays the page search of the caller on the browser unit 230 (see FIG. 5).
In this example, since there is no need to input to the flow unit, step 304 is omitted. The input to the flow unit will be described in another example.

ステップ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 step 305, the content manager sets input items for the Web service Search (see FIG. 5). That is, the content manager selects the entire tag <FORM> including the target input part in the product search page search with the mouse pointer 501, and selects “Import” 502 in the context menu. As a result, “input by FORM” 503 is selected in the input unit 241, and information on the tag <FORM> (ACTION, METHOD) and information on <INPUT> and <TEXTAREA> of the child elements are displayed.
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 step 306, the content manager causes the browser unit 230 to display a product search page search on which a search result that is a call destination web page is displayed (see FIG. 6).
In step 307, the content manager sets an output item of the Web service Search (see FIG. 6). That is, the content manager selects with the mouse pointer 601 the tag <TABLE> portion displaying the product search result that is an output item in the Web page search, and selects the context menu 602. As a result, a TABLE input dialog 610 as shown in FIG. 6B is displayed.

コンテンツ管理者は、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 TABLE input dialog 610, the content manager selects whether the data is in row units or column units (611), sets the start row and start column where data excluding the label is started (612), and sets each column ( Variable name and variable type 613 are set. Here, “URL” 614 is set as the variable type in the fourth column. This is because a link is set in “insert” 603 of the fourth column “cart”, and the URL includes information for specifying a session or a product (for example, HTTP).
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 TABLE input dialog 610, output information 620 as shown in FIG.

ステップ308では、変換プロファイル作成装置130が上記の情報が記述された変換プロファイルを保存し、変換サーバ150に配置する。変換サーバ150では、変換プロファイル受信部159が変換プロファイル作成装置130から送信された変換プロファイルを受信し、制御部152に変換プロファイルに記述された情報を渡す。
制御部152は、サービス情報保持部153にその情報を保持させる。また、制御部152は、変換プロファイルの情報に基づきWDSL(Web Service Description Language)を生成し、公開する。生成されるWDSLについては前述した特許参考文献1に説明されているので、ここでの詳細な参照は省略する。
In step 308, the conversion profile creation device 130 stores the conversion profile in which the above information is described and places it on the conversion server 150. In the conversion server 150, the conversion profile receiving unit 159 receives the conversion profile transmitted from the conversion profile creating apparatus 130 and passes the information described in the conversion profile to the control unit 152.
The control unit 152 causes the service information holding unit 153 to hold the information. Also, the control unit 152 generates and publishes a WDSL (Web Service Description Language) based on the conversion profile information. Since the generated WDSL is described in the aforementioned Patent Reference 1, detailed reference is omitted here.

次に、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 step 301, the content manager creates an empty conversion profile Estimation.
In this example, input to the session part in step 302 is not necessary, and is omitted. An example of input to the session part is described in the other example.
In step 303, the content manager displays the product search page search on which the search result that is the caller web page is displayed on the browser unit 230 (see FIG. 7).
In step 304, the content manager inputs conditions for executing this Web service evaluation into the flow unit 244 of the service setting unit 240 (see FIG. 7). Since the Web service “Estimation” can be executed when the product search service “Search” is executed successfully, the content manager inputs the condition 701 that the service name is “Search” and the execution result is “success”.

ステップ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 step 305, the content manager sets the input items of the Web service Estimate (see FIG. 8). In order to move from the product search page “search” to the shopping cart page “shopping_cart”, the user clicks “insert” 801 in the column “cart” for a specific product in the search result. As described above, the “insert” link includes product information and session information, which is set so that the Web server 140 can recognize who has selected what product. In such a case, the content manager selects “input by URL” 802 of the input unit 241. As a result, the Web service Estimation can input a URL as an input item.
In step 306, the content manager displays the called page shopping_cart on the browser unit 230 (see FIG. 9).
In step 307, the content manager sets the output item of the Web service Estimate (see FIG. 9). That is, the content manager selects the TABLE portion 901 on which the estimate is displayed, and makes necessary settings such as variable names and variable types in the output unit 242.
In step 308, the conversion profile creation apparatus 130 stores the conversion profile in which the above information is described and places it on the conversion server 150.
This completes the creation of the conversion profile by the conversion profile creation apparatus 130 regarding the Web services Search and Estimationni.

次に、以上のようにして作成され、変換サーバ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 information holding unit 153 of the conversion server 150, a procedure for converting an existing Web application for session management by the conversion server 150 into a Web service is shown in FIG. A description will be given based on the flowchart of FIG.
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 conversion server 150 converts an existing Web application into a Web service in this case. Here, the session management method using cookies performed between the conversion server 150 and the Web server 140 can also be used as a session management method in a Web service between the conversion server 150 and the Web service client 110.

まず、ステップ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 step 1001, the SOAP request reception / analysis unit 151 receives a SOAP request from the Web service client 110 and acquires cookie information. However, here, the session management of the Web service is performed using a cookie. If Cookie information exists, step 1002 is executed, and if it does not exist, 1012 is executed.
In step 1002, the control unit 152 lastly executes the Web service name 1202 held by the status holding unit 154 and its success / failure 1203 (see FIG. 12), and the service information holding unit 153 holds FIG. The condition for executing this Web service set in step 304 is compared. If the comparison result is appropriate for executing this Web service, step 1004 is executed, and if it is inappropriate, step 1003 is executed and an exception is returned to the Web service client 110.
In step 1004, the control unit 152 refers to the input item set in step 305 of FIG. 3 held by the service information holding unit 153, and acquires necessary data from the SOAP request.

ステップ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 step 1005, the HTTP request generation / transmission unit 156 generates an HTTP request based on the data acquired in step 1004 and transmits it to the Web server 140. The generated HTTP request is the same as that described in Patent Document 1 described above.
In step 1006, the HTTP response receiving unit 157 receives an HTTP response from the Web server 140.
In step 1007, the control unit 152 acquires information about the cookie from the HTTP response.
In step 1008, the content analysis unit 155 analyzes the HTML document included in the HTTP response, refers to the output item set in step 307 of FIG. 3 held by the service information holding unit 153, and acquires necessary data. . The details of the acquisition method are the same as those described in Patent Document 1 described above, and thus the description thereof is omitted here. However, for a variable whose variable type is “URL”, the URL set for the specified link is acquired.

ステップ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 step 1009, the SOAP response generation / transmission unit 158 creates a SOAP response based on the data acquired in step 1008. The generated SOAP response is the same as that described in Patent Document 1 described above.
In step 1010, the control unit 152 updates the information held by the status holding unit 154. That is, when the SOAP response is successfully created in step 1009, the control unit 152 causes the status holding unit 154 to hold the service name and that the service is successful, and the HTTP response cannot be obtained. If a problem such as “cannot be acquired” occurs, the status holding unit 154 holds the status “failed”.
In step 1011, the SOAP response generation / transmission unit 158 sets the cookie information acquired in step 1007 in the SOAP response created in step 1009 and transmits it to the Web service client 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に送信する。
On the other hand, in step 1012, the control unit 152 refers to the information regarding the session set in step 302 in FIG. 3 held in the service information holding unit 153, and determines whether the service is appropriate as the service to be executed first. If the information regarding the session is set, it is determined that it is appropriate, and step 1014 is executed. If no information related to the session is set, it is determined that the information is inappropriate, step 1013 is executed, and an exception is returned to the Web service client 110.
In step 1014, the control unit 152 stores information about the session set in step 302 in FIG. 3 held in the service information holding unit 153 and the HTTP response 1204 acquired last in the status holding unit 154 (FIG. 12). ) To determine whether there is a Web page to be accessed next. If it exists, step 1015 is executed, and if it does not exist, step 1004 is executed.
In step 1015, the HTTP request generation / transmission unit 156 generates an HTTP request including the URL acquired in step 1014 and the cookie information acquired in step 1017, and transmits the HTTP request to the Web server 140.

ステップ1016では、HTTPレスポンス受信部157がWebサーバ140からHTTPレスポンスを受信する。
ステップ1017では、制御部152がステップ1016で取得したHTTPレスポンスからCookie情報を取得する。
ステップ1018では、制御部152が、ステータス保持部154にステップ1016で取得したHTTPレスポンスを保持させる。
以上が、Webサーバ140内の既存Webアプリケーションが、URLの書き換えによるセッション管理を行っている場合のWebサービスへの変換の手順である。
In step 1016, the HTTP response receiving unit 157 receives an HTTP response from the web server 140.
In step 1017, the control unit 152 acquires cookie information from the HTTP response acquired in step 1016.
In step 1018, the control unit 152 causes the status holding unit 154 to hold the HTTP response acquired in step 1016.
The above is the procedure for conversion to the Web service when the existing Web application in the Web server 140 performs session management by rewriting the URL.

次に、既存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 conversion server 150 performs session management with the Web service client 110 by converting to a session management method that can be used for Web services such as cookies. There is a need.
First, in step 1101, the SOAP request reception / analysis unit 151 receives a SOAP request from the web service client 110 and acquires cookie information. If cookie information exists, step 1102 is executed, and if not, step 1111 is executed.
In step 1102, the control unit 152 lastly executes the Web service name 1202 held by the status holding unit 154 and its success / failure 1203 (see FIG. 12), and the service information holding unit 153 holds FIG. The condition for executing this Web service set in step 304 is compared. If the comparison result matches and it is appropriate to execute this Web service, step 1104 is executed. If the comparison result does not match and is inappropriate, step 1103 is executed and an exception is issued to the Web service client 110. Reply to
In step 1104, the control unit 152 refers to the input item set in step 305 in FIG. 3 held by the service information holding unit 153, and acquires necessary data from the SOAP request.

ステップ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 step 1105, the HTTP request generation / transmission unit 156 generates an HTTP request based on the data acquired in step 1104 and transmits it to the Web server 140. The generated HTTP request is the same as that described in Patent Document 1 described above.
At this time, the HTTP request generation / transmission unit 156 refers to the information (FIGS. 5 and 8) of the input unit set in the step 305 of FIG. 3 from the service information holding unit 153, and “Direct URL input” or “FORM It is determined whether it is "input by". In the case of “direct URL input”, the HTTP request generation / transmission unit 156 acquires a URL from the SOAP request acquired in Step 1104 and generates an HTTP request. In the case of “input by FORM”, the HTTP request generation / transmission unit 156 acquires a URL from the ACTION value 505 of FIG. 5 set in step 305 of FIG. 3 and generates an HTTP request.
In step 1106, the HTTP response receiving unit 17 receives information from the web server 140.

ステップ1107では、コンテンツ解析部15が、HTTPレスポンスに含まれるHTML文書を解析し、サービス情報保持部13が保持する図3のステップ307で設定した出力項目を参照し、必要なデータを取得する。取得方法の詳細に関しては、前述の特許文献1で説明されているのと同様である。ただし、変数の型が「URL」である変数に関しては、指定したリンクに設定されたURLを取得する。
ステップ1108では、SOAPレスポンス生成・送信部759が、ステップ1107で取得したデータを基にSOAPレスポンスを作成する。生成されるSOAPレスポンスに関しては、前述の特許文献1で説明されているのと同様である。
In step 1107, the content analysis unit 15 analyzes the HTML document included in the HTTP response, refers to the output item set in step 307 of FIG. 3 held by the service information holding unit 13, and acquires necessary data. The details of the acquisition method are the same as those described in Patent Document 1 described above. However, for a variable whose variable type is “URL”, the URL set for the specified link is acquired.
In step 1108, the SOAP response generation / transmission unit 759 creates a SOAP response based on the data acquired in step 1107. The generated SOAP response is the same as that described in Patent Document 1 described above.

ステップ1109では、制御部152が、ステータス保持部154が保持する情報を更新する。すなわち、ステップ1109でSOAPレスポンスの作成に成功した場合は、制御部152は、ステータス保持部154にサービス名とそのサービスが成功したことを保持させ、HTTPレスポンスが取得できない、HTML文書から必要なデータが取得できない、などの問題が生じた場合は、ステータス保持部154に「失敗」というステータスを保持させる。
ステップ1110では、SOAPレスポンス生成・送信部158が、ステップ1108で作成したSOAPレスポンスに、ステップ1101で取得したCookie情報または、ステップ1113で生成したセッションIDを基に生成したCookie情報を設定してWebサービスクライアント110に送信する。
In step 1109, the control unit 152 updates information held by the status holding unit 154. That is, if the SOAP response is successfully created in step 1109, the control unit 152 causes the status holding unit 154 to hold the service name and that the service is successful, and the HTTP response cannot be obtained. If a problem such as “cannot be acquired” occurs, the status holding unit 154 holds the status “failed”.
In step 1110, the SOAP response generation / transmission unit 158 sets the cookie information acquired in step 1101 or the cookie information generated based on the session ID generated in step 1113 in the SOAP response generated in step 1108, and sets the Web Send to service client 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を実行する。
On the other hand, in step 1111, the control unit 152 refers to the information regarding the session set in step 302 of FIG. 3 held in the service information holding unit 153, and determines whether the service is appropriate as the service to be executed first. If the information regarding the session is set, it is determined that it is appropriate, and Step 1113 is executed. If the information regarding the session is not set, it is determined as inappropriate and step 1112 is executed, and an exception is returned to the Web service client 110.
In step 1113, the control unit 152 generates a session ID for this session, and registers this session ID in the status holding unit 154.
In step 1114, the information on the session set in step 302 in FIG. 3 held in the service information holding unit 153 is compared with the URL of the HTTP request 1204 (FIG. 12) acquired last in the status holding unit 154. Then, it is determined whether there is a Web page to be accessed next. If it exists, step 1115 is executed, and if it does not exist, step 1104 is executed.

ステップ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 step 1115, the HTTP request generation / transmission unit 156 generates an HTTP request and transmits it to the Web server 140. The HTTP request generation / transmission unit 156 obtains the URL of this HTTP request as follows. That is, if the Web page to be accessed is the session start page, the HTTP request generation / transmission unit 156 acquires the URL of the session start page 403 in FIG. 4 set in step 302 in FIG. 3 from the service information holding unit 153. . If it is the second page or later, “Xpath” 404 in the second and subsequent pages of FIG. 4 set in step 302 of FIG. 3 is acquired from the service information holding unit 153, and finally the status holding unit 154 holds URL is acquired according to XPath from the HTML document of the acquired HTTP response 1204 (FIG. 12). Thereby, it becomes possible to cope with a dynamically generated URL.
In step 1116, the HTTP response unit 157 receives an HTTP response from the Web server 140.
In step 1117, the control unit 152 causes the status holding unit 154 to hold the HTTP response acquired in step 1116.
In the above description, a cookie is used for session management of a Web service, but a SOAP header may be used.

本発明の既存WebアプリケーションをWebサービスに変換する方法を適用したシステムの実施の形態を示す図である。It is a figure which shows embodiment of the system to which the method of converting the existing web application of this invention into a web service is applied. 変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of a conversion profile production apparatus. 変換プロファイルを作成する手順を説明するフローチャートである。It is a flowchart explaining the procedure which produces a conversion profile. WebサービスSearchのセッションに関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the session of Web service Search. WebサービスSearchの入力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the input item of Web service Search. WebサービスSearchの出力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the output item of Web service Search. WebサービスEstimationのフローに関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the flow of Web service evaluation. WebサービスEstimationの入力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the input item of Web service Estimate. WebサービスEstimationの出力項目に関する設定を行う変換プロファイル作成装置の画面例を示す図である。It is a figure which shows the example of a screen of the conversion profile production apparatus which performs the setting regarding the output item of Web service Estimate. 既存WebアプリケーションがCookieによるセッション管理を行っている場合に、変換サーバが既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。10 is a flowchart for explaining a procedure for a conversion server to convert an existing Web application into a Web service when the existing Web application performs session management using cookies. 既存WebアプリケーションがURLの書き換えによるセッション管理を行っている場合に、変換サーバが既存WebアプリケーションをWebサービスに変換する手順を説明するフローチャートである。10 is a flowchart for explaining a procedure for a conversion server to convert an existing Web application into a Web service when the existing Web application performs session management by rewriting URL. ステータス保持部のデータ構造を示す図である。It is a figure which shows the data structure of a status holding part. セッション管理を行う既存ECサイトにおけるホームページの画面例である。It is an example of a homepage screen in an existing EC site for session management. セッション管理を行う既存ECサイトにおける商品検索ページの画面例である。It is a screen example of a product search page in an existing EC site that performs session management. セッション管理を行う既存ECサイトにおけるショッピングカートページの画面例である。It is an example of the screen of the shopping cart page in the existing EC site which performs session management. セッション管理を行う既存ECサイトにおける購入手続き完了を表示するページの画面例である。It is an example of a screen of a page that displays the completion of a purchase procedure in an existing EC site that performs session management. Webページ間の可能なページ遷移を示す図である。It is a figure which shows the possible page transition between Web pages. 本発明の変換方法を用いて提供するWebサービスと既存のWebページとの関係を示す図である。It is a figure which shows the relationship between the web service provided using the conversion method of this invention, and the existing web page.

符号の説明Explanation of symbols

110 Webサービスクライアント
120 インターネット
130 変換プロファイル作成装置
140 Webサーバ
150 変換サーバ
151 SOAPリクエスト受信・解析部
152 制御部
153 サービス情報保持部
154 ステータス保持部
155 コンテンツ解析部
156 HTTPリクエスト生成・送信部
157 HTTPレスポンス受信部
158 SOAPレスポンス生成・送信部
159 変換プロファイル受信部
DESCRIPTION OF SYMBOLS 110 Web service client 120 Internet 130 Conversion profile creation apparatus 140 Web server 150 Conversion server 151 SOAP request reception / analysis part 152 Control part 153 Service information holding part 154 Status holding part 155 Content analysis part 156 HTTP request generation / transmission part 157 HTTP response Reception unit 158 SOAP response generation / transmission unit 159 Conversion profile reception unit

Claims (17)

変換プロファイル作成装置と変換サーバによりWebサーバ内の既存WebアプリケーションをWebサービスに変換する方法であって、
前記変換プロファイル作成装置が、コンテンツ管理者の指示に従い前記既存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.
前記第1のステップが、
前記既存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.
前記ステップaにおいて、前記Webサーバがセッション管理を開始するWebページから、提供するWebサービスが利用するWebページまでに経由するWebページを設定することを特徴とする請求項2に記載の既存WebアプリケーションのWebサービスへの変換方法。   3. The existing Web application according to claim 2, wherein, 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. To convert Web service to Web service. 前記ステップaにおいて、前記既存WebアプリケーションのURLの書き換えによるセッション管理に対応するため、次のWebページへのURLを現在のWebページ内の次WebページへのリンクをXPathで指定することを特徴とする請求項2または3に記載の既存WebアプリケーションのWebサービスへの変換方法。   In the step a, in order to cope with session management by rewriting the URL of the existing Web application, a URL to the next Web page is designated by a XPath as a link to the next Web page in the current Web page. A method for converting an existing Web application to a Web service according to claim 2 or 3. 前記ステップbにおいて、Webサービスを実行する前に、実行されるべきWebサービス名とその実行結果を設定することを特徴とする請求項2〜4のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。 5. The Web of an existing Web application according to claim 2, wherein in step b, a name of a Web service to be executed and an execution result thereof are set before executing the Web service. How to convert to service. 前記ステップcにおいて、前記Webページ内のFORMタグで指定された入力項目を、提供するWebサービスの入力項目として設定することを特徴とする請求項2〜5のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   The existing Web according to any one of claims 2 to 5, wherein, in the 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. A method for converting an application into a Web service. 前記ステップcにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、提供するWebサービスの入力項目として、引数をもつURLを設定することを特徴とする請求項2〜6のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   7. The URL having an argument is set as an input item of a Web service to be provided in the step c in order to cope with the data transfer by the argument of the URL of the existing Web application. A method for converting an existing web application according to claim 1 into a web service. 前記ステップcにおいて、提供するWebページへの入力項目として指定した項目に対して、変数名、型を設定することを特徴とする請求項2〜7のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   The variable name and type are set for the item specified as an input item to the Web page to be provided in the step c. The existing Web application according to claim 2, Conversion method to Web service. 前記ステップdにおいて、前記既存WebアプリケーションのURLの引数によるデータの引渡しに対応するため、リンクを含む部分を選択した場合、提供するWebサービスの出力項目としてリンク先のURLを設定することを特徴とする請求項2〜8のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。 In the step d, in order to cope with the data transfer by the argument of the URL of the existing Web application, when a portion including a link is selected , the URL of the link destination is set as an output item of the Web service to be provided , A method for converting an existing Web application into a Web service according to any one of claims 2 to 8. 前記第2のステップが、作成した前記変換プロファイルに従い、Webサービスクライアントから受信したSOAPリクエストを解析し、HTTPリクエストを生成し、Webサーバ内の既存Webアプリケーションが提供するWebページを取得するステップeと、WebサーバからのHTTPレスポンスを解析し、SOAPレスポンスを生成してWebサービスクライアントに配信するステップfとを備えることを特徴とする請求項2〜9のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   Step e in which the second step analyzes a SOAP request received from a Web service client according to the created conversion profile, generates an HTTP request, and acquires a Web page provided by an existing Web application in the Web server; The step f of analyzing an HTTP response from a Web server, generating a SOAP response, and distributing the SOAP response to a Web service client is provided. Conversion method to Web service. 前記ステップeにおいて、WebサービスクライアントからのSOAPリクエストにCookieを用いたセッション情報がない場合、前記Webサーバがセッションを開始するWebページから、前記変換サーバが提供するWebサービスが利用するWebページまでWebページを辿ることによってセッション情報を取得することを特徴とする請求項10に記載の既存WebアプリケーションのWebサービスへの変換方法。 In step e, if there is no session information using a cookie in the SOAP request from the Web service client, the Web page 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 The method for converting an existing Web application into a Web service according to claim 10, wherein session information is acquired by tracing a page. 前記ステップeにおいて、前記変換サーバが最後に実行したWebサービスの状態及び結果を保持しておくことにより、提供するWebサービスを実行可能か決定することを特徴とする請求項10または11に記載の既存WebアプリケーションのWebサービスへの変換方法。   12. The step e according to claim 10 or 11, wherein in the step e, it is determined whether or not the Web service to be provided can be executed by holding the state and result of the Web service last executed by the conversion server. A method for converting an existing Web application into a Web service. 前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目が既存WebページのFORMを基にしている場合、変換サーバが生成するHTTPリクエストのURLをFORMのaction属性値にすることを特徴とする請求項10〜12のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   In step e, when 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. The method for converting an existing web application into a web service according to any one of claims 10 to 12. 前記ステップeにおいて、前記変換サーバの提供するWebサービスの入力項目がURLである場合、前記変換サーバが生成するHTTPリクエストのURLを、WebサービスクライアントからのSOAPリクエスト中のURLに設定することを特徴とする請求項10〜13のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   In the step e, when 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. The method for converting an existing Web application into a Web service according to any one of claims 10 to 13. 前記ステップfにおいて、既存WebアプリケーションがCookieによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスもそのCookieを利用してセッション管理を行うことを特徴とする請求項10〜14のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。   15. In step f, when an existing Web application performs session management using a cookie, the Web service provided by the conversion server also performs session management using the cookie. A method for converting an existing web application according to claim 1 into a web service. 前記ステップfにおいて、既存WebアプリケーションがURLの書換えによるセッション管理を行っている場合、前記変換サーバが提供するWebサービスでは、Cookieを用いたWebサービスでも利用できるセッション管理方法に変換することを特徴とする請求項10〜15のいずれか一項に記載の既存WebアプリケーションのWebサービスへの変換方法。 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 be used even by a Web service using a cookie. The method for converting an existing Web application into a Web service according to any one of claims 10 to 15. WebサービスクライアントからのSOAPリクエストに応じて、Webサーバ内の既存WebアプリケーションをWebサービスに変換する装置であって、
前記既存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.
JP2003284899A 2003-08-01 2003-08-01 Method and apparatus for converting existing web application to web service Expired - Fee Related JP4208185B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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