I’m working in an important IT Company since about twenty years. So many years... Someone of the two or three readers of these lines will be horrified hearing that someone exists who endured in one single working place for a so long long period, but… it's the mere truth.

When I was hired there was a lot of programmers who write their RPG III programs on “dumb“ black and green terminals connected by twinax cables to a set of IBM AS/400s. In the open space re-echoed the sounding click clack of the mechanic keyboards.

I was just graduated and I never heard of this weird AS/400!!! There does still exist some sort of machines near to the twenty-first century?!?

A little group of developers were engaged developing new applications using CASE tools or programming with C/C++ on PCs connected on a little TCP/IP network. Now, there was me and Java.

In those year JDK 1.1 was released with the new event system for AWT GUI controls and JDBC. IBM tried to open their AS/400 to the new promising client server era. And so in the server room, wrapped in the cellophane, there was a brand new AS/400 equipped with OS/400 V4R2, TCP/IP, Hosts services, IFS Unix like filesystem, SQL Engine, Java and what was considered useful for client server development.

Before that, AS/400 was a database only machine, with data organized in libraries/files/members, programs written in RPG, an assembly like DB language, textual user interface accessed by terminal with twinax cables and unit controls. And that’s that. For many it was enough to do company’s duty.

Conversely chief management felt the necessity to provide appealing and efficient graphical user interface to the customers.

My first challenge was to realize a two tier client server graphical application to manage pharmacists payslips using Java AWT, JDBC and AS/400 SQL DB engine.

It was all new: I, Java and the AS/400 features to use. The realization of the project was considered too much heavily time consuming, so I was told to trash the Java prototype, and with shame and disgrace ;-), reuse requirements and part of functional analysis to build the application in a classical black-green textual interface with a CASE tool.

Several months had to pass before a new project in Java could start. But the day did come. There was the necessity to provide a continous exchange of data between the Company’s Reservation System for Healthcare Services and the Laboratory Information System.

We needed a software, that today we commonly name middleware of integration, that would transfer specific isolated data from the Reservation AS/400 DB and the Laboratory Oracle DB. Here the strengths of Java in a networked world was appreciated. A Java module could run in the AS/400, connect via JDBC to the local DB and to the remote Laboratory Oracle DB, mirroring reservation and payment informations. The good support of the language for errors/exceptions handlings provided a robust solution with automatic recovery in case of connection or transitory issues.

I named this first module like a composition for two performers because the Laboratory System manufacturer used to name their products with musical metaphors. In the years, this module grew as a container of multiple modules becoming a business integration middleware solution.

So there was a first success using that new Java techonology in a corporate “legacy” world. But there was more ambitious challenges in the following months: provide application services to the web with this new environment. Servlet 2.1 to the rescue? Which firewall? AS/400 on the Internet?

Thank you for reading! Ciao