JP2005078339A - Wsdl document preparation device and method - Google Patents

Wsdl document preparation device and method Download PDF

Info

Publication number
JP2005078339A
JP2005078339A JP2003307491A JP2003307491A JP2005078339A JP 2005078339 A JP2005078339 A JP 2005078339A JP 2003307491 A JP2003307491 A JP 2003307491A JP 2003307491 A JP2003307491 A JP 2003307491A JP 2005078339 A JP2005078339 A JP 2005078339A
Authority
JP
Japan
Prior art keywords
wsdl
web service
wsdl document
request
service
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.)
Pending
Application number
JP2003307491A
Other languages
Japanese (ja)
Inventor
Tadashi Hirata
正 平田
Nobumichi Akiyama
信道 秋山
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2003307491A priority Critical patent/JP2005078339A/en
Publication of JP2005078339A publication Critical patent/JP2005078339A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To easily attain failure recovery when any failure occurs concerning a technology to execute load distribution by using a WSDL (Web Services Description Language). <P>SOLUTION: A WSDL server 2 is provided with: a network interface part 21 which receives a message of requesting a WSDL document from a client 1; a Web service table 23 which stores the information of a Web service; a WSDL generating part 22 which generates the WSDL document by referring to the request message and the Web service table 23; an AP server monitoring part 25 which monitors the operating status of each AP server 3; a monitor information file 26 which stores the operation information of each AP server 3 collected by the AP server monitoring part 25; and a load distribution processing part 24 which distributes the request of the Web service to each AP server 3 on the basis of the operation information of the monitor information file 26. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、Webサービスのリクエストを分散して処理するための技術に関し、特にWSDL(Web Services Description Language)を利用した負荷分散を行う技術に関する。   The present invention relates to a technique for distributing and processing Web service requests, and more particularly to a technique for performing load distribution using WSDL (Web Services Description Language).

Web関連技術の1つにWebサービス技術がある。Webサービス技術は、XML(eXtensible Markup Language)形式のメッセージ交換により、ネットワーク上に存在するアプリケーションを連携させる技術をいう。また、Webサービス技術を用いたアプリケーションをWebサービスという。そして、Webサービスのインタフェース、宛先等を記述するための言語として、XML形式のWSDL(Web Services Description Language)が存在する。Webサービスには、WSDLで記述したWSDL文書が用意され、Webサービスを利用するため必要なインタフェース情報等が記述されている。   Web service technology is one of Web related technologies. Web service technology refers to technology that links applications existing on a network by exchanging messages in XML (eXtensible Markup Language) format. An application using Web service technology is called a Web service. As a language for describing a web service interface, a destination, and the like, there is XML format WSDL (Web Services Description Language). In the Web service, a WSDL document described in WSDL is prepared, and interface information necessary for using the Web service is described.

また、Webサービスの負荷分散の方法としては、クライアントからのリクエストを複数のサーバに振り分ける負荷分散装置を用いることが一般的である(例えば、非特許文献1)。   In addition, as a method for load distribution of Web services, it is common to use a load distribution device that distributes requests from clients to a plurality of servers (for example, Non-Patent Document 1).

「日経インターネットソリューション」,日経BP社,2003年5月号,p74−82"Nikkei Internet Solution", Nikkei BP, May 2003, p74-82

ところで、Webサービスは、クライアントからのリクエストをサーバが処理し、この処理結果をクライアントに送信する従来のWebシステムと異なり、Webサービス自身がさらに別の複数のWebサービスを呼び出し、複数のWebサービスを1つの処理(1トランザクション)で行うことが可能である。つまり、Webサービス自体がクライアントとなって他のサーバにリクエストすることができる。   By the way, unlike a conventional Web system in which a server processes a request from a client and transmits the processing result to the client, the Web service itself calls a plurality of other Web services, It can be performed in one process (one transaction). That is, the Web service itself can serve as a client and make a request to another server.

しかし、従来の負荷分散装置は、1つの処理(1トランザクション)で複数のWebサービスを呼び出す際に障害が発生した場合の障害復旧について、考慮されていない。例えば、クライアントからコミット指示を受け付けたWebサービスが、2相コミットで処理を行う場合において、第1フェーズ終了後、第2フェーズ終了前に障害が発生する場合がある。この場合、クライアントからのリクエストは従来の負荷分散装置により複数のサーバに振り分けられるため、クライアント自身は、Webサービスを提供するサーバの宛先を知らない。このため、この障害復旧処理を行うことは非常に困難である。   However, the conventional load balancer does not consider failure recovery when a failure occurs when calling a plurality of Web services in one process (one transaction). For example, when a Web service that has received a commit instruction from a client performs processing with two-phase commit, a failure may occur after the end of the first phase and before the end of the second phase. In this case, since the request from the client is distributed to a plurality of servers by the conventional load balancer, the client itself does not know the destination of the server that provides the Web service. For this reason, it is very difficult to perform this failure recovery processing.

また、従来の負荷分散装置をWebサービスに適用する場合、図8に示すように、Webサービス毎に少なくとも1台の負荷分散装置を用いる必要がある。図8に示す例では、クライアント1は、サービスAまたはサービスDのWebサービスを呼び出す。サービスAのWebサービスは、当該Webサービス自身がサービスBのWebサービスを呼び出し、さらに、サービスBのWebサービスがサービスCのWebサービスを呼び出す。この場合は、サービスAを提供する複数のサーバ81にリクエストを振り分けるサービスA用の負荷分散装置8aと、サービスBを提供する複数のサーバ82にリクエストを振り分けるサービスB用の負荷分散装置8bと、サービスCを提供する複数のサーバ83にリクエストを振り分けるサービスC用の負荷分散装置8cとが、それぞれ少なくとも1台ずつ必要である。また、サービスDのWebサービスは、当該Webサービス自身がサービスEのWebサービスを呼び出す。この場合も、サービスD用の負荷分散装置8dと、サービスE用の負荷分散装置8eとが、それぞれ少なくとも1台ずつ必要である。   In addition, when a conventional load distribution apparatus is applied to a Web service, it is necessary to use at least one load distribution apparatus for each Web service, as shown in FIG. In the example illustrated in FIG. 8, the client 1 calls a Web service of service A or service D. In the Web service of service A, the Web service itself calls the Web service of service B, and the Web service of service B calls the Web service of service C. In this case, a load distribution apparatus 8a for service A that distributes requests to a plurality of servers 81 that provide service A, a load distribution apparatus 8b for service B that distributes requests to a plurality of servers 82 that provide service B, At least one load distribution device 8c for service C that distributes requests to a plurality of servers 83 that provide service C is required. The Web service of service D calls the Web service of service E by itself. Also in this case, at least one load distribution device 8d for service D and one load distribution device 8e for service E are required.

本発明は上記事情に鑑みてなされたものであり、本発明の目的は、障害が発生した場合の障害復旧を容易にすることである。また、本発明の他の目的は、冗長構成のシステムの投資負担を軽減し、Webサービスのリクエストを分散することである。   The present invention has been made in view of the above circumstances, and an object of the present invention is to facilitate failure recovery when a failure occurs. Another object of the present invention is to reduce the investment burden of a redundantly configured system and distribute Web service requests.

上記課題を解決するために、本発明では、WSDL文書を動的に生成するWSDL文書生成装置を用いて、端末装置が直接サーバにWebサービスをリクエストするようにする。   In order to solve the above problem, in the present invention, a terminal device directly requests a Web service from a server using a WSDL document generation device that dynamically generates a WSDL document.

例えば、本発明のWSDL文書生成装置は、WSDL文書を要求する、サービス名を含む要求メッセージを、前記端末装置から受け付けるメッセージ受付手段と、少なくとも1つのWebサービス毎に、当該Webサービスのサービス名、インタフェース情報、および、少なくとも1つのアドレス情報が記憶されたサービス情報記憶手段と、前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されているインタフェース情報およびアドレス情報を用いて、WSDL文書を生成するWSDL生成手段と、前記WSDL生成手段により生成されたWSDL文書を、前記要求メッセージの送信元である前記端末装置に送信するWSDL送信手段と、を有する。   For example, the WSDL document generation apparatus according to the present invention includes a message accepting unit that accepts a request message including a service name, which requests a WSDL document, from the terminal device, and a service name of the Web service for each at least one Web service, Service information storage means storing interface information and at least one address information, and stored in the service information storage means in association with the service name included in the request message received by the message reception means. WSDL generation means for generating a WSDL document using the interface information and address information, and a WSDL transmission means for transmitting the WSDL document generated by the WSDL generation means to the terminal device that is the transmission source of the request message; Have.

