HostFront Enterprise Application Integration (EAI) component
Developers can choose to develop applications using the HostFront.EAI.dll classes. These classes can be used to develop applications using a .NET development environment.
The HostFront.EAI.dll and the HostFront Connection Pool Manager seamlessly integrate Web applications with one HostFront server or a cluster of HostFront servers. The HostFront EAI Toolkit has been redesigned to allow for maximum throughput.
Enhanced flexibility allows the HostFront.EAI.dll classes, the Connection Pool Manager, and HostFront server to reside on different machines. You can use TCP or HTTP to establish communication between the integration components and the HostFront Server.
The HostFront EAI Toolkit component allows you to reproduce programmatically the same actions a human user would perform in front of dedicated dumb terminal displaying a “green screen”.
A mainframe or AS/400 screen is made of fields located at specified row and column positions. A standard screen is usually made up of 24 rows and 80 columns. Each field on the screen has specifics attributes (read-only or editable, color, blinking, highlighted...). Besides connecting and disconnecting, the HostFront EAI Toolkit component allows you to retrieve data from a field, using the GetField methods set, or to write data to a field using the PutField method. Upon completing the task on the screen, you can navigate to the next one by using the PushKey method that simulates the action key that is being pressed (such as ENTER or PFnn). You can also retrieve a complete row by using the GetRow method.
Recommendation
Where possible, use TCP/IP connections to the HostFront server instead of HTTP connections. That is because if you stop debugging your application or if it crashes while a session is running on the HostFront server, then the HostFront server will be able to detect that the connection link between your application and the server is down, only for TCP/IP links. At that point the HostFront closes the connection with the back-end thus freeing resources.
Note
Throughout this guide the terms 'Classes' and 'Objects' are used interchangeably.