Discover IBM Rational visual tools for application development

Taking a tour of the Rational Software Development Platform

You and your IT team need to be as efficient as possible throughout the software development life cycle. The IBM Rational® software development platform contains a variety of visual tools to help you do this. In this article, you get an overview of the benefits of using Rational tools -- including Rational Web Developer, Rational Software Modeler, Rational Application Developer, and Rational Software Architect -- and you'll be able to choose the most appropriate product for your particular task. Learn how to drag and drop your way to a visual interpretation of your design while more effectively communicating with your entire team.

Share:

Eric Long (elong@us.ibm.com), Software Engineer, IBM

Author photoEric Long is a Software Engineer in the IBM Developer Skills Program. Eric graduated from the University of Texas at Austin with a degree in computer science. He joined IBM in July of 2004 and is currently based in Austin, Texas. His work at IBM includes delivering technical briefings and speaking engagements to developers and university faculty on open source and industry trends and technologies to a worldwide audience. He has also created a wide variety of technical demos and content available at www.ibm.com/university.



07 February 2006

Also available in Chinese

Why use visual tools?

Visual tools enable different tasks for different people. They can help:

  • The developer write code more efficiently
  • An architect view parts of a complex application, or the entire application, in an easy-to-understand graphic
  • All the team players in the application development process communicate with each other

Instead of showing a business executive lines of Java™ code in a text editor, you can use a visual tool to show a higher-level view of the same Java code that is easier to understand. Good visual tools can bridge the gap between business decision makers and the implementers of products.


Overview of Rational design products

Rational software has a product for everyone involved in the application development process. Rather than each member of a software development team having one large all-encompassing tool, Rational tools target different products to different members of the team. Each product integrates seamlessly with the other products, ensuring that all team members have the right tool for their respective job, and everyone on the team can communicate their work with others. For example, Web developers might not need modeling capabilities or testing and analysis tools. So, why include those capabilities in their tool, which could add confusion and increase learning time?

What's an IDE?

An Integrated Development Environment, or IDE, is a set of software development tools accessible from a single user interface. In the Rational software development platform, it means a one-stop shop for application development.

Figure 1 shows all of the Rational products, built on top of the Eclipse platform, which give all the products the same look and feel. Master one product, and the others are a cinch to learn. If you are familiar with Eclipse, you already know how to navigate around all of these products. Sure, the Rational tools have far more capability, but the underlying functions of the IDE are the same as Eclipse. Figure 1 also shows, at a very high level, how the products are related to each other.

Figure 1. Rational design and construction products
Rational design and construction products

Enough with the high-level stuff. Take a look at the visual tools each of these products have to offer, in the following sections:


Rational Software Modeler

Rational Software Modeler is a customizable, Unified Modeling Language (UML) 2.0-based visual modeling and design tool. It enables architects, systems analysts, designers, and others involved in the development process to clearly document and communicate processes, flows, and designs. Rational Software Modeler also integrates with other tools in your environment to support team development. Figure 2 shows the functions and visual tools in Rational Software Modeler.

Figure 2. Rational Software Modeler product overview
Rational Software Modeler product overview

This section focuses on three visual tools:

Integration with Rational RequisitePro

Within Rational Software Modeler, you have the ability to visually integrate with a variety of tools -- from configuration management to requirements. For example, Rational Software Modeler has views that let you drag and drop requirements from Rational RequisitePro projects directly into UML 2.0 projects housed in Rational Software Modeler. Figure 3 shows how a use case can be dragged from RequisitePro into a UML 2.0 model in Rational Software Modeler.

Figure 3. Rational Software Modeler RequisitePro drag and drop
Rational Software Modeler ReqPro Drag and Drop

UML 2.0 modeling

Rational Software Modeler is based on the latest open standard UML specification - 2.0. Each of the following diagrams can be modeled using Rational Software Modeler:

  • Class
  • Communication
  • Component
  • Composite structure
  • Deployment
  • Activity
  • Sequence
  • State
  • Use case

Figure 4 shows the UML visual editor in Rational Software Modeler. An actor and two use cases, with associations, (UC1 and UC2) have been added to the model. The Palette at the right contains all of the UML 2.0 objects that can be added to the different types of models. Creating a model is as simple as clicking objects from the Palette, then clicking in the editor (sticky drop).

Figure 4. Rational Software Modeler UML 2.0 modeling
Rational Software Modeler UML 2.0 Modeling

Pattern authoring

A pattern is a parameterized representation of a solution to a recurring problem. It is typically expanded from a general solution to a specific solution based on the pattern's input parameters. In Rational Software Modeler, applying patterns to existing projects or beginning a project with a particular pattern couldn't be easier. Again, all you do is drag and drop. (Noticing a trend?)

If you already have a project, you can drag and drop your existing application elements into the visual representation of the pattern's parameters. Or, use the visual representation of a pattern to create your own elements from scratch. Rational Software Modeler comes prepackaged with all of the Gang of Four design patterns (Behavioral, Structural, and Creational). If you need more patterns or want to create your own, Rational Software Modeler has tools and wizards for importing and creating them.

