We have recently updated z/Scope Anywhere to add two powerful programming extensions: HLLAPI.js and HostSurfer.js.
HLLAPI stands for High-Level Language Application Program Interface and is an IBM API that allows a DOS PC application to communicate with a mainframe computer. Further extensions (WHLLAPI, EHLLAPI, EEHLLAPI) were implemented to facilitate Windows (3.1, NT, and up) applications to use this API as a standard method to scrape screen data or exchange mainframe data with other data sources.
HostSurfer.js can be referred as a “mainframe modernization” tool, but it’s actually much more than that: it is a framework that allows developers to fully integrate the web with the mainframe’s legacy applications, based on the modern and most widely used programming language and runtime environments.
And that’s not all, you can also extend green-screen applications combining them with other web resources and have them work together.
How does HostSurfer.js work?
The communication between a mainframe and its terminals is based upon a bidirectional stream of data using the Telnet protocol. This back and forth exchange of data (comprised mostly of plain text) is maintained until the session is closed.
HostSurfer.js transforms the Telnet data stream into a set of data with values and attributes.
With HostSurfer.js you can define rules to identify screens. Once the screens are identified, you can define views, automate actions, combine/transform the fields in the screen and declare navigators. These rules will allow you to create powerful front-end web extensions.
HostSurfer.js functional structure
HostSurfer.js is structured as a layered arrangement of functionally distinctive components, as depicted in the following diagram:
The source and target of the data is the terminal-based application screen at the bottom part of the diagram.
HostSurfer.js keeps a collection of rules and screen fields. These fields determine the navigation flow and data access features, as well as, end-to-end data synchronization (data binding).
The following examples show you how to add extensions to a terminal session, using screen recognition and rule definition with HostSurfer.js.
First, you’ll see how to add an input form, which can be used to replace the old terminal screen.
The second example adds a map to the terminal emulator, which shows the address of the client.
These examples can be modified as you please, giving you the chance to experiment with HostSurfer.js.
This is just a small sample of the potential which z/Scope Anywhere can achieve using HostSurfer.js. Give it a try and you’ll see how easy it is to modernize your mainframe application.
If you have any questions regarding this blog entry, you can leave a comment below or send us an email at firstname.lastname@example.org.