IP Library Granted Patent US 10,248,392
Granted Patent B2
US 10,248,392 · App. 15/328,547 · Granted Apr 2, 2019

Replicating a web technology

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 10,248,392
App. No.
15/328,547
Granted
Apr 2, 2019
Kind
B2
Abstract

In one example in accordance with the present disclosure, a system for replicating a web technology identifies asynchronous scripting code within isolated scripting code of the web technology. The isolated scripting code is part of larger client-side code of the web technology. The system executes the asynchronous scripting code to cause a request to be sent to a remote server and records the request. The system listens for return data received from the remote server in response to the request and saves the return data. The system generates mock server-side code based on the request and the return data.

Claims (57)

1. A method for replicating a web technology, the method comprising:

identifying asynchronous scripting code within isolated scripting code of the web technology, the isolated scripting code being part of larger client-side code of the web technology;

executing the asynchronous scripting code to cause a request to be sent to a remote server and recording the request;

listening for return data received from the remote server in response to the request and saving the return data; and

generating mock server-side code based on the request and the return data.

2. The method of claim 1 , wherein recording the request includes recording an expected return data format indicated by an indicator in the request, wherein the return data is expected to be in this format.

3. The method of claim 2 , wherein saving the return data includes interpreting the return data according to the return data format, and saving the return data according to the return data format.

4. The method of claim 1 , wherein generating the mock server-side code includes generating logic that provides the return data when presented with a request similar to the sent request.

5. The method of claim 1 , wherein generating the mock server-side code includes using the recorded request and the return data received from the remote server to refine a knowledgebase of multiple request types and multiple related pieces of return data.

6. The method of claim 1 , wherein identifying the asynchronous scripting code includes looking for a predefined code pattern that indicates that code is asynchronous scripting code.

7. The method of claim 1 , further comprising:

receiving, by a system comprising a hardware processor, information of a user-selected region of a graphical user interface (GUI) of the web technology;

identifying isolated base web code associated with the user-selected region, the isolated base web code being part of a larger base web code of the web technology; and

identifying the isolated scripting code by determining that the isolated scripting code is required to support functionality of the isolated base web code, wherein the isolated scripting code is part of a larger scripting code associated with the larger base web code.

8. The method of claim 7 , wherein determining that the isolated scripting code is required to support functionality of the isolated base web code includes identifying a tag or label that links the isolated scripting code and the isolated base web code.

9. The method of claim 7 , further comprising identifying isolated style and formatting code by determining that the isolated style and formatting code is required to support a target look and feel of the isolated base web code.

10. The method of claim 7 , wherein the GUI defines the user-selected region by at least one set of X-Y coordinates that defines a geometric region.

11. A system for replicating a web technology, the system comprising:

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

receive information of a user-selected region of a graphical user interface (GUI) of the web technology;

identify, based on the information of the user-selected region of the GUI, an isolated base web code that is related to the user-selected region of the GUI, the isolated base web code part of a larger base web code;

identify isolated scripting code linked to the isolated base web code;

identify asynchronous scripting code within the isolated scripting code, the isolated scripting code being part of larger scripting code of the web technology;

execute the asynchronous scripting code to cause a request to be sent to a remote server, and recording the request;

receive return data from the remote server in response to the request, and saving the return data; and

generate mock server-side code based on the request and the return data, wherein the mock server-side code includes logic that mimics a response of the remote server when the remote server is presented with the request.

12. The system of claim 11 , wherein the instructions are executable on the processor to generate the mock server-side code by using the recorded request and the recorded return data received from the remote server to refine a knowledgebase of multiple request types and multiple related pieces of return data that are responsive to the multiple request types.

13. The system of claim 12 , wherein the instructions are executable on the processor to refine the knowledgebase by combining the recorded request and the recorded return data received from the remote server with previously recorded requests and previously received return data.

14. A non-transitory machine-readable storage medium encoded with instructions for replicating a web technology, the instructions upon execution causing a system to:

receive information of a user-selected region of a graphical user interface (GUI) of the web technology;

identify asynchronous scripting code within isolated scripting code of the web technology, the isolated scripting code being part of larger scripting code of the web technology, and the isolated scripting code to provide user interactivity of the user-selected region of the GUI;

execute the asynchronous scripting code to cause a request to be sent to a remote server, and recording the request including an expected return data format specified by an indicator in the request;

listen for return data received from the remote server in response to the request, and saving the return data, wherein saving the return data includes interpreting the return data according to the expected return data format; and

automatically generate mock server-side code based on the request and the return data.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the instructions upon execution cause the system to output the mock server-side code in a scripting language that is selected by a user of the system.

16. The method of claim 1 , wherein generating the mock server-side code comprises:

analyzing, by a system comprising a hardware processor, the request to identify, in the request, an indication of a format of the return data; and

including, in the mock server-side code, logic that produces the return data according to the format in response to the mock server-side code receiving the request.

17. The method of claim 16 , wherein the saving of the return data stores the return data in a data repository, the method further comprising:

executing the mock server-side code; and

during execution of the mock server-side code,

receiving, by the mock server-side code, the request,

in response to the request, retrieving, by the mock server-side code, the return data from the data repository, and

outputting the return data retrieved from the data repository.

18. The system of claim 11 , wherein the instructions are executable on the processor to generate the mock server-side code by:

analyzing the request to identify, in the request, an indication of a format of the return data; and

including, in the mock server-side code, logic that produces the return data according to the format in response to the mock server-side code receiving the request.

19. The system of claim 18 , wherein the saving of the return data stores the return data in a data repository, and wherein the instructions are executable on the processor to:

execute the mock server-side code; and

during execution of the mock server-side code,

receive, by the mock server-side code, the request,

in response to the request, retrieve, by the mock server-side code, the return data from the data repository, and

output the return data retrieved from the data repository.

20. The non-transitory machine-readable storage medium of claim 14 , wherein the instructions upon execution cause the system to:

identify, based on the information of the user-selected region of the GUI, isolated base web code that is part of a larger base web code, the isolated base web code identified based on location information included in the larger base web code,

wherein identifying the isolated scripting code comprises identifying the isolated scripting code that is linked to the isolated base web code.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2017
From: LEVI, ELAD; MIZRAHI, AVIGAD; BAR ZIK, RAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041696/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 042074/0001 →