In Figure 5 you can see the Pattern Explorer, where all the magic happens. Much like the Palette, the Pattern Explorer view lets you simply drag and drop a specific component (a pattern in this case) onto the editor. From here, you can link the patterns parameters to any class objects you may already have, or create new class objects, from the visual representation of the pattern.

Figure 5. Rational Software Modeler Pattern Explorer
Rational Software Modeler Pattern Explorer

Rational Web Developer

Rational Web Developer allows you to build, test, and deploy Web, Web services, and Java applications with an IDE that is easy to learn and use. Optimized for IBM WebSphere® software and capable of supporting multivendor runtime environments, Rational Web Developer for WebSphere Software is powered by the Eclipse open source platform, allowing you to adapt and extend your development environment to match your needs and increase productivity. When used with the IBM Software Development Platform, you can access a broad range of requirements and change management functions directly from Rational Web Developer. Figure 6 shows the functions and visual tools Rational Web Developer provides for Web development.

Figure 6. Rational Web Developer overview
Rational Web Developer product overview

Rational Web Developer contains wizards and tools that let developers with any skill level or background build rich, data-driven applications using one common interface. The following section focuses on these visual tools:

Web Site Designer

Rational Web Developer's Web Site Designer tool, shown in Figure 7, brings all aspects of Web site design into one place. Using this tool, you can create, import, and manage entire Web sites. After importing an entire Web site, you can edit styles globally, then add or delete pages from a variety of views. Page templates can be custom made to ensure consistent design. A Navigation view displays site hierarchy and gives you another way to easily edit site content. All the tools in the Web Site Designer are dynamically linked, so any changes to site structure or navigation are automatically regenerated.

Figure 7. Rational Web Developer - Web Site Designer
RWD - Web UI Construction

Web services

UDDI
Universal Description, Discovery and Integration Protocol
WSDL
Web Services Description Language
WS-I
Web Services Interoperability Organization
XML
eXtensible Markup Language

Creating and consuming Web services is a snap with Rational Web Developer. Most of the low-level coding (in WSDL, UDDI, or XML) is virtually eliminated while using the Web services tools. If you want to convert parts of existing applications into Web services, all it takes is a few clicks. Context menus within the tool take care of the rest. These include WSDL editors that allow a very graphical, context-oriented way of creating or editing WSDL files.

The Web services visual tools ensure that any Web services created or consumed, then edited, are going to comply with the WS-I standards (as long as you do not edit the auto-generated code, of course). With Rational Web Developer, any type of developer can quickly become a Web services consumer or creator using these visual tools. Figure 8 shows the WSDL editor within Rational Web Developer.

Figure 8. Rational Web Developer - WSDL Editor
Rational Web Developer - Web Services

Rich client UI construction

Rational Web Developer lets you build data-driven Web applications with rich user interfaces using little more than a few mouse clicks in the Page Designer view. Within this view, you can visually drag and drop JavaServer Faces components, UI components, and even Service Data Objects. The WYSIWIG editors give even novice programmers the capability to create elaborate Web pages. Page Designer eliminates coding for rich, highly functional Web applications. Figure 9 shows the Rational Page Designer interface.

Figure 9. Rational Web Developer - Page Designer
RWD - Rich Client UI Construction

Java development tools

With Rational Web Developer you get more than just a variety of Web development tools -- you also have access to a best-of-breed Java development tool. In addition to the expected class editor functions, Rational Web Developer users can view their classes using different views.

For example, the Package Explorer view displays the different projects and packages, as well as the contents of those projects and packages. Click any element in the view to quickly open the editor for that particular element. It can also be used to understand a high-level view of complex applications. An Outline view is available to explore the inner elements of a Java class. This tool is extremely useful when exploring or trying to understand new (inherited) code. Figure 10 shows both of these views.

Figure 10. Rational Web Developer - Java development tools
RWD - Java Development Tools

Rational Application Developer

Rational Application Developer comes with all the functionality of Rational Web Developer.

Rational Application Developer (formerly WebSphere Studio Application Developer) lets you quickly design, develop, analyze, test, profile, and deploy Web, Web services, Java, J2EE and portal applications with this comprehensive IDE. Optimized for WebSphere software, it supports multivendor runtime environments. Because Rational Application Developer is powered by the Eclipse open source platform, you can adapt and extend your development environment to match your needs and increase your productivity. When used with the IBM Software Development Platform, you can access a broad range of requirements and change-management functions directly from Rational Application Developer. Figure 11 shows the functions and visual tools available in Rational Application Developer.

Figure 11. Rational Application Developer product overview
RAD - Product Overview

This section focuses on these visual tools:

UML visual editors

Rational Application Developer offers the following types of UML visual diagrams:

  • Class diagrams
  • Database diagrams
  • Browse and topic diagrams
  • Sequence diagrams

Unlike the diagrams offered in Rational Software Modeler, these are visualizations of actual code. Any changes to the diagrams directly affect the underlying code. So, true UML 2.0 modeling is not possible using Rational Application Developer. UML 2.0 notation is used in these diagrams as a way to visualize and understand the code.

