JP2009301480A - Service connection system and service connection method - Google Patents

Service connection system and service connection method Download PDF

Info

Publication number
JP2009301480A
JP2009301480A JP2008157869A JP2008157869A JP2009301480A JP 2009301480 A JP2009301480 A JP 2009301480A JP 2008157869 A JP2008157869 A JP 2008157869A JP 2008157869 A JP2008157869 A JP 2008157869A JP 2009301480 A JP2009301480 A JP 2009301480A
Authority
JP
Japan
Prior art keywords
data
service
general
request
purpose
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.)
Granted
Application number
JP2008157869A
Other languages
Japanese (ja)
Other versions
JP5188284B2 (en
Inventor
Takashi Tsuchiya
隆 土屋
Original Assignee
Mitsubishi Electric Corp
三菱電機株式会社
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 Mitsubishi Electric Corp, 三菱電機株式会社 filed Critical Mitsubishi Electric Corp
Priority to JP2008157869A priority Critical patent/JP5188284B2/en
Publication of JP2009301480A publication Critical patent/JP2009301480A/en
Application granted granted Critical
Publication of JP5188284B2 publication Critical patent/JP5188284B2/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a web service connection method for separately calling a plurality of web services completely different in interfaces of the web services with a single stab without reproducing any stab. <P>SOLUTION: A web service requester 200 converts a data object from a client application 210 into a general-purpose type request data and transmits the converted data to a relay server 400. The relay server 400 converts the general-purpose type request data into a unique type request data and transmits the converted data to a web service provider 300, and converts a data type of a unique type response returned from the web service provider 300 into a general-purpose type response data and transmits the converted data to a web service requester 200. The web service requester 200 converts a data type of a general-purpose type response data into a data object and returns the object to the client application 210. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

  The present invention relates to a service connection system and a service connection method. The present invention particularly relates to a Web service message conversion method in a Web service connection system.

  XML (extensible Markup Language) and Web services (hereinafter simply referred to as Web services) are based on open Internet technologies such as HTTP (HyperText Transfer Protocol), XML, and SOAP (Simple Object Access Protocol). Thus, the information service is provided on the Internet, and can be used by calling from other programs on the network. Here, a program that provides a Web service is called a Web service provider, and a program that uses the Web service is called a Web service requester.

  In order to call a Web service, a module called a stub that performs conversion between input / output parameters and a SOAP message and communication with the server is called a Web service definition document (WSDL (Web Service Definition.WSDL) that defines the interface of the Web service. (Language, Web, Services, Description, Language) document) (hereinafter sometimes simply referred to as WSDL). If the interface is slightly different, you will have to create another stub.

Creation of stubs has been made more efficient by using a tool that automatically generates stubs from WSDL (see, for example, Patent Documents 1 to 4).
JP-A-2005-174120 JP 2006-72978 A JP 2005-92533 A JP 2004-228771 A

  In the conventional method of creating a stub for each Web service, there is a problem that if there is a change in the service interface or a problem with the generation tool, it is necessary to regenerate or correct the stub and rebuild the client. In addition, the stubs generated by the stub generation tools of each vendor are not compatible, and there is a problem that the way to create a client application changes if the tools are different.

  According to the system described in Patent Document 1, when there are two Web service interfaces, there is a case where both interfaces can be handled by one stub, but there is a restriction that similarity is required between the two interfaces. .

  In the system described in Patent Literature 1, when a change is made so that a Web service requester that has called a certain Web service can call another Web service in which the Web service definition document (WSDL) is slightly changed, a stub ( In order to avoid the regeneration of the proxy module in FIG. 2 of Patent Document 1, the data conversion module converts the format of the request data / response data from one to the other, thereby reproducing the stub. The new service can be called without success. However, there is a limitation that a new service can be called only when the similarity between two interfaces is determined (similarity determination module in FIG. 3 of Patent Document 1) and structurally determined to be similar.

  The present invention provides, for example, a Web service connection method that enables a plurality of Web services having completely different input / output data (ie, interfaces) of Web services to be called by a single stub without regenerating the stub. The purpose is to do.

A service connection system according to one aspect of the present invention includes:
A communication network in which multiple service providing devices that provide a service by returning a response data of a specific type having a specific data format to a specific type of request data having a specific data format for each service type is connected. In the service connection system used,
An application execution unit that executes a client application that uses the service by a CPU (Central Processing Unit);
Accepts the input of a service ID (identifier) that identifies the type of service and an arbitrary data object from the client application executed by the application execution unit, converts the data format of the data object to a general data format, and requests a general type A requesting data converter that generates data; and
The service request device includes a service ID that is received by the request side data conversion unit and a request side data communication unit that transmits general-purpose request data generated by the request side data conversion unit.
A first relay-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
The data format of the general-purpose request data received by the first relay-side data communication unit is converted into a service-specific data format of the type specified by the service ID received by the first relay-side data communication unit. A relay-side data converter that generates request data of a type;
Via the communication network, the unique request data generated by the relay-side data conversion unit is transmitted to the service providing apparatus that provides the type of service specified by the service ID received by the first relay-side data communication unit. And a relay device comprising a second relay-side data communication unit that receives unique response data returned from the service providing device,
The relay-side data conversion unit converts the data format of the unique response data received by the second relay-side data communication unit into a general-purpose data format, and generates general-purpose response data.
The first relay-side data communication unit transmits the general-purpose response data generated by the relay-side data conversion unit to the service requesting device,
The request side data communication unit receives general-purpose response data transmitted from the relay device,
The request side data conversion unit converts the data format of the general-purpose response data received by the request side data communication unit to generate a data object, and returns the data object to the client application executed by the application execution unit. And

According to one aspect of the present invention, in a service connection system,
The service request device receives an input of an arbitrary data object from the client application, converts the data format of the data object to a general-purpose data format, generates general-purpose request data, and relays the general-purpose request data to the relay device Send to
The relay device converts the data format of the general-purpose request data transmitted from the service request device to a service-specific data format, generates the specific request data, and transmits the specific request data to the service providing device. Then, the data format of the unique response data returned from the service providing device is converted into a general-purpose data format to generate general-purpose response data, and the general-purpose response data is transmitted to the service requesting device.
The service request device generates a data object by converting the data format of the general-purpose response data transmitted from the relay device, and returns the data object to the client application.
For example, it is possible to provide a Web service connection method in which a plurality of Web services having completely different input / output data (that is, interfaces) of Web services can be called by one stub without regenerating the stub. It becomes.

  Hereinafter, embodiments of the present invention will be described with reference to the drawings.

Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a Web service connection system 100 (an example of a service connection system) according to the present embodiment.

  In FIG. 1, the web service connection system 100 includes a web service requester 200, a web service provider 300, and a relay server 400. The web service requester 200, the web service provider 300, and the relay server 400 are connected to the communication network 500. Although only one Web service requester 200 and one relay server 400 are shown in the figure, there may be a plurality of each. Although only one Web service provider 300 is shown, it is assumed that there are actually a plurality of Web service providers 300. Each Web service provider 300 returns a unique type response data having a unique data format to the unique request data having a unique data format for each type of Web service (an example of service). Provide service. The web service provider 300 may provide only one type of web service, or may provide two or more types. Two or more Web service providers 300 may provide the same type of Web service. Assume that each Web service provider 300 is assigned at least one URI (Uniform / Resource / Identifier) as an identifier.

  The Web service requester 200 is a program that includes a client application 210, an object conversion module 220, and a SOAP processing module 230. This program is executed by a service request device which is a computer. The service request apparatus includes an application execution unit, a request side data conversion unit, and a request side data communication unit. Although not shown, the service requesting device includes hardware such as a CPU (Central Processing Unit), a memory (including a hard disk drive), an input device, and an output device. Each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

  First, the application execution unit executes, on the CPU, a client application 210 that inputs a service ID (identifier) that identifies the type of Web service and an arbitrary data object Xq that is an input parameter for using the Web service. . Next, the request-side data conversion unit receives the service ID and the data object Xq from the client application 210 executed by the application execution unit by executing the object conversion module 220 on the CPU. Then, the request side data conversion unit converts the data format of the data object Xq into a general-purpose data format, and generates general-purpose request data Yq. Next, the request side data communication unit executes the SOAP processing module 230, thereby obtaining the service ID received by the request side data conversion unit and the general-purpose request data Yq generated by the request side data conversion unit, The data is transmitted to the relay device via the communication network 500.

  In addition, the request side data communication unit receives the general-purpose response data Ys transmitted from the relay device via the communication network 500 by executing the SOAP processing module 230. Next, the request-side data conversion unit converts the data format of the general-purpose response data Ys received by the request-side data communication unit by executing the object conversion module 220 on the CPU, and generates a data object Xs. Then, the request side data conversion unit returns the data object Xs to the client application 210 executed by the application execution unit. Finally, the application execution unit displays the result of using, for example, a Web service on a screen or the like using the data object Xs returned by the request side data conversion unit by executing the client application 210 by the CPU.

  Hereinafter, the operation of the service requesting apparatus may be described as the operation of the Web service requester 200. The operations of the application execution unit, the request side data conversion unit, and the request side data communication unit may be described as operations of the client application 210, the object conversion module 220, and the SOAP processing module 230, respectively.

  The web service provider 300 is a program that includes a web service implementation 310 and a SOAP processing module 330. This program is executed by a service providing apparatus that is a computer. The service providing apparatus includes a service processing execution unit and a providing side data communication unit. Although not shown, the service providing apparatus includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service providing apparatus operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

  First, the providing side data communication unit receives the unique request data Zq transmitted from the relay apparatus via the communication network 500 by executing the SOAP processing module 330. Next, the service process execution unit executes the process related to the Web service based on the unique request data Zq received by the providing side data communication unit by executing the Web service implementation 310 by the CPU. Then, the service process execution unit returns unique response data Zs as the execution result. Next, the providing side data communication unit receives the unique response data Zs returned from the Web service implementation 310 executed by the service process execution unit. Then, the providing-side data communication unit transmits the unique response data Zs to the relay device via the communication network 500.

  The service providing apparatus further includes a WSDL storage unit 340. The WSDL storage unit 340 holds, in a memory, WSDL (an example of a service definition file) that defines a unique data format for each type of Web service provided by the Web service implementation 310 executed by the service processing execution unit. The provider data communication unit transmits the corresponding WSDL to the relay device via the communication network 500 when the WSDL is requested from the relay device by designating the type of Web service.

  Hereinafter, the operation of the service providing apparatus may be described as the operation of the Web service provider 300. In addition, the operations of the service processing execution unit and the provider data communication unit may be described as operations of the Web service implementation 310 and the SOAP processing module 330, respectively.

  The relay server 400 is a program that includes a SOAP processing module 410, a relay service 420, a message conversion module 430, and a WSDL acquisition module 440. This program is executed by a relay device that is a computer. The relay device includes a first relay side data communication unit, a second relay side data communication unit, a relay side data conversion unit, and a file acquisition unit. Although not shown, the relay device includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

  First, the first relay-side data communication unit receives the service ID and the general-purpose request data Yq transmitted from the service request apparatus via the communication network 500 by executing the SOAP processing module 410 by the CPU. . Then, the first relay-side data communication unit selects one service providing apparatus that provides the type of service specified by the service ID by executing the relay service 420 on the CPU. Next, the file acquisition unit acquires the WSDL from the service providing apparatus selected by the first relay side data communication unit. At this time, the file acquisition unit may request the WSDL by specifying the type of the specific Web service by transmitting the service ID received by the first relay-side data communication unit to the service providing apparatus. Next, the relay-side data conversion unit executes the message conversion module 430 on the CPU, so that the first relay-side data communication unit receives the data format defined in WSDL acquired by the file acquisition unit. The data format of the general-purpose request data Yq is converted into a service-specific data format of the type specified by the service ID received by the first relay-side data communication unit to generate the unique request data Zq. Next, the second relay-side data communication unit executes the SOAP processing module 410 by the CPU, thereby obtaining the unique request data Zq generated by the relay-side data conversion unit via the communication network 500. To the service providing apparatus selected by the relay side data communication unit.

  In addition, the second relay side data communication unit receives the unique response data Zs returned from the service providing apparatus that has transmitted the unique request data Zq by executing the SOAP processing module 410. Next, the relay-side data conversion unit receives the second relay-side data communication unit by referring to the data format defined in WSDL acquired by the file acquisition unit by executing the message conversion module 430 on the CPU. The data format of the unique response data Zs is converted into a general-purpose data format to generate general-purpose response data Ys. Next, the first relay-side data communication unit executes the SOAP processing module 410 by the CPU, thereby obtaining the general-purpose response data Ys generated by the relay-side data conversion unit via the communication network 500. Send to.

  The relay apparatus further includes a service ID / URI mapping database 450. The service ID / URI mapping database 450 is a database that stores the correspondence between the service ID and the URI of the Web service provider 300 in a memory. When the first relay-side data communication unit selects a service providing apparatus that provides the type of service specified by the service ID, the first relay side data communication unit assigns the URI corresponding to the service ID to the service ID / URI mapping to the file acquisition unit. A service providing apparatus (one of them, if there are a plurality) that is extracted from the database 450 and specified by the URI may be selected.

  Hereinafter, the operation of the relay apparatus may be described as the operation of the relay server 400. Also, the operations of the first relay side data communication unit, the second relay side data communication unit, the relay side data conversion unit, and the file acquisition unit are respectively performed as a SOAP processing module 410, a relay service 420, a message conversion module 430, and a WSDL acquisition. The operation of the module 440 may be described.

  As described above, in the present embodiment, unlike the system described in Patent Document 1, the object conversion module 220 is placed in the Web service requester 200. The object conversion module 220 converts a data object passed from the client application 210 to the Web service into a request message in a general format that does not depend on a message format defined by WSDL (generic request data Yq). The object conversion module 220 also converts a general-purpose response message (general-purpose response data Ys) returned from the Web service into a data object. Here, the request message and the response message are represented by character strings. In the following, general-purpose request messages and response messages may be referred to as general-purpose messages.

  When calling the service of the Web service provider 300 from the Web service requester 200, the Web service requester 200 sends a general-purpose message (general-purpose request data Yq) to the relay server 400. The message conversion module 430 of the relay server 400 refers to the WSDL message definition acquired from the Web service provider 300 via the WSDL acquisition module 440 while referring to the general message (generic request data Yq). Type request data Zq) and call a Web service. The response message (unique response data Zs) returned by the Web service is converted into a general message (general response data Ys) by the relay server 400 following the above path in reverse, and the object of the Web service requester 200 The data is converted into response data (data object Xs) by the conversion module 220 and returned to the client application.

  FIG. 2 is a diagram illustrating an example of a hardware configuration of a service requesting apparatus that executes a program of the Web service requester 200, a service providing apparatus that executes a program of the Web service provider 300, and a relay apparatus that executes the program of the relay server 400. is there.

  In FIG. 2, a service requesting device, a service providing device, and a relay device are computers, a display device 901 having a CRT (Cathode / Ray / Tube) or LCD (Liquid Crystal Display) display screen, and a keyboard 902 (K / B). , Mouse 903, FDD904 (Flexible / Disk / Drive), CDD905 (Compact / Disc / Drive), printer device 906, and the like, which are connected by cables and signal lines.

  The service requesting device, the service providing device, and the relay device include a CPU 911 that executes a program. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, a display device 901, a keyboard 902, a mouse 903, an FDD904, a CDD905, a printer device 906, and a magnetic disk. It is connected to the device 920 and controls these hardware devices. Instead of the magnetic disk device 920, a storage medium such as an optical disk device or a memory card reader / writer may be used.

  The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of memories. A communication board 915, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, and the like are examples of input devices. The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

  The communication board 915 is connected to a LAN (local area network) or the like. The communication board 915 is not limited to a LAN, but is the Internet, or an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, a WAN (Wide Area Network) such as an ATM (Asynchronous, Transfer, Mode) network, or the like. It does not matter if it is connected to. LAN, the Internet, and WAN are examples of networks.

  The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 stores a program for executing a function described as “˜unit” in the description of the present embodiment. The program is read and executed by the CPU 911. The file group 924 includes data and information described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of this embodiment. Signal values, variable values, and parameters are stored as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in a storage medium such as a disk or a memory. Data, information, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for processing (operation) of the CPU 911 such as calculation / control / output / printing / display. Data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during processing of the CPU 911 such as extraction, search, reference, comparison, calculation, control, output, printing, and display. Is remembered.

  In addition, the arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals, and the data and signals are the memory such as the RAM 914, the flexible disk (FD) of the FDD 904, and the compact of the CDD 905. Recording is performed on a recording medium such as a disk (CD), a magnetic disk of the magnetic disk device 920, another optical disk, a mini disk (MD), or a DVD (Digital Versatile Disc). Data and signals are transmitted by a bus 912, a signal line, a cable, and other transmission media.

  In addition, what is described as “˜unit” in the description of this embodiment may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be realized only by software, or only by hardware such as an element, a device, a board, and wiring, or a combination of software and hardware, and further by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, flexible disk, optical disk, compact disk, minidisk, or DVD. This program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Alternatively, it causes the computer to execute the procedures and methods described in the description of the present embodiment.

  The programming language that describes the client application 210 and the Web service implementation 310 implements an API (Application / Program / Interface) that acquires information on the names and data types of variables defined in the class from an object, a so-called reflection function. It shall be. Here, an example of Java (registered trademark) language will be described. Note that the description language of the client application 210 and that of the Web service implementation 310 may be different as long as the data type is used within a range that can correspond one-to-one.

  As a method for mutually converting a data object of a programming language having a reflection function and a message in a general format, for example, in Java (registered trademark) language, Java. beans. There are standard APIs called XMLEncode and XMLDecode.

FIG. 3 shows an example of conversion between a data object and a message in a general format expressed in XML. The specific format of the message and the conversion procedure are not limited to this, but the message format has the following characteristics.
(A) The data type and value of the object can be expressed.
(B) The name of the structure type field, the data type and value of the object can be represented.
(C) An array of objects can be represented.
(D) It can represent a nested structure, such that one of the structured type fields is another or its own structured type, or an array.

  The operation of the Web service requester 200 is shown in FIG. The client application 210 holds a data object 601 (data object Xq), for example, myBean. myBean has a property configuration that matches the message element defined in the WSDL of the service to be called (corresponding to WSDL 701 in FIG. 5). The client application 210 calls the API of the object conversion module 220 (in this example, the call method) using the service ID for identifying the Web service to be called and myBean as arguments. In the call method, the myBean object is converted into a general-purpose message 602 (generic-type request data Yq) that is a general-purpose request message. Since the message format of the general-purpose message 602 does not depend on the above-described WSDL, even if the WSDL is changed or added, there is no need to change or recreate the object conversion module 220 (corresponding to a stub). The object conversion module 220 creates a SOAP message 603 through the SOAP processing module 230 and sends it to the relay server 400.

  A message conversion procedure in the relay server 400 is shown in FIG. The relay service 420 receives the service ID and the request message (general-purpose request data Yq) from the Web service requester 200 through the SOAP processing module 410 and passes them to the message conversion module 430. The message conversion module 430 passes the service ID to the WSDL acquisition module 440. The WSDL acquisition module obtains the URI of the Web service provider 300 corresponding to the service ID from the service ID / URI mapping database 450, acquires the WSDL 701 from the Web service provider 300, and passes it to the message conversion module 430. The message conversion module 430 sequentially converts the general-purpose message 602 into a service-specific message 604 (unique request data Zq) while referring to the message definition of the WSDL 701, and transmits it to the Web service provider 300.

  When the interface is different and it is necessary to call a Web service of the Web service provider 300 having another WSDL, data is added to the service ID / URI mapping database 450 of the relay server 400 and the client application 210 of the Web service requester 200 is added. Then, an object of a data type adapted to a new WSDL is created, and the service ID that is an argument when calling the object conversion module 220 and the data object are changed.

  Since the Web service requester 200 can call different services according to service IDs, it is not necessary to regenerate a stub even when a new Web service call is made. There is no interface similarity limitation. Note that Patent Document 1 describes the effect that the client program does not need to be modified even if the interface is changed, but this is limited to the case where there is no change in the function of the client program. For example, in the case where a service of another provider is used in addition to the Web service of the provider used so far, the client program needs to be corrected. In this embodiment, the modification of the client application 210 in such a case is the minimum necessary.

The web service connection method according to the present embodiment described above is as follows.
(A) In the client terminal, converting the value of the data object in the programming language into a request message in a general data format that does not depend on the Web service definition document of the connected Web service;
(B) converting a response message in a general data format into a value of a data object in a programming language at the client terminal;
(C) obtaining a Web service definition document from the Web service providing server in a relay server placed between the client terminal and the Web service providing server in the network;
(D) In the relay server, converting a general request message that does not depend on the Web service definition document of the connection destination Web service into a request message in a format unique to the connection destination Web service;
(E) In the relay server, a step of converting a response message in a format unique to the connected Web service into a general-purpose response message;
It is characterized by providing.

Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.

  In the first embodiment, the Web service provider 300 having a general configuration is used. However, in the present embodiment, not only the Web service requester 200 has the object conversion module 220 but also the Web service provider 300 has the same configuration. It has a configuration with modules. In this case as well, it is possible to eliminate the need for stub regeneration.

  FIG. 6 is a block diagram showing a configuration of a Web service connection system 100 (an example of a service connection system) according to the present embodiment.

  In FIG. 6, the Web service connection system 100 includes a Web service requester 200 and a Web service provider 300, but the relay server 400 is not necessary.

  The Web service requester 200 is a program similar to that of the first embodiment. As in the first embodiment, this program is executed by a service requesting apparatus that is a computer. As in the first embodiment, each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

  First, the application execution unit executes, on the CPU, a client application 210 that inputs a service ID that identifies the type of Web service and an arbitrary data object Xq that is an input parameter for using the Web service. Next, the request-side data conversion unit receives the service ID and the data object Xq from the client application 210 executed by the application execution unit by executing the object conversion module 220 on the CPU. Then, the request side data conversion unit converts the data format of the data object Xq into a general-purpose data format, and generates general-purpose request data Yq. Next, the request side data communication unit executes the SOAP processing module 230, thereby obtaining the service ID received by the request side data conversion unit and the general-purpose request data Yq generated by the request side data conversion unit, The data is directly transmitted to the service providing apparatus via the communication network 500.

  In addition, the request side data communication unit receives the general-purpose response data Ys transmitted from the service providing apparatus via the communication network 500 by executing the SOAP processing module 230. Next, the request-side data conversion unit converts the data format of the general-purpose response data Ys received by the request-side data communication unit by executing the object conversion module 220 on the CPU, and generates a data object Xs. Then, the request side data conversion unit returns the data object Xs to the client application 210 executed by the application execution unit. Finally, the application execution unit displays the result of using, for example, a Web service on a screen or the like using the data object Xs returned by the request side data conversion unit by executing the client application 210 by the CPU.

  The web service provider 300 is a program that includes a web service implementation 310, an object conversion module 320, and a SOAP processing module 330. This program is executed by a service providing apparatus that is a computer. The service providing apparatus includes a service processing execution unit, a providing side data conversion unit, and a providing side data communication unit. Although not shown, the service providing apparatus includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service providing apparatus operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

  First, the providing side data communication unit receives the service ID and the general-purpose request data Yq transmitted from the service requesting device via the communication network 500 by executing the SOAP processing module 330. Next, the providing side data conversion unit executes the object conversion module 320 by the CPU, thereby converting the data format of the general-purpose request data Yq received by the providing side data communication unit to generate the data object Xq. Next, the service process execution unit is identified by the service ID received by the providing side data communication unit using the data object Xq generated by the providing side data conversion unit by executing the Web service implementation 310 by the CPU. The processing related to the type of service is executed by the CPU, and a new data object Xs is returned as the execution result. Next, the providing-side data conversion unit converts the data format of the data object Xs returned by the service processing execution unit into a general-purpose data format by executing the object conversion module 320 with the CPU, and converts the general-purpose response data Ys. Is generated. Finally, the providing-side data communication unit transmits the general-purpose response data Ys generated by the providing-side data conversion unit to the service requesting device via the communication network 500 by executing the SOAP processing module 330.

  As described above, in the present embodiment, the object conversion module 320 on the Web service provider 300 side sends a request message in the general format (generic request data Yq) to a data object in the programming language of the Web service implementation 310 ( Data object Xq). Also, the data object (data object Xs) returned by the Web service implementation 310 is converted into a general-purpose response message (general-purpose response data Ys).

  When calling the service of the Web service provider 300 from the Web service requester 200, the Web service requester 200 sends a general-purpose message directly to the Web service provider 300. Specifically, first, the client application 210 provides the object conversion module 220 with a data object (data object Xq) to be passed to the Web service as an argument of the Web service call API provided by the object conversion module 220. The object conversion module 220 converts the data object into a general-purpose request message (general-purpose request data Yq) and passes it to the SOAP processing module 230. Here, it is assumed that the SOAP processing module 230 is previously given a URI (stored in the memory) as an identifier representing the Web service provider 300 of the connection destination. The SOAP processing module 230 transmits a request message to the SOAP processing module 330 of the connected Web service provider 300 indicated by the URI using SOAP as a communication protocol.

  The SOAP processing module 330 passes the received request message to the object conversion module 320. The object conversion module 320 converts the request message into a data object (data object Xq) in a programming language describing the Web service implementation 310 and passes it to the Web service implementation 310. The Web service implementation 310 performs information processing provided by the service, and returns the resulting data object (data object Xs) to the object conversion module 320. The resulting data object may be the same as that converted from the request message, or may be generated separately by the processing of the Web service implementation 310. The data type may be different from that converted from the request message. The object conversion module 320 converts the data object into a general-purpose response message (general-purpose response data Ys) and passes it to the SOAP processing module 330. The SOAP processing module 330 returns a response message to the SOAP processing module 230 of the requesting Web service requester 200 using SOAP as a communication protocol.

  The SOAP processing module 230 passes the response message to the object conversion module 220. The object conversion module 220 converts the response message into a data object (data object Xs).

  According to the present embodiment, the service interface prepared by the Web service provider 300 receives a general-purpose request message as a character string and returns a general-purpose response message as a character string. When creating a Web service requester 200 that uses another Web service, if the Web service provider 300 according to the present embodiment is used, a data object to be passed to the object conversion module 220 is generated without generating a new stub. It is possible to connect to another web service simply by changing the connection destination URI set in the SOAP processing module 230 with the data type expected by the web service implementation 310.

The web service connection method according to the present embodiment described above is as follows.
(A) In the client terminal, converting the value of the data object in the programming language into a request message in a general data format that does not depend on the Web service definition document of the connected Web service;
(B) converting a response message in a general data format into a value of a data object in a programming language at the client terminal;
(C) a process of converting a request message in a general data format into a value of a data object in a programming language in a Web service providing server;
(D) a step of converting a data object in a programming language into a response message in a general-purpose data format in a Web service providing server;
It is characterized by providing.

  As mentioned above, although embodiment of this invention was described, you may implement combining 2 or more embodiment among these. Alternatively, one of these embodiments may be partially implemented. Or you may implement combining two or more embodiment among these partially.

1 is a block diagram illustrating a configuration of a Web service connection system in Embodiment 1. FIG. FIG. 3 is a diagram illustrating an example of a hardware configuration of each device configuring the Web service connection system according to the first embodiment. 4 is a table illustrating an example of conversion between data objects and general-purpose messages in the first embodiment. 6 is a diagram illustrating an operation of a Web service requester according to Embodiment 1. FIG. 6 is a diagram illustrating an operation of a relay server in the first embodiment. FIG. 6 is a block diagram illustrating a configuration of a Web service connection system in Embodiment 2. FIG.

Explanation of symbols

  100 Web service connection system, 200 Web service requester, 210 Client application, 220 Object conversion module, 230 SOAP processing module, 300 Web service provider, 310 Web service implementation, 320 Object conversion module, 330 SOAP processing module, 340 WSDL storage unit, 400 relay server, 410 SOAP processing module, 420 relay service, 430 message conversion module, 440 WSDL acquisition module, 450 service ID / URI mapping database, 500 communication network, 601 data object, 602 general-purpose message, 603 SOAP message, 604 service specific Messages, 701 WSDL, 01 display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 921 operating system, 922 window system, 923 Program group, 924 file group.

Claims (5)

  1. A communication network in which multiple service providing devices that provide a service by returning a response data of a specific type having a specific data format to a specific type of request data having a specific data format for each service type is connected. In the service connection system used,
    An application execution unit that executes a client application that uses the service by a CPU (Central Processing Unit);
    Accepts the input of a service ID (identifier) that identifies the type of service and an arbitrary data object from the client application executed by the application execution unit, converts the data format of the data object to a general data format, and requests a general type A requesting data converter that generates data; and
    The service request device includes a service ID that is received by the request side data conversion unit and a request side data communication unit that transmits general-purpose request data generated by the request side data conversion unit.
    A first relay-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
    The data format of the general-purpose request data received by the first relay-side data communication unit is converted into a service-specific data format of the type specified by the service ID received by the first relay-side data communication unit. A relay-side data converter that generates request data of a type;
    Via the communication network, the unique request data generated by the relay-side data conversion unit is transmitted to the service providing apparatus that provides the type of service specified by the service ID received by the first relay-side data communication unit. And a relay device comprising a second relay-side data communication unit that receives unique response data returned from the service providing device,
    The relay-side data conversion unit converts the data format of the unique response data received by the second relay-side data communication unit into a general-purpose data format, and generates general-purpose response data.
    The first relay-side data communication unit transmits the general-purpose response data generated by the relay-side data conversion unit to the service requesting device,
    The request side data communication unit receives general-purpose response data transmitted from the relay device,
    The request side data conversion unit converts the data format of the general-purpose response data received by the request side data communication unit to generate a data object, and returns the data object to the client application executed by the application execution unit. Service connection system.
  2. Each service providing device holds a service definition file that defines a unique data format for each type of service to be provided.
    The relay device further includes:
    A file acquisition unit that acquires a service definition file from a service providing apparatus that provides a type of service specified by the service ID received by the first relay-side data communication unit;
    The relay-side data conversion unit refers to the data format defined in the service definition file acquired by the file acquisition unit, converts the data format between general-purpose request data and unique-type request data, and The service connection system according to claim 1, wherein the data format is converted between the response data of the type and the response data of the general-purpose type.
  3. In the service connection system, instead of the relay device,
    A providing-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
    A provider-side data converter that generates a data object by converting the data format of the general-purpose request data received by the provider-side data communication unit;
    Using the data object generated by the providing-side data conversion unit, the CPU executes processing related to the type of service specified by the service ID received by the providing-side data communication unit, and returns a new data object as the execution result. A service providing device comprising a service processing execution unit;
    The provider side data conversion unit converts the data format of the data object returned by the service process execution unit to a general-purpose data format to generate general-purpose response data,
    The providing side data communication unit transmits the general-purpose response data generated by the providing side data conversion unit to the service requesting device,
    2. The service connection system according to claim 1, wherein the request side data communication unit receives general-purpose response data transmitted from the service providing apparatus.
  4. Each service providing apparatus is a computer that executes a program of a Web service provider that provides a Web service.
    4. The service connection system according to claim 1, wherein the service requesting device is a computer that executes a Web service requester program that requests a Web service.
  5. Uses a communication network in which multiple service providing devices that provide services by sending back response data of a specific type having a specific data format for each type of service are returned. In the service connection method to
    A first step in which a service requesting device executes a client application using a service by a CPU (Central Processing Unit);
    The service request device accepts an input of a service ID (identifier) for identifying the type of service and an arbitrary data object from the client application executed in the first step, and converts the data format of the data object into a general-purpose data format A second step of generating general-purpose request data,
    A third step in which the service requesting device transmits the service ID input in the second step and the general-purpose request data generated in the second step;
    A fourth step in which the relay device receives the service ID and general-purpose request data transmitted from the service requesting device;
    The relay device converts the data format of the general-purpose request data received in the fourth step into a service-specific data format of the type specified by the service ID received in the fourth step, and converts the unique request data A fifth step of generating,
    The relay device transmits the unique type request data generated in the fifth step to the service providing device that provides the type of service specified by the service ID received in the fourth step via the communication network, A sixth step of receiving unique response data returned from the service providing apparatus;
    A seventh step in which the relay device converts the data format of the unique response data received in the sixth step into a general-purpose data format to generate general-purpose response data;
    An eighth step in which the relay device transmits the general-purpose response data generated in the seventh step to the service request device;
    A ninth step in which the service requesting device receives general-purpose response data transmitted from the relay device;
    The service request device includes a tenth step of converting the data format of the general-purpose response data received in the ninth step to generate a data object, and returning the data object to the client application executed in the first step. A service connection method characterized by the above.
JP2008157869A 2008-06-17 2008-06-17 Service connection system and service connection method Expired - Fee Related JP5188284B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008157869A JP5188284B2 (en) 2008-06-17 2008-06-17 Service connection system and service connection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008157869A JP5188284B2 (en) 2008-06-17 2008-06-17 Service connection system and service connection method

Publications (2)

Publication Number Publication Date
JP2009301480A true JP2009301480A (en) 2009-12-24
JP5188284B2 JP5188284B2 (en) 2013-04-24

Family

ID=41548281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008157869A Expired - Fee Related JP5188284B2 (en) 2008-06-17 2008-06-17 Service connection system and service connection method

Country Status (1)

Country Link
JP (1) JP5188284B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248574A (en) * 2010-05-26 2011-12-08 Mitsubishi Electric Building Techno Service Co Ltd Data processing device, data processing method, and program
JP2013097746A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Client-side web service interface, software developing kit including the same, and software developing method using developing kit
JP2014505307A (en) * 2011-01-29 2014-02-27 エスデーエル トリディオン デヴェロプメント ラブ ベー ヴェ System, method and medium for web content management
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US9596188B2 (en) 2001-01-18 2017-03-14 Sdl Inc. Globalization management system and method therefor
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US10521492B2 (en) 2013-11-28 2019-12-31 Sdl Netherlands B.V. Systems and methods that utilize contextual vocabularies and customer segmentation to deliver web content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030360A (en) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Web service providing system and web service providing support system
JP2006127222A (en) * 2004-10-29 2006-05-18 Japan Telecom Co Ltd On-demand service provision system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030360A (en) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Web service providing system and web service providing support system
JP2006127222A (en) * 2004-10-29 2006-05-18 Japan Telecom Co Ltd On-demand service provision system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781050B2 (en) 2001-01-18 2017-10-03 Sdl Inc. Globalization management system and method therefor
US9954794B2 (en) 2001-01-18 2018-04-24 Sdl Inc. Globalization management system and method therefor
US9596188B2 (en) 2001-01-18 2017-03-14 Sdl Inc. Globalization management system and method therefor
JP2011248574A (en) * 2010-05-26 2011-12-08 Mitsubishi Electric Building Techno Service Co Ltd Data processing device, data processing method, and program
US10061749B2 (en) 2011-01-29 2018-08-28 Sdl Netherlands B.V. Systems and methods for contextual vocabularies and customer segmentation
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
JP2014505307A (en) * 2011-01-29 2014-02-27 エスデーエル トリディオン デヴェロプメント ラブ ベー ヴェ System, method and medium for web content management
JP2013097746A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Client-side web service interface, software developing kit including the same, and software developing method using developing kit
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US10521492B2 (en) 2013-11-28 2019-12-31 Sdl Netherlands B.V. Systems and methods that utilize contextual vocabularies and customer segmentation to deliver web content

Also Published As

Publication number Publication date
JP5188284B2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
US8990262B2 (en) managing data center using web services
US8589388B2 (en) Method, system, and software for transmission of information
US7716302B2 (en) Method of accessing and sharing a digital document in P2P communication network
US7765248B2 (en) Service providing method, service provider apparatus, information processing method and apparatus and computer-readable storage medium
US7877459B2 (en) Method and system for modifying requests for remote resources
US7620934B2 (en) System and method for a Web service definition
US7287093B2 (en) E-business mobility platform
KR100827280B1 (en) Method and apparatus for relaying session information from a portal server
US20030225829A1 (en) System and method for platform and language-independent development and delivery of page-based content
RU2471227C2 (en) Peer-to-peer synchronisation assisted with service unit
US20050198351A1 (en) Content-based routing
US20080275944A1 (en) Transaction-initiated batch processing
US8321503B2 (en) Context-specific network resource addressing model for distributed services
US8386924B2 (en) Apparatus, method and system for transforming data
US7136896B1 (en) Dynamic toolbar for markup language document
JP2004318842A (en) Webpage generation device, embedding device, method for control of webpage generation, webpage generation program, and recording medium
US20050055398A1 (en) Protocol agnostic request response pattern
KR100745480B1 (en) Method and System for Ranking Services in a Web Services Architecture
US20010009016A1 (en) Computer-based presentation manager and method for individual user-device data representation
US5987513A (en) Network management using browser-based technology
JP5160553B2 (en) Aggregation of portlets used in the client environment without depending on server resources
US7155478B2 (en) Selectively handling data processing requests in a computer communications network
US20060026552A1 (en) Systems and methods for exposing web services
EP1775657B1 (en) Method and apparatus for providing home network device service to an external device through WEB service
US7571447B2 (en) Loose coupling of web services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees