NOTE!
Hermod is not under development in this moment, as I have change job and do not have access to a Mainframe where I work now. If some one would like to help I would be very pleased.

Hermod

Hermod is a screen scraping engine there use the XML-RPC protocol over HTTP to interface with other applications.
Many Mainframe applications does not integrate well with other network applications and often the only way to get controll over these sort of Mainframe applications, is to use screen scraping techniques, as there typically only exist an human interface, such as a 3270 map. Hermod is thought as a middele layer solution between one or more Mainframe applications and a remote application there need to communicate with these applications. Hermod could been seen as an automatically operatore controlled by the remote application. Hermod does this by implementing an small HTTP server there understand a variation of the XML-RPC protocol. Hermod is pre-programmet to navigate a Mainframe application in a serton manner so a remote application can call Hermod over the HTTP interface to invoke calls to the Mainframe application. Hermod will then automatically navigate trough the different maps on the Mainframe application and when the whole navigations is finish, send a response to the remote application.
Hermod talk to the Mainframe application trough an emulator there open a session on the Mainframe.
+------------------+     +------+     +--------+     +---------------------+
|remote application|---->|Hermod|---->|Emulator|---->|Mainframe application|
+------------------+ +------+ +--------+ +---------------------+
The screen scraping session is pre-programmed in XML and can take input and output variables passed over the XML-RPC protocol.
Hermod can provide a pool of Mainframe sessions and administrate parallel request to the different sessions.
Hermod was developed for a Web-application used in some Italian banks, to provide this application with an easy way, to request data from existing Mainframe applications. The Hermod project contain code in C++ and Java, with examples, there interface Hermod and can be included in other application, so they can interface Hermod in an API way.

A DTD exist of the extended version of the XML-RPC protocl at http://digilander.iol.it/hba/dtd/hermod_xml_rpc_1_0.dtd.

In this moment Hermod support the following emulators:
  • X3270 emulator for Linux
  • IBM's Personal Comunicato v.4.3. using HLLAPI
  • Quick3270 v.3.60. using HLLAPI on Windows NT4/2000.
  • If you have an other emulator than this, you maybe can use the Quick3270 setup on Windows.
    The project also contains client classes for C++ and Java there can be used to develop a application there use Hermod.

    Hermod is licensed under the Gnu Public License (GPL).
    Download:
  • Hermod source code: hermod-1.0.1.tgz
  • Hermod binary: hermod-bin-1.0.1.tgz

  • How to install Hermod
    If you have any problem you can try to contact me

    What is Screen Scraping

    The act of capturing data from a system or program by snooping the contents of some display that is not actually intended for data transport or inspection by programs.

    What is HTTP

    Hypertext Transfer Protocol is the protocol there drive the whole Internet WEB and the current version is 1.1 and descripted in the
    RFC 2616. Hermod does not implement this version, but the more premitive and older 1.0 version as defined in RFC 1945

    What is XML-RPC

    Is remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned. Hermod implement a variation of the XML-RPC and one of the TODO items is to change Hermod so it's going to be full XML-RPC compilant.

    What is HLLAPI




    Henrik Baastrup (c) Sep. 5. 2005