HostSurfer is a cost-efficient Mainframe Modernization Solution.

We have recently updated z/Scope Anywhere to add two powerful programming extensions that guarantee a cost-efficient Mainframe Modernization Solution: HLLAPI.js and HostSurfer.js.

What’s HLLAPI.js
z/Scope Anywhere’s HLLAPI.js is the world‘s first implementation of the facto standard IBM’s HLLAPI specialized for the web. It allows programmers to connect mainframe screens with the web, using standard client-side Javascript programming.
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.

What’s HostSurfer.js
HostSurfer.js is a high-level javascript framework built upon HLLAPI.js to facilitate the creation of web interfaces, intelligent macros, and high-level web components, in order to modernize, extend and bridge the gap between terminal-based applications and web technologies or data sources.
HostSurfer.js can be referred to 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.
Unlike the other “modernization tools” that are proprietary by nature, with HostSurfer.js you will be able to design and develop new interfaces and web widgets using nothing but plain Javascript, HTML, and CSS.
And that’s not all, you can also extend green-screen applications by 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.
Based on these fields and using a high-level Javascript API that we developed.
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:
Mainframe modernization
The source and target of the data is the terminal-based application screen at the bottom part of the diagram.
Hllapi.js is the Javascript library which HostSurfer.js relies on to retrieve host screen information and to send single keystrokes (or entire strings) to the underlying terminal-based application.
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).
At the upper level, the integration of HostSurfer.js (in a stand-alone way or in conjunction with any Javascript-based framework) is combined with static HTML pages to accomplish the user front-end.

Live demo of this complete mainframe modernization solution
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 [email protected].

Related Posts

Leave a comment