IBM Rational Software Architect is an integrated design and development tool that unifies architecture, design, and development within one tool. It includes the full functions of:
- Rational Application Developer - a development tool that lets you do J2EE development, XML, Web Service development and more
- Rational Software Modeler - a modeling tool that lets you visually model systems and applications using Unified Modeling Language (UML) notation
Rational Software Architect unifies them and is built on top of the open and extensible Eclipse platform, which leverages several industry standards.
Rational Software Architect is mainly used by software architects and senior developers within a development team for specifying and maintaining all aspects of an application's software architecture. Its UML 2.0 support lets users capture and communicate all aspects of an application architecture using a standard notation. Users can use patterns and transformations to define and implement their applications.
Rational Software Architect supports an extensive list of features which uniquely differentiate itself from its competitors. The following table highlights some of the key differentiators. The first three are illustrated in the following exercise. The exercise steps you through designing an application using UML diagrams, publishing the model information into a Web page, and transforming the design to Java using Rational Software Architect. To further advance your skills, refer to the Resources for more information.
Table 1. Some key features of Rational Software Architect
|UML 2.0 modeling support for analysis and design using Use Case, Class, Sequence, Activity, Composite Structure, State Machine, Communication, Component, and Deployment diagrams.||UML 2.0 allows you to capture and communicate all aspects of an application architecture using a standard notation that is recognized by many different stakeholders.|
|Generate HTML, PDF, and XML reports from UML designs.||Create reports and documentation that can be reviewed by team members or other stakeholders.|
|Uses transformations to generate Java code, C++, or Enterprise JavaBeans code||Automate the repeatable task of generating code from design models. Transformations can be customized to tailor code generation patterns to an organization's needs.|
|UML Class diagram editing for Java code, EJB code, and Database objects.||Uses UML notation to provide abstract views of Java code, EJB code, and database objects to simplify the development and understanding of new and existing applications.|
|Java method body visualization using UML 2.0 Sequence diagrams.||Use UML 2.0 sequence diagram constructs to understand the flow of a Java method.|
|WS-I compliant Web services and service oriented architectures.||Integrates your business applications.|
|Apply and author patterns and transforms.||Allows organizations to capture and promote "recipes" that can be used to increase the predictability and repeatability of software development. The authoring and apply capabilities support teams in "developing for reuse" and "developing with reuse".|
|Asset Browser for accessing reusable assets.||Supports OMG Reusable Asset Specification and supports users in browsing repositories containing reusable assets. Repositories can be structured so that assets can be found easily.|
|Open API to support customizing and extending the modeling environment. UML profile creation and editing to customize the properties stored in UML models.||Organizations can develop plug-ins customize the analysis and design tools for their environment and process. Supports the creation of an ecosystem allowing vendors to develop integrations.|
|RUP configuration for Software Architects with context-sensitive and dynamic process guidance.||Process guidance and user assistance is provided dynamically as the user works with the tool.|