Installation remains essentially the same as in version 8.0 of IBM® Rational® Developer for Power Systems Software™ and its fix packs. There is now one additional installable feature for COBOL Development Tools for the IBM® AIX® that contains rules for code analysis.
New client platforms
There are several new 64-bit platforms that we now officially support.
Table 1. Platforms supported
|Client operating system||32-bit||64-bit|
|Microsoft Windows XP Professional||x|
|Microsoft Windows Server 2003 SE and EE||x|
|Microsoft Windows Vista Business, Enterprise, and Ultimate||x|
|Microsoft Windows Server 2008 SE and EE||x||new|
|Microsoft Windows 7 Professional, Enterprise, and Ultimate||x||new|
|Microsoft Windows Server 2008 R2 SE and EE||new|
|Red Hat Enterprise Linux Desktop 5||x||new|
|Red Hat Enterprise Linux Desktop 6||new||new|
|SUSE Linux Enterprise Desktop 10||x|
|SUSE Linux Enterprise Desktop 11||x|
Although the 64-bit platforms listed above are supported, the Java virtual machine (JVM) used by Rational Developer for Power Systems Software is still a 32-bit application. We will continue to evaluate moving to 64-bit JVM as the components we use become available in that environment.
Ubuntu clients are obviously missing from the list. While not officially supported, we have had some success in running Rational Developer for Power Systems Software (hereafter, Rational Developer for Power) on Ubuntu 10.04 LTS and later. As you know, in addition to developing code specifically for the operating systems running on IBM® POWER®, we use components in the construction of Rational Developer for Power that are obtained from several sources. Ubuntu is, unfortunately, not supported by all of our suppliers. If you install and run on Ubuntu, any problems that you experience will need to be reproduced on a supported configuration before we can begin work on them.
We now support the installation of Rational Developer for Power by non-administrators. These installations do not modify the common application areas of your client. Instead, they install into user-specific directories.
Non-admin install is not available from the IBM® Installation Manager launchpad. To do a non-admin install, you must directly invoke the appropriate userinst procedure for your client operating system. This is located on your installation media or download file.
Update existing installation or install from media
IBM provides a media refresh for the Rational Developer for Power 8.0.3 release. As a result, you can get the full installation package either by ordering installation media or downloading. If you have a previous 8.0 installation, you can be upgrade directly by using the IBM Installation Manager. For new installations, activation kits are available from IBM Entitled Software Support or from Passport Advantage, depending on your ordering and fulfillment mechanism. Check with your IBM Business Partner for more information about how to upgrade or purchase.
New license options
In addition to the Authorized User licenses and the Floating User licenses, we have introduced fixed-term authorized and floating user licenses for Passport Advantage customers. A fixed-term license is a special type of user license that expires after a specific period of time.
IBM i enhancements
We have received many Requests for Enhancement (RFEs) of the IBM® i operating system support in Rational Developer for Power since we opened the RFE process in April of this year. The improvements described in this section are a direct result of these requests. If you have a specific request in Rational Developer for Power for any IBM® Power Systems™ platform, please enter it on our developerWorks site (see the Resources section for a link), and we’ll try to respond to those that receive the most interest from our community. If we end up rejecting a request due to resource constraints, please feel free to resubmit it at a later date. Problems, of course, should always be reported through the normal service channels.
When you fill out the Search or Submit request forms, use the following selections (also see Figure 1):
Product family: Rational family
Product: Developer for Power Systems
Figure 1. The correct entries for submitting a Request for Enhancement
RFE 10752: Prevent the saving of passwords
You can now prevent the saving of passwords on connections defined to a particular IBM i system.
The "disable password save" policy is set at the IBM i system to which the client connects. Complete help for defining this policy is available in the product Help section.
If password saving is not allowed, then passwords for this system that are stored on the client are erased and the Enter Password dialog does not show the option to save the password.
Figure 2. The modified Enter Password dialog window
The "disable password save" policy takes effect at the client immediately after connection, so there is the possibility that you could save a password when making the connection and have that password immediately erased.
Messages are logged in the .log file of the workspace if the client’s behavior changes as the result of reading the policy. If no policy is present on the IBM i system, no change is made on the connecting client.
The policy is in effect for all connections to this system regardless of IP address or connection name. If there are several connections to this system in a workspace, all of these will be under the control of this policy when the first connection is established.
RFE 11082: Add a preference to not expand the remote systems tree when adding a member
A new preference has been added to inhibit the expansion and selection of an object in the Remote Systems view when a new resource is created. This is useful if you are creating several members into the same source file. The default is to expand. Uncheck the box to change the behavior.
Figure 3. The new preference for tree expansion, Objects Subsystem view
RFE 11049: Modify Rational Developer Power to support secure sessions
Rational Developer for Power now supports secure connections to IBM i systems. When an RSE connection is defined and opened to an IBM i system, several underlying TCP connections are made. If the connection is secure, SSL is used from these connections except for debugging, which uses SSH tunneling.
SSL requires some certificate management, most of which is done by an administrator on the IBM i host. Steps to create and manage the SSL certificates are explained in the product Help section. If you use SSL at your location for other reasons, you probably already have much of this in place.
SSH tunneling is transparent to the user and requires no setup on the client side, other than to set the "secure connections" property on the connection (see Figure 4).
Figure 4. The new option for upgrading the security of an IBM i connection
RFEs 11116 and 12282: Allow comment and uncomment of a block of selected code
The LPEX editor for RPG has been modified to support the block commenting and uncommenting of both free-format and fixed-format ILE RPG code. The default keys are Ctrl+/ to comment and Ctrl+\ to uncomment.
Figure 5. Before block commenting RPG code in LPEX
Figure 6. RPG code after the block comment action
RFE 10523: Allow a different editor to be associated with member
DSPF and PRTF DDS members now default to the Screen and Report Designers, respectively, as editors for new files. Prior to this release, the file associations for these file types were ignored. With this release, you can set the editor associations for these file types. The defaults are those respective designers.
Figure 7. Making Screen Designer the default editor for the .DSPF source type
RFE 10437: Content Assist - Show Decimal Positions
The LPEX editor now shows the number of decimal positions for packed and zoned variables when using Content Assist in ILE RPG. Prior to this release, only the total number of digits was shown.
Figure 8. Content Assist now shows decimal positions
RFE 10152: Verify "Defines" can now be made sticky
Prior to this release, the "defines" used in the verify operation were taken from the preferences, but there was no way to modify the preferences directly from the verify dialog window. As a result, if you had a set of defines that you used several times, you would potentially have to re-enter them each time. With this release you can save these preferences from the Program Verification Options dialog window.
Figure 9. Program verification options
Sort fields by position in screen and report designers
The Sort action can now be invoked at the record level in the Screen And Report designers. This reorders the fields in the generated DDS by their positions on the screen or page. This action had previously been available only when selecting a field.
System Entry Point easier to use
The debug server will now be started automatically if a System Entry Point breakpoint is added. This relieves the user from having to go look to check whether the debug server has been started. If the user is not authorized to the STRDBGSVR command, then adding the SEP breakpoint will fail.
A comment now appears in the console log when the contents of a file are being pushed from an IBM i project. Previously, there was no indication in the log if the contents were being uploaded if there were no corresponding attributes being set. This leaves a record of the push action in the console where it can be reviewed later.
Common AIX and Linux support
A pushpull project is one where the source for the project exists on both the remote system and the local workspace. Both the C/C++ support for Linux and AIX and the COBOL support for AIX depend on a common component for maintaining synchronization of resources for push/pull projects. This component, called the Reconciler, has been changed somewhat in this release.
If you define a push/pull project, you have two copies of the file that you can work on: a local copy and a remote copy. If both of these are edited without synchronizing the file between edit sessions, the two copies of the file conflict and must be reconciled. In this release, the software detects these conflicts and shows them in the Remote Reconciler view. This allows you compare the two files and take appropriate action to synchronize them.
Conflicts are detected either when a Synchronize action or a Push Selected action is taken on a resource in the Reconciler view. If this occurs, the file is not transferred in either direction, and a conflict decorator (icon) is shown on the file in both the Project Explorer and the Remote Reconciler views, as Figure 10 shows.
Figure 10. Conflict decorator in the Project Explorer
The same function can be used to detect whether an update has occurred on a remote file. When this happens, the file is shown in the Remote Reconciler view and the Project Explorer view with a "remote changes decorator.
Figure 11. Remote Resource Changed decorator
If a file or folder is new on the remote system, the decorator will show a plus sign to indicate that the file or folder is new.
Figure 12. The New Remote Resource decorator
Automatic synchronization can be turned on to have the synchronize action execute periodically. This enables the Remote Reconciler view to remain up-to-date.
Push/pull projects have had a Push on Save capability. In this release, we have added a Pull on Remote Update capability, as well. When a remote update is detected for a project with this attribute, the remote file is downloaded to the project during a synchronize action if no conflict has been detected.
Figure 13. The new Pull on Remote Update setting for projects
You might find it desirable to hide various folders in your project from push/pull operations. You can now disable synchronization for a folder from the Remote Reconciler view by using the Ignore action.
Figure 14. The new Ignore Folder During Synchronization setting
You can also set this for a folder in the Project Explorer by using its Remote Folder Properties page (see Figure 15).
Figure 15. The "Properties for data" page equivalent for "Ignore Folder During Synchronization"
Finally, as a convenience, you can now start a terminal as well as a shell directly from the Remote Reconciler view.
Figure 16. The new "Launch Terminal" action
The terminal is started with the selected folder as the current directory.
Figure 17. An example of a terminal view
Launch configuration updates
When you use a launch configuration to run a program on a remote AIX or Linux system, you can now specify that you want to run that program in an SSH terminal.
Figure 18. The new "Run with SSH" option of the launch configuration
COBOL on AIX
New COBOL editor
A new editor has been created for COBOL on AIX systems. This new editor is integrated more deeply into the Eclipse editor framework than the Remote Systems LPEX editor, and it provides functions that are not available in the LPEX editor:
- Capitalization and Indentation Formatter
- Quick Fix
- Surround With
- Task Tags
- Mark Occurrences
- Range Indicator
- Hex Editing
These are described in some detail in the subsections that follow.
The Remote Systems LPEX editor remains the default editor for AIX COBOL, but you can select this new editor as the default for .cbl and .cpy files if you prefer. This editor will be the one enhanced in further releases of Rational Developer for Power for AIX COBOL.
Capitalization and indentation formatting
These are controlled by preferences affecting this editor and can be applied from the Source context menu in the editor. The Content Assist feature also respects these settings.
You can find the indentation and capitalization setting under Windows > Preferences > COBOL > Editor > Formatter.
Figure 19. AIX COBOL editor Formatter preferences
Figure 20 shows a selection in the editor where we will apply a set of indentation and capitalization formatting preferences , to illustrate this option.
Figure 20. COBOL source code before formatting for capitalization
Pressing CTRL+SHIFT+F or selecting Source > Format from the context menu transforms the above selection into the one below.
Figure 21. COBOL source code after capitalization
You can hover your cursor over the highlighted line on the text or the light bulb icon in the editor margin associated with a warning or an error to get a Quick Fix pop-up window that suggests fixes. Selecting a fix will apply it to that portion of your code.
Figure 22. Quick Fix example
Surround With menu
The Surround With context menu in the editor offers a choice of configurable templates that you can use to augment your code.
Figure 23. Surround With example
You can now insert tags into comments in your code. These are parsed by the new COBOL support and added to the Tasks view. Double-clicking on a task takes you immediately to the appropriate line in the COBOL editor. You can use this for reminders to go back and finish incomplete or questionable implementation in your code. The
TODO tags are predefined, but you can add new ones in Windows > Preferences > COBOL > Editor > Task Tags.
Figure 24. Task tags in Comments example
Mark Occurrences option
You have the ability in the editor to select an item and have all of its occurrences in the source file highlighted. You can toggle this with the new Mark Occurrences button in the tool bar.
Figure 25. Mark Occurrences example
A range indicator in the new COBOL editor shows the range of the containing paragraph or division. This indicator is on the left side of the editor window. A following EXIT paragraph is included in the range if it is present.
Figure 26. Range indicator example
You can turn on the hex editor table by clicking the Toggle Hex Editing icon in the toolbar.
Figure 27. The Toggle Hex Editing button
When hex editing is turned on, a table appears at the bottom of the editor window that allows hexadecimal entry in the current line.
Figure 28. The Hex Editing table
New structured COBOL comparison editor
You can compare two files directly to each other or compare a file to previous generations of its local history. In Eclipse-based tools, these comparisons are done using a "compare editor." Prior to this release, the compare editor for AIX COBOL files was a simple text comparison. In this release, we have introduced a structured COBOL compare editor. This editor understands the structure of a COBOL program and can isolate changes to a particular structure if the files are similar enough.
Figure 29. Comparing COBOL source files
New COBOL code analysis
A new static analysis engine has been added to Rational Developer for Power Systems. In conjunction with language-specific support, this engine is capable of rules-based analysis of the source code in projects. The AIX COBOL support takes advantage of this new engine to provide code quality rules, such as requiring PERFORM statements to not have a THROUGH clause or disallowing the use of GOTO or ALTER. These rules can be gathered into sets and applied to a single file, a set of files, a project, or the entire workspace. Individual rules can be selected to be included in the set, and multiple named sets can be constructed.
There are new views and actions that take advantage of this.
The code analysis feature is not installed by default. You need to select the feature during installation or add it by modifying the current installation, using the Installation Manager.
To use this feature, you construct a software analyzer configuration and then run it on the workspace, a working set of files, or a single file.
Figure 30. The Software Analyzer menu
The configuration editor presents dialogs that allow you to collect rules that will be employed in an analysis. This collection is referred to as a configuration. The rules that Rational Developer for Power supplies are developed to enforce certain coding standards, and because internal standards vary from company to company, there are rules in the set that appear to conflict with each other. You can select those rules that meet the standards for your project, team, or company. Rules are categorized to assist with this selection.
Figure 31. Software Analyzer Configurations window
You can add custom rules based on templates and organize these rules into categories of your own. These new rules are added in Windows > Preferences as shown in Figure 32.
Figure 32. Preferences for custom rules
Running the analysis produces a report in the Software Analyzer Results view. Figure 33 shows an example. Double-clicking an instance of an infraction will bring up the COBOL editor and position your cursor at the offending line.
Figure 33. A Software analysis report
New split/join behavior when editing in LPEX
Prior to this release if you were editing AIX COBOL in the LPEX editor pressing Enter in the middle of a line would cause the line to split and the new line to begin in the leftmost column. With this release the new line will be indented to the same level as the original line. Likewise, prior to this release, joining lines by pressing the delete key at the end of a line could result in the joined line running past ending column. With this release the line is joined, but could again be automatically split near the end if it would run past the ending column. String literals, variable names, and reserved words are always left intact.
C/C++ on Linux and AIX
Remote GNU C Tool Chain support
The GNU C compiler (gcc) is now supported when connected to a Linux server that is running on a Power System. You can select Remote Linux GCC Tool Chain during project creation or in the project Properties view after the project has been created.
This support is for Linux servers only, because the tool chain is not available on AIX.
XL C v11 compiler options support
Version 11 of the IBM XL C compiler has added a number of new options. These are now supported.
Offline indexing support
The indexing component of the C/C++ support is responsible for gathering information on the use of entities such as variables and functions in C/C++ programs. These are used to construct the call hierarchy and type hierarchy views and Content Assist options.
Prior to this release, an index would be reconstructed when files were added, changed, or removed in a project. Therefore, indexing large remote projects could take a considerable amount of time. With the new offline indexing support, indexes can be constructed in the background on the remote Linux or AIX system and then used by the project. Both the IBM XL and GNU C/C++ parsers are supported. This greatly improves the responsiveness of project creation from existing directories on the target system.
To run the offline indexer, run the
offlineIndexer.sh shell script, which is located under the RDp server directory on the remote server (/opt/IBM/RDPower/8.0/rse). After the index is constructed, it can be imported into the workspace for the project. By using this support, you can share a previously created index from a remote project directory with others. (A Help section for this function is available, as Figure 34 shows.)
Figure 34. Help for offline indexing in C and C++
Associate or remove local location wizards
You can work with a local copy of a remote project and have that local copy synchronize with its remote counterpart. This synchronization can be done manually or set up to take place automatically. You might want to do this to take advantage of an Eclipse-based source control manager, such as IBM® Rational Team Concert™. You can also define your projects so that you are working directly on the remote resources.
New Associate and Remote Local Location wizards have been defined so that you can control this remote and local relationship. Thus, for example, you can now take a project that had been defined as remote-only and turn it into a synchronized remote and local project.
You can now take a workspace offline. That is, you can temporarily detach the remote C/C++ projects from their remote location. Projects that are remote-only will be associated with a local location. Projects that were already remote and local will be synchronized. From that point, the project changes will be made locally and tracked. When the workspace is taken back online, the changes will be reconciled with their previous remote location.
You can take the workspace offline and back online by using the Offline/Online button in the Remote C/C++ perspective.
Figure 35 shows the location and appearance of the "go offline" button. This is the default location for this button, but it can be moved to other locations on the workbench.
Figure 35. Location and appearance of the Go Offline indicator
While offline, you can edit the files in the projects in your workspace, but you cannot build or debug your project until you reconnect to the remote system.
- IBM Rational Developer for Power Systems Software provides integrated development environments for the major development workloads on IBM i, IBM AIX, and Linux, including Java, C/C++ on AIX and Linux, COBOL on AIX, and RPG, COBOL, C, and C++ on IBM i. To learn more, start with the developerWorks page, and then review the Rational Developer for Power Systems Software product information, features and benefits page, as well as the product line overview. For support or documentation, see the Rational Developer for Power Systems Software Information Center.
- You can enter new Requests for Enhancement any time. When you fill out the Search or Submit request forms, use the selections shown in Figure 1.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free.
Get products and technologies
- Download the free trial so you can evaluate Rational Developer for Power Systems Software, or try the Power Systems software in the online sandbox.
- Download a free trial version of other Rational software.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Join the Rational Developer for Power Hub forum to ask questions and participate in discussions.
- Rate or review Rational software. It’s quick and easy. Really.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
- Get social about thought leadership. Join the Rational community to share your Rational software expertise and get connected with your peers.