また、本発明のWSDL文書生成装置は、複数の前記アドレス情報から、1つのアドレス情報を選択する選択手段を、さらに有することとしてもよい。   The WSDL document generation apparatus of the present invention may further include a selection unit that selects one piece of address information from the plurality of pieces of address information.

以下、本発明の実施の形態について説明する。   Embodiments of the present invention will be described below.

図1は、本発明の一実施形態が適用されたWebサービスシステム10の全体構成図である。   FIG. 1 is an overall configuration diagram of a Web service system 10 to which an embodiment of the present invention is applied.

図示するように、本実施形態のWebサービスシステム10は、複数のクライアント1と、WSDLサーバ2と、複数のアプリケーションサーバ(以下、APサーバという)3とを備える。クライアント1は、WSDLサーバ2およびAPサーバ3と、インターネットなどのネットワーク9aによりそれぞれ接続されている。また、WSDLサーバ2と各APサーバ3間は、WSDLサーバ2がAPサーバ3の稼動状態を監視するため、イントラネットなどのネットワーク9bにより接続されている。   As shown in the figure, the Web service system 10 of this embodiment includes a plurality of clients 1, a WSDL server 2, and a plurality of application servers (hereinafter referred to as AP servers) 3. The client 1 is connected to the WSDL server 2 and the AP server 3 via a network 9a such as the Internet. Further, the WSDL server 2 and each AP server 3 are connected by a network 9b such as an intranet in order for the WSDL server 2 to monitor the operating state of the AP server 3.

クライアント1は、Webサービス利用者の端末装置である。クライアント1は、Webサービスを呼び出す(リクエストする)際に、まず、ネットワーク9aを介してWSDLサーバ2に、Webサービスの呼び出しに必要なスタブを生成するためのWSDL文書を要求する。そして、クライアント1は、WSDLサーバ2が生成したWSDL文書からスタブを動的に生成し、このスタブを用いてAPサーバ3に対してWebサービスを呼び出す。スタブとは、クライアント上で動作する、他の装置のアプリケーションと通信を行うためのオブジェクトである。   The client 1 is a terminal device of a Web service user. When calling (requesting) a Web service, the client 1 first requests a WSDL document for generating a stub required for calling the Web service from the WSDL server 2 via the network 9a. Then, the client 1 dynamically generates a stub from the WSDL document generated by the WSDL server 2 and calls a Web service to the AP server 3 using this stub. A stub is an object that runs on a client and communicates with an application of another device.

WSDLサーバ2は、ネットワーク9aを介してクライアント1からの要求を受け付け、当該要求に基づいてWebサービスを呼び出すためのWSDL文書を生成し、生成したWSDL文書を要求元のクライアント1に送信する装置である。そして、WSDLサーバ2は、APサーバ3間での負荷を分散するために、APサーバ3の宛先を設定してWSDL文書を生成する。   The WSDL server 2 is a device that receives a request from the client 1 via the network 9a, generates a WSDL document for calling a Web service based on the request, and transmits the generated WSDL document to the requesting client 1. is there. Then, the WSDL server 2 sets a destination of the AP server 3 and generates a WSDL document in order to distribute the load among the AP servers 3.

APサーバ3は、Webサービス技術を用いたアプリケーションであるWebサービスを提供する装置である。APサーバ3は、Webサービスに必要なアプリケーションプログラムおよびデータを格納し、クライアント1からのリクエストに応じて、各種のWebサービスを提供する。例えば、図1のWebサービスシステム10では、APサーバ(A)3およびAPサーバ(B)3は、サービスAのWebサービスを提供する。また、APサーバ(N)3は、サービスBのWebサービスを提供する。   The AP server 3 is a device that provides a Web service that is an application using a Web service technology. The AP server 3 stores application programs and data necessary for the Web service, and provides various Web services in response to requests from the client 1. For example, in the Web service system 10 of FIG. 1, the AP server (A) 3 and the AP server (B) 3 provide the Web service of the service A. The AP server (N) 3 provides a service B Web service.

次に、クライアント1およびWSDLサーバ2の各構成について説明する。   Next, each configuration of the client 1 and the WSDL server 2 will be described.

まず、クライアント1について説明する。図1に示すように、クライアント1は、ネットワークインタフェース部11と、WSDL要求部12と、スタブ生成部13と、Webサービス呼出部15と、業務処理部16と、を有する。   First, the client 1 will be described. As shown in FIG. 1, the client 1 includes a network interface unit 11, a WSDL request unit 12, a stub generation unit 13, a web service call unit 15, and a business processing unit 16.

ネットワークインタフェース部11は、ネットワーク9aとの間でメッセージまたはデータの送受信を行う。   The network interface unit 11 transmits and receives messages or data to and from the network 9a.

WSDL要求部12は、ネットワークインタフェース部11を介して、WSDLサーバ2にWSDL文書を要求する。具体的には、WSDL要求部12は、図示しない入力装置により、Webサービスのサービス名およびプロトコル種別(通信手順)を伴うWebサービスの呼び出し指示を受け付け、サービス名およびプロトコル種別を含んだWSDL要求メッセージを送信する。   The WSDL request unit 12 requests a WSDL document from the WSDL server 2 via the network interface unit 11. Specifically, the WSDL request unit 12 receives a Web service call instruction with a service name and protocol type (communication procedure) of the Web service from an input device (not shown), and a WSDL request message including the service name and protocol type. Send.

スタブ生成部13は、ネットワークインタフェース部11を介して、WSDLサーバ2から取得したWSDL文書から、スタブ14を動的に生成する。また、スタブ生成部13は、WSDL要求部12が動的に取得したWSDL文書からAPサーバ3の宛先を取り出し、あらかじめ汎用的に生成されたスタブに当該APサーバ3の宛先を設定することとしてもよい。ここで、スタブ14は、スタブ生成部13により生成されるWebサービスと通信を行うためのオブジェクトである。   The stub generation unit 13 dynamically generates the stub 14 from the WSDL document acquired from the WSDL server 2 via the network interface unit 11. Alternatively, the stub generation unit 13 may extract the destination of the AP server 3 from the WSDL document dynamically acquired by the WSDL request unit 12 and set the destination of the AP server 3 in a stub generated in general. Good. Here, the stub 14 is an object for communicating with the Web service generated by the stub generation unit 13.

Webサービス呼出部15は、スタブ生成部13が動的に生成したスタブ14を用いて、WSDL文書に設定されたWebサービスを提供するAPサーバ3に、Webサービスの呼び出し(リクエスト)を行う。そして、業務処理部16は、当該APサーバ3からWebサービスの処理結果を受け取り、所定の業務処理を行う。   The Web service calling unit 15 uses the stub 14 dynamically generated by the stub generating unit 13 to call (request) the Web service to the AP server 3 that provides the Web service set in the WSDL document. Then, the business processing unit 16 receives the processing result of the Web service from the AP server 3 and performs predetermined business processing.

次に、WSDLサーバ2について説明する。図1に示すように、WSDLサーバ2は、ネットワークインタフェース部21と、WSDL生成部22と、Webサービステーブル23と、負荷分散処理部24と、APサーバ監視部25と、監視情報ファイル26と、を有する。   Next, the WSDL server 2 will be described. As shown in FIG. 1, the WSDL server 2 includes a network interface unit 21, a WSDL generation unit 22, a web service table 23, a load distribution processing unit 24, an AP server monitoring unit 25, a monitoring information file 26, Have

ネットワークインタフェース部21は、ネットワーク9aとの間でメッセージまたはデータの送受信を行う。例えば、ネットワークインタフェース部21は、ネットワーク9aを介してクライアント1からWSDL要求メッセージを受け付け、また、このWSDL要求メッセージに基づいて生成したWSDL文書を出力する。   The network interface unit 21 transmits and receives messages or data to and from the network 9a. For example, the network interface unit 21 receives a WSDL request message from the client 1 via the network 9a, and outputs a WSDL document generated based on the WSDL request message.

