UK: +44 1787 221844
USA: +1 703 476 2270
Case Studies
Bank of America
Supplies, supplies!

This case study details how standard Java-based Web-to-Host technology can be easily leveraged through macros, scripts and auxiliary Java servlets to totally alter the complexion, flow and scope of an existing mainframe application.

In this instance the application was Bank of America's in-house supplies ordering application - which is CICS based and is known as OEXR. The Java technology to streamline and enhance this application was provided by enable - and was centred around a variant of the standard applet used to 'face-lift' IBM's Host On-Demand.

A servlet was developed to work in conjunction with enable's client-side applet to realize the data augmentation function. This servlet also produces an HTML version of the order being placed so that it can be presented, electronically, in browser-viewable form to a designated manager. The servlet runs on another RS/6000 system; the same one that hosts the Lotus Domino GO Web Server being used by Bank of America for this nationwide intranet application.

OEXR is, in effect an electronic on-line supplies cupboard. Using OEXR, authorized Bank of America employees around the country can requisition supplies they require - including commodity hardware and networking products. OEXR, at present, lists about 4,000 individual items which include obvious staples such as pens, staplers, paper punches, as well as certain capital-cost items such as PCs.

OEXR, being a normal mainframe resident CICS application, needs to be accessed using SNA/3270. Bank of America uses the Host On-Demand Java applet, downloaded from the Lotus Domino GO Web Server [and subsequently cached], to achieve this connectivity across their intranet - using a mainframe resident tn3270(E) Server.

Rejuvenation was but one facet
One of the goals in updating, streamlining and enhancing the OEXR order processing scheme was to provide the users with a contemporary, mouse navigable, point-and-click GUI in place of the dated, 'green-and-black' 3270 character-based screens.

enable does all of its rejuvenation magic at the client using a Java applet. The AutoGUI, or default transformations, are built into this relatively small [i.e. < 500K] applet.

Custom changes, including screen consolidation scenarios, developed using enable's Customization Studio are defined and downloaded to the client, for execution by the standard enable applet, in the form of an XML (Extensible Markup Language) file.

Rejuvenating the user interface to meet the Bank of America requirements using standard enable technology was not an issue or challenge - and, in reality, proved to be a relatively small component of the overall solution.

The novel and exemplary aspect of this solution was the extension of the standard enable applet, in conjunction with a servlet, to augment the CICS application via data that was only available on the SmartStream database system from Sybase.

Adding a servlet to extend the application's flow and scope
The two primary enhancements sought by Bank of America, in excess of just rejuvenating the 3270 user interface, for this in-house supply ordering system were:

  1. Automating and expediting the order approval and processing cycle by converting the order for supplies made by a Bank of America user into a properly formatted and printable purchase order document which can then be routed to a designated manager who is authorized to approve such an order.
  2. Enabling users to check the status of previously placed orders for supplies - online.

The only way that these enhancements could be realized was to combine information from the OEXR CICS application with data found in the SmartStream database. A servlet was developed to retrieve the pertinent information from SmartStream using JDBC (Java Database Connectivity).

The enable applet that does on-the-fly rejuvenation for the Host On-Demand applet [via the Host On-Demand Host Access Class Library (HACL) interface] was modified to talk to the enable servlet - in addition to performing the rejuvenation functions required by Bank of America.

HTTP is used for all of the communications between the enable applet and the servlet. HTTP's standard GET and PUT requests are used to achieve the requisite data transfers between these two Java-based components.

Placing and checking the status of orders
A Bank of America employee would set about placing an order for supplies by invoking the CICS OXER application. This is now done using Host On-Demand connectivity coupled to enable's rejuvenation function. The user will then set about selecting the items required from the list of over 4,000 products maintained by OEXR. Given the size of this list a user will typically have to navigate through multiple screens to locate all of the necessary items. During this item selection process a custom script running on the enable applet will automatically collect information on the items being ordered - in parallel to and independent of the OEXR data transfers to and from the mainframe.

Once the user has completed the order, the enable applet will contact the enable servlet, via HTTP, and convey to it the list of items ordered. The servlet accepts this list and constructs an order form in the form of an HTML Web page.

The order form in HTML format is then stored on the Web server. The HTML Web page will contain information from the OEXR system as well as data culled from the SmartStream database. The OEXR does not contain the actual ship to address. Instead it has a ship to code. The servlet uses the OEXR code as the JDBC key to retrieve the ship to address from SmartStream.

Designated managers can retrieve and view the HTML based order forms (and any subsequent changes made to an order) stored at the Web server using a standard Web browser.

Users can also check the status of previously placed orders using this system. The user will first retrieve the order number from OEXR. The Enable applet takes this order number and passes it to the enable servlet. It also opens up another browser window for the eventual display of the order status - in the form of a Web page.

The up to-date status of orders is maintained on the SmartStream database. The enable servlet uses JDBC, with the order number as the key, to obtain the order status information from SmartStream. The information obtained is then formatted by the servlet to create a Web page. This Web page is then forwarded to the user to be displayed within the previously opened browser window.

The Bottom Line
This enable solution is currently being actively used by around 600 Bank of America employees around the country. The system, according to Bank of America, is working flawlessly and moreover meets, or exceeds, both their requirements and expectations. Needless to say, they are thus very happy and impressed with this solution - with its innovative synthesis of standard and custom components and the technical prowess of enable that made it all possible. It was also an extremely economical solution which did not take long to design and implement.

Matthew Steed, the Senior Systems Analyst who was instrumental in making this project a success by coordinating the technical efforts at the bank had this to say:

"At the completion of the proof-of-concept phase of the WebOEXR project, the project team sponsored a working demo of the proposed solution and published the URL for accessing it. To everyone's amazement the remote participants from the West coast were easily able to follow the hands-on live demo without any need for installation support whatsoever. This had a great impact on everyone in the approval process."

From the early days of Web-to-Host we have talked about how this technology, particularly Java, could be gainfully leveraged, with little effort, to enhance, extend and modernize aging mainframe applications. This Blue Chip case study proves, conclusively, that this, far from being just idle theory, is indeed the case and furthermore that the technology is reliable, stable and readily extensible.

This case study also demonstrates that significant new functionality, including JDBC-based database access, can be achieved just using servlets without recourse to an Application Server or a Host Integration Server. This is gratifying since it obviously reduces overall costs, complexity and implementation effort - most likely, quite considerably in many instances.

© Copyright 2005. All Rights Reserved.