The IBM iSeries developer roadmap for Java training focuses on learning the language first. My experience shows that most RPG developers DON'T get to the point where they are able to productively build Java Web applications using that model. Based on my training experience, I came up the Visual Development Method (VDM) approach that fits new iSeries Java developers better.
The WDSC course I teach uses VDM to raise productivity and shorten the learning curve for RPG developers who want to build Java Web applications. This approach focuses on the basic economics of the Java learning skills pyramid.
|Pyramid level||Development method||Learning curve||Productivity|
|Entry||VDM and WDSC||One week||High|
|Intermediate||Java coding in WDSC using OO frameworks||Several months||Medium|
|Advanced||Create and extend OO frameworks||Six moths or more||High|
|Architect||Design intelligent network services for users and applications||One year or more||Very high|
Figure 7: The ebt-now Java skills pyramid
New developers begin at the entry level. This is comparable to learning Query/400, DFU, Screen Design Aid and SEU. It typically requires about a week of effort. The economics for this model (as well as the low frustration levels) are great. Short training with quick business payback.
AFTER you have built and delivered a variety of basic Java Web applications using VDM, you can go to the intermediate level where you actually learn how to use Java as a scripting language to write business logic. This is much more difficult because NOW you are programming in Java USING objects. This is similar to learning to develop in RPG. It didn't happen in one week either.
Developers learn how to CREATE (and design) new object-oriented applications and frameworks. This is more advanced (and productive) than RPG development can be. It also has a longer learning curve than RPG normally.
Here you rethink WHAT an application really is. You create intelligent network-based services that dynamically adapt at runtime to the user's requests and the environment. Little application coding is needed in this environment. You may never reach this level OR NEED to in your job.
The KEY to the Java skills pyramid is the emphasis on developer productivity, shorter learning curves and quicker payback for companies that starting out writing Java as the IBM training shows.
Why use the VDM model: JSP database frameworks and wizards?
You CAN build Web pages writing Java code and using regular JDBC support. Why is this approach better?
- Higher productivity and faster Web development.
- MUCH shorter learning curve --RPG developers can learn to build Web database applications in one day.
- Less debugging because there's limited development.
- No need to build custom database frameworks reusing the IBM frameworks.
- Flexibility to run the applications against any database manager using JDBC drivers on ANY server.
- No need to buy anything other than IBM WDSC (which you probably already have).
Need more reasons to like this approach? I don't.
With VDM, you are doing MANY things similar to the way you develop on the iSeries today:
- Using Web database wizards to generate Web database applications instead of Query/400 and DFU.
- Using Page Designer to create Web pages instead of SDA to create display files.
- Using JSP tags to access data from your Web pages. (Imagine if CL commands could be embedded in your DDS to read and write data!!!)
You understand the concepts used in the VDM build process very well even if the specifics are slightly different than what you're used to. And they are clearly faster than writing applications in a programming language like Java or RPG.
Example of a simple Web application to update a record in a DB2 table
I used the Web database pages wizard to generate a simple Web database update application that has an input page to enter information and a simple results page that shows the update worked. The good news is that the wizard is easy to use and productive. The bad news is the application generated below works AND is essentially useless. You HAVE to manually enter all the correct information to update the record by hand, AND if you screw up a key field, the update blows up.
|Figure 1: Input page to enter information to update an employee|
|Figure 2: Simple results page|
Example of the Web app customized with the IBM JSP database tags
Given the limitations of the database Web pages wizard to generate a useful update application, I needed to "enhance" the application to make it usable. Below is the customized version of the application. It has the following:
- A selection screen to select a record in the table by key field (here employee nbr).
- A input screen that shows all the data in the existing record to make it easy to change.
- The same simple results screen to confirm that the update occurred.
|Figure 3: A record selection page|
|Figure 4: The customized input page that shows the existing data|
|Figure 5: Simple results page|
This version of the application takes less than an hour to build WHEN you know what you're doing.
More complete example done in the WDSC training course
Based on experience, an average RPG developer typically learns how to build customized Web database applications like this (and more) in about a day in the WDSC training labs I run. The lab exercises build full Web database maintenance applications that include navigation, selection, creation, deletion and editing of database records.
Here's a sample database selection page that allows users to view, edit and delete a selected record or go back and search again:
|Figure 6: Sample Web database selection page|
The overall process to build the Employee Update application
The build process for this type of application in WDSC is as follows:
- Create a database update Web application using the Web database pages wizard.
- Use Page Designer to quickly create a simple record selection page by copying and editing the generated update input page.
- Add a database lookup using the record selection keys to initialize the update input page using the IBM database access JSP tag library (jspsql.jar).
- Set database access configuration parameters in the application descriptor file web.xml.
- Test the customized application in WDSC with the WebSphere test environment.
Flexible database deployment options
One REALLY nice feature of this approach is the ability to build your application using one type of database and then just change the configuration parameters at deployment to target a different database (no code changes needed!). I've tried many combinations that worked well, including testing on MySQL (Linux) and DB2 UDB (Windows) with production deployment to iSeries DB2.
WDSC is a winner for VDM!
WDSC's Page Designer makes it EASY to use Java Server Page (JSP) tag libraries. Wouldn't it be great if you could just use Screen Design Aid to build simple database applications on the iSeries WITHOUT doing ANY RPG coding? Too bad. You can't. So you write these applications in RPG one at a time.
Now imagine building Java Web applications that maintain your databases WITHOUT doing ANY Java coding. That's the VDM approach to using WDSC. Good news. This works.
---------------------------------------About the author: Jim Mason, president of ebt-now, is an iSeries WebSphere trainer and developer. ebt-now provides iSeries WebSphere, WebFacing engineering, development and training services. Jim is creating a self-study course for RPG programmers that teaches "hands-on" rapid visual development with WDSC for all types of iSeries and e-business applications without the need to become a Java expert. The course will be published by Rochester Initiative later this spring. You can reach Jim at firstname.lastname@example.org.
- Use IFrame, WDSC to build and deploy a portal subfile Web application
You've read about Web portals: WebSphere, Domino (from IBM) and Jetspeed (from the Apache Software Foundation). You want to know how to create a simple Web application and deploy it in a portal. Good news. IBM's WebSphere Development Studio Client for iSeries (WDSC) and the IFrame portlet make that easy.
- Get started building Java Web apps in WDSC
The Guided Tutorial Steps in this tip show how to build some simple Java Web applications quickly that access iSeries data and call RPG programs with a browser interface.
- Seven steps to a Java Web database application
It would be great if iSeries programmers knew how to use Java to create e-business applications, but programmers can still forge ahead if they aren't trained in Java yet. WebSphere tools can help.