Accessing legacy applications from the internet
First Claim
1. A method for executing a computer application installed on a computer, said method comprising the steps of:
- (a) creating a servlet instance in a server connected to the computer on a first network;
(b) running the application on the computer to generate dynamic data;
(c) intercepting and redirecting said dynamic data to a network publishing component on the computer;
(d) transmitting dynamic data from the network publishing component to the servlet instance; and
(e) creating data objects and populating the data objects with the dynamic data in the server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus that has the ability to run interactive legacy applications from a network, such as the Internet, without requiring any code changes in the application. Thus, the application is unaware of the new network environment and continues to run, as-is, in its native environment. The legacy application may be accessed from any of several client devices using a network server that can be connected to or integral with the computer on which the application is executing. Typically, these legacy applications are critical to a business, are self-contained on the computer, have mixed business and user interface logic, and were written before software engineering principles of distributed computing emerged. Separating business logic from user interface logic as required by web application architectures is not practicable in the case of legacy applications. A client, such as a thin client, has a network user agent, such as a web browser, which can access a network server connected to the computer. The method of this invention provides an environment such that when an application is invoked from the network user agent, a runtime data redirector intercepts the application'"'"'s raw data and sends the data to the network server which then serves the data across the network to the network user agent after dynamically updating the associated application'"'"'s network pages, such as JavaServerPages, which were generated by converting the proprietary display screens of the legacy application. Input data form the user entered through the network user agent are sent back to the application via the same runtime intercept. In this fashion, the client and network environment are transparent to the application while the application is now able to take advantage of many Internet and other network capabilities.
-
Citations
25 Claims
-
1. A method for executing a computer application installed on a computer, said method comprising the steps of:
-
(a) creating a servlet instance in a server connected to the computer on a first network;
(b) running the application on the computer to generate dynamic data;
(c) intercepting and redirecting said dynamic data to a network publishing component on the computer;
(d) transmitting dynamic data from the network publishing component to the servlet instance; and
(e) creating data objects and populating the data objects with the dynamic data in the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20)
-
-
19. A program product for use in a computer network for executing an application stored on a computer from a client, said computer program product comprising a signal-bearing medium carrying thereon:
-
(a) an application invoker to start and run an application in its native environment on the computer from a client;
(b) a plurality of network user interface pages to display the application'"'"'s input/output data on the client;
(c) a data redirector to redirect the application'"'"'s input/output data to network user-interface pages;
(d) a plurality of data objects corresponding to the network user interface pages to receive the application'"'"'s input/output data;
(e) a servlet instance to dynamically update the network user interface pages with the application'"'"'s input/output data; and
(f) a network user agent to display the updated network user-interface pages on the client.
-
-
21. A computer system for executing an application, comprising:
-
(a) a central processing unit;
(b) a main memory connected to the central processing unit with a communication bus;
(c) a data storage unit connected to a data storage interface which is connected to said communication bus;
(d) at least one input/output device connected to said communication bus and connected to a network interface to an external computer network, (e) an application stored in said main memory and capable of executing on said central processing unit;
(f) a network publishing component;
(g) a data redirector to redirect the application'"'"'s dynamic data to the network publishing component; and
(h) an I/O buffer to store the redirected dynamic data.
-
-
22. A computer server for accessing an application stored and executing on a computer, comprising:
-
(a) a central processing unit;
(b) a network interface to connect to at least one client over a network;
(c) a servlet instance to receive a request from the at least one client to access the application and transmit the request to the computer;
(d) a server endpoint connection for transmitting and receiving real-time data to and from the computer on which the application is executing; and
(e) a plurality of data objects to be populated with the real-time data wherein the servlet receives the real-time data from the application and populates the data objects with the real-time data. - View Dependent Claims (23)
-
-
24. A method for executing a computer application installed on a computer, said method comprising the steps of:
-
(a) converting a plurality of display files of the application to a plurality of XML-based network pages capable of displaying the application'"'"'s dynamic data;
(b) creating a servlet instance in a server connected to the computer on a network;
(c) requesting the application from a client connected to a server over the Internet;
(d) running the application on the computer in its native environment;
(e) creating an I/O buffer in the computer for the application'"'"'s dynamic data;
(f) creating an endpoint connection between the servlet instance and a network publishing component on the computer;
(g) transmitting the dynamic data back and forth from the client to the application through the servlet instance;
(h) creating data objects and populating the data objects with the dynamic data;
(i) updating at least one network page using the data objects;
(j) transmitting the updated network pages to the client over the Internet; and
(k) transmitting network pages having responsive data from the client to server for transmission as input data to the application.
-
-
25. A method of interacting with a computer application, comprising:
-
(a) executing a legacy computer application in its native environment;
(b) redirecting I/O requests from and responses to the legacy computer application from a client over the Internet without introducing changes to the code of the legacy computer application.
-
Specification