Class, sequence, and database schema diagrams use visual tools similar to Rational Software Modeler. A palette is used to drag and drop different components onto the editor. With Rational Application Developer, additions or subtractions from the diagram generate actual code that is synchronized with a file. For example, if a class is dragged and dropped into a class diagram, a corresponding Java class file will be created automatically. Browse and topic diagrams are static, high-level snapshots taken of particular elements to show how they are related. They are useful in gaining understanding of unknown elements in an application. Figure 12 shows the class diagram editor in Rational Application Developer. For more information about using the visualization tools in Rational Application Developer, register for the tutorial, "Visualize with Rational Application Developer."

Figure 12. Rational Application Developer - UML Class Diagram editor
RAD - UML Class Diagram Editor

Component testing

Rational Application Developer offers you fully functional unit and application programming interface (API) tests for Java classes, Enterprise JavaBeans, and Web services, which are all based on the JUnit framework. It also provides testing guidance, such as what to test first and which test patterns apply to a particular section of code. Component testing in Rational Application Developer includes:

  • Automated unit and API testing with automated data generation
  • Statistic-based test prioritization guidance
  • Automated stub generation

Figure 13 shows some of the visual tools for testing available in Rational Application Developer.

Figure 13. Rational Application Developer - component testing
RAD - Component Testing

Code review and runtime analysis

Code review in Rational Application Developer is like enforcing code rule compliance every time you use the tool. Rational Application Developer comes prepackaged with the following types of code reviews:

  • Quick code review
  • Complete code review
  • J2EE best practices code review
  • J2SE best practices code review
  • Globalization code review

Within these reviews, rule categories can be toggled on or off, and new categories can be custom made using a simple wizard. Different views offer you insight into errors or warnings when performing a code review using the tool. For example, a rule violation in a Java class will be underlined with a red squiggly line. Views in Rational Application Developer provide explanations of what rule has been violated, examples of how to fix it, and may even have quick fixes (automatic fixes) available. The idea is to catch code violations early and often in the early stages of development. Figure 14 shows the visual code review tools available in Rational Application Developer.

Figure 14. Rational Application Developer - code review
RAD - Code Review

Visual portal and portlet development

The portal and portlet visual tools in Rational Application Developer are the same as those discussed in Rational Web Developer, except that the Palette in Rational Application Developer contains portal and portlet components that can be dragged and dropped onto the editor. J2EE functions are also available. Figure 15 highlights some of the benefits of Rational Application Developer's portal and portlet development tools.

Figure 15. Rational Application Developer - portal development
RAD - Portal Development

Rational Software Architect

Rational Software Architect is an integrated design and development tool that leverages model-driven development with the UML for creating well-architected applications and services. It is the superset of all the products discussed in this article, and therefore has the capability to do all of the previously mentioned functions. Integrating any projects from the other Rational products is seamless. Figure 16 shows the functions and visual tools available in Rational Software Architect.

Figure 16. Rational Software Architect product overview
RSA - Product Overview

This section focuses on the following visual tools:

UML language transforms

Because Rational Software Architect contains Rational Software Modeler, you can create many different UML models and diagrams. Now, with Rational Software Architect, you also have the capability to transform those diagrams and models into actual code. Transformations that come with Rational Software Architect include:

  • UML to Java
  • UML to XSD
  • UML to EJB
  • UML to CORBA
  • UML to C++

You are not restricted to these five transformations, however. Custom transformations can be defined using Rational Software Architect. Figure 17 shows the Run Transformation wizard that walks you through a particular type of transformation. It also shows the context menu that you see when transforming a class diagram.

Figure 17. Transformation
RSA - UML Transforms

Java structural analysis

Rational Software Architect provides architects and developers with powerful tools for architecture discovery, which helps in the structural analysis of applications. Architecture discovery uses static analysis for validation of the structure of an existing Java application or component, and mines the code base for implementation of known design and structural patterns. This gives developers and architects a better and quicker understanding of any type of Java code. Topic diagrams are created by Rational Software Architect that are updated as the code base changes. Along with the architecture control rules that come with Rational Software Architect, architecture discovery serves as a snapshot of the inner workings of the developed code. Figure 18 shows Java structural analysis visual tools in Rational Software Architect.

Figure 18. Rational Software Architect - structural analysis
RSA - Structural Analysis

C/C++ Development Tools

Unlike the other Rational products, Rational Software Architect comes packaged with a C/C++ development environment in addition to the robust Java environment. C/C++ developers and architects can take advantage of most of the visual tools Rational offers in these four products. Figure 19 shows the C/C++ environment in action.

Figure 19. Rational Software Architect - C/C++ development tools
RSA - C/C++ Development Tools

Wrap-up

Knowing when and where to use Rational products is key to improving your software development process. In this article, you learned about the roles and the functions that Rational development and construction products play during your project's life cycle, including examples of the tools in action.

Stay tuned to developerWorks for tutorials about these products from IBM Rational software. The tutorials will help you accomplish specific development tasks while using all of the visual tools.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=103263
ArticleTitle=Discover IBM Rational visual tools for application development
publish-date=02072006