Change the way you do iSeries development with Eclipse.
The Eclipse technology is used by the
open-source community as a universal platform for tool integration. Eclipse
provides a robust and extensible integrated development environment (IDE) for
creating these integrated tools. The technology is modeled after a public
license concept; the software is developed in an open-source community so that
individuals or groups of individuals can contribute to the product or a
particular technology. Open source essentially means that developers can read
and distribute the code. At the same time, they improve it, fix errors, and
allow the software to mature. This philosophy is in contrast to past software
development efforts in which software was developed privately and without
assistance from others outside the company. IBM likens Eclipse to Linux; what
Linux is to operating systems, the Eclipse IDE is to tools.
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 command to associate the emulator with a
specific connection in the Remote System Explorer communications server. You can
only run program objects and command objects; for example, objects ending in
pgm.cblle or pgm.clp.
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
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
.
|