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.