.NET Screen Scraping Technology for Legacy Integration

PASSPORT Host Integration Objects lets developers use screen scraping methods to integrate 3270 and 5250 host applications with other .NET or ActiveX applications. Screen scraping methods can provide non-intrusive, programmatic legacy system integration.

The programmatic legacy integration server includes the legacy integration object components, programming documentation, sample test programs and sample source code. The Zephyr solution is based on the Internet Engineering Task Force (IETF) Open Host Interface Objects (OHIO) model.

Screen Scraping Technology API and .NET

PASSPORT Host Integration Objects (HIO) features IP-based screen scraping technology and a well-documented, object-oriented API for easy, behind-the-scenes access to 3270 and 5250 host applications via .NET. The documentation includes sample source code and information to assist developers in their use of standard screen attributes to traverse applications, read and write information to the screen and much more. Given its programmatic approach to legacy integration, developers have great flexibility in the use of the tool to connect host applications with other .NET and ActiveX programs and solutions.

.NET Screen Scraping Technology Provides Low-Cost, Low Risk Legacy Integration

One of the benefits of using screen scraping technology for legacy integration is that projects can be completed quickly, inexpensively and with little or no risk. Available via an annual subscription-based license that includes the cost of the software, access to technical support and all product upgrades, PASSPORT HIO uses .NET and screen scraping technology to offer one of the most inexpensive approaches to legacy integration.

PASSPORT Host Integration Objects, based on the IETF OHIO draft, includes
direct TN3270 and TN5250 connectivity to critical legacy applications using IP.
Separate terminal emulation is not required for host access. Sample .NET programs, documentation and test programs that demonstrate the use of each object method, property and event are included in the PASSPORT screen scraping technology solution.

PASSPORT Legacy Integration Highlights

  • Non-intrusive integration with existing 3270 and 5250 applications
  • Direct access to host screen buffers (screen scraping)
  • Object-oriented API based on IETF OHIO draft
  • Does not require terminal emulation software
  • Proven TN3270 and TN5250 communications module
  • Designed for a Microsoft Windows environment
  • Offset addressing for host screen presentation space
  • Simplified model for presentation space
  • Automatic generation of presentation space field list and attributes
  • Keyword-based function text strings
  • Event notification for host communication status and screen
    updates
  • Diagnostic tracing capabilities

What is OHIO?

The Open Host Interface Objects (OHIO) address the need for a standardized
advanced programming interface to the host data. OHIO does not modify the
TN3270/TN5250 protocol or data stream but instead provides a common
access method to that data once it arrives at the client. OHIO uses an object
oriented approach to divide the data into logical objects and provides
methods on those objects to allow standard access to the data. You do not
have to be concerned with details of structure packing and parameter
command codes, but can focus on the application functions.

The OHIO API was designed as an alternative to the older IBM HLLAPI (High
Level Language Application Programming Interface) screen scraping technology. The reasons include:

  • OHIO was designed as an object oriented API, and thus has all the
    well known benefits of the object oriented programming paradigm.
  • Interacting with the host generally requires less code using the
    OHIO API than doing the same function through the HLLAPI interface.
  • OHIO objects concentrate related functions into specific classes,
    an easier to understand model than the one HLLAPI entry point.
  • No need to have a emulation session running in order to run an
    OHIO application.

SCREEN SCRAPING TECHNOLOGY

OHIO Features

  • No architectural limit to the number of sessions
  • Event notification for host communications status and screen updates
  • Comprehensive error trapping
  • Generation of error message text
  • Offset addressing for host presentation space
  • Simplified model for presentation space
  • Automatic generation of presentation space field list and attributes
  • Keyword-based function key strings

Objects

  • Sessions: Contains a collection of Session objects.
  • Session: A host session containing one Screen.
  • Screen: Screen encapsulates the host presentation space containing both OIA and Fields.
  • OIA: The operator information area of a host session.
  • Fields: Contains a collection of Field objects.
  • Field: A field in the presentation space. A field is the fundamental element of a virtual screen.

Note: “1” based counting is used for indexing (the first item in a collection is item 1, not item 0) and “0” based counting is used for positioning (the first position on the screen is position 0, not position 1).

Sessions Object

A collection object consisting of sessions.

PROPERTIES

  • Count Returns the number of items in the collection of objects. Read-only.
  • SessionLimit Returns an integer representing the number of licenses. Read only.
  • Version Returns a string representing the current version. Read only.
  • ExpireDate Returns a string representing the date when the software will expire. Read only.

METHODS

  • AddSession Adds a session to the Sessions collection.
  • OpenSession Returns an existing session and adds it to the Sessions collection.
  • CloseSession Closes a session in the collection.
  • Item Returns an element in the collection.
  • UpdateLicense Updates the PASSPORT HIO license code.

Session Object

Provides access to host data and PASSPORT HIO functionality. The Session object contains sub-objects, such as the Screen object and the Fields object.

PROPERTIES

  • ConfigurationResource The configuration resource for the Session object.
  • IsConnected Indicates whether the Session object is connected to a host. True means connected, false means not connected.
  • SessionName The session name for the Session object. The session name is unique among all instances of the Session object.
  • SessionType The session type for the Session object, 3270 or 5250.
  • Screen The Screen object for this session.

