IP Library Patent Application 13725680
Patent Application
App. No. 13/725,680

LOAD-BALANCING DYNAMIC WEB SERVICES SYSTEM AND METHOD

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 None
App. No.
13/725,680
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 select a worker to perform the recorded transaction using input data collected in the custom interface.

Claims (72)

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

registering, by the manager computer, a plurality of worker computers, each worker computer being capable to process recorded transactions of at least one transaction type of a plurality of transaction types;

receiving, by the manager computer from an enterprise-application client, a recorded transaction map describing a recorded transaction between said enterprise-application client and a remote enterprise-application server, said recorded transaction map including field metadata corresponding to a plurality of transaction fields and type metadata corresponding to a first transaction type of said plurality of transaction types;

automatically generating, by the manager computer, a service description framework for a new dynamic web service corresponding to said recorded transaction;

receiving, by the manager computer, an invocation request from said enterprise-application client to invoke said new dynamic web service according to a package of input data;

selecting, by the manager computer based at least in part on said first transaction type, a worker-computer of said plurality of worker computers;

obtaining, by the manager computer, a unique job identifier corresponding to said invocation request;

providing, by the manager computer to said enterprise-application client, said unique job identifier; and

providing said recorded transaction map, said unique job identifier, and said package of input data to said selected worker-computer to invoke said remote enterprise-application server to perform said recorded transaction according to said package of input data.

2 . The method of claim 1 , further comprising:

receiving, from said enterprise-application client, a status request including said unique job identifier;

identifying said selected worker-computer as being associated with said unique job identifier;

obtaining a current status state associated with said selected worker-computer in reference to said unique job identifier; and

providing said current status state to said enterprise-application client.

3 . The method of claim 1 , further comprising:

receiving a notification that process-output data corresponding to said unique job identifier is available from said selected worker-computer in a shared data store;

obtaining said process-output data from said shared data store; and

providing said process-output data to said enterprise-application client.

4 . The method of claim 1 , wherein receiving said recorded transaction map comprises receiving said recorded transaction map from a private local-area network via a public network.

5 . The method of claim 4 , wherein invoking said remote enterprise-application server to perform said recorded transaction comprises calling said remote enterprise-application server, by said selected worker-computer via a virtual private network extending said private local-area network.

6 . The method of claim 4 , wherein providing said recorded transaction map, said unique job identifier, and said package of input data to said selected worker-computer comprises sending said recorded transaction map, said unique job identifier, and said package of input data to said selected worker-computer via said public network to said private local-area network.

7 . The method of claim 1 , further comprising:

receiving said package of input data according to a first calling mechanism; and

repackaging said package of input data into repackaged input data that complies with a second calling mechanism.

8 . The method of claim 7 , wherein repackaging said package of input data to comply with said second calling mechanism comprises providing, via said first calling mechanism, said package of input data to said selected worker-computer for repackaging prior to invoking said remote enterprise-application server.

9 . The method of claim 7 , wherein said selected worker-computer invoking said remote enterprise-application server to perform said recorded transaction comprises:

determining, by said selected worker-computer according to recorded transaction map, at least one enterprise application API call for performing said recorded transaction; and

calling said remote enterprise-application server, by said selected worker-computer, according to said second calling mechanism, said at least one enterprise application API call, and said repackaged input data.

10 . The method of claim 1 , wherein automatically generating said service description framework comprises, for each of said plurality of transaction fields:

defining an input corresponding to the current transaction field; and

storing the defined input in said service description framework.

11 . The method of claim 1 , wherein said remote enterprise-application server comprises an ERP server.

12 . A computing 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:

registering a plurality of worker computers, each worker computer being capable to process recorded transactions of at least one transaction type of a plurality of transaction types;

receiving, from an enterprise-application client, a recorded transaction map describing a recorded transaction between said enterprise-application client and a remote enterprise-application server, said recorded transaction map including field metadata corresponding to a plurality of transaction fields and type metadata corresponding to a first transaction type of said plurality of transaction types;

automatically generating a service description framework for a new dynamic web service corresponding to said recorded transaction;

receiving an invocation request from said enterprise-application client to invoke said new dynamic web service according to a package of input data;

selecting, based at least in part on said first transaction type, a worker-computer of said plurality of worker computers;

obtaining a unique job identifier corresponding to said invocation request;

providing, to said enterprise-application client, said unique job identifier; and

providing said recorded transaction map, said unique job identifier, and said package of input data to said selected worker-computer to invoke said remote enterprise-application server to perform said recorded transaction according to said package of input data.

13 . The apparatus of claim 12 , the method further comprising:

receiving, from said enterprise-application client, a status request including said unique job identifier;

identifying said selected worker-computer as being associated with said unique job identifier;

obtaining a current status state associated with said selected worker-computer in reference to said unique job identifier; and

providing said current status state to said enterprise-application client.

14 . The apparatus of claim 12 , the method further comprising:

receiving a notification that process-output data corresponding to said unique job identifier is available from said selected worker-computer in a shared data store;

obtaining said process-output data from said shared data store; and

providing said process-output data to said enterprise-application client.

15 . The apparatus of claim 12 , wherein receiving said recorded transaction map comprises receiving said recorded transaction map from a private local-area network via a public network.

16 . The apparatus of claim 15 , wherein invoking said remote enterprise-application server to perform said recorded transaction comprises calling said remote enterprise-application server, by said selected worker-computer via a virtual private network extending said private local-area network.

17 . 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:

registering a plurality of worker computers, each worker computer being capable to process recorded transactions of at least one transaction type of a plurality of transaction types;

receiving, from an enterprise-application client, a recorded transaction map describing a recorded transaction between said enterprise-application client and a remote enterprise-application server, said recorded transaction map including field metadata corresponding to a plurality of transaction fields and type metadata corresponding to a first transaction type of said plurality of transaction types;

automatically generating a service description framework for a new dynamic web service corresponding to said recorded transaction;

receiving an invocation request from said enterprise-application client to invoke said new dynamic web service according to a package of input data;

selecting, based at least in part on said first transaction type, a worker-computer of said plurality of worker computers;

obtaining a unique job identifier corresponding to said invocation request;

providing, to said enterprise-application client, said unique job identifier; and

providing said recorded transaction map, said unique job identifier, and said package of input data to said selected worker-computer to invoke said remote enterprise-application server to perform said recorded transaction according to said package of input data.

18 . The storage medium of claim 17 , the method further comprising:

receiving, from said enterprise-application client, a status request including said unique job identifier;

identifying said selected worker-computer as being associated with said unique job identifier;

obtaining a current status state associated with said selected worker-computer in reference to said unique job identifier; and

providing said current status state to said enterprise-application client.

19 . The storage medium of claim 17 , the method further comprising:

receiving a notification that process-output data corresponding to said unique job identifier is available from said selected worker-computer in a shared data store;

obtaining said process-output data from said shared data store; and

providing said process-output data to said enterprise-application client.

20 . The storage medium of claim 17 , wherein receiving said recorded transaction map comprises receiving said recorded transaction map from a private local-area network via a public network.

21 . The storage medium of claim 20 , wherein invoking said remote enterprise-application server to perform said recorded transaction comprises calling said remote enterprise-application server, by said selected worker-computer via a virtual private network extending said private local-area network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2013
From: CHALANA, VISHAL; SHARMA, AMIT; NAGAR, PIYUSH; SHARMA, VISHAL; CHALANA, VIKRAM
To: WINSHUTTLE, LLC
Reel/Frame 029929/0229 →