# US 2014/0195597 A1 · Web services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195597 A1
- Document ID: US20140195597A1
- Status: Published application
- Kind: A1
- Application number: 14/092,494
- Filed: 2013-11-27
- Published: 2014-07-10
- Earliest claimed: 2013-01-10
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: EVGENY BESKROVNY; OMER TRIPP; EMMANUEL WURTH
- Web page: https://patentgrep.com/patent/US20140195597A1

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/562: Brokering proxy services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method, system, and/or computer program product invokes a web service in a software application. A software application comprises a machine readable description of a functionality to be supported by a web service to be invoked, and a machine readable description of an execution instruction for the web service to be invoked. One or more processors determine/identify a web service that supports the functionality to be supported and the execution instruction for the web service to be invoked.

## Claims

### Claim 1

A method of invoking a web service in a software application, the method comprising:
providing a software application comprising a machine readable description of a functionality to be supported by a web service to be invoked and a machine readable description of an execution instruction for the web service to be invoked; and
determining, by one or more processors, a web service that supports the functionality to be supported and the execution instruction for the web service to be invoked.

### Claim 2 (depends on 1)

The method of claim 1, wherein said determining the web service comprises:
analyzing, by one or more processors, the machine readable description of the functionality to be supported so as to determine one or more search parameters; and
using the determined one or more search parameters in conjunction with a web service search application.

### Claim 3 (depends on 2)

The method of claim 2, wherein said analyzing the machine readable description of the functionality to be supported comprises employing heuristic reasoning to determine one or more alternative descriptions of the functionality to be supported.

### Claim 4 (depends on 2)

The method of claim 2, wherein the web service search application comprises a web service.

### Claim 5 (depends on 1)

The method of claim 1, wherein said determining the web service is undertaken in response to executing the software application.

### Claim 6 (depends on 1)

The method claim 1, where said determining the web service comprises:
in response to a plurality of web services being identified as supporting the functionality to be supported and the execution instruction, selecting, by one or more processors, one of the plurality of identified web services in accordance with predetermined selection criteria.

### Claim 7 (depends on 6)

The method of claim 6, wherein the predetermined selection criteria comprise at least one of:
an age of an identified web service;
an software version of an identified web service;
a cost of an identified web service;
a domain of a identified web service;
processing requirements of an identified web service; and
historical use of an identified web service.

### Claim 8 (depends on 6)

The method of claim 6, wherein the predetermined selection criteria comprises all of:
an age of an identified web service;
an software version of an identified web service;
a cost of an identified web service;
a domain of a identified web service;
processing requirements of an identified web service; and
historical use of an identified web service.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating, by one or more processors, program code for instructing the execution of the identified web service, and
editing the software application to include the generated program code.

### Claim 10 (depends on 1)

The method of claim 1, wherein the execution instruction comprises one or more parameter values to be used by the web service, and wherein the method further comprises:
executing, by one or more processors, the identified web service in accordance with the execution instruction.

### Claim 11

A computer program product for invoking a web service in a software application, the computer program product comprising a computer readable medium having program code embodied therewith, the program code readable and executable by a processor to perform a method comprising:
providing a software application comprising a machine readable description of a functionality to be supported by a web service to be invoked and a machine readable description of an execution instruction for the web service to be invoked; and
determining a web service that supports the functionality to be supported and the execution instruction for the web service to be invoked.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein said determining the web service comprises:
analyzing the machine readable description of the functionality to be supported so as to determine one or more search parameters; and
using the determined one or more search parameters in conjunction with a web service search application.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein said analyzing the machine readable description of the functionality to be supported comprises employing heuristic reasoning to determine one or more alternative descriptions of the functionality to be supported.

### Claim 14 (depends on 12)

The computer program product of claim 12, wherein the web service search application comprises a web service.

### Claim 15 (depends on 11)

The computer program product of claim 11, wherein said determining the web service is undertaken in response to executing the software application.

### Claim 16

A computer system comprising:
a processor, a computer readable memory, and a computer readable storage medium;
first program instructions to provide a software application comprising a machine readable description of a functionality to be supported by a web service to be invoked and a machine readable description of an execution instruction for the web service to be invoked; and
second program instructions to determine a web service that supports the functionality to be supported and the execution instruction for the web service to be invoked; and wherein
said first and second program instructions are stored on said computer readable storage medium for execution by said processor via said computer readable memory.

### Claim 17 (depends on 16)

The computer system of claim 16, further comprising:
third program instructions to analyze the machine readable description of the functionality to be supported so as to determine one or more search parameters; and
fourth program instructions to use the determined one or more search parameters in conjunction with a web service search application; and wherein
said third and fourth program instructions are stored on said computer readable storage medium for execution by said processor via said computer readable memory.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein said third program instructions to analyze the machine readable description of the functionality to be supported employ heuristic reasoning to determine one or more alternative descriptions of the functionality to be supported.

### Claim 19 (depends on 17)

The computer system of claim 17, wherein the web service search application comprises a web service.

### Claim 20 (depends on 16)

The computer system of claim 16, wherein said second program instructions to determine the web service are executed in response to executing the software application.