METHODS

  • Connect Starts the communications link to the host.
  • Disconnect Stops the communications link to the host.
  • EnableTrace Enables or disables data stream and/or low level trace for the session.

EVENTS

  • OnSessionChanged This event will be generated whenever the session state changes.
  • OnScreenChanged This event is generated whenever the virtual screen is
    modified.
  • OnOIAChanged This event will be generated when anything on the Operator Information Area (OIA) changes.

Screen Object

Provides access to the contents of the host screen’s presentation space.

PROPERTIES

  • Cursor The location of the cursor in the presentation space.
  • OIA The OIA object associated with this presentation space. This object can be used to query the status of the operator information area.
  • Fields The Fields object associated with this presentation space. This provides another way to access the data in the virtual screen.
  • Rows Returns the number of rows in the presentation space. Read-only.
  • Columns Returns the number of columns in the presentation space. Read-only.
  • String The entire text plane of the virtual screen as a string. All null characters and Field Attribute characters are returned as blank space characters.

METHODS

  • FindString Searches the text plane for the target string.
  • GetData Returns a character array containing the data from the Text, Color, Field or Extended plane of the virtual screen.
  • PutString Sends a string to the virtual screen at the specified location.
  • SendKeys Sends a string of keys to the virtual screen.
  • SendAid Sends an “aid” keystroke to the virtual screen.

Fields Object

Contains a collection of the fields in the virtual screen.

PROPERTIES

  • Count Returns the number of Field objects contained in the collection.

METHODS

  • Item Returns Field object at the given index.
  • Refresh Updates the collection of Field objects.
  • FindByString Searches the collection for the target string and returns the Field object containing that string.
  • FindByPosition Searches the collection for the target position and returns the OhioField object containing that position.

Field Object

A Field is the fundamental element of a virtual screen. A field includes both data and attributes describing the field. The OhioField class encapsulates a virtual screen field and provides methods for accessing and manipulating field attributes and data. Field objects can be accessed only through the Fields object.

PROPERTIES

  • Start The starting position of the field.
  • End The ending position of the field.
  • Length The length of the field.
  • Attribute The attribute byte for the field.
  • Modified Indicates whether or not the field has been modified (TRUE or FALSE).
  • Protected Indicates whether or not the field is protected (TRUE or FALSE).
  • Numeric Indicates whether or not the field is numeric (TRUE or FALSE).
  • HighIntensity Indicates whether or not the field is high-intensity (TRUE or FALSE).
  • PenSelectable Indicates whether or not the field is pen-selectable (TRUE or FALSE).
  • Hidden Indicates whether or not the field is hidden (TRUE or FALSE).
  • String The text plane data for the field.

METHODS

  • GetData Returns data from the different planes (text, color, extended) associated with the field. The data is returned as a character array.

OIA Object

The operator information area of a host session. This area is used to provide status information regarding the state of the host session and location of the cursor. An OIA object can be obtained using the OIA property on an instance of the Screen object.

PROPERTIES

  • Alphanumeric Indicates whether the field which contains the cursor is an
    alphanumeric field (TRUE or FALSE).
  • InputInhibited Indicates whether or not input is inhibited. If input is inhibited, SendKeys or SendAID calls to the Screen object are not allowed.
  • Numeric Indicates whether the field which contains the cursor is a numeric-only field. (TRUE or FALSE).
  • Owner Indicates the owner of the host connection.
  • String The entire text plane of the selected object as a string.

A Real-World Example of .NET and Screen Scraping Technology for Legacy Integration

PASSPORT Host Integration Objects project can be used to replace outdated SNA terminal controllers with a new IP-based network that employs the use of state-of-the-art IBM 4690 POS equipment and PASSPORT HIO for 3270 and 5250 legacy integration.

A terminal controller is used to connect multiple point-of-sale terminals to a host system, and you can find them in retail, convenience, grocery, food service and hospitality stores around the world.

Windows 2003 and 2000 Server can be used as an IP-based replacement for aging SNA terminal controllers. The solution is to install PASSPORT Host Integration Objects on a Microsoft Windows server, create a middleware application that uses .NET and screen scraping technology to manage communication with a 3270 or 5250 inventory application, and ultimately display the appropriate information on the IBM 4690 point of sale terminals.

This solution uses PASSPORT to launch the host session, navigate through the inventory application, parse the various 3270 and 5250 screen buffers, and, using .NET and screen scraping technology, pass the appropriate data to and from the POS terminal and the mainframe using the PASSPORT Host Integration Objects server.

This implementation of PASSPORT HIO offers a very inexpensive approach, and is based on standard technology that can be easily managed throughout several hundred stores nationwide.

Free Trial Download of PASSPORT HIO

The trial download includes the legacy integration object components, programming documentation, sample test programs and sample source code.

Try PASSPORT with .NET Screen Scraping Technology for Legacy Integration

Helpful Resources

Do you have unanswered questions? We're here to help.
Contact Us