IP Library Granted Patent US 8,516,554
Granted Patent B2
US 8,516,554 · App. 13/666,344 · Granted Aug 20, 2013

Dynamic web services system and method

Inventors: Vishal Chalana (Panchkula, IN); Amit Sharma (Chandigarh, IN); Piyush Nagar (Chandigarh, IN); Vishal Sharma (Meerut, IN); Vikram Chalana (Bothell, WA)
Assignee: Winshuttle, LLC
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,516,554
App. No.
13/666,344
Granted
Aug 20, 2013
Kind
B2
Abstract

A Dynamic Web Service server may facilitate custom Enterprise Application interface development with little or no developer input by dynamically creating a web service for performing a particular transaction according to a transaction map. An Enterprise Application client device may create a transaction map by “recording” a transaction between an Enterprise Application client and an Enterprise Application server and mapping transaction fields to a custom interface generated to collect data for re-performing the recorded transaction. The Enterprise Application client device may call the dynamic web service, and the Dynamic Web Service server may then perform the recorded transaction using input data collected in the custom interface.

Claims (78)

1. A dynamic-web-services server-implemented method for publishing a dynamic web service, the method comprising:

receiving, by the dynamic-web-services server from an Enterprise Application client, a recorded transaction map describing a recorded transaction between said Enterprise Application client and an Enterprise Application server, said recorded transaction map including metadata corresponding to a plurality of transaction fields, wherein said Enterprise Application client comprises an Enterprise resource planning (“ERP”) client, and wherein said Enterprise Application server comprises an ERP server;

automatically generating, by the dynamic-web-services server, a service description framework for a new dynamic web service corresponding to said recorded transaction, including for each of said plurality of transaction fields:

defining an input corresponding to the current transaction field; and

storing said defined input in said service description framework;

determining, by the dynamic-web-services server, a unique service identifier for invoking said new dynamic web service;

persisting, by the dynamic-web-services server, said unique service identifier, said service description framework, and said recorded transaction map in a data store;

providing, by the dynamic-web-services server, said unique service identifier to said Enterprise Application client;

receiving, by the dynamic-web-services server, a first request from said Enterprise Application client to invoke said new dynamic web service according to a package of input data, said first request indicating said unique service identifier, said package of input data being received in a first format according to a first calling mechanism;

retrieving, by the dynamic-web-services server, said recorded transaction map from said data store according to said unique service identifier;

according to recorded transaction map, determining, by the dynamic-web-services server, at least one Enterprise Application API call for performing said recorded transaction, said at least one Enterprise Application API call requiring a second calling mechanism, different from said first calling mechanism;

repackaging, by the dynamic-web-services server, said package of input data in said first format into repackaged input data in a second format that complies with said second calling mechanism; and

using said at least one Enterprise Application API call, invoking, by the dynamic-web-services server, a remote Enterprise Application server to perform said recorded transaction according to said second calling mechanism, said at least one Enterprise Application API call, and said repackaged input data.

2. The method of claim 1 , further comprising:

receiving a second request from said Enterprise Application client for said service description framework, said second request indicating said unique service identifier;

retrieving said service description framework from said data store according to said unique service identifier; and

sending said service description framework to said Enterprise Application client.

3. The method of claim 1 , further comprising:

receiving from said Enterprise Application server process output data corresponding to the invocation of said Enterprise Application server;

packaging said process output data according to said first calling mechanism into packaged process output data; and

providing said packaged process output data to said Enterprise Application client.

4. The method of claim 1 , wherein performing said recorded transaction according to said package of input data comprises invoking said at least one Enterprise Application API call according to said second calling mechanism and said repackaged input data.

5. The method of claim 1 , wherein:

said first calling mechanism comprises Simple Object Access Protocol (“SOAP”);

said first format comprises Extensible Markup Language (“XML”); and

said second calling mechanism comprises a remote function call (“RFC”).

6. A dynamic-web-services-serving apparatus comprising a processor and a memory having stored therein instructions that when executed by the processor, configure the apparatus to perform a method for publishing a dynamic web service, the method comprising:

receiving, from an Enterprise Application client, a recorded transaction map describing a recorded transaction between said Enterprise Application client and an Enterprise Application server, said recorded transaction map including metadata corresponding to a plurality of transaction fields, wherein said Enterprise Application client comprises an Enterprise resource planning (“ERP”) client, and wherein said Enterprise Application server comprises an ERP server;

automatically generating a service description framework for a new dynamic web service corresponding to said recorded transaction, including for each of said plurality of transaction fields:

defining an input corresponding to the current transaction field; and

storing said defined input in said service description framework;

determining a unique service identifier for invoking said new dynamic web service;

persisting said unique service identifier, said service description framework, and said recorded transaction map in a data store;

providing said unique service identifier to said Enterprise Application client;

receiving a first request from said Enterprise Application client to invoke said new dynamic web service according to a package of input data, said first request indicating said unique service identifier, said package of input data being received in a first format according to a first calling mechanism;

retrieving said recorded transaction map from said data store according to said unique service identifier;

according to recorded transaction map, determining at least one Enterprise Application API call for performing said recorded transaction, said at least one Enterprise Application API call requiring said second calling mechanism, different from said first calling mechanism;

repackaging said package of input data in said first format into repackaged input data in a second format that complies with said second calling mechanism; and

