TORONTO USERS GROUP for Midrange Systems
TUG eServer magazine November 1995: Vol. 11, No. 2

OOD on the AS/400

(Object Oriented Development)

By Dave Knott

OOD The members of TUG are once again pleased to welcome Dave Knott of IBM Canada, who will take us on a thorough exploration of AS/400 application development concepts using object oriented techniques. Following his presentation, Tom Dzorevski (also with IBM Canada) will demonstrate a real application created with these methods - the NHL Draft.

The 1995 NHL Entry Draft was a show case of IBM Client Server technology with the AS/400 Advanced Series at the focal point. In a matter of six short weeks, an industrial strength Client/Server application was completed from initial request to production by a team of two. This article describes the Object Oriented Rapid Application Development of the application and the technology used.

Object-oriented modeling techniques were used in both analysis and design phases for the application. Team members attest, "We implemented a 3 layered architecture which contributed much to the underlying stability of the software amidst the very frequent requirements changes and modifications typical of Rapid Application Development."

Described here is the approach taken to design and implement this Client/Server application for scalability, providing effective performance in production for multiple clients.


The National Hockey League had been looking for some years to develop an Information System that would effectively support NHL team management during the yearly draft. The NHL had an AS/400 application that tracked and recorded the draft activity, but the only interface to this system for NHL team personnel were the printed reports provided at the end of each round.

In mid-May, the NHL asked IBM to be the Information Systems provider for the 1995 NHL draft to be held on July 8th. A new Client/Server application was requested to provide information on the players, draft picks and trades to the teams and the media.

In assessing the application, there were a number of factors that determined key design choices:

Solution: choice of VisualAge and Smalltalk as the RAD tool.

Solution: an intuitive GUI interface was required, and frequent reviews were with representatives from the NHL on the effectiveness of the application.

Solution: a polling mechanism was implemented to refresh the display at a frequent interval.

Solution: instrumentation was built in to the application to allow run-time tuning changes to parameters.



Three critical sessions were planned with the customer. The first was an initial requirements gathering session with the NHL's AS/400 development team, end users, and the IBM C/S development team. The object was to clarify the business objectives, identify the scope, and determine the assumption and constraints. A requirements prototype was developed within 2 weeks with AS/400 data access available.

The purpose of the second session with the customer was to identify additional business requirements and validate the technology used. This was followed by more detailed discussions of the business process inherent in the NHL draft, target usage of the application and previous experience in attempting to provide an information system to NHL team management.

The third and final session before deployment had two key objectives. An integration test between the C/S application and the NHL's RPG draft management application, and the user's acceptance of the application.

In parallel with this activity the team did investigation of proposed technical implementation of the requirements using this requirements prototype. They identified two areas where they would require additional parts and contacted the vendors for those parts (both participants in the IBM Object Connection program) for supply. Upon receipt they assessed these with some trial implementations and determined that they would make use of the ProParts package from Dakota Technologies.

At this point they consciously invested time in developing an analysis model that described the problem domain (the NHL draft business process). This analysis model is shown in figure 1. The analysis model of the business process provided a remarkably stable base for the object model layer of the application throughout many subsequent changes and refinements to the application function.

The application was designed in 3 layers: view, object model, and service. The view layer was responsible for displaying the information to the user from the object model. The object model was a representation of the business problem to be solved. The service layer was to ensure that data in the object matched the information on the AS/400 database. Layering the application in this fashion, allowed changes be to made in one layer with out impacting the other layers. For example, the object model layer remained static after the first week of development even though there were constant changes in the database and view layers. In the service layer of the application, extensive use was made of the rich set of VisualAge parts available for working with the AS/400 as a server. These include the ability to represent an AS/400 database record format as a Smalltalk class and to perform queries, searches and record reads against an AS/400 database.

The application's core function was largely developed in three weeks, enabling continuous review and refinement with the National Hockey League over the balance of development. In parallel, there was extensive testing and resolution of problems found. Scalability was simulated by changing polling rates and by leaving the application running over extended periods and reviewing instrumentation logs for communication errors. This technique uncovered a critical error in the client/server implementation that would otherwise have only been discovered during the actual NHL draft.

The final step in the application was to package and deploy the application. Further stress testing using the instrumentation built into the application was performed at the arena where the NHL Draft was to be held over the two days before the event. Code updates, configuration information and data (player bitmaps, team logos) were applied up to the day before. With over fifty client PCs, the team used shared folders on the AS/400 to carefully manage the propagation of these changes to each client machine.



A new step in the process of development with a truly Object-Oriented tool is to establish what ready made parts are available for use and/or extension. In addition to the parts available with the VisualAge product, the developers made extensive use of:

ProParts from Dakota Technologies. The primary part used in this package was the Bitmap part. It extended the base VisualAge functionality in certain specific ways that were important for our application (scaling of bitmaps).

The AS/400 Parts feature of VisualAge. These parts provide access to a very complete set of the application function of the AS/400 (database access, data areas, program call.. ). What is really strong about the parts however, is the rich suite of behavior provided with each part. This allows a client/server developer using VisualAge to make use of the rich function of the AS/400. For example, to implement the broadcasting of information from the AS/400 to 50 Client work stations the team used a supplied part that uses DDM to communicate with the AS/400 Database.



The NHL Draft application is an example of successful Rapid Application Development of a Client/Server application using IBM VisualAge. Acceptance of the application by the NHL teams was very positive and it is expected that the NHL will continue to use such an Information System. In developing a production Client/Server application, having an effective set of parts that provide robust communication with the server is invaluable and the AS/400 Parts for VisualAge were key to our success.

User training was limited to providing a six page booklet showing the application Views and associated function. Feedback on the usability of the application was very positive.

Much of the success of the application must be credited to the committed involvement of the NHL Information Systems staff in the design and development.

Crucial requirements would have been overlooked at the requirements review if not for the NHL statistician, who pointed out the critical requirement that the information displayed by the application must always be ahead of the information posted on the arena board. A typically passive client design was changed to incorporate polling and real-time update.

Finally, it was noted that a small effective team is essential for Rapid Application Development. Decisions had to be made quickly and effectively during development, with no time for formal process or extensive debate. T < G