WO2002015006A1 - Accessing legacy applications from the internet - Google Patents

Accessing legacy applications from the internet Download PDF

Info

Publication number
WO2002015006A1
WO2002015006A1 PCT/GB2001/003315 GB0103315W WO0215006A1 WO 2002015006 A1 WO2002015006 A1 WO 2002015006A1 GB 0103315 W GB0103315 W GB 0103315W WO 0215006 A1 WO0215006 A1 WO 0215006A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
application
computer
data
client
Prior art date
Application number
PCT/GB2001/003315
Other languages
French (fr)
Inventor
Satish Gungabeesoon
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Priority to AU2001272662A priority Critical patent/AU2001272662A1/en
Priority to DE60132901T priority patent/DE60132901T2/en
Priority to EP01951813A priority patent/EP1309914B1/en
Publication of WO2002015006A1 publication Critical patent/WO2002015006A1/en
Priority to KR1020037001776A priority patent/KR100574156B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Definitions

  • This application relates generally to the field of computer software applications and more particularly relates to accessing legacy application programs over a computer network, such as the Internet.
  • a server may provide the application or client program or databases used by an end user or by a number of other servers and clients over a network.
  • the Internet refers to a collection of interconnected computer networks that use the Internet protocol, e.g., TCP/IP, UDP, etc.
  • Software applications are written in a programming language independent of the operating system of either the server or the client to access and use a myriad of applications on the Internet.
  • Languages that describe data over the Internet moreover, include variations of extensible mark-up languages (XML) , such as hypertext- mark-up language (HTML), wireless mark-up language (WML), etc.
  • HTML hypertext- mark-up language
  • WML wireless mark-up language
  • the world wide web refers to a software management scheme which accesses the Internet with various user agents using hypertext links.
  • Distributed computing has fundamentally changed the methodology of . software developers in writing code for these applications. Rather than writing one massive self- contained application having thousands or millions of lines of code, software developers select and weave together smaller portions of code, called components, each associated with a particular function that can be reused across multiple applications, all on the world wide web. Components are standard software that can be pulled off a server and incorporated into new applications by sof ware developers. For example, a calendar component may be used in several applications such as a scheduling application, a presentation application, and/or a data base application to calculate employee's vacation and pay, etc .
  • Current industry architectures for Internet and world wide web applications moreover, require that business logic be separated from presentation logic such that the business logic is solely responsible for providing business data while the presentation logic is solely responsible for driving presentation or the user interface.
  • legacy applications refers to old applications which remain in operation with a business or organization but were developed before the advent of distributed computing and structured programming and its techniques of modularity, coupling, cohesion, etc. Legacy applications written as one large self-contained program do not accommodate change easily. These legacy applications, moreover, are often so critical to the business that these businesses face difficult decisions about the future of such applications and the ability to exploit new network and Internet technologies for remote and distributed access to these critical applications.
  • Interactive legacy applications that have mixed business and presentation logic must be restructured and/or reengineered to be enabled as web applications. Separating the business logic from the user interface logic, however, is not always practicable to deploy applications onto the web with minimal intervention and testing.
  • a method to execute a computer application installed on a computer comprising the steps of creating a servlet instance in a server connected to the computer on a first network; running the application on the computer to generate dynamic data; intercepting and redirecting the dynamic data to a network publishing component on the computer; transmitting dynamic data from the network publishing component to the servlet instance; and creating data objects and populating the data objects with the dynamic data in the server.
  • the method may further comprise requesting the application from a client connected to the server over a second network; updating at least one network page with the dynamic data; and transmitting the updated network pages to the client.
  • the first network may be the Internet.
  • the first network may also be selected from the group consisting of: an internal network, an
  • Intranet a LAN, a WAN, an internal bus, a wireless network.
  • the second network may be the Internet; or may be selected from the group consisting of: an internal network, an Intranet, a LAN, a WAN, an internal bus, a wireless network.
  • the computer may contain the network server.
  • the method may further comprise converting the display files of the application to network pages capable of displaying dynamic data.
  • the network pages may be based on a XML language, such as HTML and/or WML.
  • the network pages may be JavaServerPages .
  • the network pages moreover, may be stored on the server.
  • the method of the invention may further comprise creating an I/O buffer for the dynamic data in the computer.
  • the method may also comprise the steps of creating a first endpoint connection between the servlet instance and the network publishing component; the endpoint connection may be a socket, or a data queue object, or a message queue.
  • the invention comprises a program product for use in a computer network for executing an application stored on a computer from a client, the computer program product comprising a signal-bearing medium carrying thereon: an application invoker to start and run an application in its native environment on the computer from a client; a plurality of network user interface pages to display the application's input/output data on the client; a data redirector to redirect the application's input/output data to network user-interface pages; a plurality of data objects corresponding to the network user interface pages to receive the application's input/output data; a servlet instance to dynamically update the network user interface pages with the application's input/output data; and a network user agent to display the updated network user- interface pages on the client.
  • the program product may further comprise a screen definition converter to convert the input/output screen definitions of the application to the network user-interface pages.
  • the invention may also be considered a computer system for executing an application, comprising: a central processing unit; a main memory connected to the central processing unit with a communication bus; a data storage unit connected to a data storage interface which is connected to the communication bus; at least one input/output device connected to the communication bus and connected to a network interface to an external computer network, an application stored in the main memory and capable of executing on the central processing unit; a network publishing component; a data redirector to redirect the application's dynamic data to the network publishing component; and an I/O buffer to store the redirected dynamic data.
  • the invention may be considered a network server for accessing an application stored and executing on a computer, comprising: a central processing unit; a network interface to connect to at least one client over a network; a servlet instance to receive a request from the at least one client to access the application and transmit the request to the computer; a server endpoint connection for transmitting and receiving real-time data to and from the computer on which the application is executing; and 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.
  • the network server may further comprise a plurality of network display pages, each of the network display pages unique to each input/output screen definition of the application wherein the servlet updates the network display pages for transmission to the client over the networ .
  • the invention may also be viewed as a method for executing a computer application installed on a computer, comprising the steps of: 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; creating a servlet instance in a server connected to the computer on a network; requesting the application from a client connected to a server over the Internet; running the application on the computer in its native environment; creating an I/O buffer in the computer for the application's dynamic data; creating an endpoint connection between the servlet instance and a network publishing component on the computer; transmitting the dynamic data back and forth from the client to the application through the servlet instance; creating data objects and populating the data objects with the dynamic data; updating at least one network page using the data objects; transmitting the updated network pages to the client over the Internet; and transmitting network pages having responsive data from the client to server for transmission as input data to the application.
  • another aspect of the invention is a method of interacting with a computer application, comprising: executing a legacy computer application in its native environment; redirecting I/O requests from and responses to the legacy computer application from a client over the
  • Figure 1 is a high-level block diagram of a computer system capable of implementing the preferred embodiment of the invention.
  • FIG. 2 is a simplified block diagram of a server system which may access legacy applications stored on the computer system in accordance with principles of the invention.
  • Figure 3 is a simplified representation of a computer network of clients and servers capable of taking advantage of the invention.
  • Figure 4 is a simplified process chart and block diagram of a prior art computer legacy application environment showing the flow of data to be displayed.
  • Figure 5 is a simplified process diagram of how data is redirected to/from a network and a legacy application in accordance with principles of the invention.
  • Figure 6 is a simplified process chart and block diagram of how data can be redirected from a legacy application using world wide web technologies on the Internet .
  • FIG. 1 shows a high-level block diagram of a computer system 100, consistent with an embodiment of the invention.
  • Computer system 100 may comprise central processing unit (CPU) 101, main memory 102, terminal interface 103, data storage 104, and a network, e.g., Internet, interface 105.
  • CPU 101 is a general-purpose programmable processor, executing instructions stored in memory 102; while a single CPU is shown in Figure 1, it should be understood that computer systems having multiple ' CPUs could be used.
  • Memory 102 is a random-access semiconductor memory for storing data and programs; memory is shown conceptually as a single monolithic entity but it is well known that memory is often arranged in a hierarchy of caches and other memory devices.
  • Operating system 120 and applications 122 reside in memory 102. Operating system 120 provides, inter alia, functions such as device interfaces, management of memory pages, management of multiple tasks, etc. as is known in the art.
  • Applications 122 may include legacy applications and if it includes a server software application, network interface 105 may interact with the server software application 122 to enable computer system 100 to be a network server.
  • Terminal interface 103 may support the attachment of single or multiple terminals and may be implemented as one or multiple electronic circuit cards or othe -units .
  • Data storage 104 preferably comprises one or more rotating magnetic hard disk drive units, although other types of data storage could be used.
  • Network interface 105 provides a physical connection for transmission of data to and from a network.
  • the network is the Internet but the network could also be any smaller self- contained network such as an Intranet, a WAN, a LAN, or other internal or external network using, e.g., telephone transmissions lines, satellites, fiber optics, Tl lines, etc. and any various available technologies .
  • Communications bus 110 supports transfer of data, commands and other information between different devices; while shown in simplified form as a single bus, it is typically structured as multiple buses; and may be arranged in a hierarchical form.
  • FIG. 1 The computer system shown in Figure 1 is intended to be a simplified representation, it being understood that many variations in system configuration are possible in addition to those specifically mentioned here. While system 100 could conceivably be a personal computer system, the computer 100 may also be a larger computer system such as an IBM Enterprise System or an IBM AS/400 system. While a particular hardware configuration is described herein along with various alternatives, the methods described could in general be practiced using any hardware configuration that allows access to legacy applications across a computer network from a client.
  • CPU 101 is suitably programmed to carry out the preferred embodiment by having the legacy application and a network interface that can be used by other connected computers to access that legacy application.
  • Computer system 100 and its components are shown and described in Figure 1 as a more or less single, self-contained computer system. It is alternatively possible to use multiple computer systems, particularly multiple systems which share a single large database, each having a specialized task. For example, one or more computer systems 100 could be dedicated to one or more legacy applications accessing a database, while one or more other computer systems 100 could be dedicated to servicing requests received from clients or accessing the Internet. References herein to a computer should be understood to include either a single computer or a collection of computer systems which provides access to a legacy application and to a network by which to connect to a client system.
  • FIG 2 is an example of a network server 200 which may access a legacy application stored on the computer 100.
  • Network server 200 may be a computer system including a CPU 201, main memory 202, various device adapters and interfaces 203-208, and communications bus 210.
  • CPU 201 is a general-purpose programmable processor, executing instructions stored in memory 202; while a single CPU is shown in Figure 2, it should be understood that computer systems having multiple CPUs could be used.
  • Memory 202 is a random-access semiconductor memory for storing data and programs; memory is shown conceptually as a single monolithic entity, it being understood that memory 202 is often arranged in a hierarchy of caches and other memory devices.
  • Communication bus 210 supports transfer of data, commands and other information between different devices; while shown in simplified form as a single bus, it may be structured as multiple buses, and may be arranged in a hierarchical form.
  • Display adapter 203 supports video display 211, which may be a cathode-ray tube display, a flat panel display, or a touch panel, although other display technologies may be used.
  • Keyboard/pointer adapter 204 supports keyboard 212 and pointing device 213, depicted as a mouse, it being understood that other forms of input devices could be used.
  • Storage adapter 205 supports one or more data storage devices 214, which may be rotating magnetic hard disk drives or CD-ROM drives, although other data storage devices could be used.
  • Printer adapter 206 supports printer 215.
  • Adapter 207 may support any of a variety of additional devices, such as audio devices, etc.
  • Network interface 208 provides a physical interface to a network, such as the Internet. This interface may comprise a modem connected to a telephone line through which an Internet access provider or on-line service provider is reached, but increasingly other higher bandwidth interfaces are implemented.
  • network server 200 may be connected to another network server via a local area network using an Ethernet, Token Ring, or other protocol, the second network server in turn being connected to the Internet.
  • network interface 208 may be provided through cable television, fiber optics, satellites, wireless, or other connections.
  • Figure 2 is intended as an exemplary simplified representation of a high-end server, it being understood that in other network servers 200 many variations in system configuration are possible in addition to those mentioned here.
  • Network server 200 and computer 100 may be merged into the same system if computer system 100 has as one of its applications 122 a server software application in which case the network between the network server 200 and the computer 100 would be an internal communications bus.
  • each client system 300 is a device separate from computer 100 that can access- legacy applications which reside and run on the computer 100.
  • Client system may be a personal computer system or a larger computer system such as a server, or a smaller computer system, such as notebook or laptop computer.
  • client system 300 need not be a computer at all, but preferably is a simpler appliance-like client device with less memory such as a network terminal, a thin client, a terminal-like devices, a voice response unit, etc.
  • the convergence of computing, telecommunications and consumer electronics is causing a tremendous growth in the number and variety of pervasive mobile devices as clients 300.
  • This mobile architecture enables the multitude of clients 300 including laptops, sub-notebooks, handheld computers, such as personal digital assistants and companion devices, and mobile appliances, such as smartphones, pages, simple messaging devices and wearable devices.
  • client system 300 is a mobile device
  • a display adapter and network interface has a network user agent and supports a variety of multi-modal interfaces including traditional keyboard and mouse interfaces, small text screens, pen, touch screens, speech recognition, text-to-speech and other emerging technologies like wearable devices.
  • a network user agent enables the xxse of the computer's applications on its respective client 300.
  • client system 300 include any electronic device which may interact with a network server 200 through the network user agent, such as a web browser, to access a legacy or other applications residing on the computer system 100.
  • a network server 200 through the network user agent, such as a web browser, to access a legacy or other applications residing on the computer system 100.
  • Such special-purpose devices for accessing the world wide web such as an Internet access box for a television set, or a portable wireless web accessing device, which can implement a user agent for the purpose of invoking and executing an application are also intended to be within the scope of a client system 300.
  • the network user agent could be implemented by control circuitry through the use of logic gate, programmable logic devices, or other hardware components in lieu of a processor-based system.
  • aspects of the preferred embodiment pertain to specific method steps imple entable on a computer 100 or a network server 200.
  • the invention may be implemented as a computer program- product for use with either or both a network server 200 and a client 300.
  • the programs defining the- functions of the preferred embodiment can be delivered to the computer 100 and/or to the network server 200 via a variety of signal-bearing media, which include, but are not limited to: (a) information permanently stored on non-writable storage media, e.g., read only memory devices within either computer such as CD-ROM disks readable by CD- ROM drive 214; (b) alterable information stored on writeable storage media, e.g., floppy disks within diskette drive or hard-disk drive, such as shown as 214 in Figure 2; or (c) information conveyed to a computer by a telephone or a cable media network, including wireless communications.
  • signal-bearing media include, but are not limited to: (a) information permanently stored on non-writable storage media, e.g., read only memory devices within either computer such as CD-ROM disks readable by CD- ROM drive 214; (b) alterable information stored on writeable storage media, e.g., floppy disks within
  • FIG. 3 is a simplified representation of a computer network.
  • the computer network is representative of the Internet, which can be described as a known computer network based on the client-server model discussed herein.
  • the Internet includes a large network of network servers 200 that are accessible by client systems 300 through a private Internet access provider 303 or an on-line service provider 304.
  • each of the client systems 300 may run a respective network user agent such as a browser to access network servers 200 via the access providers.
  • Each network server 200 may have legacy applications of their own or may be connected to other computers 100 that have legacy applications to be accessed through the Internet or other connections to the clients 300.
  • a legacy application need not be stored on only one computer 100; rather various tasks of a single application may be stored on more than one computer 100 to which a network server 200 is connected through the network, such as the Internet.
  • An Internet network path to servers 200 is identified by a Universal Resource Locator (URL) having a known syntax for defining a network connection. While various relatively direct paths are shown, it will be understood that Figure 3 is a conceptual representation only, and that a computer network such as the Internet may in fact have a far more complex structure. It is also to be understood that computer network may also be an Intranet or other internal computer network, such as a WAN, a LAN, etc. The embodiment is particularly useful on the Internet in its preferred embodiment, although it is not intended to be so limited.
  • This embodiment provides an environment that shields interactive legacy applications from restructuring or reengineering the applications' code by allowing such legacy applications to continue running, as-is, in their native environment while simultaneously allowing a variety of clients to access the legacy applications using a web browser or other network technology.
  • the embodiment also provides the interactive legacy applications with the ability to generate the required business data and drive separate presentation artifacts as required by industry standard world wide web application architectures .
  • What is interesting about the embodiment is the interaction between the "stateful" legacy applications and the "stateless” Internet transactions.
  • Interactive legacy applications are staceful in that the application continues to execute until it comes to an I/O instruction wherein execution is suspended and the application's state is preserved in its native environment until the I/O action is completed.
  • Internet transactions use stateless protocols of, e.g., HTTP, wherein after a transaction on the Internet is completed, the connection to the Internet is broken and the ⁇ ⁇ t t o in ⁇ in o
  • the operating system which calls the rite_Data method as in 640a to redirect data to the application-side socket 626b.
  • Data is read by the socket 626a in the network server process as in step 642b and the servlet instance 610 creates a data object in step 650 to store the data.
  • the servlet instance 610 calls the network page, e.g., the JavaServer Page, associated with this output record.
  • the network page is populated with data from the data object as in step 652 and then served to the network user agent 570 as, e.g., an HTTP response, in step 660.
  • the servlet instance 610 on the network server restores " session data from a previously saved session object which has a reference to a socket or a data cjueue object or a message queue object.
  • the input data is then forwarded to socket or queue 626a as in step 642c, to the other application socket or queue 626b and I/O buffers if any and to the application runtime component 430, and eventually to the legacy program 122 that was waiting on a Read_Data method 640b.
  • the legacy application 122 then continues its execution in its native environment on the computer 100 until the next I/O exchange.
  • a Report Program Generator (RPG) program is used as an example of a legacy application although it is to be understood that the architecture but could also support legacy applications written in COBOL and other programming languages .
  • Sockets are used as the communication mechanism between the distributed processes but any communication endpoint mechanism available to the server, such as data queue objects for enhanced performance if the server and the legacy application are within one computer or the message queue for enhanced reliability and security, may also be used.
  • An initial program in the prestarted job may write the descriptor of the application-side socket to a environment variable, activate the redirection, and invoke the legacy application.
  • output dat-a is sent to a data manager which calls a Publish-to- Web runtime interface, Write_Data, to write to the socket.
  • Data may also be read by the socket 626b using the Publish-to-Web runtime interface Read Data.
  • the invention allows the user to deploy entire business-critical legacy applications to the Internet to take advantage of state-of-the art technology without having to restructure or make code changes to the programs.
  • the legacy application moreover, executes normally.
  • Legacy application data becomes available across the network for any purpose because it is stored in data objects on the network • server.
  • the invention moreover, allows the user to modify the network pages, such as JavaServer Pages, to create links within the network server to new web based applications. This capability allow interactions between legacy and other network based applications, including merging legacy application data with data from other network applications in the network server.
  • Computer and client systems that allow remote invocation of programs are able to use the architecture described above to run the web server and the legacy applications in separate computer systems.
  • the invention allows the user to customize the JavaServer Pages according to the company's rules and guidelines for application presentation.
  • the solution presented herein further allows the I/O data to be converted to other formats that would suit display types other than a browser.
  • One powerful application is the conversion of the I/O data and the display records to a generic XML based user interface.
  • the XML- user interface can then be fed into different types of user interface renderers. These renderers can be Java-Swing based, Voice-Based, PDA Based, etc.
  • the invention therefore, opens access to existing legacy application from multiple types of, future devices.

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.