WSDL生成部22は、ネットワークインタフェース部21が受け付けたWSDL文書の要求メッセージに基づいて、Webサービステーブル23を参照し、WSDL文書を生成する。WSDL文書の生成については、図5および図6で後述する。   The WSDL generation unit 22 refers to the Web service table 23 based on the WSDL document request message received by the network interface unit 21 and generates a WSDL document. The generation of the WSDL document will be described later with reference to FIGS.

Webサービステーブル23は、図示しない記憶装置に記憶されており、本Webサービスシステム10で提供されるWebサービスの情報が登録されている。例えば、Webサービステーブル23は、図2に示すような構造を有する。すなわち、Webサービステーブル23は、Webサービスのサービス名231と、当該サービス名231に対応して、インタフェース定義232、プロトコル種別233およびアドレス234が、それぞれ登録されている。   The web service table 23 is stored in a storage device (not shown), and information on web services provided by the web service system 10 is registered. For example, the Web service table 23 has a structure as shown in FIG. That is, in the Web service table 23, a service name 231 of the Web service and an interface definition 232, a protocol type 233, and an address 234 are registered corresponding to the service name 231.

サービス名231には、Webサービスの名称が登録され、図2に示す例ではサービスAとサービスBとが登録されている。   In the service name 231, the name of the Web service is registered, and in the example illustrated in FIG. 2, service A and service B are registered.

インタフェース定義232には、Webサービスを要求するための入力メッセージおよびサービス結果を提供するための出力メッセージのフォーマットが記述されている。例えば、メッセージ毎のデータの型(string、string、decimal 等)や、入力メッセージに埋め込まれるパラメータ等が記述されている。また、関連するメッセージを組み合わせたポートの情報が記述されている。具体的には、後述するWSDL文書(図6参照)のメッセージ定義およびポート定義が、WSDLで記述されている。   The interface definition 232 describes the format of an input message for requesting a Web service and an output message for providing a service result. For example, the data type for each message (string, string, decimal, etc.), parameters embedded in the input message, etc. are described. In addition, information of a port in which related messages are combined is described. Specifically, the message definition and port definition of a WSDL document (see FIG. 6) to be described later are described in WSDL.

プロトコル種別233には、APサーバ3に対してWebサービスを呼び出す際に使用する通信手順(遠隔呼び出し手順)が登録される。例えば、SOAP(Simple Object Access Protocol)プロトコル、EJB(Enterprise JavaBeans)呼び出し、Java(登録商標)のローカル関数呼び出し、などがある。図2に示す例では、サービスAを呼び出すための通信手順として、SOAPプロトコル、EJB呼び出し、および、Javaローカル関数呼び出しが登録されている。   In the protocol type 233, a communication procedure (remote calling procedure) used when calling a Web service to the AP server 3 is registered. For example, there are SOAP (Simple Object Access Protocol) protocol, EJB (Enterprise JavaBeans) call, Java (registered trademark) local function call, and the like. In the example shown in FIG. 2, a SOAP protocol, an EJB call, and a Java local function call are registered as communication procedures for calling the service A.

アドレス234には、サービス名とプロトコル種別に対応したWebサービスの提供場所が登録される。そして、このアドレス234には当該Webサービスを提供するAPサーバ3を特定する情報(APサーバ3の宛先)が含まれている。例えば、URL(Uniform Resource Locator)を、アドレス234に用いることが考えられる。図2に示す例では、サービスAをSOAPプロトコルにより提供するWebサービスのアドレスとして、APサーバ(A)、APサーバ(B)およびAPサーバ(C)のそれぞれのURLが登録されている。なお、本実施形態においては、各APサーバ3は、それぞれ1つのWebサービスを提供するものとする。すなわち、APサーバ3各々は、対応する1つのWebサービスのアドレス234を有するものとする。   In the address 234, a Web service providing location corresponding to the service name and the protocol type is registered. The address 234 includes information for specifying the AP server 3 that provides the Web service (the destination of the AP server 3). For example, a URL (Uniform Resource Locator) may be used for the address 234. In the example illustrated in FIG. 2, the URLs of the AP server (A), the AP server (B), and the AP server (C) are registered as addresses of Web services that provide the service A using the SOAP protocol. In the present embodiment, each AP server 3 provides one Web service. That is, each AP server 3 has a corresponding Web service address 234.

APサーバ監視部25は、各APサーバ3の稼動状態、例えば、CPU利用率、メモリ利用率、単位時間当たりの接続要求回数等を継続的に測定(あるいは、各APサーバ3から定期的に収集)して、監視する。例えば、APサーバ監視部25は、所定の時間間隔で各APサーバ3に対しCPU利用率等を測定するためのコマンドを発行してCPU利用率等を測定する。あるいは、各APサーバ3のOS(Operating System)の機能により出力されるログ情報を定期的に参照し、CPU利用率等を取得する。   The AP server monitoring unit 25 continuously measures (or collects regularly from each AP server 3) the operating state of each AP server 3, for example, the CPU usage rate, the memory usage rate, the number of connection requests per unit time, and the like. ) And monitor. For example, the AP server monitoring unit 25 issues a command for measuring the CPU usage rate or the like to each AP server 3 at a predetermined time interval and measures the CPU usage rate or the like. Alternatively, log information output by an OS (Operating System) function of each AP server 3 is periodically referred to, and a CPU usage rate or the like is acquired.

そして、APサーバ監視部25は、これらの測定または収集した情報を監視情報ファイル26に記憶する。また、APサーバ監視部25は、各APサーバ3に障害が発生した否かについても監視し、障害が発生した場合には障害フラグを監視情報ファイル26に設定する。   Then, the AP server monitoring unit 25 stores these measured or collected information in the monitoring information file 26. The AP server monitoring unit 25 also monitors whether or not a failure has occurred in each AP server 3 and sets a failure flag in the monitoring information file 26 when a failure has occurred.

監視情報ファイル26は、図示しない記憶装置に記憶されていて、前述のAPサーバ監視部25が測定または収集した各APサーバ3の稼動情報が記憶されている。例えば、監視情報ファイル26は、図3に示すような構造を有する。すなわち、監視情報ファイル26には、APサーバ3毎に、前述したWebサービスのアドレス261、CPU利用率262、メモリ利用率263、および、障害フラグ264が記憶されている。   The monitoring information file 26 is stored in a storage device (not shown), and operation information of each AP server 3 measured or collected by the AP server monitoring unit 25 is stored. For example, the monitoring information file 26 has a structure as shown in FIG. That is, the monitoring information file 26 stores the above-described Web service address 261, CPU usage rate 262, memory usage rate 263, and failure flag 264 for each AP server 3.

負荷分散処理部24は、クライアント1からのWSDL要求メッセージに指定されたサービス名で、指定されたプロトコル種別(通信手順)のWebサービスのアドレスが複数存在する場合に、これら複数のアドレスにそれぞれ対応するAPサーバ3間の負荷が分散されるように、1つのAPサーバ3を特定する。例えば、負荷分散処理部24は、前述した監視情報ファイル26(図3参照)を参照し、対象となる複数のAPサーバ3各々のCPU使用率を比較して、最もCPU使用率の低いAPサーバ3を特定する。また、負荷分散処理部24は、監視情報ファイル26を参照し、メモリ利用率を比較して、最もメモリ使用率の低いAPサーバ3を特定することとしてもよい。あるいは、CPU使用率とメモリ使用率とを合計した値が最も低いAPサーバ3を特定するなど、CPU使用率とメモリ使用率の両方を用いてAPサーバ3各々の負荷を判定することとしてもよい。そして、負荷分散処理部24は、1つのAPサーバ3を特定することにより、対応する1つのWebサービスのアドレスを特定することができる。また、負荷分散処理部24は、障害フラグが設定されているAPサーバ3については、対象から除外する。   When there are a plurality of Web service addresses of the specified protocol type (communication procedure) with the service name specified in the WSDL request message from the client 1, the load distribution processing unit 24 corresponds to each of the plurality of addresses. One AP server 3 is specified so that the load among the AP servers 3 to be distributed is distributed. For example, the load distribution processing unit 24 refers to the monitoring information file 26 (see FIG. 3) described above, compares the CPU usage rate of each of the target AP servers 3, and has the lowest CPU usage rate. 3 is specified. Further, the load distribution processing unit 24 may refer to the monitoring information file 26 and compare the memory usage rates to identify the AP server 3 having the lowest memory usage rate. Alternatively, the load of each AP server 3 may be determined using both the CPU usage rate and the memory usage rate, such as specifying the AP server 3 having the lowest value of the CPU usage rate and the memory usage rate. . Then, the load distribution processing unit 24 can specify the address of one corresponding Web service by specifying one AP server 3. Further, the load distribution processing unit 24 excludes the AP server 3 in which the failure flag is set from the target.

