The Eclipse IDE provides a free core set of functions that can be built on top of. IBM offers an open, comprehensive development environment for building dynamic e-business applications built on this Eclipse infrastructure. WebSphere Studio offers enhanced functions. Figure 1 is a graphical representation of how these technologies work together.
Figure 1: The Eclipse-WebSphere Studio relationship (Click images to enlarge.)
WebSphere Studio adheres to open standards and tool integration, yet it offers more flexibility and the ability to tie in existing applications. WebSphere Studio products run on the WebSphere Application Server (WAS) and consist of a set of Web and Java development tools. One of these products is WebSphere Development Studio Client for iSeries.
WebSphere Development Studio Client for iSeries is a workstation development toolset for creating iSeries e-business applications. The open-source design operates on a collection of tools called "plug-ins." A plug-in is written in Java and extends the IDE as an additional tool. To meet your needs, this architecture allows you to write your own plug-ins to modify or enhance the existing development environment. WebSphere Development Studio Client for iSeries consists of Java tools, Web tools, the IBM WebFacing Tool, VisualAge RPG, and CODE. One of the key plug-ins for iSeries development is the Remote System Explorer. Figure 2 shows the components and how they relate to each other.
Figure 2: The components of WebSphere Development Studio Client
Navigating the IDE with Remote System Explorer
The user interface of the Eclipse IDE consists of perspectives, editors, and views. A perspective defines the initial set and layout of views in the workbench. It is, in essence, a collection of views in the IDE. It is completely customizable; after you set the initial set of views within a perspective, you can add a different view, drag and drop the location of views, or resize the view to suit your needs. WebSphere Development Studio Client for iSeries ships with a number of default perspectives, and you can also create new ones.
Views support perspectives and provide information and alternative methods for working with your files and documents. Each view has its own menu, and its actions affect only the items within that view. The Remote System Explorer is the workbench perspective for iSeries development tools. This perspective consists of the Remote Systems view, a property sheet, an area reserved for editors, an outline view, and a tabbed notebook below the editor area containing the Tasks view, iSeries Commands log, and the iSeries Table view.
In Figure 3 below, the top left pane shows the Remote Systems view. Below that, at the bottom left, is the Property sheet. The top right pane is the Remote Systems editor, and the pane below that (bottom right) is the iSeries Table view.
Figure 3: The Remote System Explorer
In the Remote Systems view (top left), you can see the connections that you have made to a remote host. You can define connections to any remote iSeries, UNIX, Linux (including Linux in an iSeries partition), or Microsoft Windows system. After you have established the connection, you can use the view to find and navigate iSeries objects. Like the Programming Development Manager (PDM), the Remote System Explorer lets you perform operations on libraries, objects, and members in a GUI environment. Its design offers a quick and efficient way to begin your development and enhance your productivity.
Getting Started
When you first open the Remote System Explorer, you are not connected to a system, so you must define a profile and a connection to your iSeries host. When you define a connection, you specify the name or IP address of the remote system, a name to uniquely identify the connection, and a profile.
Connections are either shared by your team or used by you exclusively. So, for each new connection that you create, you need to decide whether this connection will exist within a team profile or a specific user profile. Profiles offer a great way to group your connections.
All connections, filters, and filter pools belong to profiles. Profiles help you partition data when you have many connections or filter pools. Placing all connection and filter data in a team allows you to share connections, filter pools, and team profiles among team members. You control which profiles display in your workspace by making the profiles active. Making a profile active or inactive does not affect your teammates. For example, you can choose not to display one of your own profiles in your workspace, but a teammate can make that profile active in his or her workspace.
Working with Filters
The Remote System Explorer supports the native file system (QSYS) and allows you to query the objects that are on your iSeries host based on the criteria that you set for the filter. For example, if you only want to view the entire RPGLE source files in a particular library, you can create a filter to quickly go to these members when you need to work with them. Figure 4 shows the screen you'd use to create a new iSeries member filter.
Figure 4: The Member Filter screen
Using filters, you can easily organize how you want to view objects on your iSeries system. When you access the list by expanding the filter, you can see the remote Native File System objects (such as libraries or files), and you can work directly with them. If you have been using the Remote System Explorer for some time, your workspace may contain too many filters. In this case, you can partition the filters into pools so that one pool contains many different filters. For example, one filter pool may contain filters for your e-business Web site while another may contain filters for your payroll program.
Now that you have signed on and organized your filters, you might want to begin working with your source members. You can edit your source files directly with the Remote Systems LPEX Editor. This editor supplies much of the same function as CODE Editor, such as syntax checking and program verification, but it is written in Java. If you are familiar with CODE Editor, you will recognize the editor's look and feel. Like CODE Editor, Remote Systems LPEX Editor is a parsing extensible editor. Figure 5 shows the Remote Systems LPEX Editor.
Figure 5: The Remote Systems LPEX Editor
A parser is an editor extension that acts interactively on a document to improve its usability. A parser uses colors and fonts to highlight different items in a source document: Language keywords are highlighted in one color and variable names in another. It also sets special actions for shortcut keys.
When you double-click on a member in the Remote Systems view, the Remote Systems LPEX Editor checks whether the file name extension of that file is associated with a parser. For example, the Remote Systems LPEX Editor is configured to recognize and parse C/C++ source files. If you open a file called test.c, the editor invokes the C/C++ parser. The Remote Systems LPEX Editor comes with a selection of parsers for common programming languages.
Compiling Your Programs
When you are ready to compile your programs, you can run a compile command on an iSeries server from the Remote System Explorer, and you can retrieve error feedback on the compile. To run a compile command, drill down to a source physical file member, right-click it and choose a compile command from either the Compile menu or the Compile (Prompt) menu.
A compile command is an identifier and is always associated with a source member type. Compile commands can be defined in the usual iSeries ways (by member type or hierarchically by file type), and IBM supplies a number of default compile commands for common member and file types. Compile commands can also be shared using team support.
A command string is the entire command that will be run on the server; for example, CRTRPGPGM PGM(MYLIB/MYPROG) SRCFILE(MYLIB/MYSRC) SRCMBR(MYMBR). A command string is identified with a compile command. Each profile in the Remote System Explorer has a set of source member types, with a set of compile names associated with each source type.
A compile name is an identifier for a compile command to run on a remote system. For example, the compile label CRTBNDRPG tells the iSeries host to create a bound RPG program. Compile names are only associated with source member types: members (*MBR) and modules (*MODULE).
If there are errors, the iSeries Error List view shows the results of the compile identified with icons. The icons signify the severity level, an identifier, the message, the line in the source member that caused the error, the location of the source member that produced the error, and the connection name.
To see the location of the error in the source member, double-click on the error. This opens the source member in the integrated editor, if it is not already open, and highlights the text in the source that caused the error. The error message might also be embedded in the document below the line that caused the error. If you do encounter errors, you can use the iSeries debugger to detect and diagnose errors in code developed with OS/400 Integrated Language Environment (ILE), Original Program Model (OPM) languages, and Java.
Running Programs
You can run programs and commands from the Remote Systems view or the iSeries Table view in three ways:
- In the Remote System Explorer communications server job
- In a batch job
- In an interactive job
The first option runs the program in the same job as the communications server. With batch and interactive jobs, you cannot monitor the status as easily; however, you do not tie up your communications server, and you are notified when the program command ends. Batch jobs work as you would expect and do not require any initial setup. Interactive programs require a 5250 emulator, so you need to first run a STRRSESVR
The WebSphere Development Studio Client for iSeries is the development environment that you need to use to create iSeries e-business applications. When you begin to develop your applications, the Remote System Explorer is where you need to begin. It is your launch pad to iSeries objects. Get ready to explore!
Jim Scott is a staff software developer at the IBM Toronto Lab and is currently a team lead for the WDSc for iSeries product. Jim can be reached at
LATEST COMMENTS
MC Press Online