JP2004246747A - 既存サービスのラッピング方法および装置 - Google Patents
既存サービスのラッピング方法および装置 Download PDFInfo
- Publication number
- JP2004246747A JP2004246747A JP2003037597A JP2003037597A JP2004246747A JP 2004246747 A JP2004246747 A JP 2004246747A JP 2003037597 A JP2003037597 A JP 2003037597A JP 2003037597 A JP2003037597 A JP 2003037597A JP 2004246747 A JP2004246747 A JP 2004246747A
- Authority
- JP
- Japan
- Prior art keywords
- service
- client
- information
- message
- soap
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】複数回のクライアントとのメッセージのやりとりによって処理が行われる既存のサーバの提供するサービスを、一回のメッセージのやりとりに集約して形式で該サービスをラッピングして提供する。
【解決手段】SOAPラッパ装置10は、SOAPクライアント20から送信されるSOAPリクエストメッセージ21に応じて、WWWアプリケーションサーバ30の提供するサービスに1回以上のHTTP通信により該サービスに処理を行わせ、該サービスの処理の結果から得られるHTTPレスポンス情報を元に、SOAPレスポンスメッセージ22を作成し、作成した該SOAPメッセージ22を該SOAPクライアント20に送信する。
【選択図】図1
【解決手段】SOAPラッパ装置10は、SOAPクライアント20から送信されるSOAPリクエストメッセージ21に応じて、WWWアプリケーションサーバ30の提供するサービスに1回以上のHTTP通信により該サービスに処理を行わせ、該サービスの処理の結果から得られるHTTPレスポンス情報を元に、SOAPレスポンスメッセージ22を作成し、作成した該SOAPメッセージ22を該SOAPクライアント20に送信する。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は既存サーバのラッピング方法に関し、特に既存のサーバのサービスの形式が、ネットワークなどを介してクライアントにサービスを提供する際に、クライアントが表示すべき画面情報を送信する形式のものであり、かつ、サービスを利用するには複数の画面遷移が必要になる場合に、これを単一の異種のメッセージのやりとりに集約するラッピング方法と装置に関する。
【0002】
【従来の技術】
ネットワークと、それにつながれた複数のシステムとで構成される分散システムにおいて、特定システム(サーバ)が提供するサービスを他のシステム(クライアント)からネットワークを介して利用するクライアント・サーバの形式のシステムが、銀行の口座操作システム(ATM)や、WWW(World Wide Web)等、多くのネットワークシステム環境で利用されている。
【0003】
クライアント・サーバの形式でサービスを提供する場合、クライアントシステムとサーバシステムとの間で、サービスの提供をする際の通信の方式や通信電文の形式をあらかじめ定めておく必要がある。この通信方式および通信電文の形式は標準団体等で定められたものがいくつかあり、HTTP(Hyper Text Transfer Protocol)やCORBA(Common Object Reference Broker Architecher)をその例としてあげることができる。この通信方式や通信電文の形式がサーバとクライアントで異なっているとサーバはクライアントにサービスを正常に提供することが出来ない。
【0004】
また、もともと、クライアント・サーバの形式でサービスを提供することを前提に作られていない既存のプログラムは、そのままではクライアント・サーバの形式のサービスで利用することは出来ない。
【0005】
このような問題に対処すべく、あるひとつの通信方式や通信電文の形式のサービスを、別の通信方式や通信電文方式に対応したクライアントにも利用できるように、既存のサービスに専用のプログラムを追加して通信方式や通信電文の変換を行ったり、通信方式や通信電文の形式をもたない既存のプログラムに専用のプログラムを追加して通信方式や通信電文の形式をあたえ、特定のクライアントから利用できるようにする、ラッピングとよばれる技術があり、その一例として、特開平11−353181号(特許文献1)に、既存プログラムのラッピング方法が開示されている。
【0006】
この方法は、既存のシステム上で作成した既存のプログラム部品をネットワークを介して新規に作成したアプリケーションプログラムから起動させ、ユーザからの要求処理を行うアプリケーションラッピング方法であって、新規に作成したアプリケーションプログラムがユーザからの要求を処理する際に必要となるプログラム部品を既存のプログラム部品から抽出して前記既存のプログラム部品と新規に作成したアプリケーションプログラムをマッピングし、ユーザの処理要求の応じて前記マッピングした各プログラム部品の処理の遷移順序を決定し、前記遷移順序に基づいて各プログラム部品の処理を遷移させ、新規に作成したアプリケーションプログラムと各プログラム部品間でそれぞれリモートプロシジャーコールによってその処理内容を通信し、ユーザの要求処理を新規に作成したアプリケーションプログラムから既存のシステム上で作成したプログラム部品を起動させて行う、ラッピング方法である。
【0007】
【特許文献1】特開平11−353181号公報
【発明が解決しようとする課題】
このようなラッピング技術を用いることで、既存プログラムをクライアント・サーバの形式で利用することができるようになったり、特定の通信方式や通信電文の形式のサーバを異なる通信方式や通信電文の形式で利用できるようにすることができる。
【0008】
しかしながら、従来のラッピング方法では、ラッピングを実現するための、開発者によるプログラムの作成は非常に複雑である。ラッピングを実現するためのプログラムを開発するには、対象となるプログラムの仕様および、ラッピング後の通信方式および通信電文の形式の仕様について詳細に調査し、その上でコーディングを行わなければならず、大きな開発工数が問題であった。
【0009】
本発明の目的はラッピングプログラムを開発する工数を減らせるラッピング方法を提供することにある。
【0010】
本発明の他の目的は、既存のサービスでの処理のサービスを実行することによりラッピングプログラムに必要な情報を収集してラッピングプログラムの開発を支援することである。
【0011】
より具体的には、既存のWWWアプリケーションサーバがHTTPとよばれる通信方式および通信電文の形式で提供するサービスを、SOAP(SimpleObject Access Protocol)と呼ばれる通信方式および通信電文の形式で利用できるようにする(SOAPで利用できるサービスを一般にWebサービスと呼ぶ)ラッピングプログラムを、その開発者に複雑なプログラムや開発作業を行わせることなく作成できるようにすることである。
【0012】
【課題を解決するための手段】
上記の課題を解決するために、本発明では、クライアントの要求に応じて、ラッピングサービスの対象となる既存のサービスに1回以上の通信により既存のサービスの処理を行わせ、そのサービスの処理の結果から得られる情報にもとづいて、メッセージを作成してクライアントに送信する。
【0013】
また、既存のサービスの処理の結果から得られる情報に基づいて、既存サービスに複数の処理を連続して行わせるためのシナリオ情報を作成しておき、シナリオ情報に基づいてラッピング処理を行う。
【0014】
更に、本発明の既存WWWアプリケーションをWebサービス化する方法では、対象となるWWWアプリケーションの、通常のWWWブラウザによる画面遷移による処理の流れを代行するSOAPラッパ装置を、WWWアプリケーションサーバと、Webサービスを利用するSOAPクライアントプログラムの間に配置し、SOAPクライアントから送信されるSOAPリクエストメッセージから該画面遷移に必要な情報を得て、該情報を用いてWWWアプリケーションサーバにアクセスすることで画面遷移を代行し、該画面遷移の結果えられた情報からSOAPレスポンスメッセージを生成し、該SOAPレスポンスメッセージを要求元のSOAPクライアントに返送する。
【0015】
このとき、本来は複数の画面遷移の間でその画面遷移の都度必要となる入力情報をひとつのSOAPリクエストメッセージに集約することで、従来複数の通信が必要であったものを、一回のSOAPメッセージのやりとりに集約する。
【0016】
また、該SOAPラッパ装置の、画面遷移を代行する処理手順は、既存のWWWブラウザと対象となるWWWアプリケーションサーバとの間の通信ログ情報を用いることで作成する。
【0017】
この方法によれば、既存のWWWアプリケーションサーバのWebサービス化を、開発者に複雑なプログラムミングなどの作業を行わせることなく実現することが出来る。また、WWWアプリケーションサーバが提供しているサービスが複数の画面遷移を必要とするものであってもひとつのメッセージのやりとりに集約することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明による機能構成を表す機能ブロック図である。図1中、30はWWWページによるアプリケーションのサービスを提供するWWWアプリケーションサーバである。通常、WWWアプリケーションサーバ30は、WWWクライアント(通常はWWWブラウザ)によって送信されるHTTPリクエストメッセージによってサービスの提供を要求され、その要求に応じて処理を行い、その処理の結果をWWWページを生成し、生成したWWWページの内容を含んだHTTPレスポンスメッセージをWWWクライアントに返信するサーバプログラムである。
【0019】
20は、通常はSOAPサーバによって提供されるWebサービスを利用するクライアントプログラムであり、これをSOAPクライアントと呼ぶ。
【0020】
Webサービスとは、インターネット上でシステムを連携させるための技術のひとつである。、HTTPやSMTP等のインターネット上の標準的なアプリケーション層のプロトコロルで接続されているネットワーク環境上に、さらにもうひとつ上の階層上でSOAP(Simple Object Application Protocol)と呼ばれるXML(eXtensible Markup Language)をベースにしたプロトコルを使用し、SOAPに従ったXML形式のデータ交換によりシステム連携を行うことができる。また、SOAPは標準団体W3C(World Wide Web Consotium)によって標準化された規格である。
【0021】
10は該WWWアプリケーションがHTTPの形式で提供しているサービスを、Webサービスの形式で利用できるように変換し、SOAPクライアントから該サービスを利用できるように処理を行う機能をもつSOAPラッパ装置である。
【0022】
該SOAPラッパ装置10はインターネット等のネットワーク上において、WebサービスのクライアントとなるSOAPクライアント20と、WWWアプリケーションサーバ30との間に位置し、WWWアプリケーションサーバ30の提供するWWWアプリケーションを、Webサービスで提供すべく、SOAPクライアント20から送信されるSOAPリクエストメッセージに応じて、あらかじめ定めておいたアクセスの方法によって、WWWアプリケーションにアクセスし、アクセスの結果得られた情報を元に、SOAPレスポンスメッセージを作成し、当該SOAPレスポンスメッセージを当該SOAPクライアントに返送する。
【0023】
SOAPラッパ装置10は、プロセッサ105、記憶装置106、表示装置107、入力装置108、媒体読取装置109からなり、該記憶装置106には、SOAPラッパとして動作するためのOS、および各種アプリケーションプログラムが格納されている。
【0024】
該SOAPラッパ装置10は、本発明に特有のソフトウェアモジュールとして、SOAPクライアント20からのSOAPリクエストメッセージを受信し、生成したSOAPレスポンスメッセージをSOAPクライアント20に返信するSOAPメッセージ通信部101、WWWアプリケーションサーバ30とHTTP通信処理を行うHTTP通信部104、SOAPメッセージ通信部101が受信したSOAPリクエストメッセージに応じてシナリオ表103にあらかじめ指定された方法でHTTP通信部104を制御しWWWアプリケーションサーバ30にアクセスし、処理を行うことでSOAPクライアント20に返信するSOAPレスポンスメッセージ22を作成するシナリオ実行部102を有する。
【0025】
HTTP通信部104は、WWWアプリケーションサーバ30にHTTPのリクエストメッセージを送信するHTTPリクエスト処理部1041と、WWWアプリケーションサーバ30からHTTPのレスポンスメッセージを受信するHTTPレスポンス処理部1042から構成される。
【0026】
SOAPメッセージ通信部101、シナリオ実行部102、HTTP通信部はそれぞれモジュール化されたプログラムがプロセッサ105に実行されることによりそれぞれの機能を果たす。それぞれのプログラムはCD−ROM等の情報処理装置によって読み取り可能な記憶媒体に格納されて取引されることが通常であり、媒体読み取り装置109により媒体から読み込まれ、記憶装置106に格納されてSOAPラッパ装置10にインストールされる。プロセッサ105が記憶装置106からプログラムを順次読み出して実行することでそれぞれの機能を果たす。シナリオ表103は上記のプログラムと同様に記憶装置106に格納される。
【0027】
図2はWWWアプリケーションサーバ30が提供するサービスによるWWWページの画面遷移の様子の一例を示したものである。
【0028】
図3はSOAPクライアント20から、SOAPラッパ装置※に送信されるSOAPリクエストメッセージの一例を示したものである。ただし説明のために左端に行数を示してある。
【0029】
図4は、SOAPラッパ装置10によって、該SOAPリクエストメッセージによる要求に応じて生成され、SOAPクライアント20に送信されるSOAPレスポンスメッセージの一例を示したものである。ただし説明のために左端に行数を示してある。
【0030】
図5は、SOAPラッパ装置が有するプログラムモジュールであるシナリオ実行部102が参照するシナリオ表103の一例を示している。
【0031】
本実施の形態では、SOAPラッパ装置10が、WWWアプリケーションサーバが提供する図2で示される画面遷移を行うサービスを、Webサービスとして利用できるように処理を行い、図3および図4で示されるSOAPメッセージのやりとりによって行われるWebサービスの形式で、SOAPクライアント20にWWWアプリケーションサーバ30の提供するサービスを提供する。
【0032】
以下図6にそって、SOAPラッパ装置10の処理の流れを詳細に説明する。
【0033】
SOAPラッパ装置10が行う、WWWアプリケーションサーバ30の提供するWWWアプリケーションの形式のサービスのSOAPラッピング処理はシナリオ実行部102が全体の制御を行うことで動作する。
【0034】
SOAPメッセージ通信部101はSOAPクライアント20からのSOAPリクエストメッセージ21を受信すると、該SOAPリクエストメッセージをシナリオ実行部102に受け渡す(ステップ401)。シナリオ実行部はシナリオ表103を参照し、SOAPメッセージ通信部20から受け渡された該SOAPリクエストメッセージの名前と一致するシナリオを実行すべきシナリオとして選択する(ステップ402)。ここで、SOAPリクエストメッセージ21の名前は図3の8行目の<sw:name>タグで囲まれた部分で表されている。図5に示すシナリオ表103の例では、「enquete_request」の名前を持つSOAPリクエストメッセージに対応したシナリオが示されている。該シナリオは4行分のシナリオの情報によって構成されている。シナリオ実行部102は選択したシナリオのrequest/response項目と設定情報を上から順に行ごとに読み取り、読み取った行の情報を元に以下説明する処理を行う。このとき、該シナリオの行をすべて読み込み終わると、後述するとシナリオの終了処理を行う。
【0035】
シナリオ実行部*は、シナリオ表103の行の情報を読み込むと、まずはじめにrequest/responseの項目を読み、その項目の値がrequestなのかresponseなのかを判定する(ステップ403)。
【0036】
該request/responseの項目の値がrequestの場合(図5に示すシナリオ表103の例では最初および三番目の行のrequest/responseの項目の値はrequestとなっているため、この場合に該当する)、以下説明するrequest用の処理を行う。
【0037】
シナリオ実行部102は、request/responseの項目の値がrequestであった場合、シナリオ表103の参照している行の設定情報から、HTTPによってアクセスすべきWebアプリケーションのURLと、アクセス方式を取得する(図5に示すシナリオ表103の例の最初の行では、アクセスすべきWebアプリケーションのURLはhttp://www.foo.com/app1.cgi、アクセス方式はPOSTと読み取ることができる)。シナリオ実行部102は、次に、SOAPメッセージ通信部101から受け渡された該SOAPリクエストメッセージ(図3)を読み込み、HTTPアクセス時のパラメータやクッキーの情報を取得する。HTTPアクセス時のパラメータやクッキーの情報の情報は、図3の9行目から17行目、および18行目から23行目の<sw:request>で囲まれた部分で表されている。シナリオ実行部102は、該request用の処理を複数会行う場合は、該SOAPリクエストメッセージにひとつ以上含まれる<sw:request>を上から順に読み込み、処理を行う。
【0038】
HTTPアクセス時のパラメータは、図3の10行目から13行目の<sw:parametor>タグで囲まれた部分で表されている。シナリオ実行部102は該<sw:parametor>タグで囲まれた部分を読み取り、パラメータの情報を取得する。該<sw:parametor>タグで囲まれた部分では、タグ名がパラメータ名、タグで囲まれた部分が該パラメータ名で示されるパラメータの値を示しており、シナリオ実行部102はこれをHTTPアクセス時のパラメータとして取得する。
【0039】
また、HTTPアクセス時のクッキー情報は、図3の14行目から16行目の<sw:cookie>タグで囲まれた部分で表されている。シナリオ実行部102は該<sw:cookie>タグで囲まれた部分を読み取り、クッキーの情報を取得する。該<sw:cookie>タグで囲まれた部分では、タグ名がクッキー名、タグで囲まれた部分が該クッキー名で示されるクッキーの値を示しており、シナリオ実行部102はこれをHTTPアクセス時のクッキーとして取得する。
【0040】
上記手段によりシナリオ実行部102は、HTTPアクセス時に必要なURL、アクセス方式、パラメータ、クッキーの情報を得る。シナリオ実行部102はこれらのHTTPアクセス時に必要な情報をHTTPリクエスト処理部1041に受け渡し、HTTPリクエスト処理部1041は、シナリオ実行部102より受け渡された該HTTPアクセス時に必要な情報を用いてWWWアプリケーションサーバ30にHTTPリクエストメッセージを作成する(ステップ404)。
【0041】
シナリオ実行部102はHTTPリクエスト処理部1041にHTTPリクエストを作成させた後に、実際にリクエスト送信を行うべきかどうかのチェックを行う(ステップ405)。
【0042】
シナリオ実行部102は、このようなWWWアプリケーションの特性をもちいて、HTTPリクエストメッセージの送信を行うべきかどうかをチェックする。すなわち、ひとつ前のHTTPリクエストによってWWWアプリケーションサーバ30から受け取った画面(通常はHTML)内に、次にアクセスを行おうとしているURLが含まれているかどうかを検出し、含まれていない場合は、HTTPリクエストメッセージを送信せず、後述するエラー処理を行う。逆に、該ひとつ前の画面に該URLが含まれている場合はHTTPリクエストメッセージの送信を行い、処理を続ける。ただし、通常、一番最初のHTTPリクエスト送信時には、ひとつ前の画面は存在し得ないため、上記のようなHTTPリクエストメッセージを送信すべきかどうかのチェック処理は行わず、すぐにHTTPリクエストメッセージの送信を行う。
【0043】
HTTPレスポンス処理部1042は、HTTPリクエスト処理部1041がWWWアプリケーションサーバ30に該HTTPリクエストメッセージを送信した後、WWWアプリケーションサーバ30の処理結果であるHTTPレスポンスメッセージを受信し、シナリオ実行部の次の処理に利用するため、該HTTPレスポンスメッセージを保持する。
【0044】
上記シナリオ実行部102におけるHTTPリクエストメッセージの送信を行うべきどうかをチェックする処理において、HTTPリクエストメッセージを送信すべきでないと判定された場合、シナリオ実行部102は、SOAPメッセージ通信部101を用いて、SOAPクライアント20に実行エラーが起きたことを通知するSOAPレスポンスメッセージを送信する(ステップ407)。
【0045】
シナリオ実行部102によるrequest用の処理はHTTPリクエスト処理部1041にHTTPリクエストメッセージを送信させると終了し、次のシナリオ情報の行の処理に移る。
【0046】
シナリオ実行部102は、参照しているシナリオ表103の行のrequest/responseの項目の値がresponse場合(図5に示すシナリオ表103の例では二番目および四番目の行のrequest/responseの項目の値はresponseとなっているため、この場合に該当する)、以下説明するresponse用の処理を行う。
【0047】
シナリオ実行部102は、request/responseの項目の値がresponseであった場合、シナリオ表103の参照している行の設定情報から、直前に行われたHTTPリクエスト処理によってHTTPレスポンス処理部1042が受け取る、WWWアプリケーションサーバ30が行った処理の結果であるHTTPレスポンスメッセージから、SOAPクライアント20に対して返信するSOAPレスポンスメッセージ22を作成する処理を行うための情報を取得する。例えば、図5に示すシナリオ表103の例の二番目の行では、WWWアプリケーションサーバ30から処理結果として取得したHTTPレスポンスメッセージに含まれるHTMLのうち、<html>タグのあとに現れる<h1>タグに囲まれる文字列を、図4に示すSOAPクライアントに対して返信するSOAPレスポンスメッセージ22の7行目に示す、<foo1>タグに含まれる<bar1>タグが囲む文字列として設定する、ということを示している。シナリオ実行部102は上記のようなSOAPレスポンスメッセージの作成処理情報に基づき、HTTPレスポンスメッセージからSOAPレスポンスメッセージ22を作成する(ステップ408)。シナリオ実行部102は、シナリオ実行中に上記のresponse用の処理が複数回行われる場合でも、ひとつのシナリオを実行している間はひとつのSOAPレスポンスメッセージ22に対して作成処理を行い、複数個のHTTPレスポンスメッセージから、複数の情報を取得して、該取得した複数の情報をひとつのSOAPレスポンスメッセージ22に取り入れて、最終的にSOAPクライアント20に対して返信するSOAPレスポンスメッセージ22を作成する。
【0048】
シナリオ実行部102は、その実行処理を始めるにあたってSOAPメッセージ通信部101が受信したSOAPリクエストメッセージ21に対応させて選択した、実行対象のシナリオ表103中のシナリオの行をすべて読み終わると、シナリオを終了したとし、シナリオ実行中に作成したSOAPレスポンスメッセージ22を、SOAPメッセージ通信部101に受け渡し、SOAPメッセージ通信部101はシナリオ実行部102から受け渡された該SOAPレスポンスメッセージ22を、要求元のSOAPクライアント20に返送する(ステップ409)。
【0049】
SOAPクライアント20は、SOAPラッパ装置10に対して送信したSOAPリクエストメッセージ21に対するSOAPラッパ装置10の処理結果として、SOAPレスポンスメッセージ22を受信する。
【0050】
本実施の形態によれば、SOAPラッパ装置10および、対象となるWWWアプリケーションサーバ30の提供するサービスに対応したシナリオ表103を用いることで、既存のWWWアプリケーションサーバ30に直接手を加えることなく、WWWアプリケーションの形式で提供していたサービスを、SOAPの形式でラッピングし、Webサービスとして提供することができる。また、WWWアプリケーションサーバ30が、WWWアプリケーションの形式で提供していたサービスでは、WWWクライアント(WWWブラウザ)と複数回のやりとりによって最終的に結果が得られるような処理を、SOAPラッパ装置10がWWWアプリケーションサーバとの複数回のやりとりをWWWクライアントに代わって行うことにより、要求元となるSOAPクライアント側からは1回だけのSOAPメッセージのやりとりによって、所望の処理を行うことができる。
【0051】
また、本実施の形態ではWWWアプリケーションサーバ30の提供するサービスに対応したシナリオ103を用意することにより、シナリオ実行部102がシナリオ表103に応じて動作しSOAPラッピング処理を行っているが、以下、シナリオ表103を作成するための装置および方法を説明する。
【0052】
図7は、シナリオ表103を作成するための開発環境の機能構成を表す機能ブロック図である。
【0053】
図7中、60は通常時はWWWアプリケーションサーバ30にアクセスしてWWWアプリケーションを利用するためのWWWクライアントとなるWWWブラウザである。
【0054】
図7中、50は、WWWブラウザとWWWアプリケーションサーバ30との間の通信のやりとりの情報ログを取得し、取得した該情報ログを元にシナリオ表103を作成する、シナリオ作成装置である。
【0055】
該シナリオ作成装置50は、プロセッサ504、記憶装置505、表示装置506、入力装置507、媒体読取装置508からなり、該記憶装置505には、シナリオ作成装置として動作するためのOS、および各種アプリケーションプログラムが格納されている。
【0056】
該シナリオ作成装置50は、本発明に特有のソフトウェアモジュールとして、WWWブラウザ60とWWWアプリケーションサーバ30の間の通信の間に入り、通信のやりとりの情報を取得する入出力ログ取得用プロキシ501と、入出力ログ取得用プロキシ501が取得する入出力ログ情報502を参照してシナリオを作成するシナリオ作成部503を有する。
【0057】
入出力ログ取得用プロキシ501とシナリオ作成部503はそれぞれモジュール化されたプログラムがプロセッサ504に実行されることによりそれぞれの機能を果たす。それぞれのプログラムはCD−ROM等の情報処理装置によって読み取り可能な記憶媒体に格納されて取引されることが通常であり、媒体読み取り装置508により媒体から読み込まれ、記憶装置505に格納されてシナリオ作成装置50にインストールされる。プロセッサ504が記憶装置505からプログラムを順次読み出して実行することでそれぞれの機能を果たす。入出力ログ情報502は上記のプログラムと同様に記憶装置505に格納される。
【0058】
図8は入出力ログ取得用プロキシ501が取得するWWWブラウザ60とWWWアプリケーションサーバ30との間の通信のやりとりの情報である入出力ログ情報の一例を示したものであり、図2に示したWWWアプリケーションサーバ30が提供するサービスをWWWブラウザ60から利用した際の入出力ログ情報が示されている。
【0059】
以下シナリオ作成装置50の、シナリオ作成処理の流れを詳細に説明する。
【0060】
シナリオを作成する開発者が、シナリオ作成装置50を用いて、シナリオを作成するとき、はじめに、入出力ログ取得用プロキシ501をWWWブラウザ60のHTTPアクセス時のHTTPプロキシサーバとして設定する。
【0061】
ここで、HTTPプロキシとは、一般的には企業内ユーザのインターネットアクセスのためのアクセスコントロールや、アクセスデータのキャッシュなどの目的で使われ、限られたユーザのみにインターネットアクセスを許したり、ユーザのアクセスログ情報を蓄積するために利用される、仲介サーバである。本発明ではこのHTTPプロキシの機能を、シナリオを作成する際に参照する、WWWブラウザ60とWWWアプリケーションサーバ30との間の通信ログを取得するために利用する。
【0062】
次に、シナリオを作成する開発者は、WWWブラウザ60を用いて、通常の操作と同じ操作により、WWWアプリケーションサーバ30にアクセスし、シナリオ作成の対象となるアプリケーションを利用する。このとき、WWWブラウザ60のHTTPプロキシとして動作する入出力ログ取得用プロキシ501は、そのアプリケーションの利用の間に生じたWWWブラウザ60とWWWアプリケーションサーバ30との間の通信の情報を入出力ログ情報502に記録する(図8)。
【0063】
図8に示した入出力ログ情報は、上から順に、一回目のWWWブラウザ60からWWWアプリケーションサーバ30に対するHTTPリクエスト、一回目のWWWアプリケーションサーバ30からWWWブラウザ60に対するHTTPレスポンス、二回目のWWWブラウザ60からWWWアプリケーションサーバ30に対するHTTPリクエスト、二回目のWWWアプリケーションサーバ30からWWWブラウザ60に対するHTTPレスポンス、の情報を示している。
【0064】
例えば、一回目のHTTPリクエストでは、アクセス先のurlが「http://www.foo.com/app1.cgi」であり、アクセス方式が「POST」であり、その際のパラメータxの値は「19800」であり、パラメータyの値は「kojima」であり、クッキーaの値が「aaa」であったことが示されている。また、一回目のHTTPレスポンスでは、アクセス先のurlが「http://www.foo.com/app1.cgi」であり、アクセス方式が「POST」であり、クッキーaの値が「xxx」であり、クッキーbの値が「yyy」であったことが示されており、かつWWWブラウザ60が表示すべきHTMLの内容が示されている。
【0065】
シナリオ作成部503は、該入出力ログ情報502を順に読み取り、そのrequest/responseに対応するようにシナリオ表103を作成する。シナリオ作成部503は、シナリオ表103におけるrequest側の設定情報は、アクセス先のurlおよびアクセス方式のみで構成されるため、入出力ログ情報502におけるrequestの情報をそのまま参照して作成する。
【0066】
シナリオ表103におけるresponse側の設定情報はWWWアプリケーションサーバ30から送られるHTTPレスポンスに含まれるHTMLから、SOAPレスポンスメッセージを構成するための情報が必要となる。これはシナリオ表を作成する開発者が、入出力ログ情報502におけるresuponseの情報を参照して、SOAPレスポンスメッセージを構成する情報として必要な部分を参照するように設定情報をシナリオ作成部503に入力し設定する。設定情報の作成方法はシナリオ実行部102の実行処理に記述したとおりである。
【0067】
上記のような手順により、シナリオ作成部503は、入出力ログ情報502からシナリオ表103を作成することができる。
【0068】
本実施の形態によれば、シナリオ作成装置50を用いて、WWWブラウザ60とWWWアプリケーションサーバ30との間の通信から取得した入出力ログ情報502を用いて、開発者に複雑なプログラミングなどを強いることなくシナリオ表103を作成することができ、該作成したシナリオ表103を設定したSOAPラッパ装置10を用いることで、WWWアプリケーションサーバ30がWWWアプリケーションの形式で提供している既存のサービスを、該サービスに手を加えることなくSOAPラッピングすることでWebサービスの形式で提供することができる。
【0069】
第1の実施の形態では、SOAPラッパ装置10はインターネット等のネットワーク上において、WebサービスのクライアントとなるSOAPクライアント20と、WWWアプリケーションサーバ30との間に位置していたが、これを実装する際は、SOAPクライアント20と同じコンピュータ上のプログラムあるいは、WWWアプリケーションサーバ30と同じコンピュータ上のプログラムとして配置することも可能である。
【0070】
また、第1の実施の形態における、シナリオ作成装置50では、そのシナリオ表103の作成処理において、response側の設定処理は、シナリオ表103の開発者が、シナリオ作成部503に設定情報を入力することにより設定処理を行っていたが、これをより単純化し、開発者が設定処理を行わず、シナリオ作成部503が自律的にシナリオ表103を作成する第2の実施の形態を以下説明する。
【0071】
第2の実施の形態は、第1の実施の形態と比べシナリオ作成部503の処理方法のみが異なる。第2の実施の形態におけるシナリオ作成部503は、そのシナリオ表103の作成処理において、入出力ログ情報502のresponseの情報に含まれるHTMLの内容全体を、SOAPクライアント20に返送するSOAPレスポンスメッセージ22に含ませるように処理を行う。このような処理方式にすることで、シナリオ表103の開発者はシナリオ作成装置50を用いてシナリオ表103を作成する際に、WWWブラウザ60を用いて、SOAPラッパ装置を適用させる対象となるWWWアプリケーションサーバ30のサービスを利用して、シナリオ作成装置50に入出力ログ情報502を記録させる処理を行うだけで、シナリオ作成部503に対し追加の入力情報を必要とすることなくシナリオ表103を作成することができる。
【0072】
ただし、この第2の実施の形態におけるシナリオ作成装置50の処理方式の場合、SOAPラッパ装置10がSOAPクライアント20に返送するSOAPレスポンスメッセージ22にWWWアプリケーションサーバ30の処理結果のHTMLがすべて含まれることになるため、第1の実施の形態にくらべ、SOAPクライアント20がSOAPレスポンスメッセージ22を受信したあとの処理負荷が高くなるものと考えられる。したがって、該SOAPクライアント20におけるSOAPレスポンスメッセージ22を受信したあとの負荷を低減させる必要がある場合は、第1の実施の形態による処理方式を選択するべきである。
【0073】
【発明の効果】
本発明によれば、シナリオ作成装置を用いて、既存サービスでのサービス実行処理の結果取得した入出力ログ情報等の処理情報を用いることで、開発者に複雑なプログラミングを強いることなくラッピングに必要なシナリオ表を作成することができ、作成したシナリオ表を用いてラッピング処理を行うことで既存のサービスに手を加えることなく新しいプロトコルに応じたサービスが実現できる。
【図面の簡単な説明】
【図1】本発明の一実施形態の機能構成を示す機能ブロック図。
【図2】WWWアプリケーションサーバ30が提供するサービスによるWWWページの画面遷移の一例を示す図。
【図3】SOAPリクエストメッセージの一例を示す図。
【図4】SOAPレスポンスメッセージの一例を示す図。
【図5】シナリオ表の一例を示す図。
【図6】SOAPラッパ装置の処理フローを表すフローチャート。
【図7】SOAPラッパ用シナリオ表開発環境の機能構成を示す機能ブロック図。
【図8】入出力ログ情報の一例を示す図。
【符号の説明】
10:SOAPラッパ装置、101:SOAPメッセージ通信部、102:シナリオ実行部、103:シナリオ表、104:HTTP通信部、1041:HTTPリクエスト処理部、1042:HTTPレスポンス処理部、105:プロセッサ、106:記憶装置、107:表示装置、108:入力装置、109:媒体読取装置、20:SOAPクライアント、21:SOAPリクエストメッセージ、22:SOAPレスポンスメッセージ、30:WWWアプリケーションサーバ、50:シナリオ作成装置、501:入出力ログ取得用プロキシ、502:入出力ログ情報、503:シナリオ作成部、60:WWWブラウザ。
【発明の属する技術分野】
本発明は既存サーバのラッピング方法に関し、特に既存のサーバのサービスの形式が、ネットワークなどを介してクライアントにサービスを提供する際に、クライアントが表示すべき画面情報を送信する形式のものであり、かつ、サービスを利用するには複数の画面遷移が必要になる場合に、これを単一の異種のメッセージのやりとりに集約するラッピング方法と装置に関する。
【0002】
【従来の技術】
ネットワークと、それにつながれた複数のシステムとで構成される分散システムにおいて、特定システム(サーバ)が提供するサービスを他のシステム(クライアント)からネットワークを介して利用するクライアント・サーバの形式のシステムが、銀行の口座操作システム(ATM)や、WWW(World Wide Web)等、多くのネットワークシステム環境で利用されている。
【0003】
クライアント・サーバの形式でサービスを提供する場合、クライアントシステムとサーバシステムとの間で、サービスの提供をする際の通信の方式や通信電文の形式をあらかじめ定めておく必要がある。この通信方式および通信電文の形式は標準団体等で定められたものがいくつかあり、HTTP(Hyper Text Transfer Protocol)やCORBA(Common Object Reference Broker Architecher)をその例としてあげることができる。この通信方式や通信電文の形式がサーバとクライアントで異なっているとサーバはクライアントにサービスを正常に提供することが出来ない。
【0004】
また、もともと、クライアント・サーバの形式でサービスを提供することを前提に作られていない既存のプログラムは、そのままではクライアント・サーバの形式のサービスで利用することは出来ない。
【0005】
このような問題に対処すべく、あるひとつの通信方式や通信電文の形式のサービスを、別の通信方式や通信電文方式に対応したクライアントにも利用できるように、既存のサービスに専用のプログラムを追加して通信方式や通信電文の変換を行ったり、通信方式や通信電文の形式をもたない既存のプログラムに専用のプログラムを追加して通信方式や通信電文の形式をあたえ、特定のクライアントから利用できるようにする、ラッピングとよばれる技術があり、その一例として、特開平11−353181号(特許文献1)に、既存プログラムのラッピング方法が開示されている。
【0006】
この方法は、既存のシステム上で作成した既存のプログラム部品をネットワークを介して新規に作成したアプリケーションプログラムから起動させ、ユーザからの要求処理を行うアプリケーションラッピング方法であって、新規に作成したアプリケーションプログラムがユーザからの要求を処理する際に必要となるプログラム部品を既存のプログラム部品から抽出して前記既存のプログラム部品と新規に作成したアプリケーションプログラムをマッピングし、ユーザの処理要求の応じて前記マッピングした各プログラム部品の処理の遷移順序を決定し、前記遷移順序に基づいて各プログラム部品の処理を遷移させ、新規に作成したアプリケーションプログラムと各プログラム部品間でそれぞれリモートプロシジャーコールによってその処理内容を通信し、ユーザの要求処理を新規に作成したアプリケーションプログラムから既存のシステム上で作成したプログラム部品を起動させて行う、ラッピング方法である。
【0007】
【特許文献1】特開平11−353181号公報
【発明が解決しようとする課題】
このようなラッピング技術を用いることで、既存プログラムをクライアント・サーバの形式で利用することができるようになったり、特定の通信方式や通信電文の形式のサーバを異なる通信方式や通信電文の形式で利用できるようにすることができる。
【0008】
しかしながら、従来のラッピング方法では、ラッピングを実現するための、開発者によるプログラムの作成は非常に複雑である。ラッピングを実現するためのプログラムを開発するには、対象となるプログラムの仕様および、ラッピング後の通信方式および通信電文の形式の仕様について詳細に調査し、その上でコーディングを行わなければならず、大きな開発工数が問題であった。
【0009】
本発明の目的はラッピングプログラムを開発する工数を減らせるラッピング方法を提供することにある。
【0010】
本発明の他の目的は、既存のサービスでの処理のサービスを実行することによりラッピングプログラムに必要な情報を収集してラッピングプログラムの開発を支援することである。
【0011】
より具体的には、既存のWWWアプリケーションサーバがHTTPとよばれる通信方式および通信電文の形式で提供するサービスを、SOAP(SimpleObject Access Protocol)と呼ばれる通信方式および通信電文の形式で利用できるようにする(SOAPで利用できるサービスを一般にWebサービスと呼ぶ)ラッピングプログラムを、その開発者に複雑なプログラムや開発作業を行わせることなく作成できるようにすることである。
【0012】
【課題を解決するための手段】
上記の課題を解決するために、本発明では、クライアントの要求に応じて、ラッピングサービスの対象となる既存のサービスに1回以上の通信により既存のサービスの処理を行わせ、そのサービスの処理の結果から得られる情報にもとづいて、メッセージを作成してクライアントに送信する。
【0013】
また、既存のサービスの処理の結果から得られる情報に基づいて、既存サービスに複数の処理を連続して行わせるためのシナリオ情報を作成しておき、シナリオ情報に基づいてラッピング処理を行う。
【0014】
更に、本発明の既存WWWアプリケーションをWebサービス化する方法では、対象となるWWWアプリケーションの、通常のWWWブラウザによる画面遷移による処理の流れを代行するSOAPラッパ装置を、WWWアプリケーションサーバと、Webサービスを利用するSOAPクライアントプログラムの間に配置し、SOAPクライアントから送信されるSOAPリクエストメッセージから該画面遷移に必要な情報を得て、該情報を用いてWWWアプリケーションサーバにアクセスすることで画面遷移を代行し、該画面遷移の結果えられた情報からSOAPレスポンスメッセージを生成し、該SOAPレスポンスメッセージを要求元のSOAPクライアントに返送する。
【0015】
このとき、本来は複数の画面遷移の間でその画面遷移の都度必要となる入力情報をひとつのSOAPリクエストメッセージに集約することで、従来複数の通信が必要であったものを、一回のSOAPメッセージのやりとりに集約する。
【0016】
また、該SOAPラッパ装置の、画面遷移を代行する処理手順は、既存のWWWブラウザと対象となるWWWアプリケーションサーバとの間の通信ログ情報を用いることで作成する。
【0017】
この方法によれば、既存のWWWアプリケーションサーバのWebサービス化を、開発者に複雑なプログラムミングなどの作業を行わせることなく実現することが出来る。また、WWWアプリケーションサーバが提供しているサービスが複数の画面遷移を必要とするものであってもひとつのメッセージのやりとりに集約することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明による機能構成を表す機能ブロック図である。図1中、30はWWWページによるアプリケーションのサービスを提供するWWWアプリケーションサーバである。通常、WWWアプリケーションサーバ30は、WWWクライアント(通常はWWWブラウザ)によって送信されるHTTPリクエストメッセージによってサービスの提供を要求され、その要求に応じて処理を行い、その処理の結果をWWWページを生成し、生成したWWWページの内容を含んだHTTPレスポンスメッセージをWWWクライアントに返信するサーバプログラムである。
【0019】
20は、通常はSOAPサーバによって提供されるWebサービスを利用するクライアントプログラムであり、これをSOAPクライアントと呼ぶ。
【0020】
Webサービスとは、インターネット上でシステムを連携させるための技術のひとつである。、HTTPやSMTP等のインターネット上の標準的なアプリケーション層のプロトコロルで接続されているネットワーク環境上に、さらにもうひとつ上の階層上でSOAP(Simple Object Application Protocol)と呼ばれるXML(eXtensible Markup Language)をベースにしたプロトコルを使用し、SOAPに従ったXML形式のデータ交換によりシステム連携を行うことができる。また、SOAPは標準団体W3C(World Wide Web Consotium)によって標準化された規格である。
【0021】
10は該WWWアプリケーションがHTTPの形式で提供しているサービスを、Webサービスの形式で利用できるように変換し、SOAPクライアントから該サービスを利用できるように処理を行う機能をもつSOAPラッパ装置である。
【0022】
該SOAPラッパ装置10はインターネット等のネットワーク上において、WebサービスのクライアントとなるSOAPクライアント20と、WWWアプリケーションサーバ30との間に位置し、WWWアプリケーションサーバ30の提供するWWWアプリケーションを、Webサービスで提供すべく、SOAPクライアント20から送信されるSOAPリクエストメッセージに応じて、あらかじめ定めておいたアクセスの方法によって、WWWアプリケーションにアクセスし、アクセスの結果得られた情報を元に、SOAPレスポンスメッセージを作成し、当該SOAPレスポンスメッセージを当該SOAPクライアントに返送する。
【0023】
SOAPラッパ装置10は、プロセッサ105、記憶装置106、表示装置107、入力装置108、媒体読取装置109からなり、該記憶装置106には、SOAPラッパとして動作するためのOS、および各種アプリケーションプログラムが格納されている。
【0024】
該SOAPラッパ装置10は、本発明に特有のソフトウェアモジュールとして、SOAPクライアント20からのSOAPリクエストメッセージを受信し、生成したSOAPレスポンスメッセージをSOAPクライアント20に返信するSOAPメッセージ通信部101、WWWアプリケーションサーバ30とHTTP通信処理を行うHTTP通信部104、SOAPメッセージ通信部101が受信したSOAPリクエストメッセージに応じてシナリオ表103にあらかじめ指定された方法でHTTP通信部104を制御しWWWアプリケーションサーバ30にアクセスし、処理を行うことでSOAPクライアント20に返信するSOAPレスポンスメッセージ22を作成するシナリオ実行部102を有する。
【0025】
HTTP通信部104は、WWWアプリケーションサーバ30にHTTPのリクエストメッセージを送信するHTTPリクエスト処理部1041と、WWWアプリケーションサーバ30からHTTPのレスポンスメッセージを受信するHTTPレスポンス処理部1042から構成される。
【0026】
SOAPメッセージ通信部101、シナリオ実行部102、HTTP通信部はそれぞれモジュール化されたプログラムがプロセッサ105に実行されることによりそれぞれの機能を果たす。それぞれのプログラムはCD−ROM等の情報処理装置によって読み取り可能な記憶媒体に格納されて取引されることが通常であり、媒体読み取り装置109により媒体から読み込まれ、記憶装置106に格納されてSOAPラッパ装置10にインストールされる。プロセッサ105が記憶装置106からプログラムを順次読み出して実行することでそれぞれの機能を果たす。シナリオ表103は上記のプログラムと同様に記憶装置106に格納される。
【0027】
図2はWWWアプリケーションサーバ30が提供するサービスによるWWWページの画面遷移の様子の一例を示したものである。
【0028】
図3はSOAPクライアント20から、SOAPラッパ装置※に送信されるSOAPリクエストメッセージの一例を示したものである。ただし説明のために左端に行数を示してある。
【0029】
図4は、SOAPラッパ装置10によって、該SOAPリクエストメッセージによる要求に応じて生成され、SOAPクライアント20に送信されるSOAPレスポンスメッセージの一例を示したものである。ただし説明のために左端に行数を示してある。
【0030】
図5は、SOAPラッパ装置が有するプログラムモジュールであるシナリオ実行部102が参照するシナリオ表103の一例を示している。
【0031】
本実施の形態では、SOAPラッパ装置10が、WWWアプリケーションサーバが提供する図2で示される画面遷移を行うサービスを、Webサービスとして利用できるように処理を行い、図3および図4で示されるSOAPメッセージのやりとりによって行われるWebサービスの形式で、SOAPクライアント20にWWWアプリケーションサーバ30の提供するサービスを提供する。
【0032】
以下図6にそって、SOAPラッパ装置10の処理の流れを詳細に説明する。
【0033】
SOAPラッパ装置10が行う、WWWアプリケーションサーバ30の提供するWWWアプリケーションの形式のサービスのSOAPラッピング処理はシナリオ実行部102が全体の制御を行うことで動作する。
【0034】
SOAPメッセージ通信部101はSOAPクライアント20からのSOAPリクエストメッセージ21を受信すると、該SOAPリクエストメッセージをシナリオ実行部102に受け渡す(ステップ401)。シナリオ実行部はシナリオ表103を参照し、SOAPメッセージ通信部20から受け渡された該SOAPリクエストメッセージの名前と一致するシナリオを実行すべきシナリオとして選択する(ステップ402)。ここで、SOAPリクエストメッセージ21の名前は図3の8行目の<sw:name>タグで囲まれた部分で表されている。図5に示すシナリオ表103の例では、「enquete_request」の名前を持つSOAPリクエストメッセージに対応したシナリオが示されている。該シナリオは4行分のシナリオの情報によって構成されている。シナリオ実行部102は選択したシナリオのrequest/response項目と設定情報を上から順に行ごとに読み取り、読み取った行の情報を元に以下説明する処理を行う。このとき、該シナリオの行をすべて読み込み終わると、後述するとシナリオの終了処理を行う。
【0035】
シナリオ実行部*は、シナリオ表103の行の情報を読み込むと、まずはじめにrequest/responseの項目を読み、その項目の値がrequestなのかresponseなのかを判定する(ステップ403)。
【0036】
該request/responseの項目の値がrequestの場合(図5に示すシナリオ表103の例では最初および三番目の行のrequest/responseの項目の値はrequestとなっているため、この場合に該当する)、以下説明するrequest用の処理を行う。
【0037】
シナリオ実行部102は、request/responseの項目の値がrequestであった場合、シナリオ表103の参照している行の設定情報から、HTTPによってアクセスすべきWebアプリケーションのURLと、アクセス方式を取得する(図5に示すシナリオ表103の例の最初の行では、アクセスすべきWebアプリケーションのURLはhttp://www.foo.com/app1.cgi、アクセス方式はPOSTと読み取ることができる)。シナリオ実行部102は、次に、SOAPメッセージ通信部101から受け渡された該SOAPリクエストメッセージ(図3)を読み込み、HTTPアクセス時のパラメータやクッキーの情報を取得する。HTTPアクセス時のパラメータやクッキーの情報の情報は、図3の9行目から17行目、および18行目から23行目の<sw:request>で囲まれた部分で表されている。シナリオ実行部102は、該request用の処理を複数会行う場合は、該SOAPリクエストメッセージにひとつ以上含まれる<sw:request>を上から順に読み込み、処理を行う。
【0038】
HTTPアクセス時のパラメータは、図3の10行目から13行目の<sw:parametor>タグで囲まれた部分で表されている。シナリオ実行部102は該<sw:parametor>タグで囲まれた部分を読み取り、パラメータの情報を取得する。該<sw:parametor>タグで囲まれた部分では、タグ名がパラメータ名、タグで囲まれた部分が該パラメータ名で示されるパラメータの値を示しており、シナリオ実行部102はこれをHTTPアクセス時のパラメータとして取得する。
【0039】
また、HTTPアクセス時のクッキー情報は、図3の14行目から16行目の<sw:cookie>タグで囲まれた部分で表されている。シナリオ実行部102は該<sw:cookie>タグで囲まれた部分を読み取り、クッキーの情報を取得する。該<sw:cookie>タグで囲まれた部分では、タグ名がクッキー名、タグで囲まれた部分が該クッキー名で示されるクッキーの値を示しており、シナリオ実行部102はこれをHTTPアクセス時のクッキーとして取得する。
【0040】
上記手段によりシナリオ実行部102は、HTTPアクセス時に必要なURL、アクセス方式、パラメータ、クッキーの情報を得る。シナリオ実行部102はこれらのHTTPアクセス時に必要な情報をHTTPリクエスト処理部1041に受け渡し、HTTPリクエスト処理部1041は、シナリオ実行部102より受け渡された該HTTPアクセス時に必要な情報を用いてWWWアプリケーションサーバ30にHTTPリクエストメッセージを作成する(ステップ404)。
【0041】
シナリオ実行部102はHTTPリクエスト処理部1041にHTTPリクエストを作成させた後に、実際にリクエスト送信を行うべきかどうかのチェックを行う(ステップ405)。
【0042】
シナリオ実行部102は、このようなWWWアプリケーションの特性をもちいて、HTTPリクエストメッセージの送信を行うべきかどうかをチェックする。すなわち、ひとつ前のHTTPリクエストによってWWWアプリケーションサーバ30から受け取った画面(通常はHTML)内に、次にアクセスを行おうとしているURLが含まれているかどうかを検出し、含まれていない場合は、HTTPリクエストメッセージを送信せず、後述するエラー処理を行う。逆に、該ひとつ前の画面に該URLが含まれている場合はHTTPリクエストメッセージの送信を行い、処理を続ける。ただし、通常、一番最初のHTTPリクエスト送信時には、ひとつ前の画面は存在し得ないため、上記のようなHTTPリクエストメッセージを送信すべきかどうかのチェック処理は行わず、すぐにHTTPリクエストメッセージの送信を行う。
【0043】
HTTPレスポンス処理部1042は、HTTPリクエスト処理部1041がWWWアプリケーションサーバ30に該HTTPリクエストメッセージを送信した後、WWWアプリケーションサーバ30の処理結果であるHTTPレスポンスメッセージを受信し、シナリオ実行部の次の処理に利用するため、該HTTPレスポンスメッセージを保持する。
【0044】
上記シナリオ実行部102におけるHTTPリクエストメッセージの送信を行うべきどうかをチェックする処理において、HTTPリクエストメッセージを送信すべきでないと判定された場合、シナリオ実行部102は、SOAPメッセージ通信部101を用いて、SOAPクライアント20に実行エラーが起きたことを通知するSOAPレスポンスメッセージを送信する(ステップ407)。
【0045】
シナリオ実行部102によるrequest用の処理はHTTPリクエスト処理部1041にHTTPリクエストメッセージを送信させると終了し、次のシナリオ情報の行の処理に移る。
【0046】
シナリオ実行部102は、参照しているシナリオ表103の行のrequest/responseの項目の値がresponse場合(図5に示すシナリオ表103の例では二番目および四番目の行のrequest/responseの項目の値はresponseとなっているため、この場合に該当する)、以下説明するresponse用の処理を行う。
【0047】
シナリオ実行部102は、request/responseの項目の値がresponseであった場合、シナリオ表103の参照している行の設定情報から、直前に行われたHTTPリクエスト処理によってHTTPレスポンス処理部1042が受け取る、WWWアプリケーションサーバ30が行った処理の結果であるHTTPレスポンスメッセージから、SOAPクライアント20に対して返信するSOAPレスポンスメッセージ22を作成する処理を行うための情報を取得する。例えば、図5に示すシナリオ表103の例の二番目の行では、WWWアプリケーションサーバ30から処理結果として取得したHTTPレスポンスメッセージに含まれるHTMLのうち、<html>タグのあとに現れる<h1>タグに囲まれる文字列を、図4に示すSOAPクライアントに対して返信するSOAPレスポンスメッセージ22の7行目に示す、<foo1>タグに含まれる<bar1>タグが囲む文字列として設定する、ということを示している。シナリオ実行部102は上記のようなSOAPレスポンスメッセージの作成処理情報に基づき、HTTPレスポンスメッセージからSOAPレスポンスメッセージ22を作成する(ステップ408)。シナリオ実行部102は、シナリオ実行中に上記のresponse用の処理が複数回行われる場合でも、ひとつのシナリオを実行している間はひとつのSOAPレスポンスメッセージ22に対して作成処理を行い、複数個のHTTPレスポンスメッセージから、複数の情報を取得して、該取得した複数の情報をひとつのSOAPレスポンスメッセージ22に取り入れて、最終的にSOAPクライアント20に対して返信するSOAPレスポンスメッセージ22を作成する。
【0048】
シナリオ実行部102は、その実行処理を始めるにあたってSOAPメッセージ通信部101が受信したSOAPリクエストメッセージ21に対応させて選択した、実行対象のシナリオ表103中のシナリオの行をすべて読み終わると、シナリオを終了したとし、シナリオ実行中に作成したSOAPレスポンスメッセージ22を、SOAPメッセージ通信部101に受け渡し、SOAPメッセージ通信部101はシナリオ実行部102から受け渡された該SOAPレスポンスメッセージ22を、要求元のSOAPクライアント20に返送する(ステップ409)。
【0049】
SOAPクライアント20は、SOAPラッパ装置10に対して送信したSOAPリクエストメッセージ21に対するSOAPラッパ装置10の処理結果として、SOAPレスポンスメッセージ22を受信する。
【0050】
本実施の形態によれば、SOAPラッパ装置10および、対象となるWWWアプリケーションサーバ30の提供するサービスに対応したシナリオ表103を用いることで、既存のWWWアプリケーションサーバ30に直接手を加えることなく、WWWアプリケーションの形式で提供していたサービスを、SOAPの形式でラッピングし、Webサービスとして提供することができる。また、WWWアプリケーションサーバ30が、WWWアプリケーションの形式で提供していたサービスでは、WWWクライアント(WWWブラウザ)と複数回のやりとりによって最終的に結果が得られるような処理を、SOAPラッパ装置10がWWWアプリケーションサーバとの複数回のやりとりをWWWクライアントに代わって行うことにより、要求元となるSOAPクライアント側からは1回だけのSOAPメッセージのやりとりによって、所望の処理を行うことができる。
【0051】
また、本実施の形態ではWWWアプリケーションサーバ30の提供するサービスに対応したシナリオ103を用意することにより、シナリオ実行部102がシナリオ表103に応じて動作しSOAPラッピング処理を行っているが、以下、シナリオ表103を作成するための装置および方法を説明する。
【0052】
図7は、シナリオ表103を作成するための開発環境の機能構成を表す機能ブロック図である。
【0053】
図7中、60は通常時はWWWアプリケーションサーバ30にアクセスしてWWWアプリケーションを利用するためのWWWクライアントとなるWWWブラウザである。
【0054】
図7中、50は、WWWブラウザとWWWアプリケーションサーバ30との間の通信のやりとりの情報ログを取得し、取得した該情報ログを元にシナリオ表103を作成する、シナリオ作成装置である。
【0055】
該シナリオ作成装置50は、プロセッサ504、記憶装置505、表示装置506、入力装置507、媒体読取装置508からなり、該記憶装置505には、シナリオ作成装置として動作するためのOS、および各種アプリケーションプログラムが格納されている。
【0056】
該シナリオ作成装置50は、本発明に特有のソフトウェアモジュールとして、WWWブラウザ60とWWWアプリケーションサーバ30の間の通信の間に入り、通信のやりとりの情報を取得する入出力ログ取得用プロキシ501と、入出力ログ取得用プロキシ501が取得する入出力ログ情報502を参照してシナリオを作成するシナリオ作成部503を有する。
【0057】
入出力ログ取得用プロキシ501とシナリオ作成部503はそれぞれモジュール化されたプログラムがプロセッサ504に実行されることによりそれぞれの機能を果たす。それぞれのプログラムはCD−ROM等の情報処理装置によって読み取り可能な記憶媒体に格納されて取引されることが通常であり、媒体読み取り装置508により媒体から読み込まれ、記憶装置505に格納されてシナリオ作成装置50にインストールされる。プロセッサ504が記憶装置505からプログラムを順次読み出して実行することでそれぞれの機能を果たす。入出力ログ情報502は上記のプログラムと同様に記憶装置505に格納される。
【0058】
図8は入出力ログ取得用プロキシ501が取得するWWWブラウザ60とWWWアプリケーションサーバ30との間の通信のやりとりの情報である入出力ログ情報の一例を示したものであり、図2に示したWWWアプリケーションサーバ30が提供するサービスをWWWブラウザ60から利用した際の入出力ログ情報が示されている。
【0059】
以下シナリオ作成装置50の、シナリオ作成処理の流れを詳細に説明する。
【0060】
シナリオを作成する開発者が、シナリオ作成装置50を用いて、シナリオを作成するとき、はじめに、入出力ログ取得用プロキシ501をWWWブラウザ60のHTTPアクセス時のHTTPプロキシサーバとして設定する。
【0061】
ここで、HTTPプロキシとは、一般的には企業内ユーザのインターネットアクセスのためのアクセスコントロールや、アクセスデータのキャッシュなどの目的で使われ、限られたユーザのみにインターネットアクセスを許したり、ユーザのアクセスログ情報を蓄積するために利用される、仲介サーバである。本発明ではこのHTTPプロキシの機能を、シナリオを作成する際に参照する、WWWブラウザ60とWWWアプリケーションサーバ30との間の通信ログを取得するために利用する。
【0062】
次に、シナリオを作成する開発者は、WWWブラウザ60を用いて、通常の操作と同じ操作により、WWWアプリケーションサーバ30にアクセスし、シナリオ作成の対象となるアプリケーションを利用する。このとき、WWWブラウザ60のHTTPプロキシとして動作する入出力ログ取得用プロキシ501は、そのアプリケーションの利用の間に生じたWWWブラウザ60とWWWアプリケーションサーバ30との間の通信の情報を入出力ログ情報502に記録する(図8)。
【0063】
図8に示した入出力ログ情報は、上から順に、一回目のWWWブラウザ60からWWWアプリケーションサーバ30に対するHTTPリクエスト、一回目のWWWアプリケーションサーバ30からWWWブラウザ60に対するHTTPレスポンス、二回目のWWWブラウザ60からWWWアプリケーションサーバ30に対するHTTPリクエスト、二回目のWWWアプリケーションサーバ30からWWWブラウザ60に対するHTTPレスポンス、の情報を示している。
【0064】
例えば、一回目のHTTPリクエストでは、アクセス先のurlが「http://www.foo.com/app1.cgi」であり、アクセス方式が「POST」であり、その際のパラメータxの値は「19800」であり、パラメータyの値は「kojima」であり、クッキーaの値が「aaa」であったことが示されている。また、一回目のHTTPレスポンスでは、アクセス先のurlが「http://www.foo.com/app1.cgi」であり、アクセス方式が「POST」であり、クッキーaの値が「xxx」であり、クッキーbの値が「yyy」であったことが示されており、かつWWWブラウザ60が表示すべきHTMLの内容が示されている。
【0065】
シナリオ作成部503は、該入出力ログ情報502を順に読み取り、そのrequest/responseに対応するようにシナリオ表103を作成する。シナリオ作成部503は、シナリオ表103におけるrequest側の設定情報は、アクセス先のurlおよびアクセス方式のみで構成されるため、入出力ログ情報502におけるrequestの情報をそのまま参照して作成する。
【0066】
シナリオ表103におけるresponse側の設定情報はWWWアプリケーションサーバ30から送られるHTTPレスポンスに含まれるHTMLから、SOAPレスポンスメッセージを構成するための情報が必要となる。これはシナリオ表を作成する開発者が、入出力ログ情報502におけるresuponseの情報を参照して、SOAPレスポンスメッセージを構成する情報として必要な部分を参照するように設定情報をシナリオ作成部503に入力し設定する。設定情報の作成方法はシナリオ実行部102の実行処理に記述したとおりである。
【0067】
上記のような手順により、シナリオ作成部503は、入出力ログ情報502からシナリオ表103を作成することができる。
【0068】
本実施の形態によれば、シナリオ作成装置50を用いて、WWWブラウザ60とWWWアプリケーションサーバ30との間の通信から取得した入出力ログ情報502を用いて、開発者に複雑なプログラミングなどを強いることなくシナリオ表103を作成することができ、該作成したシナリオ表103を設定したSOAPラッパ装置10を用いることで、WWWアプリケーションサーバ30がWWWアプリケーションの形式で提供している既存のサービスを、該サービスに手を加えることなくSOAPラッピングすることでWebサービスの形式で提供することができる。
【0069】
第1の実施の形態では、SOAPラッパ装置10はインターネット等のネットワーク上において、WebサービスのクライアントとなるSOAPクライアント20と、WWWアプリケーションサーバ30との間に位置していたが、これを実装する際は、SOAPクライアント20と同じコンピュータ上のプログラムあるいは、WWWアプリケーションサーバ30と同じコンピュータ上のプログラムとして配置することも可能である。
【0070】
また、第1の実施の形態における、シナリオ作成装置50では、そのシナリオ表103の作成処理において、response側の設定処理は、シナリオ表103の開発者が、シナリオ作成部503に設定情報を入力することにより設定処理を行っていたが、これをより単純化し、開発者が設定処理を行わず、シナリオ作成部503が自律的にシナリオ表103を作成する第2の実施の形態を以下説明する。
【0071】
第2の実施の形態は、第1の実施の形態と比べシナリオ作成部503の処理方法のみが異なる。第2の実施の形態におけるシナリオ作成部503は、そのシナリオ表103の作成処理において、入出力ログ情報502のresponseの情報に含まれるHTMLの内容全体を、SOAPクライアント20に返送するSOAPレスポンスメッセージ22に含ませるように処理を行う。このような処理方式にすることで、シナリオ表103の開発者はシナリオ作成装置50を用いてシナリオ表103を作成する際に、WWWブラウザ60を用いて、SOAPラッパ装置を適用させる対象となるWWWアプリケーションサーバ30のサービスを利用して、シナリオ作成装置50に入出力ログ情報502を記録させる処理を行うだけで、シナリオ作成部503に対し追加の入力情報を必要とすることなくシナリオ表103を作成することができる。
【0072】
ただし、この第2の実施の形態におけるシナリオ作成装置50の処理方式の場合、SOAPラッパ装置10がSOAPクライアント20に返送するSOAPレスポンスメッセージ22にWWWアプリケーションサーバ30の処理結果のHTMLがすべて含まれることになるため、第1の実施の形態にくらべ、SOAPクライアント20がSOAPレスポンスメッセージ22を受信したあとの処理負荷が高くなるものと考えられる。したがって、該SOAPクライアント20におけるSOAPレスポンスメッセージ22を受信したあとの負荷を低減させる必要がある場合は、第1の実施の形態による処理方式を選択するべきである。
【0073】
【発明の効果】
本発明によれば、シナリオ作成装置を用いて、既存サービスでのサービス実行処理の結果取得した入出力ログ情報等の処理情報を用いることで、開発者に複雑なプログラミングを強いることなくラッピングに必要なシナリオ表を作成することができ、作成したシナリオ表を用いてラッピング処理を行うことで既存のサービスに手を加えることなく新しいプロトコルに応じたサービスが実現できる。
【図面の簡単な説明】
【図1】本発明の一実施形態の機能構成を示す機能ブロック図。
【図2】WWWアプリケーションサーバ30が提供するサービスによるWWWページの画面遷移の一例を示す図。
【図3】SOAPリクエストメッセージの一例を示す図。
【図4】SOAPレスポンスメッセージの一例を示す図。
【図5】シナリオ表の一例を示す図。
【図6】SOAPラッパ装置の処理フローを表すフローチャート。
【図7】SOAPラッパ用シナリオ表開発環境の機能構成を示す機能ブロック図。
【図8】入出力ログ情報の一例を示す図。
【符号の説明】
10:SOAPラッパ装置、101:SOAPメッセージ通信部、102:シナリオ実行部、103:シナリオ表、104:HTTP通信部、1041:HTTPリクエスト処理部、1042:HTTPレスポンス処理部、105:プロセッサ、106:記憶装置、107:表示装置、108:入力装置、109:媒体読取装置、20:SOAPクライアント、21:SOAPリクエストメッセージ、22:SOAPレスポンスメッセージ、30:WWWアプリケーションサーバ、50:シナリオ作成装置、501:入出力ログ取得用プロキシ、502:入出力ログ情報、503:シナリオ作成部、60:WWWブラウザ。
Claims (9)
- ラッピングサービスの対象となる既存のサービスに複数回以上の通信により該既存のサービスに処理を実行する手段と、
該サービスの処理結果から得られる情報を元にクライアント向けメッセージを作成する手段と、
作成したメッセージをクライアントに送信する手段を備えたことを特徴とする既存サービスのラッピング装置。 - 請求項1において、更に前記既存サービスの処理実行結果から得られる情報に基づき既存サービスに複数回以上の通信によりサービスを行わせるためのシナリオ情報を保持する手段を備え、
前記メッセージ作成手段は、前記シナリオ情報に基づいてメッセージを作成することを特徴とする既存サービスのラッピング装置。 - 前記シナリオ情報は、前記クライアントからの要求情報からアクセス先のラッピング対象のサービスを提供するサーバを特定する定義と、前記クライアントからの要求情報から前記ラッピング対象のサービスにアクセスする際に必要となる情報を特定する定義と、該ラッピング対象のサービスの処理結果の情報から該クライアントに返信するメッセージを作成する方法を示す定義とを含むことを特徴とする請求項2の既存サービスのラッピング装置。
- 前記シナリオ情報を、前記ラッピング対象のサービスと、該ラッピング対象のサービスをそのまま利用することのできるクライアントとの間の通信ログ情報から作成することを特徴とする請求項3の既存サービスのラッピング装置。
- クライアント装置および既存サービスを行うサーバと接続したラッピング装置における既存サービスのラッピング方法であって、
ラッピングサービスの対象となる既存のサービスに複数回以上の通信により該既存のサービスに処理を実行するステップと、
該サービスの処理結果から得られる情報を元にクライアント向けメッセージを作成するステップと、
作成したメッセージをクライアントに送信するステップとを有することを特徴とする既存サービスのラッピング方法。 - 請求項5において、更に前記既存サービスの処理実行結果から得られる情報に基づき既存サービスに複数回以上の通信によりサービスを行わせるためのシナリオ情報を作成するステップを備え、
前記メッセージ作成ステップは、前記シナリオ情報に基づいてメッセージを作成することを特徴とする既存サービスのラッピング方法。 - 前記シナリオ情報は、前記クライアントからの要求情報からアクセス先のラッピング対象のサービスを提供するサーバを特定する定義と、前記クライアントからの要求情報から前記ラッピング対象のサービスにアクセスする際に必要となる情報を特定する定義と、該ラッピング対象のサービスの処理結果の情報から該クライアントに返信するメッセージを作成する方法を示す定義とを含むことを特徴とする請求項6の既存サービスのラッピング方法。
- 前記シナリオ情報を、前記ラッピング対象のサービスと、該ラッピング対象のサービスをそのまま利用することのできるクライアントとの間の通信ログ情報から作成することを特徴とする請求項7の既存サービスのラッピング方法。
- 既存サービスをラッピングするプログラムを格納する情報処理装置により読み取り可能な記憶媒体であって、前記プログラムは
前記クライアントの要求に応じて、ラッピングサービスの対象となる既存のサービスに複数回以上の通信により該既存のサービスに処理を行わせるステップと、
該サービスの処理の結果から得られる情報を元にメッセージを作成するステップと、
該作成したメッセージを該クライアントに送信するステップを有することを特徴とする記憶媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003037597A JP2004246747A (ja) | 2003-02-17 | 2003-02-17 | 既存サービスのラッピング方法および装置 |
| US10/683,930 US20040162873A1 (en) | 2003-02-17 | 2003-10-10 | Method and apparatus of wrapping an existing service |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003037597A JP2004246747A (ja) | 2003-02-17 | 2003-02-17 | 既存サービスのラッピング方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004246747A true JP2004246747A (ja) | 2004-09-02 |
Family
ID=32844443
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003037597A Withdrawn JP2004246747A (ja) | 2003-02-17 | 2003-02-17 | 既存サービスのラッピング方法および装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20040162873A1 (ja) |
| JP (1) | JP2004246747A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009193512A (ja) * | 2008-02-18 | 2009-08-27 | Mitsubishi Electric Corp | セッション実行装置及びセッション実行プログラム及び記録媒体 |
| US8127026B2 (en) | 2008-03-01 | 2012-02-28 | Mitsubishi Electric Corporation | User operation acting device, user operation acting program, and computer readable recording medium |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
| WO2006109236A2 (en) * | 2005-04-13 | 2006-10-19 | Netmask (El-Mar) Internet Technologies Ltd. | Dynamic content conversion |
| US7483994B1 (en) | 2004-11-01 | 2009-01-27 | Ameriprise Financial, Inc. | System and method for creating a standard envelope structure |
| JP4285655B2 (ja) * | 2005-07-19 | 2009-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webサービスを提供する方法、装置、プログラム |
| US10467576B2 (en) | 2008-03-07 | 2019-11-05 | Software Ag Usa, Inc. | Distributed software process tracking |
| US20090225781A1 (en) | 2008-03-07 | 2009-09-10 | Software Ag, Inc. | System, method and computer program product for bulk event transfer |
| FR2934099B1 (fr) * | 2008-07-17 | 2012-10-19 | Alcatel Lucent | Procede d'acces a des ressources du web et serveur mettant en oeuvre un tel procede |
| US8977704B2 (en) * | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
| CN103368912B (zh) * | 2012-03-31 | 2017-08-25 | 华为技术有限公司 | 一种在线应用的实现方法、装置及系统 |
| BR102015004521B1 (pt) * | 2015-02-27 | 2023-09-26 | Samsung Eletrônica da Amazônia Ltda. | Método para comunicação entre usuários e dispositivos inteligentes |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7146618B1 (en) * | 1997-11-10 | 2006-12-05 | Microsoft Corporation | Simple object access protocol |
| US6457066B1 (en) * | 1997-11-10 | 2002-09-24 | Microsoft Corporation | Simple object access protocol |
| US6990514B1 (en) * | 1999-09-03 | 2006-01-24 | Cisco Technology, Inc. | Unified messaging system using web based application server for management of messages using standardized servers |
| US20020099738A1 (en) * | 2000-11-22 | 2002-07-25 | Grant Hugh Alexander | Automated web access for back-end enterprise systems |
| US20040044656A1 (en) * | 2002-08-29 | 2004-03-04 | Manoj Cheenath | System for web service generation and brokering |
| US20040045004A1 (en) * | 2002-08-29 | 2004-03-04 | Manoj Cheenath | System for runtime web service to java translation |
| US20040133633A1 (en) * | 2002-12-05 | 2004-07-08 | Neopost Inc. | Method and apparatus for adaptive client communications |
-
2003
- 2003-02-17 JP JP2003037597A patent/JP2004246747A/ja not_active Withdrawn
- 2003-10-10 US US10/683,930 patent/US20040162873A1/en not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009193512A (ja) * | 2008-02-18 | 2009-08-27 | Mitsubishi Electric Corp | セッション実行装置及びセッション実行プログラム及び記録媒体 |
| US8127026B2 (en) | 2008-03-01 | 2012-02-28 | Mitsubishi Electric Corporation | User operation acting device, user operation acting program, and computer readable recording medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US20040162873A1 (en) | 2004-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7716282B2 (en) | Proxy server apparatus and method for providing service using the same | |
| US7526520B2 (en) | Method and apparatus for providing a client by a server with an instruction data set in a predetermined format in response to a content data request message by a client | |
| US7949999B1 (en) | Providing support for multiple interface access to software services | |
| JP4285655B2 (ja) | Webサービスを提供する方法、装置、プログラム | |
| US7171443B2 (en) | Method, system, and software for transmission of information | |
| US8332520B2 (en) | Web server for managing session and method thereof | |
| US6393475B1 (en) | Method of performing a network management transaction using a web-capable agent | |
| US7827238B2 (en) | Exchanging data using programmatic conversion to emulated HTML form data | |
| US20080281944A1 (en) | Method and system for extending the capabilities of embedded devices through network clients | |
| US8219692B2 (en) | Method and apparatus for storing and restoring state information of remote user interface | |
| US7689430B2 (en) | Access to web services | |
| JP2004094805A (ja) | ネットワークシステム、リバースプロキシ、コンピュータ装置、データ処理方法及びプログラム | |
| CA2437273C (en) | Network conduit for providing access to data services | |
| JP2004246747A (ja) | 既存サービスのラッピング方法および装置 | |
| US7685258B2 (en) | Disconnectible applications | |
| KR20010006794A (ko) | 애플리케이션 프리젠테이션 동기 장치 | |
| US20050010669A1 (en) | Method and system for managing programs for web service system | |
| US7529837B2 (en) | Device and method for changing instruction description, and storage medium storing program for changing instruction | |
| JP2000148620A (ja) | サーバ・クライアントシステム | |
| JPH11203153A (ja) | インタフェースシステムおよび記録媒体 | |
| WO2002033553A1 (en) | Http request generation from xml definitions | |
| JP3900634B2 (ja) | データ固定化装置、データ固定化方法、情報端末装置、情報端末装置の情報処理方法、サーバ、サーバの情報処理方法および記録媒体 | |
| CA2360959A1 (en) | Tester for url addressable computer applications | |
| Sward | Using ada in a service-Ooriented architecture | |
| JP2005266943A (ja) | Webサービス仲介装置、Webサービス仲介方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050926 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070711 |