このように、負荷分散処理部24は、監視情報ファイル26を参照して、正常なAPサーバ3のみを対象とし、かつ、正常なAPサーバ3各々の負荷を判定して、最も負荷の低いAPサーバ3を特定する。これにより、APサーバ3の処理能力に応じたきめ細かな負荷分散を実現することができる。   As described above, the load distribution processing unit 24 refers to the monitoring information file 26, determines only the load of each normal AP server 3 and determines the load of each normal AP server 3, and the AP having the lowest load. The server 3 is specified. Thereby, fine load distribution according to the processing capability of the AP server 3 can be realized.

また、負荷分散処理部24は、ラウンドロビンにより、APサーバを特定してもよい。すなわち、負荷分散処理部24は、クライアント1から指定されたサービス名およびプロトコル種別(通信手順)により定まる複数のWebサービスのアドレスを、あらかじめ決められた順序で順番に特定する。例えば、Webサービステーブル23を参照し、Webサービステーブル23のアドレス234欄の登録されている順番で、順次、当該Webサービスのアドレスを特定することとしてもよい。   Further, the load distribution processing unit 24 may specify the AP server by round robin. That is, the load distribution processing unit 24 sequentially specifies the addresses of a plurality of Web services determined by the service name and protocol type (communication procedure) specified by the client 1 in a predetermined order. For example, the Web service table 23 may be referred to and the addresses of the Web service may be sequentially specified in the registered order in the address 234 column of the Web service table 23.

これにより、1台のAPサーバ3にリクエストが集中することを防ぎ、複数のAPサーバ3間での接続要求回数を均等にし、負荷を分散させることが可能となる。   Thereby, it is possible to prevent requests from being concentrated on one AP server 3, to equalize the number of connection requests among a plurality of AP servers 3, and to distribute the load.

なお、本実施形態において、上記のような構成を備えるWSDLサーバ2を複数台備えていてもよい。この場合、各WSDLサーバ2は、それぞれ独立に各クライアント1からWSDL要求メッセージを受け付け、生成したWSDL文書を要求元のクライアント1に送信する。   In the present embodiment, a plurality of WSDL servers 2 having the above-described configuration may be provided. In this case, each WSDL server 2 independently accepts a WSDL request message from each client 1 and transmits the generated WSDL document to the requesting client 1.

上記説明した、クライアント1、WSDLサーバ2およびAPサーバ3は、いずれも、例えば図4に示すようなCPU901と、メモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、モニタやプリンタなどの出力装置905と、ネットワーク接続するための通信制御装置906と、を備えた汎用的なコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより実現される。例えば、WSDLサーバ2およびクライアント1の各機能は、クライアント1用のプログラムの場合、クライアント1のCPU901が、WSDLサーバ2用のプログラムの場合、WSDLサーバ2のCPU901が、それぞれ実行することにより、実現される。この場合、WSDLサーバ2のWebサービステーブル23や監視情報ファイル26には、メモリ902または外部記憶装置903が用いられる。   The client 1, WSDL server 2, and AP server 3 described above all include, for example, a CPU 901, a memory 902, an external storage device 903 such as an HDD, and an input device 904 such as a keyboard and mouse as shown in FIG. 4. And a general-purpose computer system including an output device 905 such as a monitor or a printer and a communication control device 906 for network connection, the CPU 901 executes a predetermined program loaded on the memory 902. Realized. For example, each function of the WSDL server 2 and the client 1 is realized by the CPU 901 of the client 1 executing the program for the client 1 and the CPU 901 of the WSDL server 2 executing the program for the WSDL server 2 respectively. Is done. In this case, the memory 902 or the external storage device 903 is used for the Web service table 23 and the monitoring information file 26 of the WSDL server 2.

次に、WSDLサーバ2の処理手順を、図5に示すフローチャートを用いて説明する。   Next, the processing procedure of the WSDL server 2 will be described using the flowchart shown in FIG.

まず、ネットワークインタフェース部21は、クライアント1より、サービス名およびプロトコル種別を含んだWSDL要求メッセージを受信し(S11)、受信したメッセージをWSDL生成部22に送出する。そして、WSDL生成部22は、Webサービステーブル23を参照して(S12)、WSDL要求メッセージに含まれるサービス名およびプロトコル種別から対象となるWebサービスのアドレスを選択する(S13)。   First, the network interface unit 21 receives a WSDL request message including a service name and a protocol type from the client 1 (S11), and sends the received message to the WSDL generation unit 22. Then, the WSDL generation unit 22 refers to the Web service table 23 (S12), and selects the address of the target Web service from the service name and protocol type included in the WSDL request message (S13).

次に、WSDL生成部22は、選択したWebサービスのアドレスが複数存在するか否かを判定する(S14)。Webサービスのアドレスが複数存在する場合(S14:YES)、WSDL生成部22は、負荷分散処理部24に選択した複数のアドレスの情報を引き渡す。負荷分散処理部24は、前述したように、監視情報ファイル26を参照して、選択された複数のアドレスにそれぞれ対応する複数のAPサーバ3の中から、最も負荷の少ないAPサーバ3を特定する。そして、負荷分散処理部24は、この特定したAPサーバ3に対応するWebサービスのアドレスを特定する(S15)。あるいは、負荷分散処理部24は、選択された複数のWebサービスのアドレスの中から、ラウンドロビンにより順番にWebサービスのアドレスを特定する(S15)。   Next, the WSDL generation unit 22 determines whether there are a plurality of addresses of the selected Web service (S14). When there are a plurality of Web service addresses (S14: YES), the WSDL generation unit 22 delivers the information of the selected plurality of addresses to the load distribution processing unit 24. As described above, the load distribution processing unit 24 refers to the monitoring information file 26 and identifies the AP server 3 with the least load from the plurality of AP servers 3 respectively corresponding to the selected plurality of addresses. . Then, the load distribution processing unit 24 specifies the address of the Web service corresponding to the specified AP server 3 (S15). Alternatively, the load distribution processing unit 24 specifies the addresses of the Web services in order by round robin from the selected addresses of the Web services (S15).

そして、WSDL生成部22は、負荷分散処理部24が特定したWebサービスのアドレスを、WSDL文書のWebサービスの宛先として決定する(S16)。また、対象となるWebサービスのアドレスが1つの場合(S15:NO)、WSDL生成部22は、当該Webサービスのアドレスを、WSDL文書のWebサービスの宛先として決定する(S16)。   Then, the WSDL generation unit 22 determines the address of the Web service specified by the load distribution processing unit 24 as the Web service destination of the WSDL document (S16). If the address of the target Web service is one (S15: NO), the WSDL generation unit 22 determines the address of the Web service as the Web service destination of the WSDL document (S16).

次に、WSDL生成部22は、WSDL文書を生成する(S17)。図6に示すWSDL文書を例に、WSDL文書の生成について説明する。WSDL文書は、図示するように、XML形式で記述され、XMLの宣言60、メッセージ定義61、ポート定義62、バインディング定義63、および、サービス定義64を含む構成となっている。   Next, the WSDL generation unit 22 generates a WSDL document (S17). Taking the WSDL document shown in FIG. 6 as an example, generation of a WSDL document will be described. As shown in the figure, the WSDL document is described in an XML format, and includes an XML declaration 60, a message definition 61, a port definition 62, a binding definition 63, and a service definition 64.

XMLの宣言60は、WSDLサーバ2の図示しない記憶装置にあらかじめ記憶されており、WSDL生成部22は、当該記憶されたXMLの宣言60を用いてXMLの宣言60を生成する。   The XML declaration 60 is stored in advance in a storage device (not shown) of the WSDL server 2, and the WSDL generation unit 22 generates the XML declaration 60 using the stored XML declaration 60.