Description

ACCESSING LEGACY APPLICATIONS FROM THE NTERNET
TECHNICAL FIELD
This application relates generally to the field of computer software applications and more particularly relates to accessing legacy application programs over a computer network, such as the Internet.
BACKGROUND OF THE INVENTION
Like everything else, computer use has changed over the years. In the early days, large mainframe computers dominated the industry until the advent of the personal stand- alone computer. Now many businesses and homes have at least one personal stand- alone computer, a PC. A new paradigm of computing, however, has emerged: network- centric computing or distributed computing in which at least two, but more likely many more computers, called clients and servers, are interconnected through a network wherein the software applications used by a client resides on a server. Thus, a server may provide the application or client program or databases used by an end user or by a number of other servers and clients over a network.
In many instances and increasingly more so, the network connecting clients and servers is the Internet. The Internet refers to a collection of interconnected computer networks that use the Internet protocol, e.g., TCP/IP, UDP, etc. Software applications are written in a programming language independent of the operating system of either the server or the client to access and use a myriad of applications on the Internet. Languages that describe data over the Internet, moreover, include variations of extensible mark-up languages (XML) , such as hypertext- mark-up language (HTML), wireless mark-up language (WML), etc. The world wide web refers to a software management scheme which accesses the Internet with various user agents using hypertext links.
Distributed computing has fundamentally changed the methodology of . software developers in writing code for these applications. Rather than writing one massive self- contained application having thousands or millions of lines of code, software developers select and weave together smaller portions of code, called components, each associated with a particular function that can be reused across multiple applications, all on the world wide web. Components are standard software that can be pulled off a server and incorporated into new applications by sof ware developers. For example, a calendar component may be used in several applications such as a scheduling application, a presentation application, and/or a data base application to calculate employee's vacation and pay, etc . Current industry architectures for Internet and world wide web applications, moreover, require that business logic be separated from presentation logic such that the business logic is solely responsible for providing business data while the presentation logic is solely responsible for driving presentation or the user interface.
The massive self-contained applications having thousands or millions of lines of code, however, may still be very important to businesses and organizations. Indeed, some self-contained programs may contain a business 's entire inventory/client list/database or all of the above. The term "legacy applications" refers to old applications which remain in operation with a business or organization but were developed before the advent of distributed computing and structured programming and its techniques of modularity, coupling, cohesion, etc. Legacy applications written as one large self-contained program do not accommodate change easily. These legacy applications, moreover, are often so critical to the business that these businesses face difficult decisions about the future of such applications and the ability to exploit new network and Internet technologies for remote and distributed access to these critical applications. Interactive legacy applications that have mixed business and presentation logic must be restructured and/or reengineered to be enabled as web applications. Separating the business logic from the user interface logic, however, is not always practicable to deploy applications onto the web with minimal intervention and testing.
Other solutions to implement legacy applications on the Internet and world wide web may use a screen-scraping technique which converts legacy display data streams at runtime to a web-based language, such as HTML, or other language. The HTML converted screens are then displayed on a browser. Converting legacy display data stream at runtime, however, is slow, compromises performance of the application, and does not give the user the capability of integrating or bridging legacy applications seamlessly with new web or other network applications. Nor does mere conversion of legacy data provide the capability to enhance the effectiveness of the user interface of the application when the application runs on the Internet. There is thus a need in the industry to access legacy applications from the Internet, the world wide web, or other computer communication networks without having to restructure the application or make code changes to the programs .
There is a further need in the industry to seamlessly interweave legacy applications with other network applications.
SUMMARY OF THE INVENTION
These needs and others that will become apparent to one skilled in the art are satisfied by a method to execute a computer application installed on a computer, comprising the steps of creating a servlet instance in a server connected to the computer on a first network; running the application on the computer to generate dynamic data; intercepting and redirecting the dynamic data to a network publishing component on the computer; transmitting dynamic data from the network publishing component to the servlet instance; and creating data objects and populating the data objects with the dynamic data in the server. The method may further comprise requesting the application from a client connected to the server over a second network; updating at least one network page with the dynamic data; and transmitting the updated network pages to the client.
The first network may be the Internet. The first network may also be selected from the group consisting of: an internal network, an
Intranet, a LAN, a WAN, an internal bus, a wireless network. Similarly the second network may be the Internet; or may be selected from the group consisting of: an internal network, an Intranet, a LAN, a WAN, an internal bus, a wireless network. The computer may contain the network server.
The method may further comprise converting the display files of the application to network pages capable of displaying dynamic data. The network pages may be based on a XML language, such as HTML and/or WML. The network pages may be JavaServerPages . The network pages, moreover, may be stored on the server.
The method of the invention may further comprise creating an I/O buffer for the dynamic data in the computer. The method may also comprise the steps of creating a first endpoint connection between the servlet instance and the network publishing component; the endpoint connection may be a socket, or a data queue object, or a message queue. It is also envisioned that the invention comprises a program product for use in a computer network for executing an application stored on a computer from a client, the computer program product comprising a signal-bearing medium carrying thereon: an application invoker to start and run an application in its native environment on the computer from a client; a plurality of network user interface pages to display the application's input/output data on the client; a data redirector to redirect the application's input/output data to network user-interface pages; a plurality of data objects corresponding to the network user interface pages to receive the application's input/output data; a servlet instance to dynamically update the network user interface pages with the application's input/output data; and a network user agent to display the updated network user- interface pages on the client. The program product may further comprise a screen definition converter to convert the input/output screen definitions of the application to the network user-interface pages.
The invention may also be considered a computer system for executing an application, comprising: a central processing unit; a main memory connected to the central processing unit with a communication bus; a data storage unit connected to a data storage interface which is connected to the communication bus; at least one input/output device connected to the communication bus and connected to a network interface to an external computer network, an application stored in the main memory and capable of executing on the central processing unit; a network publishing component; a data redirector to redirect the application's dynamic data to the network publishing component; and an I/O buffer to store the redirected dynamic data.
Yet, in another embodiment, the invention may be considered a network server for accessing an application stored and executing on a computer, comprising: a central processing unit; a network interface to connect to at least one client over a network; a servlet instance to receive a request from the at least one client to access the application and transmit the request to the computer; a server endpoint connection for transmitting and receiving real-time data to and from the computer on which the application is executing; and 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. The network server may further comprise a plurality of network display pages, each of the network display pages unique to each input/output screen definition of the application wherein the servlet updates the network display pages for transmission to the client over the networ .
The invention may also be viewed as a method for executing a computer application installed on a computer, comprising the steps of: 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; creating a servlet instance in a server connected to the computer on a network; requesting the application from a client connected to a server over the Internet; running the application on the computer in its native environment; creating an I/O buffer in the computer for the application's dynamic data; creating an endpoint connection between the servlet instance and a network publishing component on the computer; transmitting the dynamic data back and forth from the client to the application through the servlet instance; creating data objects and populating the data objects with the dynamic data; updating at least one network page using the data objects; transmitting the updated network pages to the client over the Internet; and transmitting network pages having responsive data from the client to server for transmission as input data to the application.
Yet, another aspect of the invention is a method of interacting with a computer application, comprising: executing a legacy computer application in its native environment; 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.
BRIEF DESCRIPTION OF THE DRAWING
Figure 1 is a high-level block diagram of a computer system capable of implementing the preferred embodiment of the invention.
Figure 2 is a simplified block diagram of a server system which may access legacy applications stored on the computer system in accordance with principles of the invention.
Figure 3 is a simplified representation of a computer network of clients and servers capable of taking advantage of the invention. Figure 4 is a simplified process chart and block diagram of a prior art computer legacy application environment showing the flow of data to be displayed.
Figure 5 is a simplified process diagram of how data is redirected to/from a network and a legacy application in accordance with principles of the invention.
Figure 6 is a simplified process chart and block diagram of how data can be redirected from a legacy application using world wide web technologies on the Internet .
DETAILED DESCRIPTION OF THE INVENTION
Referring to the Drawing, wherein like numbers denote like parts throughout the several views, Figure 1 shows a high-level block diagram of a computer system 100, consistent with an embodiment of the invention. Computer system 100 may comprise central processing unit (CPU) 101, main memory 102, terminal interface 103, data storage 104, and a network, e.g., Internet, interface 105. The various devices communicate with each other via internal communications bus 110. CPU 101 is a general-purpose programmable processor, executing instructions stored in memory 102; while a single CPU is shown in Figure 1, it should be understood that computer systems having multiple' CPUs could be used. Memory 102 is a random-access semiconductor memory for storing data and programs; memory is shown conceptually as a single monolithic entity but it is well known that memory is often arranged in a hierarchy of caches and other memory devices. Operating system 120 and applications 122 reside in memory 102. Operating system 120 provides, inter alia, functions such as device interfaces, management of memory pages, management of multiple tasks, etc. as is known in the art. Applications 122 may include legacy applications and if it includes a server software application, network interface 105 may interact with the server software application 122 to enable computer system 100 to be a network server.
Terminal interface 103 may support the attachment of single or multiple terminals and may be implemented as one or multiple electronic circuit cards or othe -units . Data storage 104 preferably comprises one or more rotating magnetic hard disk drive units, although other types of data storage could be used. Network interface 105 provides a physical connection for transmission of data to and from a network. In the preferred embodiment the network is the Internet but the network could also be any smaller self- contained network such as an Intranet, a WAN, a LAN, or other internal or external network using, e.g., telephone transmissions lines, satellites, fiber optics, Tl lines, etc. and any various available technologies . Communications bus 110 supports transfer of data, commands and other information between different devices; while shown in simplified form as a single bus, it is typically structured as multiple buses; and may be arranged in a hierarchical form.
The computer system shown in Figure 1 is intended to be a simplified representation, it being understood that many variations in system configuration are possible in addition to those specifically mentioned here. While system 100 could conceivably be a personal computer system, the computer 100 may also be a larger computer system such as an IBM Enterprise System or an IBM AS/400 system. While a particular hardware configuration is described herein along with various alternatives, the methods described could in general be practiced using any hardware configuration that allows access to legacy applications across a computer network from a client. CPU 101 is suitably programmed to carry out the preferred embodiment by having the legacy application and a network interface that can be used by other connected computers to access that legacy application.
Computer system 100 and its components are shown and described in Figure 1 as a more or less single, self-contained computer system. It is alternatively possible to use multiple computer systems, particularly multiple systems which share a single large database, each having a specialized task. For example, one or more computer systems 100 could be dedicated to one or more legacy applications accessing a database, while one or more other computer systems 100 could be dedicated to servicing requests received from clients or accessing the Internet. References herein to a computer should be understood to include either a single computer or a collection of computer systems which provides access to a legacy application and to a network by which to connect to a client system.
Figure 2 is an example of a network server 200 which may access a legacy application stored on the computer 100. Network server 200 may be a computer system including a CPU 201, main memory 202, various device adapters and interfaces 203-208, and communications bus 210. CPU 201 is a general-purpose programmable processor, executing instructions stored in memory 202; while a single CPU is shown in Figure 2, it should be understood that computer systems having multiple CPUs could be used. Memory 202 is a random-access semiconductor memory for storing data and programs; memory is shown conceptually as a single monolithic entity, it being understood that memory 202 is often arranged in a hierarchy of caches and other memory devices. Communication bus 210 supports transfer of data, commands and other information between different devices; while shown in simplified form as a single bus, it may be structured as multiple buses, and may be arranged in a hierarchical form. Display adapter 203 supports video display 211, which may be a cathode-ray tube display, a flat panel display, or a touch panel, although other display technologies may be used. Keyboard/pointer adapter 204 supports keyboard 212 and pointing device 213, depicted as a mouse, it being understood that other forms of input devices could be used. Storage adapter 205 supports one or more data storage devices 214, which may be rotating magnetic hard disk drives or CD-ROM drives, although other data storage devices could be used. Printer adapter 206 supports printer 215. Adapter 207 may support any of a variety of additional devices, such as audio devices, etc. Network interface 208 provides a physical interface to a network, such as the Internet. This interface may comprise a modem connected to a telephone line through which an Internet access provider or on-line service provider is reached, but increasingly other higher bandwidth interfaces are implemented. For example, network server 200 may be connected to another network server via a local area network using an Ethernet, Token Ring, or other protocol, the second network server in turn being connected to the Internet. Alternatively, network interface 208 may be provided through cable television, fiber optics, satellites, wireless, or other connections. The representation of Figure 2 is intended as an exemplary simplified representation of a high-end server, it being understood that in other network servers 200 many variations in system configuration are possible in addition to those mentioned here. Network server 200 and computer 100 may be merged into the same system if computer system 100 has as one of its applications 122 a server software application in which case the network between the network server 200 and the computer 100 would be an internal communications bus.
With reference to Figure 3, each client system 300 is a device separate from computer 100 that can access- legacy applications which reside and run on the computer 100. Client system may be a personal computer system or a larger computer system such as a server, or a smaller computer system, such as notebook or laptop computer. Finally, client system 300 need not be a computer at all, but preferably is a simpler appliance-like client device with less memory such as a network terminal, a thin client, a terminal-like devices, a voice response unit, etc. The convergence of computing, telecommunications and consumer electronics is causing a tremendous growth in the number and variety of pervasive mobile devices as clients 300. This mobile architecture enables the multitude of clients 300 including laptops, sub-notebooks, handheld computers, such as personal digital assistants and companion devices, and mobile appliances, such as smartphones, pages, simple messaging devices and wearable devices. Thus when the client system 300 is a mobile device, a display adapter and network interface has a network user agent and supports a variety of multi-modal interfaces including traditional keyboard and mouse interfaces, small text screens, pen, touch screens, speech recognition, text-to-speech and other emerging technologies like wearable devices. A network user agent enables the xxse of the computer's applications on its respective client 300. It is preferably intended that client system 300 include any electronic device which may interact with a network server 200 through the network user agent, such as a web browser, to access a legacy or other applications residing on the computer system 100. Such special-purpose devices for accessing the world wide web, such as an Internet access box for a television set, or a portable wireless web accessing device, which can implement a user agent for the purpose of invoking and executing an application are also intended to be within the scope of a client system 300. The network user agent could be implemented by control circuitry through the use of logic gate, programmable logic devices, or other hardware components in lieu of a processor-based system.
As will be described in detail below, aspects of the preferred embodiment pertain to specific method steps imple entable on a computer 100 or a network server 200. In an alternative embodiment, the invention may be implemented as a computer program- product for use with either or both a network server 200 and a client 300. The programs defining the- functions of the preferred embodiment can be delivered to the computer 100 and/or to the network server 200 via a variety of signal-bearing media, which include, but are not limited to: (a) information permanently stored on non-writable storage media, e.g., read only memory devices within either computer such as CD-ROM disks readable by CD- ROM drive 214; (b) alterable information stored on writeable storage media, e.g., floppy disks within diskette drive or hard-disk drive, such as shown as 214 in Figure 2; or (c) information conveyed to a computer by a telephone or a cable media network, including wireless communications. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent alternative embodiments of the present invention. Figure 3 is a simplified representation of a computer network. The computer network is representative of the Internet, which can be described as a known computer network based on the client-server model discussed herein. Conceptually, the Internet includes a large network of network servers 200 that are accessible by client systems 300 through a private Internet access provider 303 or an on-line service provider 304. In the preferred embodiment, each of the client systems 300 may run a respective network user agent such as a browser to access network servers 200 via the access providers. Each network server 200 may have legacy applications of their own or may be connected to other computers 100 that have legacy applications to be accessed through the Internet or other connections to the clients 300. Moreover, a legacy application need not be stored on only one computer 100; rather various tasks of a single application may be stored on more than one computer 100 to which a network server 200 is connected through the network, such as the Internet. An Internet network path to servers 200 is identified by a Universal Resource Locator (URL) having a known syntax for defining a network connection. While various relatively direct paths are shown, it will be understood that Figure 3 is a conceptual representation only, and that a computer network such as the Internet may in fact have a far more complex structure. It is also to be understood that computer network may also be an Intranet or other internal computer network, such as a WAN, a LAN, etc. The embodiment is particularly useful on the Internet in its preferred embodiment, although it is not intended to be so limited.
This embodiment provides an environment that shields interactive legacy applications from restructuring or reengineering the applications' code by allowing such legacy applications to continue running, as-is, in their native environment while simultaneously allowing a variety of clients to access the legacy applications using a web browser or other network technology. The embodiment also provides the interactive legacy applications with the ability to generate the required business data and drive separate presentation artifacts as required by industry standard world wide web application architectures . What is interesting about the embodiment is the interaction between the "stateful" legacy applications and the "stateless" Internet transactions. Interactive legacy applications are staceful in that the application continues to execute until it comes to an I/O instruction wherein execution is suspended and the application's state is preserved in its native environment until the I/O action is completed. Internet transactions, on the other hand, use stateless protocols of, e.g., HTTP, wherein after a transaction on the Internet is completed, the connection to the Internet is broken and the ω ω t t o in σ in o
tr α. o. rt ft>
Φ fD fD 13 ϊt H
Φ rt l-i
Φ \% Φ it
3 3 *i K 0
3 H- H- φ Ω 3 ft rt rt ft) o iQ
Φ rt* TJ n tr o 0 φ
Φ 3 0 Pi o
0, oi ^-^ o cl rt* i tr
•<! rt* Ω — rt l-i o ET ft) . Φ ft Φ
Φ a
3 Φ Φ
*; 3 rt fD 3 s5
TJ *i 0. 3 <! o
(D TJ Φ Φ l-i
H i rt S3
<J l-i ft) oi ri13 0 oi fθ H- 3 o ft ft) rt 3 13
<! 3 α> . tf> ft o o
3 0 0 n ft Φ rt o rt 13"
3 Ω Φ 3* Φ
TJ 0 3 φ ι-i ø 3 o r TJ - rt
Φ fD H J Φ
M H- 91 rt f Ω rt 0 l-i H- φ fD ϋ Φ <! 01 ET
3 ft φ 0 0
3
Φ ft> O rt
0 j Tϊ Φ o
H rt J ft in
0 l-S l-i TJ
CD m p1 Φ rt rf rt p ft fD ft ft)
£ TJ H- in rt
3 Φ rt H fD in φ TJ H- rt φ l-i H o o 1 3 fD Ω
P> 0 tQ rr π- ∞ TJ a fD o Φ Φ Ω
3 o ft) TJ *< Φ TJ
K Φ H Φ
0 tl o TJ tl Φ Φ o H H - rift
3 a ft) ft> Φ Ω H rt ri- rr l-S *< O o ft) φ
1 rt ι-i fD Φ cj-
13- »<: a l-i Φ ft) H rt ro
Φ M
Ω * ft
Ω ι-i ft> rt iϊ
3 Φ o μ-
3 13
Figure imgf000013_0001
rt* ω ) t to O in o Ui o O
Figure imgf000014_0001
rt* ω to H μ> O in o in o in o
•xl f-t ft) rt rt rt Hi μ- rt TJ Ω Ω 0 H P) 01 ΓΛ TJ TJ 3" 0 ftl rt Ml ft o £ 01 IQ βι μ- 3 Ω 3 tl Ω H o Pi oi tr tr it 11 3 tr o o tr \ 3 Φ Ω 0 11 n o 3 n H tl tr 3 it It Φ tl 3 Φ tr 3 3
H <! oi Φ Φ pi o 01 Φ CT ft 3 l_l. o ft K It Ω 0 0 3 Φ φ tfi o φ Ω μ- o 3 Φ 01 rt pi ft)
Φ <! φ <! μ- tr TJ Ω 01 1 3 3 Φ Ω n Φ Φ £ 3 £ g o r ϋ 3 ft) o rt 3 rt t TJ rt μ- ΓΛ Ω ii 01 ft) φ μ- TJ Φ Ω ft TJ Φ H Φ Φ ft H 01 3 tr φ tl 01 H o tQ ft) μ- 0 μ-
Φ μ- Φ Φ H en 3 3 01 ft) H It ft) o H Φ 3 μ- 01 ft o μ- 3 &ι Φ It ft P> Φ rt fD ϋ 3 It 3
& H P) Ω K ø σi Ω rt if t tQ It 01 rt TJ ft) Φ 01 1 3 μ- 3 rt if tr rt t rt H 01 Φ Φ φ φ
0 < rt o < 3 σ φ μ- 1 * : Φ μ- β) ø rt ΓΛ TJ rt tr o μ- 01 o £ Φ ft) μ- Φ <
Φ Φ li H 01 rt ft 3 tr ^ o Φ TJ ft ft) •< 3 rt 01 rt O 01 3 ft φ T £ "* 3 H ci J rt o Ω rt* p H ft ft Φ ft) σ\ μ- o £ o tQ pi ft H μ- n o Φ H μ- tr n H ft J ftl o Mi o H 10 ft It o H Φ 1 ft) Mi <! 0 ft ft) < 3 ^ rt Φ o φ ft Φ 11 ft « μ1 ^ o o
TJ ft μ- 3 H o 01 s; ^ rt φ Mi Φ Φ tQ " 3 01 3 ii lΩ Φ ft) Φ rt μ- <! TJ rt ft) TJ o . ft) ft) ft μ- Φ Φ rt tr 01 Ω n ft) ft) Φ Pi 01 ft) Ω rt tr o Ω ! β) tr 3 o fti β) IΩ riΦ 3 ft) IQ S 0 tr O tr φ It rt H μ- J <! TJ . Ω φ Ω Φ ft) pi 11 Φ *<: 3 tr •I tt φ ft) 3 01 ft) 3- Hi Hi φ tr tr ft μ- J 01 TJ ft) | TJ . o H μ- Ω ft) It ft) It Φ β> Φ pι It rt 01 Ω μ- K
M ft Φ φ 3* Φ ft> I-1 ft) μ- • 3 < < o o μ- j μ- rt 0 μ- β) Φ ^ Ω It Φ ft) P> Φ 3 tQ rt μ- Ω 3 ^ J Φ £ Ω 3 rt μ- μ-
O tr Mi 3 H tr tr X TJ rt 3 01 rt φ 3 Ω H ft) tQ it n T J5 Φ tr 3 3 o I-1 Ω TJ rt 3 J ft l_l. rt Φ 3 o ø J P 3 3 ft t_ι. μ- Ω <J P> Φ rt β) TJ Φ ro Φ . 01 o ft) β) ω Φ tr ft J φ Φ rt « H 3 in tQ 01 tr 01 Φ Φ Φ Φ J ft) μ- 3 ϋ Ω tQ £ rt 01 Φ S φ Φ μ* ft Ω 3 £ ft 01 ft) μ- tQ in rt
Φ φ Ω t n J Ω TJ 3 TJ o Hi Φ ft) ft tt 3 μ- 01 μ- & H μ- μ- ft) rt It O ft) H Ω Φ o rt β)
H ft σι rt Φ J H 01 Ω ft) H it 0 < rt ft) 3 rt Ω It 01 li rt ft) 03 tr H
01 ! -. 0 H μ- μ- 01 & Φ H o 01 ^ ri3 pi μ- 3 ft Φ tr rt 01 Ω ftl *. >t ft) Φ H
Φ φ Mi o PJ Φ rt μ-
3 o H" Ω μ- 3 pi ft) rt 3 φ β) Φ o tr rt <! 3 μ- μ- ttl Φ n Φ »> ft) μ- O o β> H ) P 01 Ml It 03 M Φ μ- It μ- H3 ø μ- ft) ø1 o 3 H ft
<! It rt ft) H rr to 01 3 3 It rt * s O 3 ft> rt Ω μ- J " Hi P Ω o O . it 01 3 ω 0 3 Φ Φ
H it IQ tr Ω Φ μ- tr TJ H φ- tr TJ tr : H tr n 3 Φ μ- Ml Φ 0 3 Φ Φ φ rt Φ ft μ- 3 ■tQ tr
Φ Φ Φ Ω 01 O β) 1 0 t)
^ Φ 3 Φ φ Φ μ- tQ Φ o Ω 3 ti . 11 o n μ- rt iQ f 3- ft Φ TJ 3 rt 3 H Φ μ- φ Φ Φ ct Φ ! ϋ ft φ ft ø ft 3 01 μ- Ω rt ft ft TJ 0 S O Φ β)> ft> rt Ω Ω Ω ft) 3 μ- 01 ft) ft Φ 01 if P) ft) jn Φ Φ 3 ^ μ- ft) ft fti It 3 H Φ I 3 >τl 3 TJ 3* ft) It - & sa ii 01 o 11 rt ft ft | ft lΩ rt ϋ 3 3 Φ 3
3 It it rt 01 01 t tr rt μ- tQ TJ o rt 01 o TJ rt 3 ft) μ- ft tr ft) ft) μ- ft) β) Φ S rt Φ )
01 t ft) Ω 01 3 ft) Φ μ- rt < 01 <! 3 f J rt 1 TJU β
P> Φ P> φ to SI lΩ P I-1 ft μ- f ; rt - ft) . tQ Φ tr ø p) μ- 01 Q ≤ μ- tr o ft if Hi 01 O ft) tr tr rt rt p> O μ- Φ TJ ft) It Q ft ft) tr β> n tQ Ω 3 μ- 3 ftl 3 tr μ- μ- ft) W o - o IQ Hi < ft I-1 ftl
3 0 μ- ft 0 rt 01 φ Φ β) It • rt φ Φ 3 rt Φ ft) Φ 3 rt 01 Φ H φ Φ μ-
Ω <! 3 fti O Φ li φ • rt o tr 3 ft ft) Ω μ, μ- φ tr P) ft) tr ft) 01 rt 01 Ω 01
Φ It fti 01 It ft) Φ 53 ft σi μ- It o μ- ft) Φ ft rt tQ φ tr tr 3 Φ tr Φ 0 o Ml J ft - Ml rr 3 3 ft) μ- ft) H φ 01 J s a ft) o it ω rt ft) 3 β) p p) φ 3 It
0Λ Φ Φ P) Ω Φ rt o μ- 3 o it tr 01 iQ It o Ω 01 φ φ Hi - ti n t1 03 <! rt μ- tr
H p) 3 tr H H μ- 3 * n Φ Φ rt J Φ ct Φ Φ ft) 3 * Φ 3 φ φ o H μ- " O Φ o H 3 rt 3 μ- ft! Hi 3 * 01 3 Hi tr H 11 it 3 01 H Ml fti It ft) Ω J rt 3 ti βl 3
Φ μ- Ml φ H 0 Φ It 3 ftl Φ H Φ o φ φ it Φ Hi ft <! o 01 It • 3" ft Φ fti tr rt o rt 3 J rt Mi 3 H H it 01 TJ rt K Φ <! 3* H μ- o ! Φ tl rt 0 ' fti 03 (Q Φ Φ 3 H Φ ft) £ ft) rt Φ it ^ Ω Φ rt n ft 01 μ- ft) H φ ft) φ Hi 3 H 0 M It tr 01 Φ 3 rr to n
Ω o 3 Φ M ti o H o rt tr μ- Φ ft tl ^. _ rt ft) β) tl φ <: to 3 3 Φ tr to tΩ
W n ft 01 H φ 3 0 ft) TJ tr n H μ- φ o 3 3 φ ft) tl Φ Φ t ft Φ ft ft 3 Φ » Φ ft> w - Ml φ ft) TJ 01 r K Φ ^ Φ <! Φ ft 0 H rt φ tr rt It rt ft
IQ Pi M § , 3 ft oi tr μ- Ml ^
0 Φ Φ μ- Ω H tQ o Hi Ml Φ Ω o Hi Φ tr Hi Φ £ - ->
Φ ø Ω ft) 0 8 01 φ 3 01 Φ ft ft Φ rt μ- μ-
01 ft ft 0 H TJ μ- φ Φ Hi O ft) Φ
3 3 φ 01 Φ o rt p> It φ ft f 3* φ !? £ tn t 3 3 Mi fH ft P 3 rt TJ tl o ti 3 It tQ tQ μ-
Φ μ- ft 01 H ft 3 Hi βl P> It tr ft Φ M μ- H ft) P) 3 1 it o tπ H n Pt ft 3" βl P rt
It H <! rt It J 01 rt 3 H 0 Φ μ- 3 tl ft rt μ- a < rt β) TJ rt φ TJ ft) Φ φ ø Ω μ- it tr P> J it H | >< n ft 3 S 01 μ- 3 rt p) β) 3 o tr ø <! ft TJ S 01 ^ 3
Φ ft) ft 0 Φ Φ rt ft> β) β) Ml Φ 01 3 TJ o tQ 3 ro μ- 01 φ φ H β) It ft) o ftl lΩ φ TJ ft o li < H Ω o Hi It μ- 11 o 3 f Φ O TJ Φ w ft) in rr tr lΩ ii ϋ 3 ft Φ 3 01 xl φ tfl Ω o n 0 ft) Ω o Hi rt ft) 3 0 Φ It Φ o Φ Φ μ* φ f n 3 3 ft o tr 0 3 r-1 o Φ H 01 ft s rt ft ft) 3 rt H o o μ- o\ •• ω tr t J tr
It ιt tr ft) Ω n 01 H Φ μ- Φ Qπ φ μ- Ω Ω 3 It Ml Φ 11 01 rt ft) μ- ft ft to ft ft) 3 n rt μ- Ω φ
Mi o Ω tr 3* It 3 ft) μ- Φ 01 Φ rt S g Φ TJ ft) φ ft w μ- μ- ft)
Φ φ 0 ft) ft) <i φ ft to 3 It Φ tt Ω X Φ μ- Ω rt 3 tr H rt o μ- n Ω J H μ- O p) 01 ct 3 ft) Φ Ω O TJ ft ft μ- ft tn tt o s 0> o ft> Φ 1 - It * ft £ ft μ- ft) rt
3 n 0 3 01 K ft μj 3* ft) 3 φ 01 Φ 3 < S 3 0 3 T) ft Φ ft Φ 0 rt P) Φ ft 01 3 01 Ω φ Φ ft o rt p) β> 1 O 3 rr & rt oi rt tr 11 ><; tQ μ- O o ft o tr o li J tr " ft) It it 0 H φ J tr μ- tr iQ ft) W 3 « o μ- Hi μ- Ω Φ 0 cl li < β) Φ Φ ft •- P> Ω Φ K 01 ftl Hi 3 μ- ΓJI Φ 3 μ- o p φ tQ β) 3 Mi tr Φ 01 iQ 01 o tQ φ 01 Φ oi μ- TJ s fD 3 3 01 tf) 01 3 tr o 3" rt
TJ ft> t ft TJ TJ Φ Φ 0 3 3 rt 3 rt n 3 μ- φ Φ H Ω H Ω ft) μ- H 3" ft M ft 01 n ft 01 Mi φ ft P) 01 μ- o P) 01 0 01 11 ft) It rt β) ft) tQ Ω ft> Ω CO rt Φ pi PJ φ ft o μ- . ft 3 P) 3 01 . 3 < Ω to tr H 1 M Φ ft) 01 o t O rt
^ ft £ fti (Q Φ ft ≤ Hl ft) rt φ Ω pi φ Φ * 01 H ft 1 ft) TJ It H oi t o o Φ ft) 11 Φ μ- It rt * H1 It φ μ- i fti fti Φ n H μ* 01 01 3 tr oi Φ 3 01 Φ tr
Figure imgf000016_0001
Figure imgf000016_0002
operating system which calls the rite_Data method as in 640a to redirect data to the application-side socket 626b. Data is read by the socket 626a in the network server process as in step 642b and the servlet instance 610 creates a data object in step 650 to store the data. In step 652, the servlet instance 610 calls the network page, e.g., the JavaServer Page, associated with this output record. The network page is populated with data from the data object as in step 652 and then served to the network user agent 570 as, e.g., an HTTP response, in step 660.
Subsequent interactions between the client interface on the network user agent 570 and the application 122 flows through the socket connections 626a and 626b. When che client submits a page, the servlet instance 610 on the network server restores" session data from a previously saved session object which has a reference to a socket or a data cjueue object or a message queue object. The input data is then forwarded to socket or queue 626a as in step 642c, to the other application socket or queue 626b and I/O buffers if any and to the application runtime component 430, and eventually to the legacy program 122 that was waiting on a Read_Data method 640b. The legacy application 122 then continues its execution in its native environment on the computer 100 until the next I/O exchange. When the application ends, control returns to the application invoker 660 which closes the endpoint connection as in step 620.
In Figure 6, a Report Program Generator (RPG) program is used as an example of a legacy application although it is to be understood that the architecture but could also support legacy applications written in COBOL and other programming languages . Sockets are used as the communication mechanism between the distributed processes but any communication endpoint mechanism available to the server, such as data queue objects for enhanced performance if the server and the legacy application are within one computer or the message queue for enhanced reliability and security, may also be used. An initial program in the prestarted job may write the descriptor of the application-side socket to a environment variable, activate the redirection, and invoke the legacy application. When the program hits an I/O instruction, such as a write instruction followed by a read instruction, EXFMT in RPG, output dat-a is sent to a data manager which calls a Publish-to- Web runtime interface, Write_Data, to write to the socket. Data may also be read by the socket 626b using the Publish-to-Web runtime interface Read Data.
Thus, the invention allows the user to deploy entire business-critical legacy applications to the Internet to take advantage of state-of-the art technology without having to restructure or make code changes to the programs.. The legacy application, moreover, executes normally. Legacy application data becomes available across the network for any purpose because it is stored in data objects on the network server. The invention, moreover, allows the user to modify the network pages, such as JavaServer Pages, to create links within the network server to new web based applications. This capability allow interactions between legacy and other network based applications, including merging legacy application data with data from other network applications in the network server. Computer and client systems that allow remote invocation of programs are able to use the architecture described above to run the web server and the legacy applications in separate computer systems. The invention, moreover, allows the user to customize the JavaServer Pages according to the company's rules and guidelines for application presentation. The solution presented herein further allows the I/O data to be converted to other formats that would suit display types other than a browser. One powerful application is the conversion of the I/O data and the display records to a generic XML based user interface. The XML- user interface can then be fed into different types of user interface renderers. These renderers can be Java-Swing based, Voice-Based, PDA Based, etc. The invention, therefore, opens access to existing legacy application from multiple types of, future devices.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example and not limitation and that variations are possible. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents .

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.
2. The method of claim 1, further comprising the steps of:
(a) requesting the application from a client connected to a server over a second network;
(b) updating at least one network page with the dynamic data; and
(c) transmitting the updated network pages to the client.
3. The method of any one of claims 1 to 2, wherein the first network is selected from the group consisting of: an internal network, an Intranet, a LAN, a WAN, an internal bus, a wireless network.
4. The method of claim 2 or claim 3 as dependent on claim 2, wherein the second network is selected from the group consisting of: an internal network, an Intranet, a LAN, a WAN, an internal bus, a wireless network.
5. The method of claim 2 or claim 3 or 4 as dependent on claim 2, further comprising:
(a) converting display files of the application to network pages capable of displaying dynamic data .
6. The method of claim 5, wherein the network pages are based on a XML language .
7. The method' of claim 6, wherein the XML language is HTML.
8. The method of claim 6, wherein the XML language is WML.
9. The method of claim 5, wherein the network pages are JavaServerPages .
10. The method of claim 2, wherein the network pages are stored on the server .
11. The method of any one of claims 1 to 10, further comprising:
(a) creating an I/O buffer for the dynamic data in the computer.
12. The method of claim 1, wherein the computer contains the server.
13. The method of any one of claims 1 to 12, further comprising:
(a) creating a first endpoint connection between the servlet instance and the network publishing component.
14. The method of claim 13, wherein said endpoint connection is a socket .
15. The method of claim 13, wherein said endpoint connection is a data queue obj ect .
16. The method of claim 13, wherein said endpoint connection is a message queue .
17. 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.
18. The program product of claim 17, further comprising a screen definition converter to convert the input/output screen definitions of the application to the network user- interface pages.
19. 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.
20. 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.
21. The of claim 20, further comprising:
(a) a plurality of network display pages, each of the network display pages unique to each input/output screen definition of the application
wherein the servlet updates the network display pages for transmission to the client over the network.
22. 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.
23. 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.
PCT/GB2001/003315 2000-08-14 2001-07-23 Accessing legacy applications from the internet WO2002015006A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU2001272662A AU2001272662A1 (en) 2000-08-14 2001-07-23 Accessing legacy applications from the internet
DE60132901T DE60132901T2 (en) 2000-08-14 2001-07-23 INTERNET ACCESS TO APPLIED APPLICATIONS
EP01951813A EP1309914B1 (en) 2000-08-14 2001-07-23 Accessing legacy applications from the internet
KR1020037001776A KR100574156B1 (en) 2000-08-14 2003-02-07 Accessing legacy applications from the internet

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002316003A CA2316003C (en) 2000-08-14 2000-08-14 Accessing legacy applications from the internet
CA2,316,003 2000-08-14

