As more and more shops move away from SEU and onto Websphere Development Studio Client (WDSC), the problem of sharing project code and resources starts to become apparent. The nice thing about using SEU is that all of your code is stored on the iSeries, and it is immediately available to any other programmer in your shop. Not so with WDSC where, usually, the code, image files, HTML files, jar files, etc. are stored locally on each user's PC. How then does programmer Bob share his latest WDSC Dynamic Web Project with programmer Julie?
If your shop is large enough and/or has enough manpower and financial resources, you may have access to a Concurrent Versioning System (CVS). A CVS is an open-source version-control system that allows programmers to share resources such as Web pages, multimedia files, jar files, and so on and usually allows for versioning control, including check-in and check-out. CVS is a fantastic resource for a shop, but it does require someone to install and manage it, usually someone with a lot of previous network and Java experience. If your iSeries shop is like a lot of iSeries shops, you simply do not have that type of person in-house. What you have, probably, are one to three traditional RPG programmers who have stepped a toe into the water of WDSC and who are only now starting to understand Web services, JavaBeans, and the like. These people simply do not have the time to go out and learn yet another technology or complex software package such as CVS. How then can these types of shops share their WDSC projects?
Actually, there is a relatively easy way to do this. It is not without its own set of dangers, but on the other hand, it has the benefit of being both free and easy to do. The quickest way to share a WDSC project among developers is for the developer who has created the project to export all of the resources of that project to an Enterprise Archive (EAR) file. The EAR file, if exported correctly, will contain all of the original source code from the project, all multi-media files, all jar files, and even the project directory structure. When the next programmer needs to work on it, he can simply import the EAR file into his own WDSC session and pick up exactly where the first programmer left off.
Let's say you have created a Dynamic Web Project on your desktop and you want to allow another programmer to work on it. Here's how you do it. Right-click on the Dynamic Web Project name and choose Export as the function to perform and then also choose the next Export menu item (as shown in Figure 1). This will bring up a list of the various types of exports you can perform from WDSC.
Figure 2: Choose EAR file as the export type.
You will then be prompted (Figure 3) for the name of the project to export and the destination (a local hard drive or a mapped drive to your Integrated File System on your iSeries). You'll also be asked whether or not to export the source files, project builds, and meta-data files. Since the point of this exercise is to share the entire project, you will check all of those boxes, as shown.
Figure 3: Allow others to share your entire project.
Click the Finish button and the project will be compressed into an EAR file and stored wherever you chose.
Now, all the next programmer has to do is open a WDSC session and import your EAR file into his or her project, using pretty much the same steps you took when you exported it.
The downside to this whole approach is that two programmers can be making a change to the same code at the same time and one could inadvertently overlay the other's code by exporting or importing it. However, this is the same risk you face using SEU without a versioning control system on your iSeries, so it is a known risk. Simple shop standards and guidelines should prevent a lot of those types of errors, and backups of each project before importing a new version will also go a long way toward preventing—or at least recovering from—accidents.
Shannon O'Donnell has been involved with the iSeries world for nearly two decades. He is the author of over 300 technical articles on iSeries programming and is the creator of the iSeries PC-Engine, which can be found at www.turbogorilla-software.com. You can reach Shannon at