メッセージ定義61は、Webサービスで使用する入力メッセージおよび出力メッセージのインタフェース(フォーマット)を、それぞれ定義したものである。また、ポート定義62は、メッセージ定義61で定義されたメッセージを組み合わせたポートを定義したものである。このメッセージ定義61およびポート定義62は、前述のとおりWebサービステーブル23のインタフェース定義232に、あらかじめ登録されている。XMLの宣言60を生成後、WSDL生成部22は、WSDL要求メッセージに含まれるサービス名に対応するインタフェース定義232を用いてメッセージ定義61およびポート定義62を生成する。   The message definition 61 defines interfaces (formats) of input messages and output messages used in the Web service. The port definition 62 defines a port that is a combination of the messages defined in the message definition 61. The message definition 61 and the port definition 62 are registered in advance in the interface definition 232 of the Web service table 23 as described above. After generating the XML declaration 60, the WSDL generation unit 22 generates the message definition 61 and the port definition 62 using the interface definition 232 corresponding to the service name included in the WSDL request message.

バインディング定義63は、ポート定義62で定義されたポートのプロトコル種別(通信手順)を定義したものである。図6に示す例では、バインディング定義63でSOAPプロトコルを用いることが記述されている。メッセージ定義61およびポート定義62を生成後、WSDL生成部22は、WSDL要求メッセージに含まれるサービス名およびプロトコル種別と、メッセージ定義61と、ポート定義62とを用いて、当該プロトコル種別のWSDL記述形式で、バインディング定義63を生成する。   The binding definition 63 defines the protocol type (communication procedure) of the port defined in the port definition 62. In the example shown in FIG. 6, it is described that the SOAP definition is used in the binding definition 63. After generating the message definition 61 and the port definition 62, the WSDL generation unit 22 uses the service name and protocol type included in the WSDL request message, the message definition 61, and the port definition 62, and the WSDL description format of the protocol type. Thus, the binding definition 63 is generated.

サービス定義64は、バインディング定義63で定義されたポートに、Webサービスの宛先(アドレス)を定義するものである。図6に示す例では、「soap:address location」の後に記述されたURLが定義されている。バインディング定義63を生成後、WSDL生成部22は、S16において決定されたWebサービスのアドレスと、WSDL要求メッセージに含まれるサービス名およびプロトコル種別と、メッセージ定義61と、ポート定義62と、バインディング定義63とを用いて、当該プロトコル種別のWSDL記述形式で、サービス定義64を生成する。   The service definition 64 defines a destination (address) of the Web service at the port defined by the binding definition 63. In the example illustrated in FIG. 6, a URL described after “soap: address location” is defined. After generating the binding definition 63, the WSDL generating unit 22 determines the address of the Web service determined in S16, the service name and protocol type included in the WSDL request message, the message definition 61, the port definition 62, and the binding definition 63. And the service definition 64 is generated in the WSDL description format of the protocol type.

このように、WSDL生成部22は、WSDL要求メッセージに含まれる情報、Webサービステーブル23に登録されている情報、WSDLの記述形式などのWSDL文書の生成に必要な情報から、WSDL文書を生成する(S17)。そして、WSDL生成部22は、生成したWSDL文書を、要求元のクライアント1へ、ネットワークインタフェース部21を介して送信する(S18)。   As described above, the WSDL generation unit 22 generates a WSDL document from information included in the WSDL request message, information registered in the Web service table 23, and information necessary for generating the WSDL document such as a WSDL description format. (S17). Then, the WSDL generation unit 22 transmits the generated WSDL document to the requesting client 1 via the network interface unit 21 (S18).

次に、クライアント1の処理について、図7に示すフローチャートを用いて説明する。   Next, the processing of the client 1 will be described using the flowchart shown in FIG.

WSDL要求部12は、図示していない入力装置から、サービス名およびプロトコル種別(通信手順)を伴うWebサービスの呼び出し指示を受け付ける。この呼び出し指示を受け取ると、WSDL要求部12は、ネットワークインタフェース部11を介して、WSDLサーバ2へWSDL要求メッセージを送信する(S21)。このWSDL要求メッセージには、サービス名およびプロトコル種別(通信手順)が含まれている。そして、WSDL要求部12は、前述のWSDLサーバ2の処理(図5参照)により生成されたWSDL文書を、WSDLサーバ2から受信する(S22)。   The WSDL request unit 12 receives a web service call instruction with a service name and a protocol type (communication procedure) from an input device (not shown). Upon receiving this call instruction, the WSDL request unit 12 transmits a WSDL request message to the WSDL server 2 via the network interface unit 11 (S21). This WSDL request message includes a service name and a protocol type (communication procedure). Then, the WSDL request unit 12 receives the WSDL document generated by the above-described processing of the WSDL server 2 (see FIG. 5) from the WSDL server 2 (S22).

次に、スタブ生成部13は、受信したWSDL文書からスタブ14を生成する(S23)。そして、Webサービス呼出部15は、生成されたスタブ14を用いて、WSDL文書に設定されたWebサービスのアドレスを宛先としてWebサービスの呼び出しを行う(S24)。そして、業務処理部16は、Webサービスの処理結果を受け取り、所定の業務処理を行う(S25)。   Next, the stub generation unit 13 generates a stub 14 from the received WSDL document (S23). Then, the web service calling unit 15 uses the generated stub 14 to call the web service with the address of the web service set in the WSDL document as a destination (S24). The business processing unit 16 receives the processing result of the Web service and performs a predetermined business process (S25).

なお、クライアント1が呼び出したWebサービス自身が、さらに他のWebサービスの呼び出しを行う場合、当該呼び出されたWebサービスを提供するAPサーバ3は、クライアント1と同様の処理(図7参照)を行い、次に呼び出すWebサービスのWSDL文書を取得する。すなわち、APサーバ3は、WSDLサーバ2に対してWSDL要求メッセージを送信することでWSDL文書を取得し、当該WSDL文書に設定されているWebサービスのアドレスを取得する。そして、APサーバ3は、このWebサービスのアドレスを宛先として、次のWebサービスを呼び出す。この場合、APサーバ3は、クライアント1と同様の機能(図1参照)を有する必要がある。   When the Web service itself called by the client 1 calls another Web service, the AP server 3 that provides the called Web service performs the same process as the client 1 (see FIG. 7). Then, the WSDL document of the Web service to be called next is acquired. That is, the AP server 3 acquires a WSDL document by transmitting a WSDL request message to the WSDL server 2 and acquires an address of a Web service set in the WSDL document. Then, the AP server 3 calls the next Web service with the address of this Web service as a destination. In this case, the AP server 3 needs to have the same function as the client 1 (see FIG. 1).

これにより、1トランザクションで複数のWebサービスを呼び出す場合であっても、各Webサービスを提供する複数のAPサーバ間で、それぞれ負荷分散処理を行うことが可能となる。また、クライアント1またはAPサーバ3は、2相コミットの第1フェーズ終了後、常に自分が呼び出したWebサービスを提供するWebサービスのアドレスを取得しているため、2相コミットの第1フェーズ終了後、第2フェーズ終了前に障害が発生した場合であっても、容易に障害復旧処理を行うことができる。   As a result, even when a plurality of Web services are called in one transaction, it is possible to perform load distribution processing between a plurality of AP servers that provide each Web service. In addition, since the client 1 or the AP server 3 always obtains the address of the Web service that provides the Web service called by the client 1 or the AP server 3 after the end of the first phase of the two-phase commit, the client 1 or the AP server 3 Even if a failure occurs before the end of the second phase, the failure recovery process can be easily performed.

また、クライアント1が呼び出したWebサービス自身が、さらに他のWebサービスの呼び出しを行う方法としては、クライアント1により呼び出されたWebサービスが、次に呼び出すWebサービスを提供するWebサービスのアドレスを、あらかじめ設定しておくこととしてもよい。これにより、WSDLサーバ2にアクセスすることなく、簡易に他のWebサービスの呼び出しを行うことができる。   In addition, as a method of calling another Web service by the Web service itself called by the client 1, an address of a Web service that provides a Web service to be called next by the Web service called by the client 1 is set in advance. It is good also as setting. Accordingly, it is possible to easily call another Web service without accessing the WSDL server 2.