Publications (1)

Publication Number Publication Date
WO2002015006A1 true WO2002015006A1 (en) 2002-02-21

Family

ID=4166896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/003315 WO2002015006A1 (en) 2000-08-14 2001-07-23 Accessing legacy applications from the internet

Country Status (9)

Country Link
US (1) US7007278B2 (en)
EP (1) EP1309914B1 (en)
KR (1) KR100574156B1 (en)
CN (1) CN1189817C (en)
AT (1) ATE386975T1 (en)
AU (1) AU2001272662A1 (en)
CA (1) CA2316003C (en)
DE (1) DE60132901T2 (en)
WO (1) WO2002015006A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029805A2 (en) * 2002-09-30 2004-04-08 International Business Machines Corporation A common scheduler web service for distributed network environments
KR100429558B1 (en) * 2002-03-04 2004-04-29 쉬프트정보통신 주식회사 ADE data set component of client computer for transmitting/receiving of data between web servers
KR100900168B1 (en) 2006-04-19 2009-06-02 닛본 덴끼 가부시끼가이샤 Screen transition program generating method and device

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7950999B2 (en) * 2004-09-16 2011-05-31 Bally Gaming, Inc. User interface system and method for a gaming machine
US9235955B2 (en) * 2000-12-22 2016-01-12 Bally Gaming, Inc. Universal game monitoring unit and system
US8678902B2 (en) 2005-09-07 2014-03-25 Bally Gaming, Inc. System gaming
US8516054B2 (en) * 2000-12-20 2013-08-20 Aurea Software, Inc. Message handling
US7240101B2 (en) * 2001-04-02 2007-07-03 International Business Machines Corporation Method and apparatus for efficiently reflecting complex systems of objects in XML documents
WO2002095553A2 (en) 2001-05-18 2002-11-28 Imprivata Inc. Biometric authentication for remote initiation of actions and services
US7043481B2 (en) * 2001-06-01 2006-05-09 Thought, Inc. System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships
US7406693B1 (en) * 2001-09-10 2008-07-29 Ncr Corporation Method of controlling applications
CA2363515A1 (en) * 2001-11-21 2003-05-21 Ibm Canada Limited-Ibm Canada Limitee Enhancing resource adapters
US7099877B1 (en) * 2001-12-21 2006-08-29 Unisys Corporation Step to define inputs for a service
US20030187849A1 (en) * 2002-03-19 2003-10-02 Ocwen Technology Xchange, Inc. Management and reporting system and process for use with multiple disparate data bases
US7149730B2 (en) * 2002-05-03 2006-12-12 Ward Mullins Dynamic class inheritance and distributed caching with object relational mapping and cartesian model support in a database manipulation and mapping system
AU2003239385A1 (en) * 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US20030217191A1 (en) * 2002-05-20 2003-11-20 Yang Gao System and method for converting the UI logic of a windows software application to run within a web browser
US8301800B1 (en) * 2002-07-02 2012-10-30 Actional Corporation Message processing for distributed computing environments
US8986122B2 (en) 2002-09-13 2015-03-24 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US8992326B2 (en) 2006-09-06 2015-03-31 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US8568237B2 (en) 2004-09-16 2013-10-29 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US8529349B2 (en) * 2004-09-16 2013-09-10 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US9082260B2 (en) 2004-09-16 2015-07-14 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US9117342B2 (en) 2004-09-16 2015-08-25 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US8535158B2 (en) * 2004-09-16 2013-09-17 Bally Gaming, Inc. Networked gaming system communication protocols and methods
US20040061717A1 (en) * 2002-09-30 2004-04-01 Menon Rama R. Mechanism for voice-enabling legacy internet content for use with multi-modal browsers
US7353507B2 (en) * 2002-10-30 2008-04-01 Hewlett-Packard Development, L.P. Intercepting function cells
US7139559B2 (en) * 2002-12-09 2006-11-21 Qualcomm Inc. System and method for handshaking between wireless devices and servers
US20040249849A1 (en) * 2003-06-05 2004-12-09 Michael Mordkovich Conversion system
EP1652111B1 (en) * 2003-07-10 2017-11-01 CA, Inc. Web product interface system and method
US7543280B2 (en) * 2003-09-08 2009-06-02 Sap Ag Converting and executing applications
US7340731B2 (en) * 2003-10-30 2008-03-04 Sprint Communications Company L.P. System and method for COBOL to provide shared memory and memory and message queues
CN100371888C (en) * 2004-07-08 2008-02-27 腾讯科技(深圳)有限公司 Method of making network page picture directly apply to instant communication tool
US9022866B2 (en) * 2004-09-16 2015-05-05 Bally Gaming, Inc. User interface system and system-controlled bonus system
US10803694B2 (en) 2004-09-16 2020-10-13 Sg Gaming, Inc. Player gaming console, gaming machine, networked gaming system
US7685591B2 (en) 2004-12-20 2010-03-23 Microsoft Corporation Customizing a software application through a patch file
US7594225B2 (en) * 2004-12-20 2009-09-22 Microsoft Corporation Integrated setup for generating customization XML
US8438537B2 (en) * 2005-03-07 2013-05-07 Siemens Aktiengesellschaft System arrangement and method for automated application development with user guidance
US20060198208A1 (en) * 2005-03-07 2006-09-07 Lantronix, Inc. Publicasting systems and methods
NZ562583A (en) * 2005-03-16 2009-09-25 Airscape Technology Pty Ltd Method for distributing computing between server and client
US8191078B1 (en) 2005-03-22 2012-05-29 Progress Software Corporation Fault-tolerant messaging system and methods
US8301720B1 (en) 2005-07-18 2012-10-30 Progress Software Corporation Method and system to collect and communicate problem context in XML-based distributed applications
US8840462B2 (en) * 2005-09-07 2014-09-23 Bally Gaming, Inc. Tournament bonus awards and related methods
US20080254883A1 (en) * 2005-09-07 2008-10-16 Bally Gaming, Inc. Tournament bonus awards
US8678901B1 (en) 2005-09-07 2014-03-25 Bally Gaming System gaming
US7765254B2 (en) * 2005-10-26 2010-07-27 International Business Machines Corporation Integration of legacy applications
EP2009586A3 (en) * 2005-11-03 2011-02-02 KTFreetel Co., Ltd. Open interface device and method
US20070106804A1 (en) * 2005-11-10 2007-05-10 Iona Technologies Inc. Method and system for using message stamps for efficient data exchange
US7979569B2 (en) 2005-12-01 2011-07-12 Firestar Software, Inc. System and method for exchanging information among exchange applications
US7710958B2 (en) 2006-01-20 2010-05-04 Iona Technologies Limited Method for recoverable message exchange independent of network protocols
US20070174420A1 (en) * 2006-01-24 2007-07-26 International Business Machines Corporation Caching of web service requests
US7950021B2 (en) 2006-03-29 2011-05-24 Imprivata, Inc. Methods and systems for providing responses to software commands
US20070240103A1 (en) * 2006-03-29 2007-10-11 Beaton Murray J Use of UML state machines to model portal applications
US20070288535A1 (en) * 2006-06-13 2007-12-13 Hitachi, Ltd. Long-term data archiving system and method
US7661113B2 (en) * 2006-09-28 2010-02-09 Sap Ag Method and system for data preparation and communication between software applications
US8099710B2 (en) 2006-12-14 2012-01-17 Microsoft Corporation UI behaviors
US8276115B2 (en) * 2007-02-06 2012-09-25 Progress Software Corporation Automated construction and deployment of complex event processing applications and business activity monitoring dashboards
US9009234B2 (en) 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
US8656350B2 (en) * 2007-02-06 2014-02-18 Software Ag Event-based process configuration
WO2008098169A2 (en) * 2007-02-08 2008-08-14 Aspenbio Pharma, Inc. Compositions and methods including expression and bioactivity of bovine follicle stimulating hormone
US8091094B2 (en) * 2007-10-10 2012-01-03 Sap Ag Methods and systems for ambistateful backend control
US7882399B2 (en) * 2007-12-13 2011-02-01 International Business Machines Corporation Intelligent job functionality
US9779176B2 (en) * 2008-04-02 2017-10-03 International Business Machines Corporation Accessing external functionality within a component-based web application
US20090282396A1 (en) * 2008-05-07 2009-11-12 Boyer John M Preserving a state of an application during update
US8832580B2 (en) 2008-11-05 2014-09-09 Aurea Software, Inc. Software with improved view of a business process
US20100146417A1 (en) * 2008-12-10 2010-06-10 Microsoft Corporation Adapter for Bridging Different User Interface Command Systems
US20110231847A1 (en) * 2009-10-28 2011-09-22 Lategan Christopher F Management of multiple instances of legacy application tasks
US8190736B2 (en) 2009-12-16 2012-05-29 Quantum Corporation Reducing messaging in a client-server system
US8914544B2 (en) 2010-06-23 2014-12-16 Smartek21, Llc Computer-implemented system and method for transparently interfacing with legacy line of business applications
US9674294B1 (en) * 2010-09-01 2017-06-06 The Mathworks, Inc. Integrated collaboration environment
US8931037B2 (en) * 2010-12-27 2015-01-06 Microsoft Corporation Policy-based access to virtualized applications
US9176742B2 (en) 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications
CN102436509B (en) * 2011-12-29 2014-07-02 奇智软件(北京)有限公司 Method and system for browsing webpage at mobile terminal
US9471405B1 (en) * 2014-01-13 2016-10-18 OpenLegacy Technologies LTD Methods and systems for access to legacy programs using non-legacy interfaces
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US10042622B2 (en) * 2016-02-19 2018-08-07 International Business Machines Corporation Methods and systems of generating ease of use interfaces for legacy system management facilities
US10798111B2 (en) * 2016-09-14 2020-10-06 International Business Machines Corporation Detecting intrusion attempts in data transmission sessions
KR20180074151A (en) * 2016-12-23 2018-07-03 에이치피프린팅코리아 주식회사 Image forming apparatus and method for setting up a network in thereof
US11610052B2 (en) * 2018-08-16 2023-03-21 Soroco Private Limited Techniques for automated control of computer programs through text-based user interfaces
CN112930523B (en) * 2018-09-10 2024-01-23 阿韦瓦软件有限责任公司 Edge HMI module server system and method
JP2021158561A (en) * 2020-03-27 2021-10-07 キヤノン株式会社 Communication apparatus, control method therefor, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US6173248B1 (en) * 1998-02-09 2001-01-09 Hewlett-Packard Company Method and apparatus for handling masked exceptions in an instruction interpreter
US6728769B1 (en) * 2000-05-04 2004-04-27 Sun Microsystems, Inc. Method and apparatus for providing a highly interactive transaction environment in a distributed network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IBM CORP.: "IBM WebSphere Host Publisher Administrator's and User's Guide - Version 2.2", WEBSPHERE HOST PUBLISHER DOCUMENTATION, July 2000 (2000-07-01), pages i-iii,1 - 128, XP002178198, Retrieved from the Internet <URL:ftp://ftp.software.ibm.com/software/webserver/hostpublisher/publications/hp22_guide.pdf> [retrieved on 20010920] *
IBM CORP.: "IBM WebSphere Host Publisher Programmer's Guide and Reference - Version 2 Release 2", WEBSPHERE HOST PUBLISHER DOCUMENTATION, July 2000 (2000-07-01), pages i-v,1 - 64, XP002178200, Retrieved from the Internet <URL:ftp://ftp.software.ibm.com/software/webserver/hostpublisher/publications/hp22_progguid.pdf> [retrieved on 20010920] *
KRUEGER J, DEGIGLIO M: "IBM Host Integration Solution Products: Extending AS/400 Applications for e-business", ANDREWS CONSULTING GROUP, February 2000 (2000-02-01), Cheshire, CT, USA, pages 1 - 10, XP002178199, Retrieved from the Internet <URL:ftp://ftp.software.ibm.com/software/webserver/hostintegration/library/hiandas400.pdf> [retrieved on 20010920] *
TIBBETTS J ET AL: "Legacy applications on the Web", AMERICAN PROGRAMMER, CUTTER INFORMATION CO., ARLINGTON, MA, US, vol. 9, no. 12, 1 December 1996 (1996-12-01), pages 18 - 24, XP002092254, ISSN: 1048-5600 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429558B1 (en) * 2002-03-04 2004-04-29 쉬프트정보통신 주식회사 ADE data set component of client computer for transmitting/receiving of data between web servers
WO2004029805A2 (en) * 2002-09-30 2004-04-08 International Business Machines Corporation A common scheduler web service for distributed network environments
WO2004029805A3 (en) * 2002-09-30 2005-06-16 Ibm A common scheduler web service for distributed network environments
KR100900168B1 (en) 2006-04-19 2009-06-02 닛본 덴끼 가부시끼가이샤 Screen transition program generating method and device