using said at least one Enterprise Application API call, invoking a remote Enterprise Application server to perform said recorded transaction according to said second calling mechanism, said at least one Enterprise Application API call, and said repackaged input data.

7. The apparatus of claim 6 , the method further comprising:

receiving said second request from said Enterprise Application client for said service description framework, said second request indicating said unique service identifier;

retrieving said service description framework from said data store according to said unique service identifier; and

sending said service description framework to said Enterprise Application client.

8. The apparatus of claim 6 , the method further comprising:

receiving from said Enterprise Application server process output data corresponding to the invocation of said Enterprise Application server;

packaging said process output data according to said first calling mechanism into packaged process output data; and

providing said packaged process output data to said Enterprise Application client.

9. The apparatus of claim 6 , wherein performing said recorded transaction according to said package of input data comprises invoking said at least one Enterprise Application API call according to said second calling mechanism and said repackaged input data.

10. The apparatus of claim 6 , wherein:

said first calling mechanism comprises Simple Object Access Protocol (“SOAP”);

said first format comprises Extensible Markup Language (“XML”); and

said second calling mechanism comprises a remote function call (“RFC”).

11. A non-transient computer-readable storage medium having stored therein instructions that when executed by a processor, configure the processor to perform a method for publishing a dynamic web service, the method comprising:

receiving, from an Enterprise Application client, a recorded transaction map describing a recorded transaction between said Enterprise Application client and an Enterprise Application server, said recorded transaction map including metadata corresponding to a plurality of transaction fields, wherein said Enterprise Application client comprises an Enterprise resource planning (“ERP”) client, and wherein said Enterprise Application server comprises an ERP server;

automatically generating a service description framework for a new dynamic web service corresponding to said recorded transaction, including for each of said plurality of transaction fields:

defining an input corresponding to the current transaction field; and

storing said defined input in said service description framework;

determining a unique service identifier for invoking said new dynamic web service;

persisting said unique service identifier, said service description framework, and said recorded transaction map in a data store;

providing said unique service identifier to said Enterprise Application client;

receiving a first request from said Enterprise Application client to invoke said new dynamic web service according to a package of input data, said first request indicating said unique service identifier, said package of input data being received in a first format according to a first calling mechanism;

retrieving said recorded transaction map from said data store according to said unique service identifier;

according to recorded transaction map, determining at least one Enterprise Application API call for performing said recorded transaction, said at least one Enterprise Application API call requiring said second calling mechanism, different from said first calling mechanism;

repackaging said package of input data in said first format into repackaged input data in a second format that complies with said second calling mechanism; and

using said at least one Enterprise Application API call, invoking a remote Enterprise Application server to perform said recorded transaction according to said second calling mechanism, said at least one Enterprise Application API call, and said repackaged input data.

12. The storage medium of claim 11 , the method further comprising:

receiving said second request from said Enterprise Application client for said service description framework, said second request indicating said unique service identifier;

retrieving said service description framework from said data store according to said unique service identifier; and

sending said service description framework to said Enterprise Application client.

13. The storage medium of claim 11 , the method further comprising:

receiving from said Enterprise Application server process output data corresponding to the invocation of said Enterprise Application server;

packaging said process output data according to said first calling mechanism into packaged process output data; and

providing said packaged process output data to said Enterprise Application client.

14. The storage medium of claim 11 , wherein performing said recorded transaction according to said package of input data comprises invoking said at least one Enterprise Application API call according to said second calling mechanism and said repackaged input data.

15. The storage medium of claim 11 , wherein:

said first calling mechanism comprises Simple Object Access Protocol (“SOAP”);

said first format comprises Extensible Markup Language (“XML”); and

said second calling mechanism comprises a remote function call (“RFC”).

Assignments (9)
MERGER Recorded May 13, 2025
From: WINSHUTTLE, LLC
To: PRECISELY SOFTWARE INCORPORATED
Reel/Frame 071094/0984 →
RELEASE OF SECURITY INTEREST Recorded Aug 17, 2022
From: WINSHUTTLE, LLC
To: WINSHUTTLE, LLC
Reel/Frame 060829/0770 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 50009/0537 Recorded Jul 14, 2021
From: OBSIDIAN AGENCY SERVICES, INC.
To: WINSHUTTLE, LLC
Reel/Frame 057106/0836 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 13, 2021
From: WINSHUTTLE, LLC; ENTERWORKS ACQUISITION, INC.
To: BARLCAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 056847/0075 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 13, 2021
From: WINSHUTTLE, LLC; ENTERWORKS ACQUISITION, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056846/0892 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Aug 12, 2019
From: PNC BANK, NATIONAL ASSOCIATION
To: WINSHUTTLE, LLC
Reel/Frame 050028/0566 →
SECURITY INTEREST Recorded Aug 9, 2019
From: WINSHUTTLE, LLC
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 050009/0537 →
SECURITY INTEREST Recorded May 2, 2018
From: WINSHUTTLE, LLC
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 045694/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2012
From: CHALANA, VISHAL; SHARMA, AMIT; NAGAR, PIYUSH; SHARMA, VISHAL; CHALANA, VIKRAM
To: WINSHUTTLE, LLC
Reel/Frame 029365/0212 →
Continuity (3)
Continuation 13016704 · Jan 28, 2011
Provisional Application 61334099 · May 12, 2010
Related Publication 20130060845A1 · Mar 7, 2013