本実施形態では、クライアント1は、WSDLサーバ2から負荷状況を鑑みて動的に取得したWSDL文書に記述されたWebサービスのアドレスのAPサーバ3に、直接、Webサービスの呼び出し(リクエスト)を行う。これにより、1つの処理(1トランザクション)で複数のWebサービスを呼び出す際に障害が発生した場合であっても、容易に障害復旧作業を行うことができる。   In the present embodiment, the client 1 directly calls (requests) the Web service to the AP server 3 having the address of the Web service described in the WSDL document dynamically acquired in consideration of the load status from the WSDL server 2. . As a result, even if a failure occurs when calling a plurality of Web services in one process (one transaction), the failure recovery operation can be easily performed.

また、本実施形態では、WSDLサーバ2が、全てのWebサービスに対するリクエスト(Webサービスがクライアントとなって他のWebサービスに発行するリクエストを含む)に対して、Webサービス毎にそれぞれ負荷分散処理を行う。すなわち、本実施形態のWSDLサーバ2は、複数のWebサービスにおいて共用可能な負荷分散装置である。これにより、Webサービス毎に負荷分散装置を備える必要はなくなり、シンプルなシステム構成を実現することができる。   In the present embodiment, the WSDL server 2 performs load distribution processing for each Web service in response to requests for all Web services (including requests that the Web service becomes a client and issues to other Web services). Do. That is, the WSDL server 2 of this embodiment is a load distribution apparatus that can be shared by a plurality of Web services. Thereby, it is not necessary to provide a load distribution device for each Web service, and a simple system configuration can be realized.

なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の実施形態のWebサービステーブル23(図2参照)では、インタフェース定義232の欄にWSDL文書のインタフェース定義の内容を、そのまま格納している。しかしながら、インタフェース定義内容を格納したファイルを、別途、記憶装置に記憶しておき、Webサービステーブル23では、インタフェース定義232の欄にインタフェース定義を記憶したファイル名を格納することとしてもよい。   In addition, this invention is not limited to said embodiment, Many deformation | transformation are possible within the range of the summary. For example, in the Web service table 23 (see FIG. 2) of the above embodiment, the contents of the interface definition of the WSDL document are stored in the interface definition 232 field as they are. However, the file storing the interface definition contents may be separately stored in a storage device, and in the Web service table 23, the file name storing the interface definition may be stored in the interface definition 232 column.

また、上記実施形態のクライアント1が送信するWSDL要求メッセージには、サービス名とプロトコル種別とが含まれている。しかしながら、WSDL要求メッセージにプロトコル種別を含まないこととしてもよい。この場合、Webサービステーブル23に、Webサービス毎のデフォルトのプロトコル種別があらかじめ設定されており、WSDL生成部22は、このデフォルトのプロトコル種別のWSDL文書を生成することとしてもよい。   The WSDL request message transmitted by the client 1 of the above embodiment includes a service name and a protocol type. However, the protocol type may not be included in the WSDL request message. In this case, a default protocol type for each Web service is preset in the Web service table 23, and the WSDL generation unit 22 may generate a WSDL document of this default protocol type.

また、上記の実施形態のAP監視部25および監視情報ファイル26は、WSDLサーバ2内に含まれている。しかしながら、WSDLサーバ2とは別の運用サーバを備え、この運用サーバがAP監視部25および監視情報ファイル26の機能を実現することとしてもよい。また、AP監視部26は、各APサーバ3の稼動情報の測定または収集を行うだけでなく、Webサービステーブル23の登録に必要な情報を所定のタイミングで各APサーバから収集し、Webサービステーブル23の追加、変更、削除等のメンテナンスを自動的に行うこととしてもよい。   Further, the AP monitoring unit 25 and the monitoring information file 26 of the above embodiment are included in the WSDL server 2. However, an operation server different from the WSDL server 2 may be provided, and this operation server may realize the functions of the AP monitoring unit 25 and the monitoring information file 26. In addition, the AP monitoring unit 26 not only measures or collects the operation information of each AP server 3, but also collects information necessary for registration of the Web service table 23 from each AP server at a predetermined timing. Maintenance such as addition, change, or deletion of 23 may be automatically performed.

また、上記実施形態では、各APサーバ3は、1つのWebサービスを提供するものとし、各APサーバ3は、それぞれ1つのWebサービスのアドレスを有するものとしている。しかしながら、1つのAPサーバ3が、複数のWebサービスを提供することとしてもよい。この場合、APサーバ3は、複数のWebサービスのアドレスを有することになる。   In the above embodiment, each AP server 3 provides one Web service, and each AP server 3 has one Web service address. However, one AP server 3 may provide a plurality of Web services. In this case, the AP server 3 has a plurality of Web service addresses.

図1は、本発明の一実施形態が適用されたWebサービスシステムの全体構成を示す図である。FIG. 1 is a diagram showing an overall configuration of a Web service system to which an embodiment of the present invention is applied. 図2は、Webサービステーブルのデータ構造の一例を示す図である。FIG. 2 is a diagram illustrating an example of the data structure of the Web service table. 図3は、監視情報ファイルのデータ構造の一例を示す図である。FIG. 3 is a diagram illustrating an example of the data structure of the monitoring information file. 図4は、クライアント、WSDLサーバおよびAPサーバのハードウェア構成例を示す図である。FIG. 4 is a diagram illustrating a hardware configuration example of the client, the WSDL server, and the AP server. 図5は、WSDLサーバの処理手順を示すフローチャートである。FIG. 5 is a flowchart showing the processing procedure of the WSDL server. 図6は、WSDL文書の例を示す図である。FIG. 6 is a diagram illustrating an example of a WSDL document. 図7は、クライアントの処理手順を示すフローチャートである。FIG. 7 is a flowchart showing the processing procedure of the client. 図8は、従来の負荷分散装置を用いたWebサービスシステムの構成を示す図である。FIG. 8 is a diagram showing a configuration of a Web service system using a conventional load distribution apparatus.

符号の説明Explanation of symbols

1…クライアント、2…WSDLサーバ、3…APサーバ、9a…ネットワーク、9b…ネットワーク、10…Webサービスシステム、11…ネットワークインタフェース部、12…WSDL要求部、13…スタブ生成部、14…スタブ、15…Webサービス呼出部、16…業務処理部、21…ネットワークインタフェース部、22…WSDL生成部、23…Webサービステーブル、24…負荷分散処理部、25…APサーバ監視部、26…監視情報ファイル

DESCRIPTION OF SYMBOLS 1 ... Client, 2 ... WSDL server, 3 ... AP server, 9a ... Network, 9b ... Network, 10 ... Web service system, 11 ... Network interface part, 12 ... WSDL request part, 13 ... Stub generation part, 14 ... Stub, DESCRIPTION OF SYMBOLS 15 ... Web service calling part, 16 ... Business processing part, 21 ... Network interface part, 22 ... WSDL production | generation part, 23 ... Web service table, 24 ... Load distribution processing part, 25 ... AP server monitoring part, 26 ... Monitoring information file

Claims (10)

情報処理装置が提供するWebサービスのリクエストに用いるWSDL文書を、端末装置に提供するWSDL文書生成装置であって、
WSDL文書を要求する、サービス名を含む要求メッセージを、前記端末装置から受け付けるメッセージ受付手段と、
少なくとも1つのWebサービス毎に、当該Webサービスのサービス名、インタフェース情報、および、少なくとも1つのアドレス情報が記憶されたサービス情報記憶手段と、
前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されているインタフェース情報およびアドレス情報を用いて、WSDL文書を生成するWSDL生成手段と、
前記WSDL生成手段により生成されたWSDL文書を、前記要求メッセージの送信元である前記端末装置に送信するWSDL送信手段と、を有すること
を特徴とするWSDL文書生成装置。
A WSDL document generation device that provides a WSDL document used for a web service request provided by an information processing device to a terminal device,
Message accepting means for requesting a WSDL document and receiving a request message including a service name from the terminal device;
Service information storage means for storing the service name, interface information, and at least one address information of at least one Web service;
WSDL generation means for generating a WSDL document using interface information and address information stored in the service information storage means in association with the service name included in the request message received by the message reception means;
A WSDL document generation device, comprising: a WSDL transmission unit configured to transmit the WSDL document generated by the WSDL generation unit to the terminal device that is a transmission source of the request message.
請求項1記載のWSDL文書生成装置であって、
前記アドレス情報が複数ある場合、前記複数のアドレス情報は、それぞれ異なる複数の情報処理装置に割り当てられていて、
前記複数のアドレス情報から1つのアドレス情報を選択する選択手段と、前記複数の情報処理装置各々の稼動情報が記憶された稼動情報記憶手段と、をさらに有し、
前記選択手段は、前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されている複数のアドレス情報に対応する情報処理装置各々の稼動情報を前記稼動情報記憶手段から検索し、検索した稼動情報に基づいて1つのアドレス情報を選択し、
前記WSDL生成手段は、前記選択手段により選択されたアドレス情報を用いて、当該WebサービスのWSDL文書を生成すること
を特徴とするWSDL文書生成装置。
The WSDL document generation device according to claim 1,
When there are a plurality of the address information, the plurality of address information is allocated to a plurality of different information processing devices,
A selection unit that selects one piece of address information from the plurality of address information; and an operation information storage unit that stores operation information of each of the plurality of information processing apparatuses,
The selection means includes operation information of each information processing apparatus corresponding to a plurality of address information stored in the service information storage means in association with a service name included in the request message received by the message reception means. Is searched from the operating information storage means, one address information is selected based on the searched operating information,
The WSDL document generation device, wherein the WSDL generation unit generates a WSDL document of the Web service using the address information selected by the selection unit.
請求項1記載のWSDL文書生成装置であって、
前記複数のアドレス情報から1つのアドレス情報を選択する選択手段をさらに有し、
前記選択手段は、前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されている複数のアドレス情報を、所定の順番に従って1つ選択し、
前記WSDL生成手段は、前記選択手段により選択されたアドレス情報を用いて、当該WebサービスのWSDL文書を生成すること
を特徴とするWSDL文書生成装置。
The WSDL document generation device according to claim 1,
A selection means for selecting one address information from the plurality of address information;
The selection means selects one of a plurality of address information stored in the service information storage means in association with a service name included in the request message received by the message reception means according to a predetermined order. ,
The WSDL document generation device, wherein the WSDL generation unit generates a WSDL document of the Web service using the address information selected by the selection unit.
請求項1乃至3のいずれか1項に記載のWSDL文書生成装置であって、
前記サービス情報記憶手段には、前記アドレス情報に、当該Webサービスが用いるプロトコル種別が対応付けられて記憶されており、
前記メッセージ受付手段は、サービス名およびプロトコル種別を含む前記要求メッセージを、前記端末装置から受け付け、
前記WSDL生成手段は、前記メッセージ受付手段が受け付けた要求メッセージに含まれているサービス名およびプロトコル種別に対応付けられて前記サービス情報記憶手段に記憶されているアドレス情報を用いて、当該WebサービスのWSDL文書を生成すること
を特徴とするWSDL文書生成装置。
The WSDL document generation device according to any one of claims 1 to 3,
The service information storage means stores the address information in association with the protocol type used by the Web service,
The message accepting means accepts the request message including a service name and a protocol type from the terminal device,
The WSDL generation unit uses the address information stored in the service information storage unit in association with the service name and the protocol type included in the request message received by the message reception unit. A WSDL document generation apparatus characterized by generating a WSDL document.
情報処理装置が提供するWebサービスのリクエストに用いるWSDL文書を、端末装置に提供するWSDL文書生成装置において動作するプログラムであって、
前記プログラムは、前記WSDL文書生成装置に、
WSDL文書を要求する、サービス名を含む要求メッセージを、前記端末装置から受け付けるメッセージ受付手段、
少なくとも1つのWebサービス毎に、当該Webサービスのサービス名、インタフェース情報および少なくとも1つのアドレス情報が記憶されたサービス情報記憶手段、
前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されているインタフェース情報およびアドレス情報を用いて、WSDL文書を生成するWSDL生成手段、および、
前記WSDL生成手段により生成されたWSDL文書を、前記要求メッセージの送信元である前記端末装置に送信するWSDL送信手段、として機能させること
を特徴とするプログラム。
A program that operates in a WSDL document generation device that provides a WSDL document used for a Web service request provided by an information processing device to a terminal device,
The program is stored in the WSDL document generation device.
A message receiving means for requesting a WSDL document and receiving a request message including a service name from the terminal device;
Service information storage means for storing the service name, interface information and at least one address information of the Web service for each at least one Web service;
WSDL generation means for generating a WSDL document using the interface information and address information stored in the service information storage means in association with the service name included in the request message received by the message reception means; and ,
A program that causes a WSDL document generated by the WSDL generation unit to function as a WSDL transmission unit that transmits the request message to the terminal device that is a transmission source of the request message.
情報処理装置が提供するWebサービスのリクエストに用いるWSDL文書を生成し、端末装置に提供するWSDL文書生成方法であって、
WSDL文書を要求する、サービス名を含む要求メッセージを、前記端末装置から受け付ける受付ステップと、
少なくとも1つのWebサービス毎に、当該Webサービスのサービス名、インタフェース情報および少なくとも1つのアドレス情報が記憶された記憶手段を、参照する参照ステップと、
前記受付ステップで受け付けた要求メッセージに含まれているサービス名に対応付けられて前記記憶手段に記憶されているインタフェース情報およびアドレス情報を用いて、WSDL文書を生成するWSDL生成ステップと、
前記WSDL生成ステップにより生成されたWSDL文書を、前記要求メッセージの送信元である前記端末装置に送信する送信ステップと、を有すること
を特徴とするWSDL文書生成方法。
A WSDL document generation method for generating a WSDL document used for a web service request provided by an information processing apparatus and providing the WSDL document to a terminal apparatus,
Receiving a request message including a service name for requesting a WSDL document from the terminal device;
A reference step for referring to a storage unit storing a service name, interface information, and at least one address information of the Web service for each of at least one Web service;
A WSDL generation step of generating a WSDL document using the interface information and the address information stored in the storage means in association with the service name included in the request message received in the reception step;
A WSDL document generation method, comprising: a transmission step of transmitting the WSDL document generated by the WSDL generation step to the terminal device that is a transmission source of the request message.
情報処理装置に、当該情報処理装置が提供するWebサービスのリクエストを行う端末装置であって、
前記Webサービスのリクエストに用いるWSDL文書を要求する、サービス名を含む要求メッセージを、WSDL文書生成装置に送信して、前記WSDL文書生成装置より、前記WebサービスのWSDL文書を受信するWSDL要求手段と、
前記WSDL要求手段が受信したWSDL文書を用いて、前記Webサービスのリクエストに用いるスタブを生成するスタブ生成手段と、
前記スタブ生成手段が生成したスタブを用いて、前記Webサービスを提供する情報処理装置に、前記Webサービスのリクエストを送信するリクエスト手段と、を有すること
を特徴とする端末装置。
A terminal device that makes a request for a Web service provided by the information processing apparatus to the information processing apparatus,
WSDL request means for requesting a WSDL document used for the request of the Web service, sending a request message including a service name to the WSDL document generation device, and receiving the WSDL document of the Web service from the WSDL document generation device; ,
Stub generation means for generating a stub used for the request of the Web service using the WSDL document received by the WSDL request means;
A terminal device comprising: request means for transmitting a request for the Web service to an information processing apparatus that provides the Web service using the stub generated by the stub generation means.
情報処理装置に、当該情報処理装置が提供するWebサービスのリクエストを行う端末装置において動作するプログラムであって、
前記プログラムは、前記端末装置に、
前記Webサービスのリクエストに用いるWSDL文書を要求する、サービス名を含む要求メッセージを、WSDL文書生成装置に送信して、前記WSDL文書生成装置より、前記WebサービスのWSDL文書を受信するWSDL要求手段、
前記WSDL要求手段が受信したWSDL文書を用いて、前記Webサービスのリクエストに用いるスタブを生成するスタブ生成手段、および、
前記スタブ生成手段が生成したスタブを用いて、前記Webサービスを提供する情報処理装置に、前記Webサービスのリクエストを送信するリクエスト手段、として機能させること
を特徴とするプログラム。
A program that runs on a terminal device that makes a request for a Web service provided by the information processing device to the information processing device,
The program is stored in the terminal device.
WSDL request means for requesting a WSDL document used for the Web service request, including a service message including a service name, and receiving the WSDL document of the Web service from the WSDL document generation device;
Stub generation means for generating a stub used for the request of the Web service using the WSDL document received by the WSDL request means; and
A program that causes an information processing apparatus that provides the Web service to function as a request unit that transmits a request for the Web service, using the stub generated by the stub generation unit.
情報処理装置に、当該情報処理装置が提供するWebサービスのリクエストを行う方法であって、
前記Webサービスのリクエストに用いるWSDL文書を要求する、サービス名を含む要求メッセージを、WSDL文書生成装置に送信して、前記WSDL文書生成装置より、前記WebサービスのWSDL文書を受信するWSDL要求ステップと、
前記WSDL要求ステップで受信したWSDL文書を用いて、前記Webサービスのリクエストに用いるスタブを生成するスタブ生成ステップと、
前記スタブ生成ステップで生成したスタブを用いて、前記Webサービスを提供する情報処理装置に、前記Webサービスのリクエストを送信する送信ステップと、を有すること
を特徴とするWebサービスのリクエストを行う方法。
A method of requesting an information processing apparatus for a Web service provided by the information processing apparatus,
A WSDL request step for requesting a WSDL document used for the request of the Web service, transmitting a request message including a service name to the WSDL document generation device, and receiving the WSDL document of the Web service from the WSDL document generation device; ,
Using the WSDL document received in the WSDL request step, a stub generation step for generating a stub for use in the Web service request;
A method for performing a web service request, comprising: a transmission step of transmitting the web service request to an information processing apparatus that provides the web service using the stub generated in the stub generation step.
情報処理装置が提供するWebサービスのリクエストに用いるWSDL文書を、端末装置に提供するWSDL文書生成システムであって、
前記WSDL文書生成システムは、WSDL文書生成装置と、少なくとも1つの端末装置とを有し、
前記WSDL文書生成装置は、
WSDL文書を要求する、サービス名を含む要求メッセージを、前記端末装置から受け付けるメッセージ受付手段と、
少なくとも1つのWebサービス毎に、当該Webサービスのサービス名、インタフェース情報、および、少なくとも1つのアドレス情報が記憶されたサービス情報記憶手段と、
前記メッセージ受付手段で受け付けた要求メッセージに含まれているサービス名に対応付けられて前記サービス情報記憶手段に記憶されているインタフェース情報およびアドレス情報を用いて、WSDL文書を生成するWSDL生成手段と、
前記WSDL生成手段により生成されたWSDL文書を、前記要求メッセージの送信元である前記端末装置に送信するWSDL送信手段と、を有し、
前記端末装置は、
WSDL文書を要求する、サービス名を含む要求メッセージを、前記WSDL文書生成装置に送信して、前記WSDL送信手段が送信したWSDL文書を受信するWSDL要求手段と、
前記WSDL要求手段が受信したWSDL文書を用いて、前記Webサービスのリクエストに用いるスタブを生成するスタブ生成手段と、
前記スタブ生成手段が生成したスタブを用いて、前記Webサービスのアドレス情報を有する情報処理装置に、前記Webサービスのリクエストを送信するリクエスト手段と、を有すること
を特徴とするWSDL文書生成システム。
A WSDL document generation system for providing a WSDL document used for a web service request provided by an information processing device to a terminal device,
The WSDL document generation system includes a WSDL document generation device and at least one terminal device,
The WSDL document generation device
Message accepting means for requesting a WSDL document and receiving a request message including a service name from the terminal device;
Service information storage means for storing the service name, interface information, and at least one address information of at least one Web service;
WSDL generation means for generating a WSDL document using interface information and address information stored in the service information storage means in association with the service name included in the request message received by the message reception means;
WSDL transmitting means for transmitting the WSDL document generated by the WSDL generating means to the terminal device that is the transmission source of the request message,
The terminal device
A WSDL requesting unit for requesting a WSDL document, transmitting a request message including a service name to the WSDL document generating device, and receiving the WSDL document transmitted by the WSDL transmitting unit;
Stub generation means for generating a stub used for the request of the Web service using the WSDL document received by the WSDL request means;
A WSDL document generation system comprising: request means for transmitting a request for the Web service to an information processing apparatus having address information of the Web service using the stub generated by the stub generation means.
JP2003307491A 2003-08-29 2003-08-29 Wsdl document preparation device and method Pending JP2005078339A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003307491A JP2005078339A (en) 2003-08-29 2003-08-29 Wsdl document preparation device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003307491A JP2005078339A (en) 2003-08-29 2003-08-29 Wsdl document preparation device and method

