![]() |
Method and apparatus for representing host datastream screen image information using markup languagesNo:6446110 -Application no:09286278 -Filed date:1999-04-05 -Issue date:2002-09-03Abstract:A method and apparatus for representing host datastream screen image information using markup languages is provided. A distributed data processing system contains a network, at least one host computer, at least one client computer, and optionally at least one server. The host computer generates a host datastream containing host screen image information and forwards the host datastream to a client. If the client is not directly connected to the host, then the host datastream may be routed to the client. The host datastream is converted to a markup language tagged datastream at some point within the network according to a Document Type Definition (DTD) authored for the purpose of representing information in host datastreams. The client receives the markup language tagged datastream containing the host screen image information derived from the host datastream and parses the markup language tagged datastream to identify the host screen image information. The host screen image information is displayed on a display device connected to the client, enabling the client to act as an emulator for the host. US Classes:Inventors:Agents:Assignees:Claims:What is claimed is: 1. A method for processing a host datastream from a server to a client in a distributed data processing system, the method comprising the computer-implemented steps of: receiving, at the server, a host datastream comprising host screen image information; generating an XML datastream comprising the host screen image information; and sending the XML datastream to the client. 2. The method of claim 1 wherein the XML datastream comprises a session element and a screen element. 3. The method of claim 2 wherein the session element comprises session subelements describing characteristics of a session between the client and a host. 4. The method of claim 3 wherein the session subelements comprise data specifying a host name. 5. The method of claim 3 wherein the session subelements comprise data specifying a session name. 6. The method of claim 3 wherein the session subelements comprise data specifying descriptive information for the session. 7. The method of claim 3 wherein the session subelements comprise a session identifier. 8. The method of claim 2 wherein the screen element comprises screen subelements describing content for a host screen image. 9. The method of claim 8 wherein the screen subelements comprise field elements specifying textual content. 10. The method of claim 8 wherein the screen subelements comprise interaction elements specifying actions directed from the client to a host. 11. The method of claim 1 wherein the host datastream is formatted for an IBM 3270 terminal. 12. The method of claim 1 wherein the host datastream is formatted for an IBM 5250 terminal. 13. A method for emulating a host computer on a client in a distributed data processing system, the method comprising the computer-implemented steps of: receiving, at the client, an XML datastream comprising host screen image information derived from a host datastream; parsing the XML datastream to identify the host screen image information; and displaying the host screen image information on a display device connected to the client. 14. The method of claim 13 further comprising: in response to receiving user input at the client, generating an XML datastream comprising the user input as an action element; and forwarding the XML datastream to a host computer in the data processing system. 15. The method of claim 13 wherein the XML datastream comprises a session element and a screen element. 16. The method of claim 13 wherein the client is a personal digital assistant device. 17. The method of claim 13 wherein the client forwards the host screen image information to a personal digital assistant device. 18. A method for processing a host datastream between a server and a client in a distributed data processing system, the method comprising the computer-implemented steps of: receiving, at the server, a first host datastream comprising host screen image information; generating a first XML datastream comprising the host screen image information; sending the first XML datastream to the client; receiving, from the client, a second XML datastream comprising host-bound input information; generating a second host datastream comprising the host-bound input information; and forwarding the second host datastream to a host. 19. A distributed data processing system comprising: a network; a host computer, wherein the host computer generates a host datastream comprising host screen image information and sends the host datastream to a client; a client, wherein the client receives an XML datastream comprising the host screen image information derived from the host datastream and parses the XML datastream to identify the host screen image information; and a display device connected to the client, wherein the display device displays the host screen image information. 20. The distributed data processing system of claim 19 further comprising: an intermediate server, wherein the intermediate server receives the host datastream and generates the XML datastream containing the host screen image information in the received host datastream. 21. The distributed data processing system of claim 19 wherein the XML datastream comprises a session element and a screen element. 22. A data processing system for processing a host datastream from a server to a client, the data processing system comprising: receiving means for receiving, at the server, a host datastream comprising host screen image information; generating means for generating an XML datastream comprising the host screen image information; and sending means for sending the XML datastream to the client. 23. The data processing system of claim 22 wherein the XML datastream comprises a session element and a screen element. 24. The data processing system of claim 23 wherein the session element comprises session subelements describing characteristics of a session between the client and a host. 25. The data processing system of claim 22 wherein the screen element comprises screen subelements describing content for a host screen image. 26. A data processing system for emulating a host computer on a client in a distributed data processing system, the data processing system comprising: receiving means for receiving, at the client, an XML datastream comprising host screen image information derived from a host datastream; parsing means for parsing the XML datastream to identify the host screen image information; and displaying means for displaying the host screen image information on a display device connected to the client. 27. The data processing system of claim 26 wherein the XML datastream comprises a session element and a screen element. 28. A computer program product on a computer readable medium for use in a data processing system for processing a host datastream from a server to a client, the computer program product comprising: first instructions for receiving, at the server, a host datastream comprising host screen image information; second instructions for generating an XML datastream comprising the host screen image information; and third instructions for sending the XML datastream to the client. 29. A computer program product on a computer readable medium for use in a data processing system for emulating a host computer on a client in a distributed data processing system, the computer program product comprising: first instructions for receiving, at the client, an XML datastream comprising host screen image information derived from a host datastream; second instructions for parsing the XML datastream to identify the host screen image information; and third instructions for displaying the host screen image information on a display device connected to the client. Text:BACKGROUND OF THE INVENTION1. Technical Field The present invention relates generally to an improved data processing system and, in particular, to a method and apparatus for representing screen data from a host computer using a markup language. 2. Description of Related Art Some display devices that are used to present information from mainframe-type host computers have limited capabilities for displaying a user-friendly graphical user interface (GUI). These devices may have a graphic mode, but much of the information is text-only. A host datastream directed to a terminal connected to the host computer, e.g., IBM 3270 and 5250 terminals, typically describes a rectangular host screen image that can be viewed as a character-based structure of fields. The datastream is a shorthand representation for the screen containing both content and formatting attributes. For example, a sequence of 10 blank characters starting from position Other platforms that provide user-friendly graphical user interfaces may use host emulation software. However, the information that is received and sent must still conform to the format expected by the host computer. Parsing the host datastream is a major task of a typical host datastream emulation application. Most emulators avoid redundant parsing by storing the resulting parsed information for later reference. The host screen image information and associated information is stored in an internal data structure or presentation space to support the rendering of the host screen image and the interactions between the two applications at the ends of the datastream. Some previous solutions to the problems of creating a presentation space have used proprietary programming language structures. For example, Java-based emulation software may represent a presentation space using a Java object while a C-based emulation application represents the presentation space using C structures. Representing a presentation space in a proprietary programming language structure prevents the presentation information from being interchangeable in a multi-product, multi-language, or multi-tier environment. Proprietary presentation spaces create difficulties in adopting different presentation styles. For example, in a server-based environment, the server can not share a presentation space with its clients. A client needs to establish a special purpose, proprietary communications protocol with the server. The client then requests that the server run a service written to the proprietary presentation space application programming interface (API) in order for the server to retrieve requested information that the client requires to continue its processing. These iterations add significant communications overhead. Some previous solutions to the problems of creating a presentation space have chosen to duplicate a partial presentation space at the client. This may reduce the communications overhead but locks the application into a specific proprietary protocol and introduces other overhead for maintaining states for two presentation spaces. In the case of GUI customization for host screens, some previous solutions have typically reconstructed the presentation space information in a proprietary database with additional customizing information for each host screen. The GUI software checks every host screen for matching customizing information in the database to convert it to a different presentation style and maps back user inputs and interactions to keystrokes in the original presentation space. This process incurs the overhead of reconstruction, definition, mapping, and remapping of the same host data in several data structures. Furthermore, the resulting presentation style is locked into a specific customized database that is difficult to migrate to different presentation styles. In other solutions, an application typically needs to employ the legacy presentation space interfaces and formats. As has become apparent over the past few years, legacy systems may be costly, skill-dependent, and error-prone. The previous solutions do not present host screen data in a commonly interchangeable format that is easily integrated with other applications and independent of presentation styles. Therefore, it would be advantageous to represent host screen image information in a manner, which is flexible, pervasive, and requires less programming effort. It would be further advantageous for the solution to adhere to open programming and open data standards. SUMMARY OF THE INVENTIONThe present invention provides a method and apparatus for representing host datastream screen image information using markup languages. A distributed data processing system contains a network, at least one host computer, at least one client computer, and optionally at least one server. The host computer generates a host datastream containing host screen image information and forwards the host datastream to a client. If the client is not directly connected to the host, then the host datastream may be routed to the client. The host datastream is converted to a markup language tagged datastream at some point within the network according to a Document Type Definition (DTD) authored for the purpose of representing information in host datastreams. The client receives the markup language tagged datastream containing the host screen image information derived from the host datastream and parses the markup language tagged datastream to identify the host screen image information. The host screen image information is displayed on a display device connected to the client, enabling the client to act as an emulator for the host. BRIEF DESCRIPTION OF THE DRAWINGSThe novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTWith reference now to the figures, In the depicted example, a server With reference now to Peripheral component interconnect (PCI) bus bridge Additional PCI bus bridges Those of ordinary skill in the art will appreciate that the hardware depicted in The data processing system depicted in With reference now to An operating system runs on processor Those of ordinary skill in the art will appreciate that the hardware in For example, data processing system The present invention provides a method for transferring datastreams in particular formats across a distributed data processing system. The depicted example in FIG. The present invention provides a method of representing host screen images using a markup language to markup screen data by contents, attributes, and interactions. Although the examples are provided using XML (eXtensible Markup Language), it is contemplated that some other markup languages that are compatible with the Standard Generalized Markup Language (SGML) family of languages may be used to implement the present invention. However, the SGML-compatible language must offer tag definitions through Data Type Definition (DTDs) support so that the syntax and meaning of the tags within the system may be flexible changed. For example, although Hypertext Markup Language (HTML) is within the SGML family of languages, it does not offer the flexibility required by the present invention. More information about XML may be found in DuCharme, A host datastream is parsed once into an XML format that is interchangeable with any application. A set of tags are defined to store the field structure and character attributes of the host screen image with its data content in single data unit. Host emulation software implementing the method of the present invention may optionally generate an XML format after it has processed an outbound host datastream, i.e. a host datastream directed from a host to a client. Host emulation software implementing the method of the present invention may also accept XML-formatted input to generate an inbound host datastream, i.e. a host datastream directed from a client to a host. Host emulation software implementing the method of the present invention may also receive XML datastreams directly from host applications. The XML datastreams are received either via a conversion program that converts host datastreams to XML datastreams for legacy applications or from newly written host applications that are able to generate XML datastreams directly. Examples of these different embodiments of the present invention using different configurations of distributed data processing systems are described below with respect to With reference now to Host datastream With reference now to Mainframe host computer With reference now to With reference now to With reference now to With reference now to There are many advantages to using the methods of the present invention. Host screen images stored in the XML format can be accessed directly by different software components implemented in different languages without regard to language compatibility issues, which facilitates integration of XML-based host data sources with other data sources. XML-based host screen images can be easily customized to different display formats by applying different display stylesheets or rendering engines. For example, with a browser supporting XML and eXtensible Stylesheet Language (XSL), the host screen image can be displayed directly inside the browser without any programming effort. Different style sheets may be adopted by particular users as a preference option. XML is also an ideal format for storing the host image as an intermediate format for future processing or as a format for servers to exchange data. An important point is host datastreams need only be processed once on a given system The commonly understood XML format may be forwarded around the network for use by other applications, which may include but are not limited to: data source integration, presentation customization, distributed processing, and/or conventional host data entry processing. A distinct advantage of using XML is that little semantic meaning is lost in the conversion from a host datastream to an XML datastream. Although portions of a distributed data processing system may implement the above described methods as stand-alone applications or software components, in order to deploy a complete, distributed, data processing system that implements various aspects of the present invention, the following components are desirable: a set of tags for assignment to a representation of host screen images; software components for parsing or generating XML-based host screen image datastreams; common transport across a network; and host to XML datastream conversion. With reference now to The DTD shown in The âcontentâ element describes the detailed information about the host screen fields including both text content and text attributes (for example, field start position, length, protected or unprotected, field text, etc.). The âinteractionâ element specifies an inbound function key (i.e., a function key that may request some type of processing from the host within the emulator environment) or hints from outbound for expected inbound responses (i.e., a small amount of information from the host on expected input from a user within the emulator environment). The âdisplayâ element stores the host-application-generated screen-display-related information, such as background and foreground color. The advantage of separating out the display information is that it facilitates filtering the display information when only the host screen content is requested, which saves potential processing and transmission overhead. With this set of tags, content and formatting attributes of host screen images are preserved in a common format that is available to any application for further processing without dependence on special purpose programming interfaces, such as EHLLAPI (Emulator High-Level Language API, which is a C-based API for writing emulator applications) and HACL (Host Access Class Library, which is an API to create Host Access Java Beans running on top of HACL provided within the Host On-Demand or HOD software platform environment). A client-side application interacts with host applications directly via the interaction tags. Screens can be bookmarked easily for further processing, such as off-line transactions. The presentation style is totally independent of the original host application designated attributes. With reference now to With reference now to With reference now to In addition to the set of tags, two software components provide facilities for the conversion of the XML-based representation into a programming language's data structure for application development. The two additional elements are an XML-based host screen image parser and generator. The parser parses the XML representation and transforms it into an object tree that holds its information. The generator performs the reverse function by generating the XML-form of the host screen image from the object tree. These provide a different programming interface than special purpose programming interfaces such as EHLLAPI and HACL, which are usually employed in prior art systems to obtain the presentation space information containing host screen images. The XML datastreams are directly accessible to applications that incorporate the parser and the generator as convenience tools to simplify the programming effort. Parsers and generators are generally well known in the art for parsing and generating markup languages. The parser provides one with the ability to extract the host screen image from the XML data and perform some type of processing. The generator gives one the ability to generate the XML-based form and forward it to another software component for further processing. The XML datastreams can be forwarded across the network of a distributed data processing system through a common transport mechanism over sockets. The transport is generally used symmetrically at both ends of the application stream. The mechanism automatically wraps XML datastreams into socket stream objects and optionally applies an XML host data parser and generator to transmit an object tree from end-to-end in the application stream. The XML datastreams can be generated directly by an application or converted to or from a host datastream by an existing host application. A host-XML datastream converter establishes a session with the host application and converts one type of datastream to the other bi-directionally. The converter can be an integral part of the emulation software to enhance its capability. The converter may appear in various forms, as shown with respect to FIGS. The advantages of the present invention should be apparent in light of the detailed description. Previous solutions have used a language specific data structure to represent the host screen image. Sharing, formatting, and integration of the presentation space information have been done through specific software written to a specific interface. This approach has the disadvantages of requiring extra programming redundancies and efforts and of being non-pervasive and inflexible. This present invention uses a common XML format to represent the host screen image, which makes the host screen image information interchangeable and easy to share. Reduced programming effort is required as knowledge of markup languages becomes more available. Customizing the display of the host screen image is flexible. Application designers merely supply different display style sheets to show different looks for the host screen image. Integration with other data sources is pervasive and follows a common XML standard. Host-based data processing is much easier with more direct availability of to the host-generated data. It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. Field of search:References: |
Browse by classes
Agriculture
Animals Automotives and Transportation Business and Commerce Chemistry Communications Construction Containers Electricity Energy Engineering Entertainment Fashion and Accessories Food Hardware and Tools Health and Medicine Home Industrial Information Technology Machines Materials and Material Science Miscellaneous Optics Outdoors Paper and Office Materials Physics Sanitation Technology Textiles Weaponry
Advertisements
|
