SoftBase Systems, Inc (1994 - 2013)
Web Interface For Mainframe App
After a couple of false starts, I got the green light to develop a web interface to a mainframe application. I used Java 2 Enterprise Edition as the target (since a lot of mainframe shops are using WebSphere on Linux or on the mainframe, along with DB2 on the mainframe), and created an object model for the mainframe data. JSP pages took the object model and manipulated it to show data. The presentation of the data had to look good on a variety of screens, from desktop browsers to handheld devices. I decided to use jQuery for the actual presentation of data. I had to set up a test environment with different browsers and platforms.
This project began as a proof-of-concept, to demonstrate the feasibility of the web interface. Originally, the web interface was designed so that customers who wanted to integrate our functionality into their web sites would have example code and API documentation (for our object model). I made some design trade-offs at this point, particularly in not using a full Apache struts architecture. I didn not want customers to have to deal with frameworks they might not use.
The proof-of-concept phase led to a much larger project. My object-model testing was done with Jython, and the ability to script the object model became important. Scripting took on an important role as a way to generate data sets for statistical analysis for input to systems like R. Also, the need to develop this into our own web platform, rather than an example for customers, led to making this a full MVC web application with struts.
I am thrilled with jQuery. I originally got away from web development, and moved into back-end, server-side software development, because web development was not fun in having to support different browsers on different platforms with hacks. Now, jQuery does all this cross-platform and cross-browser stuff automatically, allowing the application developer to work on the important parts.
This project also has a spinoff that is more exciting than the original project.
I also put up a web page with more information about this project. Unfortunately, since I did the initial work on this project, the product for which this was a web interface is not longer being actively developed. So there's no need for a web interface to it.