Publications (1)

Publication Number Publication Date
JP2005078339A true JP2005078339A (en) 2005-03-24

Family

ID=34410266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003307491A Pending JP2005078339A (en) 2003-08-29 2003-08-29 Wsdl document preparation device and method

Country Status (1)

Country Link
JP (1) JP2005078339A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040722A (en) * 2006-08-04 2008-02-21 Fuji Xerox Co Ltd Software module cooperative system and method
JP2009259009A (en) * 2008-04-17 2009-11-05 Internatl Business Mach Corp <Ibm> Device and method for controlling execution of transaction
KR20100076786A (en) * 2008-12-26 2010-07-06 삼성전자주식회사 Method and apparatus for providing a device with remote application in home network
JP2012098814A (en) * 2010-10-29 2012-05-24 Toshiba Corp Information processor and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040722A (en) * 2006-08-04 2008-02-21 Fuji Xerox Co Ltd Software module cooperative system and method
JP2009259009A (en) * 2008-04-17 2009-11-05 Internatl Business Mach Corp <Ibm> Device and method for controlling execution of transaction
KR20100076786A (en) * 2008-12-26 2010-07-06 삼성전자주식회사 Method and apparatus for providing a device with remote application in home network
JP2010157235A (en) * 2008-12-26 2010-07-15 Samsung Electronics Co Ltd Method and apparatus for providing device with remote application in home network
US9497036B2 (en) 2008-12-26 2016-11-15 Samsung Electronics Co., Ltd. Method and apparatus for providing device with remote application in home network
KR101718889B1 (en) * 2008-12-26 2017-03-22 삼성전자주식회사 Method and apparatus for providing a device with remote application in home network
JP2012098814A (en) * 2010-10-29 2012-05-24 Toshiba Corp Information processor and program
US8719848B2 (en) 2010-10-29 2014-05-06 Kabushiki Kaisha Toshiba Information processing device and computer program product

Similar Documents

Publication Publication Date Title
JP3980596B2 (en) Method and system for remotely and dynamically configuring a server
JP4753052B2 (en) Content delivery method and system
JP4616159B2 (en) Cluster system, load balancer, node transfer method, and node transfer program
US20110320610A1 (en) Providing content to client device
US20060069777A1 (en) Request message control method for using service and service providing system
US8117437B2 (en) System for providing services for applications available under different protocols
JP2005267303A (en) Information processing apparatus, network system and method for controlling network system
JP2007026006A (en) Information exchange system, management server, network load reduction method for use therewith, and its program
KR20070009476A (en) Information exchange system and management server, terminal unit, and method for reducing network load used in the same
JP2013235518A (en) Server device, system, and control method thereof
US8867073B2 (en) Server apparatus, network system, job processing method, and storage medium
JP2005078339A (en) Wsdl document preparation device and method
US6631424B1 (en) Distributing information using a computer
EP1865424B1 (en) Dynamic aggregation of web services
WO2011141993A1 (en) Bidirectional communication system and server apparatus used therein
EP2101474A1 (en) Service bindings for web services
JP5548433B2 (en) Web service platform system
KR20090042542A (en) Method for collecting quality data of web service using dummy message
JP4451339B2 (en) Load balancing system and load balancing method
JP2004334883A (en) Method and device of providing client side local proxy object for distributed object-oriented system
JP2004326643A (en) Document delivery request acceptance device, document delivery device, document delivery method, document delivery program and recording medium
Kalim et al. Mobile-to-grid middleware: An approach for breaching the divide between mobile and grid environments
US7529837B2 (en) Device and method for changing instruction description, and storage medium storing program for changing instruction
WO2023238284A1 (en) Management system, management method, and management program
JP2009059240A (en) Pod-cast system and program usable in this system