The Host Abstraction Framework (HAF) consists of various components. On one hand there is a runtime library, which allows the data access to a host system (for ex. AS/400) and on the other, developing tools are implemented, that enable the easy development of multilayered client applications. These applications are optimized in order to cooperate with the host system. The HAF makes it possible to activate functions either on part of the client (a client activates a function on a host system) or on part of the host (a host activates a function on a Windows system). This makes it so easy to use already existing functions in the respective “other world”.

 

Many times it is easier to develop certain features using modern technologies on Windows systems instead on the host (for ex. processing of XML-files, consumption of webservices et cetera). Using the HAF you can integrate the Windows features easily into already existing functions on the host system.

Example: You would like to develop a function to integrate the websearch of a client address into your function “generation of a sales contract”.

Programming of interfaces for external applications

Especially if an application has already been implemented on the market for some time, the integration of a third party software may be requested. In the past often an interface for every feature would have been developed. Using the HAF inevitably an object-orientated API for the server (Application Programming Interface) is created for use at the client. This API may be reused in many different projects. Thus the time and money involved for the development of these interfaces can be reduced to a minimum.

Example: You are a supplier of an ERP application and you would like to integrate a kitchen construction software of a third party for the generation of sales contracts.

Modernization of the user interface of existing host applications

Suppliers of host-based applications can feel more the pressure to bring their systems up to date. Nowadays you can find many approaches to modernize existing applications. The range offered includes solutions “GUI on the fly“ up to a complete new development.

The experience gathered in prior projects shows that the optimal solution can be found somewhere in between, because a “GUI on the fly” might involve little effort, but results regularly in an unsightly, little intuitive user interface, that differs visibly from other applications such as Microsoft Office and so on, e.g. it does not implicate many improvements. The new development, however, is always related with a lot of effort and usually brings along unforeseeable risks.

The target has to be to safeguard a maximum of the previous investments; therefore the first step in a modernization with HAF is the separation of user interface and business logic. In the next step the functions of the business logic (service interface to the host) are reproduced by the Host Abstractor. It generates an object orientated API, that reflects the host service interface on the client.

This API can be utilized in any client-side project (Windows-Forms, Windows-Mobile, web-applications et cetera).

Moreover you can develop user interface generators, that are integrated into the generating process of the Host Abstractor and that generate user interfaces based on the API (for ex. administration of master data).

Complete migration of current host-based applications to other systems

After the modernization, at the host system there will be left only services without user interface. Based on the interface of these services, an object-orientated API will have been generated. Thanks to the provider model of the HAF it works independently from communication technology, e.g. also independently from the host system.

Now the services of the host system can be reproduced on a different system. As long as the interface of the services does not change, all the client programs can keep on working on the “new” backend.

Example: You have completed the modernization of your AS/400 based application, and you would like to also offer a version for Windows systems. Utilizing an RPG-implementation for .NET all the service programs of the host system are converted to windows-side code and are hosted as .NET-Remoting-Services. For the communication of the clients an HAF-Provider will be implanted for .NET-Remoting.