 | Level: Introductory Khawar Z. Ahmed (kzahmed@us.ibm.com), Technical Marketing, IBM
15 Mar 2005 Updated 16 Mar 2006 This article is for anyone who wants to install Eclipse-based IBM® Rational® software products, especially if you're going to install several on the same machine. Conveniently distilling information from the technical reference material for a number of IBM Rational Software Development Platform products (including Rational Web Developer, Rational Application Developer, Rational Software Modeler, Rational Software Architect, Rational Systems Developer, Rational Functional Tester, and Rational Performance Tester), this article discusses the implications of the product packaging architecture for your installation.
Introduction
This article provides an overview of the Eclipse-based IBM Rational products and their high level product packaging architecture. The IBM Rational product packaging architecture has certain implications on the installation, especially where multiple product installation on the same physical machine is desirable. This article provides a detailed overview of such issues and offers guidance on the best approach to achieving such co-existence installs and specific considerations in such a setup.
Details of this nature are already provided in the technical reference material accompanying IBM Rational products. This article is merely intended to capture such information in a single end-user document, supplementing the information that is already available.
Eclipse overview
Eclipse is an open platform for building software development tools. It operates under the open source model, which provides a common public license and royalty-free worldwide distribution. Written in the Java language, the Eclipse platform provides a plug-in architecture that simplifies the development of software products based on it.
Eclipse has been designed from the ground up to help you build integrated web and application development tooling. By design, the platform does not itself provide a great deal of end-user functionality. Instead, the value of the platform is what it encourages: rapid development of integrated features based on a plug-in model.
Eclipse provides a common user interface (UI) model for working with tools. It is designed to run on multiple operating systems while providing robust integration with each underlying OS. Plug-ins can program to the Eclipse portable APIs (application programming interfaces) and run unchanged on any of the supported operating systems.
The platform UI provides you with a standard user navigation model. This helps you create plug-ins that are focused on doing a small number of tasks well (for example, testing, animating, publishing, compiling, debugging, diagramming, and so on).
The Eclipse platform uses the model of a common workbench to integrate the tools from the end user's point of view. The platform itself is built in layers of plug-ins, each one defining extensions to lower-level plug-ins, and so on. This extension model allows you to develop plug-ins that add a variety of function to the basic tooling platform. The artifacts for each tool (such as files and other data) are coordinated by a common platform resource model.
The platform gives you a common way to work with the tools, and provides integrated management of the resources they create with plug-ins. Figure 1 shows a simplified view of the Eclipse platform and the subsystems within it:
Figure 1. Simplified view of the Eclipse platform
Today, numerous commercial and open-source products use the Eclipse platform as their tooling foundation.
Eclipse and the IBM Rational Software Development Platform
The IBM Rational Software Development Platform is an Eclipse-based common development environment that is shared by the following products:
- IBM® Rational® Web Developer
- IBM® Rational® Application Developer
- IBM® Rational® Software Modeler
- IBM® Rational® Software Architect
- IBM® Rational® Systems Developer
- IBM® Rational® Functional Tester
- IBM® Rational® Performance Tester
If you install any of these products, the IBM Rational Software Development Platform is automatically installed as part of the product. Even if you have more than one of these products installed, the development platform is installed only once. All of these products have the same UI, called a workbench, and each product adds functionality to the workbench by contributing plug-ins. Another way to think of this is that products installed in this manner share the same Eclipse ecosystem.
Figure 2 depicts the nested structure of the products listed previously:
Figure 2. Eclipse-based IBM Rational product packaging
Overview of IBM Rational products
The following provides a basic overview of the different products in the IBM Rational portfolio. For more information about any of these products, please refer to the Resources section at the end of this article.
Rational Web Developer for IBM WebSphere Software
Rational Web Developer for WebSphere Software is an easy-to-learn IDE (integrated development environment) that helps you build, test, and deploy Web, Web services, and Java applications. It helps you develop drag-and-drop applications with JavaServerFaces (JSF) and Service Data Objects (SDO), as shown in Figure 3. Rational Web Developer is capable of supporting multi-vendor runtime environments, and is optimized for IBM® WebSphere® software.
Figure 3. Developing applications in Rational Web Developer
Rational Application Developer for WebSphere Software
Rational Application Developer is a comprehensive IDE that enables you to quickly design, develop, analyze, test, profile, and deploy Web, Web services, portal, Java, and Java2 Platform, Enterprise Edition (J2EE) applications. It provides you with sophisticated static code visualization tools, as illustrated in Figure 4. Like Rational Web Developer, Rational Application Developer is capable of supporting multi-vendor runtime environments, and is optimized for WebSphere Software.
Figure 4. Code visualization in Rational Application Developer
Rational Software Modeler
Rational Software Modeler is a Unified Modeling Language (UML)-based visual modeling and design tool for architects, systems analysts, and designers who need to ensure that their specifications, architecture, and designs are clearly defined and communicated to their stakeholders.
Rational Software Modeler is a customizable tool that enables you to clearly document and communicate these system views. Rational Software Modeler also supports team development by integrating with other tools in your environment.
Rational Software Architect
Rational Software Architect is a design and construction tool for software architects and senior developers creating applications in either the Java platform or C++. It leverages model-driven development with UML, and unifies all aspects of software application architecture. It is intended to help you create well-architected applications and services. Figure 5 illustrates some of the tools that Rational Software Architect offers to help improve your code review.
Figure 5. Code review in Rational Software Architect
Rational Systems Developer
Rational Systems Developer is a design and construction tool that takes advantage of the full power of Eclipse and includes plug-ins that enable software architects and model-driven developers to create well-architected C/C++, Java, J2SE and CORBA-based applications leveraging the Unified Modeling Language (UML 2). Figure 6 illustrates the systems development tool.
Figure 6. Rational Systems Developer offers model-driven development for software products and systems development
Rational Functional Tester
Rational Functional Tester is an advanced, automated functional and regression testing tool for testers and GUI developers who need superior control when testing Java, VS.NET, and Web-based applications. It provides novice testers with automated capabilities for activities such as data-driven testing, while offering advanced testers a choice of scripting language and ScriptAssure technology to improve script resiliency.
Rational Functional Tester also supports testing of 3270 (zSeries) and 5250 (iSeries) applications using the IBM Rational Functional Tester Extension for Terminal-based Applications.
Rational Performance Tester
Rational Performance Tester is a performance test creation, execution, and analysis tool for teams validating the scalability and reliability of complex e-business applications before deployment (see Figure 7). Its multiple, low-intrusion recording techniques capture client-server communication involving either HTTP/HTTPS or SQL-based protocols. In addition, its built-in data correlation filters detect variable data, as well as preparing tests for data-driven load test generation.
Rational Performance Tester's fully customizable test workload scheduler permits highly accurate models of true user profiles. Finally, its real-time reports show up-to-the second response times across users and user groups, exposing system bottlenecks as soon as they occur.
Note: as of March 1, 2005, the above is pre-release information on Rational Performance Tester and is subject to change. Please consult the Rational Performance Tester link in the Resources section for scheduled release date and details.
Figure 7. Creating, executing, and analyzing tests in Rational Performance Tester
Co-existence Scenarios
When you try to install multiple Eclipse-based Rational products (described in the prior sections), you may encounter one of the following three coexistence situations (depending on the specific combination):
- Shared Eclipse ecosystem
- Blocked install
- Upgrade
- Co-exist
The exact action you take depends on the specific combination of products you are trying to install. The following sections elaborate on each of the above coexistence situations, and the rationale for the actions you should take. The section following this one provides a matrix of product installs and associated actions.
Shared Eclipse ecosystem
Shared Eclipse ecosystem refers to a situation where an Eclipse platform-based product uses the components installed by another Eclipse platform-based product. For example, when you install Eclipse-based products A and B, product B relies on components installed by product A. In this situation, A and B are considered to be sharing the same Eclipse ecosystem
In this situation, the second product typically extends the capabilities of an existing product without installing another copy of components such as the UI. For example, if you install Rational Performance Tester, and then you install Rational Application Developer, they will both share the same Eclipse ecosystem. They will share a single UI, and the user interface will contain all the functionality that both products offer.
Blocked install
Some product combinations are blocked from installation on the same machine. This typically happens when an installed product offers more functionality than the one that you are trying to install (in other words, the installed product is a superset of the product you are trying to install). In such a situation, installing the second product could lead to your losing some functionality available in the first product, and so it is blocked.
For instance, if you have Rational Software Architect installed, and you try to install Rational Application Developer, your installation request will be blocked. This is because the Rational Software Architect product already contains all the functionality offered by Rational Application Developer, so you would be losing functionality if the second product install were to go ahead.
If you really want to install the second product, then you must uninstall the first product before installing the second.
Upgrade
Some product combinations lead to a situation where the existing product must be upgraded to the product that offers more functionality. When a product is upgraded, the existing product is removed and replaced. However, your workspace associated with the first product is not removed. Typically, this happens when you install a product that contains all the functionality of the existing product and some additional functionality beyond that (in other words, the product being installed is a superset of the product that is already installed).
For example, if you have Rational Web Developer installed, and you try to install Rational Application Developer, you will be upgraded to the Rational Application Developer product because it is a superset of Rational Web Developer. The first product, Rational Web Developer, will be uninstalled, but both the user interface and the workspace that contain your work for Rational Web Developer will remain in the same location. Note also that the installed product is re-branded to reflect the name of the recently installed product.
Co-exist
Co-existence refers to a situation where an Eclipse platform-based product does not share the components installed by another Eclipse platform-based product, but installs its own components. In this situation, A and B are considered to be co-existing on the same machine. Keep in mind that while such co-installs are possible, running the products simultaneously may not be practical due to the higher memory requirements.
For example, if you have Rational Software Architect installed, and you want to install Rational Systems Developer, you will be allowed to do so. Both applications will be installed separately, and they will not share any common Eclipse components.
Product installation matrix
Table 1 illustrates what happens when you attempt to install more than one product, common to the Rational Software Development Platform, on the same machine.
The vertical axis represents products already installed, while the horizontal axis represents products that you are attempting to install.
Table 1. IBM Rational product installation matrix
| Attempt to install | Rational Software Modeler | Rational Web Developer | Rational Application Developer | Rational Software Architect | Rational Systems Developer | Rational Functional Tester | Rational Performance Tester | | Rational Software Modeler | N/A | Share | Share | Upgrade | Co-exist | Share | Share | | Rational Web Developer | Share | N/A | Upgrade | Upgrade | Co-exist | Share | Share | | Rational Application Developer | Share | Block | N/A | Upgrade | Co-exist | Share | Share | | Rational Software Architect | Block | Block | Block | N/A | Co-exist | Share | Share | | Rational Systems Developer | Co-exist | Co-exist | Co-exist | Co-exist | N/A | Co-exist | Co-exist | | Rational Functional Tester | Share | Share | Share | Share | Co-exist | N/A | Share | | Rational Performance Tester | Share | Share | Share | Share | Co-exist | Share | N/A |
Example Scenarios
-
Rational Application Developer is already installed, and you want to install Rational Software Modeler
Rational Application Developer does not contain the Rational Software Modeler functionality. Nor is there an upgrade path from Rational Application Developer to Rational Software Modeler, or vice versa.
In this situation, then, the install will go ahead and lead to Rational Software Modeler in a shared Eclipse ecosystem with Rational Application Developer. Rational Software Modeler menus and options will appear alongside Rational Application Developer, and they will share the Eclipse ecosystem resources.
A shared situation would also arise if you had Rational Functional Tester and installed it on a machine that had Rational Application Developer.
Note that in such installations, the system maintains internal details of resources being used, so if you uninstall a shared product it does not negatively affect the operations for the other installed products.
As a general rule, Rational Software Modeler exists in a shared Eclipse ecosystem when installed with any of the following products:
- Rational Functional Tester
- Rational Performance Tester
- Rational Web Developer
- Rational Application Developer
Similarly, Rational Functional Tester and Rational Performance Tester can exist in a shared Eclipse ecosystem with any of the following products:
- Rational Web Developer
- Rational Application Developer
- Rational Software Modeler
- Rational Software Architect
-
Rational Software Architect is already installed, and you want to install Rational Software Modeler
This install attempt will be blocked. This is because Rational Software Architect is a superset of the Rational Software Modeler product and includes all of its functionality. Therefore, permitting you to install Rational Software Modeler in this situation would lead to a degradation of the Rational Software Architect installation's capabilities.
Rational Web Developer is already installed, and you want to install Rational Software Architect
Rational Software Architect is a superset of Rational Web Developer. So if Rational Web Developer is already installed, and you want to install Rational Software Architect, then your Rational Web Developer installation would be upgraded to Rational Software Architect, and the installed product would be re-branded Rational Software Architect. That is, you will not have side-by-side installations of Rational Web Developer and Rational Software Architect. Instead, a single install of Rational Software Architect will give you all the Rational Software Architect functionality as well as the Rational Web Developer functionality.
Doing so will result in Rational Software Architect reusing all the common content from Rational Web Developer. It would also install Rational Application Developer content, because Rational Software Architect includes all of the functionality of Rational Application Developer. Furthermore, additional Rational Software Architect-specific content would be installed to complete the installation. At the end of installation, everything would be branded Rational Software Architect.
-
Rational Web Developer is already installed, and you want to install Rational Application Developer
This is similar to the situation described in the previous section. Since Rational Application Developer is a superset of Rational Web Developer, the Rational Web Developer install would be upgraded to Rational Application Developer, and the install re-branded to Rational Application Developer.
-
Rational Web Developer is already installed and you want to install Rational Systems Developer
Rational Web Developer does not contain the Rational Systems Developer functionality. Nor is there an upgrade path from Rational Web Developer to Rational Systems Developer, or vice versa.
So, in this situation, the install will go ahead and lead to Rational Systems Developer co-existing on the same machine with Rational Web Developer. Rational Systems Developer menus and options are not available from Rational Web Developer, and they do not share common Eclipse resources.
Common questions and considerations
Some questions routinely come up in connection with using and deploying Eclipse-based IBM Rational products. This section answers the most commonly asked ones:
-
Can I co-install Eclipse 2- and Eclipse 3-based IBM products?
You can install and run Eclipse 2-based Rational products and Eclipse 3-based Rational products side by side.
For example, you can run IBM® WebSphere® Studio Application Developer 5.x and Rational Application Developer 6 on the same machine. Since IBM® Rational Rose® XDE installs and runs inside WebSphere Studio, you can also run Rational Rose XDE with Rational Software Architect. Similarly, you can install and run Rational Functional Tester 5.x with Rational Functional Tester 6 on the same machine.
When running WebSphere Studio Application Developer 5.x and Rational Application Developer 6.x, you do need to ensure that the application servers for the test environments are set up to use different ports for the two products; otherwise you will run into conflicts.
Keep in mind that while such co-installs are possible, running the products simultaneous may not be practical due to higher memory requirements.
While direct sharing of project artifacts between Eclipse 2 and Eclipse 3 side-by-side installations (that is, locating your project roots outside of the workspaces of either installation, and pointing both workspaces at the same projects) may work to some degree, this approach has not been officially tested and is therefore not supported.
-
Can I install IBM Rational products on an existing Eclipse 3 installation?
It is currently not possible to install IBM Rational products on top of an existing Eclipse install. For example, if you already have Eclipse 3 installed on your system, it is not possible to install Rational Application Developer on top of it. When you install Rational Application Developer, it will install a new version of Eclipse 3 and install the Rational Application Developer components on top of the new Eclipse 3 installation.
-
Can I install third-party Eclipse 3 add-ins?
You can install other non-IBM Eclipse plug-ins into Eclipse based Rational products. However, keep in mind that if you encounter any problems while using IBM Rational products after such plug-ins have been installed, any problems with IBM Rational products must be reproducible in an unmodified shell for support purposes.
Summary
IBM offers several Rational software products based on the Eclipse platform. These products provide vital functionality for the software development lifecycle, including modeling and architecture, design and construction, and testing.
You can take advantage of these products via multiple installation configurations. Depending on what is already installed on your machine, you may encounter different responses to new installation attempts. In all situations, the action you need to take is well-thought out, and results in a final installation that offers the most functionality for a given combination of selected products.
Resources Learn
-
The IBM Software Developer Platform homepage provides detailed information on the overall IBM Software Development platform, of which IRAD, IRSA, IRSM, and the other products listed in this article, are a part.
-
For technical resources about Rational's products, visit the developerWorks Rational content area. You'll find technical documentation, how-to articles, education, downloads, product information, and more.
-
Find more product related information by visiting the IBM Rational marketing pages. You can find more information about Rational Performance Tester and all other IBM Rational products by viewing these pages.
Get products and technologies
-
Get the evaluation version of Rational Application Developer, Rational Software Architect and the other products listed in this article from the Trials and betas page.
-
Purchase Rational books at discounted prices in the Rational section of the Developer Bookstore.
Discuss
About the author
Rate this page
|  |