Necessity is the mother of invention. And so, many System i shops will find themselves inventing new applications to perform necessary business functions. This practice is not limited to end-users, but includes vendors using the AS400 to develop applications and provide support for businesses running i. First Option Inc. is one such shop. In “spare time,” the company developed a java-based monitoring application that collects key health indicators of an AS400. Released in April 2008, the iSeries Watchdog application’s evolution and development story is shared here in a Q&A with First Option president, Paul Fuller.
Could you describe the specific circumstances of the internal problem that your company was having that led to the development of the Watchdog program?
We have service level agreements (SLAs) that require our iSeries box to be up 24 x 7 x 365, and we need to ensure that if there is a problem we address it immediately. There are financial penalties if we do not resolve problems in a specific period of time. Prior to Watchdog, the systems were checked manually. This presented two problems: 1) Operators were involved in the manual checking rather than other billable activities — resulting in reduced revenue. 2) The manual method was not scalable (i.e., more boxes mean more people). We looked at the existing packages on the market and they were too expensive. We had a very basic need and we did not want to purchase additional products in order to make the monitoring software run. We are a software development shop, so why not build it ourselves!
Why Java? Was this the immediate solution, or did it just happen to work well? Did you consider other options?
Java was the immediate solution for the front end interface. We had in-house expertise and it is platform independent. Using Java also allowed us to work with open source tools. We had not worked with Java Persistence API (JPA), Spring or LDAP on the iSeries but had been reading a lot about them in the Trades. Since we are a Java/RPG shop, we wanted to try out some new technologies and frameworks. So, this was a perfect opportunity to solve an internal need and further develop our consulting skill set.
For the back end, the programs that gather key health indicators are RPG service programs. In terms of data access, we let the iSeries do what it does best, crunch data. Additionally, the type of information we needed to gather was iSeries-specific so it did not make a lot of sense to use Java because it was already tied to the platform.
How long did it take to develop the Watchdog program?
We started in November 2007 of last year. The application was developed on nights and weekends so we did not finish it until March 2008. Had we been working on it full-time, it probably would have taken a couple of months.
What problems did you encounter along the way? (Were there work-arounds or problems that you had to deal with?)
We did have a few problems. We wanted to use a tool to generate JPA entities from SQL tables. The tool needed to run on the latest version of Eclipse so we had to abandon WebSphere development studio client (WDSC) and go with Eclipse in order to use the tool. We also used the IBM Interrogated application server released in January of 2008. There was not a lot of documentation and/or knowledge regarding this product. So, we had to engage IBM in order to resolve some of these problems. The LDAP web based interface was not available on WebSphere 6.1 so we had to find an alternate tool to create schemas and enter test data.
There are similar products available — why didn’t you invest in one of the competitor’s products instead of spending the time and energy developing your own?
There are definitely some very good products on the market that have some of the same functionality. As I mentioned above, we thought the products were too expensive and did not like the front end. The interface to the user was either green screen or a very difficult to read dashboard. Also, you had to purchase the software that had a traditional price based model — the larger the model and processing group, the more expensive the software. We would have had to purchase software maintenance in addition to the upfront cost. Some of the products also required purchasing additional third-party products in order from them to work.
What size company is Watchdog preferable for?
We are providing this software as a service (SaaS). We will establish a secured connection to the customer, install a client on their iSeries which will gather the monitoring data and configure the alert system as well as provide the Web Services to send the data to a First Option Inc. server. We charge a monthly fee that includes rental of the client software and the graphical front end. The rental fee is not based on the iSeries model or processor group and you do not have to buy software maintenance.
We think this will appeal to small- to medium-sized businesses that require a solid monitoring system for a price that makes business sense. We can also bundle a remote monitoring service that will respond and resolve problems on the iSeries. This allows small- to medium-sized businesses to focus on their core business not running a System Operations Group.
I started in the software development business writing code on a S36. The most overwhelming change over the past 20 years is the number of options available to develop and deploy software. From the creation of the development environment to the deployment of the application on a production server, there are a number of products to install and integrate. It’s easy to get lost in the technology and lose focus on the business need. It is extremely important to engage an experienced development team who understands that the requirement is always a superior software product to support your business need.