Also Published As

Publication number Publication date
EP1309914A1 (en) 2003-05-14
CA2316003C (en) 2009-02-03
EP1309914B1 (en) 2008-02-20
US20020019884A1 (en) 2002-02-14
AU2001272662A1 (en) 2002-02-25
KR100574156B1 (en) 2006-04-25
CN1447937A (en) 2003-10-08
CN1189817C (en) 2005-02-16
KR20030045027A (en) 2003-06-09
ATE386975T1 (en) 2008-03-15
DE60132901T2 (en) 2008-07-03
US7007278B2 (en) 2006-02-28
CA2316003A1 (en) 2002-02-14
DE60132901D1 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
WO2002015006A1 (en) Accessing legacy applications from the internet
US7904803B2 (en) Method and system for converting user interface source code of a legacy application to web pages
US5894554A (en) System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US9280527B2 (en) Method and system for directly mapping web services interfaces and Java interfaces
US8732108B2 (en) Rule authoring for events in a grid environment
US6260078B1 (en) Using a distributed object system to find and download java-based applications
US5715453A (en) Web server mechanism for processing function calls for dynamic data queries in a web page
US6948174B2 (en) IMS MFS (message format service) metamodel
US6912719B2 (en) Type descriptor metamodel
US7707563B2 (en) System and method for network-based computing
US9454616B2 (en) Method and system for unifying configuration descriptors
US20030055624A1 (en) Dynamic, real-time integration of software resources through services of a content framework
CA2298003A1 (en) Scripting task-level user interfaces
KR20050119645A (en) Program creation by combining web services using graphic user interface controls
CN1749961A (en) Desktop application implemented with web paradigm
US7975255B2 (en) Method, apparatus, and program product for building integration workflow endpoints into web components
Karakostas Standards for Web-Based Integration Adapters
Guide PV-WAVE®
EP1497773A1 (en) System and method for automated workflow application development

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020037001776

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2001951813

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 018141587

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2001951813

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020037001776

Country of ref document: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

WWG Wipo information: grant in national office

Ref document number: 1020037001776

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2001951813

Country of ref document: EP