IP Library Granted Patent US 8,473,595
Granted Patent B2
US 8,473,595 · App. 12/650,107 · Granted Jun 25, 2013

Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,473,595
App. No.
12/650,107
Granted
Jun 25, 2013
Kind
B2
Abstract

A method and system to convert an existing web service from a first web services implantation type to a second web services implementation type. Example implementation types include SOAP and Representational State Transfer (REST). This conversion is achieved by recognizing and classifying available information from each of the distinct implementation types. After proper recognition and classification as disclosed herein, a deterministic process may be utilized to assist in converting or translating the exposed interface; thereby assisting in developing an interface, based on a different interface type than the one already exposed, may be provided.

Claims (55)

1. A method of providing a web services interface, the method comprising:

obtaining information about an exposed Representational State Transfer (RESTful) web services interface on a first web server computer;

parsing, with a processing device configured to parse web services interface information, the RESTful web services interface information to classify an idiom of the RESTful web services interface as one of plurality of RESTful web services idioms, wherein each RESTful web services idiom, if classification is possible, is classified as corresponding with a respective one of a true REST syntax, a REST/RPC hybrid syntax and a traditional REST syntax;

if classification is possible, automatically generating a Web Application Description Language (WADL) description of the RESTful web services interface;

if classification is not possible, creating a hand-coded WADL description of the RESTful web services interface;

applying an eXtensible Stylesheet Language Transformation (XSLT) to the automatically-generated WADL description or the hand-coded WADL description to produce a Web Services Definition Language (WSDL) description of the RESTful web services interface; and

exposing a Simple Object Access Protocol (SOAP)-based web services interface on a second web server computer using the WSDL description.

2. The method of claim 1 , wherein the first web server computer and the second web server computer are the same computer.

3. The method of claim 1 , wherein parsing the RESTful web services interface further comprises parsing to identify an operation and any associated parameters of a web services request.

4. A method of providing a web services interface, the method comprising:

obtaining information about an exposed Representational State Transfer (RESTful) web services interface on a first web server computer;

parsing interface information for the RESTful web services interface;

determining whether the interface information for the RESTful web services interface is classifiable;

if the interface information is classifiable:

classifying, based on the parsed interface information, an idiom of the RESTful web services interface as one of a plurality of RESTful web services idioms; and

automatically generating a Web Application Description Language (WADL) description of the RESTful web services interface;

if the interface information is not classifiable, creating a hand-coded WADL description of the RESTful web services interface;

applying an eXtensible Stylesheet Language Transformation (XSLT) to the automatically-generated WADL description or the hand-coded WADL description to produce a Web Services Definition Language (WSDL) description of the RESTful web services interface;

exposing a Simple Object Access Protocol (SOAP)-based web services interface on a second web server computer using the WSDL description;

obtaining information about an exposed SOAP web services interface on a third web server computer;

applying, with a processing device configured to transform WSDL files, an XSLT transformation to a WSDL description of the exposed SOAP interface to produce a WADL description of the SOAP web services interface;

generating a second RESTful web services interface using the WADL description; and

exposing the second RESTful web services interface on a third web server computer.

5. The method of claim 4 , wherein the second web server computer and the third web server computer are a same web server computer.

6. The method of claim 4 , wherein parsing the SOAP web services interface further comprises parsing to identify an operation and any associated parameters of a web services request.

7. The method of claim 4 , wherein classifying the idiom of the RESTful web services interface includes classifying the idiom as corresponding with a respective one of a true REST syntax, a REST/RPC hybrid syntax and a traditional syntax.

8. A non-transitory computer-readable medium comprising computer readable instructions stored thereon to cause a processing device to perform the method of providing a web services interface, the method comprising:

obtaining information about an exposed Representational State Transfer (RESTful) web services interface on a first web server computer;

parsing, with a processing device configured to parse web services interface information, the RESTful web services interface information to classify an idiom of the RESTful web services interface as one of plurality of RESTful web services idioms, wherein each RESTful web services idiom, if classification is possible, is classified as corresponding with a respective one of a true REST syntax, a REST/RPC hybrid syntax and a traditional REST syntax;

if classification is possible, automatically generating a Web Application Description Language (WADL) description of the RESTful web services interface;

if classification is not possible, creating a hand-coded WADL description of the RESTful web services interface;

applying an eXtensible Stylesheet Language Transformation (XSLT) to the automatically-generated WADL description or the hand-coded WADL description to produce a Web Services Definition Language (WSDL) description of the RESTful web services interface; and

exposing a Simple Object Access Protocol (SOAP)-based web services interface on a second web server computer using the WSDL description.

9. A non-transitory computer readable medium comprising computer readable instructions stored thereon to cause a processing device to perform the method of providing a web services interface, the method comprising:

obtaining information about an exposed Representational State Transfer (RESTful) web services interface on a first web server computer;

parsing interface information for the RESTful web services interface;

determining whether the interface information for the RESTful web services interface is classifiable;

if the interface information is classifiable:

classifying, based on the parsed interface information, an idiom of the RESTful web services interface as one of a plurality of RESTful web services idioms; and

automatically generating a Web Application Description Language (WADL) description of the RESTful web services interface;

if the interface information is not classifiable, creating a hand-coded WADL description of the RESTful web services interface;

applying an eXtensible Stylesheet Language Transformation (XSLT) to the automatically-generated WADL description or the hand-coded WADL description to produce a Web Services Definition Language (WSDL) description of the RESTful web services interface;

exposing a Simple Object Access Protocol (SOAP)-based web services interface on a second web server computer using the WSDL description;

obtaining information about an exposed SOAP web services interface on a third web server computer;

applying, with a processing device configured to transform WSDL files, an XSLT transformation to a WSDL description of the exposed SOAP interface to produce a WADL description of the SOAP web services interface;

generating a second RESTful web services interface using the WADL description; and

exposing the second RESTful web services interface on a third web server computer.

10. An apparatus comprising:

a processor, the processor being configured to:

if classification of a Representational State Transfer (RESTful) web services interface is possible, classify an idiom of a RESTful web services interface for a first computer as one of a plurality of RESTful web services idioms, wherein each classifiable RESTful web services interface idiom is classified as corresponding with a respective one of a true REST syntax, a REST/RPC hybrid syntax and a traditional REST syntax;

if classification of the RESTful web services interface is not possible, create a hand-coded Web Application Description Language (WADL) description of the RESTful web services interface;

obtain information about a Simple Object Access Protocol (SOAP) web services interface for a second computer;

convert, via first eXtensible Stylesheet Language Transformation (XSLT), RESTful web services requests/responses of the classified idiom or the hand-coded WADL description received from the first computer to SOAP request/responses to be transmitted to the second computer; and

convert, via a second XSLT, SOAP requests/responses received from the second computer to RESTful web services requests/responses to be transmitted to the first computer, the conversion of the SOAP requests/responses being based on the classified idiom or the hand-coded WADL description.

11. The apparatus of claim 10 , wherein the first computer and the second computer are a same computer.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →