WHB

Web Host Bridge

by William van den Heuvel, 2004
(last update: 2005-08-13)

 

WHB is a client/server connectivity software. It is meant for large companies who develop and operate their own legacy software on IBM mainframe computers operating under z/OS. The primary aim is to enable these companies to implement client/server applications or web applications in the shortest possible time and at a lowest possible cost. This is achieved by supplying ready-made software that encapsulates special know-how that would otherwise require a team of expensive specialists. Customers still need to develop their own application software on the client side and on the mainframe side but, by deploying the supplied connectivity software, the application developers do not have to deal with the complex technical details concerning communication between clients and the mainframe computer.

Highlights:

 
Consistent and robust interface between clients and the IBM mainframe.  
  Application programmers on the client side and on the mainframe side can continue to use their familiar tools and methods. This is an important point because the programming methods on the client side is very different from the programming methods on the IBM mainframe. PC programmers are used to object oriented programming techniques, whereas programmers on the mainframe traditionally use procedural programming techniques. These are different programming paradigms. As a result, cooperation between, for example, CICS programmers on the IBM mainframe and Java programmers on PC's tend to be somewhat difficult because they often don't understand each other very well. The supplied software bridges these different programming worlds by offering a clean and consistent interface that can be used equally well on both sides.
 
Easy gateway to the IBM mainframe.  
  Client programs send a request message to the server on the IBM mainframe who processes the request and returns a response message. The request and the response messages are formatted and encoded as XML strings and transmitted using TCP/IP protocol. However, application developers need not know anything about XML or TCP; this is handled entirely by the supplied software.
 
Platform independent communication.  
  The industry standard TCP/IP protocol ensures a platform independent mode of communication between client programs and the IBM mainframe. This means, client programs can run on any machine as long as its operating system supports TCP/IP.
 
Platform independent data exchange.  
  The consistent use of XML as a world-wide standard for data description makes the system independent of particular data formats and encoding methods of different platforms. Consequently, application developers need not be concerned about data formats. On the server side, data conversion is done automatically by a high-speed XML parser that was written especially for this purpose. The application programs on the IBM mainframe always receive the data in IBM format irrespective of the origin of the data, which can come from a mixture of different client machines operating under Unix, Microsoft Windows, Apple Macintosh or another IBM mainframe computer.
See "Request/Response message"
 
Client.  
  The supplied software includes an Enterprise Java Bean (EJB) that can be used by Java client programs. This EJB generates an XML string and sends it to the server using TCP/IP. It also parses the XML string returned by the server. See "the Enterprise Java Bean" If the client makes use of this EJB it will have a very convenient and easy interface to the IBM mainfame.
In case the client program runs on another IBM mainframe computer (or on the same one), the application developer may use the XML parser and/or TCP connection software that is also used by the server.
 
Server.  
  BHW acts as a concurrent TCP/IP server on the IBM mainframe operating under z/OS. More specifically, it is a started task in an MVS address space. The maximum number of connections that can be handled simultanuously is limited only by the size of the region made available to the server.
 
Security.  
  Optionally, the system interfaces with RACF (or some other RACF compatible security product) to check if the user is authorized to access protected resources.

The RACF administrator can grant special permission to each user that needs to access the IBM mainframe. The user must login with the userid and password assigned by the RACF administrator. The user logs in on the client side but the credentials are checked by RACF on the IBM mainframe. If the user also has a TSO account this may be the same userid and password as the TSO account but this is not a requirement. The user can also change the password independently of whether or not the user has a TSO account.
 
Scalability by means of optional plugins.  
  The system supplies a number of ready-made plugins each performing a specific task. The request message from the client is processed on the server side by one of these plugins. Depending on the symbolic name of the application (supplied by the client program) the appropriate plugin will be called to handle the request message. The customer would only install plugins that are actually needed.
 
CICS transaction programs can be deployed as web applications.  
  One of the available plugins enables a remote client program to call CICS transaction programs on the IBM mainframe. This plugin calls the CICS transaction program via the External CICS Interface (EXCI).

Each CICS application has a socalled 'profile' defined by the customer. It includes the name of the CICS transaction server, the name of the application program on that server, and the layout of the Commarea. The XML data received from the client contains the name of the profile to be used. The predefined information from the profile is used by the plugin to place the data in the Commarea and to call the CICS application program. The response data returned by the CICS application is also extracted from the Commarea, converted to XML, and transmitted back to the client program.

Commarea based CICS transaction programs are unaware of the caller or the origin of the data. The only thing that matters is that the data in the Commarea is as expected by the CICS transaction program. Consequently, the CICS program can be called not only by a remote client via the External CICS Interface, but it can also be called from another local CICS program using, for instance, the EXEC CICS LINK feature. This means, existing Commarea based CICS transactions can be deployed as web applications while at the same time continuing to be used in the old way. There is no need to develop and maintain separate versions.
 

For more information contact: william@van-den-heuvel.com

Note: "IBM" is a registered trade marks of International Business Machines Corporation.
z/OS, RACF, TSO and CICS are software products of IBM.