This article provides an overview of the new features of Rational Software Architect V7.0. Since this overview deals with the enhancements made to the product from version 6.0, a knowledge of Rational Software Architect V6.0 would be very useful, though not mandatory.
Listed below are the hardware requirements for Rational Software Architect V7.0.
- Processor – Minimum: Pentium™ III, 800MHz; Recommended: Pentium™ 4, 1.40GHz or higher
- Minimum memory: 768 MB RAM; 1GB RAM recommended; more memory (1.5 GB) suggested as it improves responsiveness
- Video – Minimum: XGA 1024 x 768 x 256 colors; XGA 1280 x 1024 recommended; color video resolution or higher; high color or true
- Microsoft mouse or compatible pointing device
Required disk space: 3GB
- Additional disk space (6GB) is required if you download the product package to install this product
- If you extract this on your machine, another 5-6 GB is required for all of the installation files
- For Windows: Additional disk space is required if you use FAT32 instead of NTFS, and an additional 500 MB of disk space is required in the directory pointed to by your environment variable TEMP
- For Linux: An additional 500 MB of disk space is required in the /tmp directory.
Table 1 gives a list of the operating systems that Rational Software Architect V7.0 supports.
Table 1. Operating systems supported
|Operating system||Rational Software Architect supported|
|Windows® XP Professional (SP1 +)||Yes|
|Windows XP Professional 64 bit Edition||Yes|
|Windows 2000 Professional (SP4 +)||Yes|
|Windows 2000 Server (SP4 +)||Yes|
|Windows 2000 Advanced Server (SP4 +)||Yes|
|Windows 2003 Enterprise (SP1 +)||Yes|
|Windows 2003 Standard (SP1 +)||Yes|
|Red Hat Enterprise Linux Workstation 4.0||Yes|
|Red Hat Desktop Version 4.0 (32-bit mode)||Yes|
|SuSE Linux Enterprise (SLES) Version 9 (all SP; 32-bit mode)||Yes|
|Novell Linux Desktop Version 10 (32-bit mode)||Yes|
For a complete listing of Operating and System requirements, please see the Installation Guidelines that accompanies the product.
In Rational Software Architect V7.0, you can choose to install specific features which affords a great degree of control over your installation footprint and features that exist in your environment. You can customize your installation either by selecting the features in the install wizard, or by adding and removing features that you do not need by running the Modify Packages wizard in the Installation Manager. While we'll discuss the install wizard in the following sections, please consult the Installation Guidelines for more information.
In addition, please consult the Release Notes for product limitations, problems and workarounds that may affect some of the features in Rational Software Architect V7.0
Now that we've got all of the disclaimers out of the way, onto the new stuff!
New features and benefits
Rational Software Architect V7.0 fixes a number of defects and issues found in Rational Software Architect V6.0, and builds on the already robust feature set of Rational Software Architect V6.0 by providing a detailed set of enhancements and improvements. They include:
- New, updated Installation Manager
- Adoption of Eclipse 3.2 - Java™ 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0) support
- Better integration between Conceptual (e.g. UML) and Code (e.g. Java, C++, XSD, DDL) modeling
- True Round Trip Engineering (RTE) -- C++ and Java forward and reverse engineering
- New Web Services Description Language (WSDL) and XSD transformations
- SOA guidance added to Process Advisor
- UML Profile for Software Services added
- New Template for Services Modeling Projects added
- Improvements to Architectural Analysis capabilities
In addition, there are a number of additional features, which we'll cover in detail in a set of companion articles on the IBM® Rational® Software Modeler V7.0, IBM® Rational® Systems Developer V7.0 (will be published at a later date, by a different author), and IBM® Rational® Application Developer V7.0 products. These features consist of:
- Rational Software Modeler V7.0
- 2.1 UML spec adopted
- Object diagrams added
- Enhancements to component, deployment, sequence, activity and structure diagrams
- More and better model search capabilities, unified with the Eclipse search framework
- Model versioning improvements
- Transformation authoring tools
- 2.1 UML spec adopted
- Rational Systems Developer V7.0
- Improved C++ modeling
- Improved UML/C++ transformation and new reconciliation capabilities
- Enhancements to DoDAF support
- Rational Application Developer V7.0
- Enhanced Diagram Editor
- Web Services Wizard added
- J2C improvements
- Portal development enhancements
- JSF tooling improvements
- AJAX support
Why are these new enhancements and features so important? Well, for one reason, it is always a good idea to constantly update your technology to insure you stay current amidst the rapidly changing landscape of software development products. Also, these enhancements are a direct result of customer feedback and support the following themes:
- Makes SOA development even easier
- Ensures higher code quality and consistency
- Improves understanding and management of architecture and its evolution with software development
A walkthrough of the new features
Now that we've started talking about these new features, let's go over each of them below. This will not be an exhaustive walkthrough. Rather, our coverage is just designed to illustrate the new features of Rational Software Architect V7.0, thereby stimulating your curiosity to use the product and see (and play with) these new features more up-close and personal on your own. To download the trial version, see the Resources section.
Note: The SOA guidance mentioned above will not be available for the initial release of Rational Software Architect V7.0. Please look for this in a FixPack to be released in Q1 2007.
First, we'll take a look at the new Installation Manager.
New, updated Installation Manager
For version 7.0 we've created a new, updated product installer which has a new look and feel to simplify your installation experience. We’ve provided you the flexibility of utilizing a previous version of Eclipse already on your machine, as well as making it easier to choose which new features of Rational Software Architect V7.0 you wish to install.
Figure 1 shows the initial installation screen of Rational Software Architect V7.0, and Figure 2 (below) shows the new splash screen of the updated Installation Manager.
Figure 1. The initial installation screen of Rational Software Architect V7.0
Figure 2. The splash screen for the new Installation Manager
Like I mentioned before, the ability to take advantage of an already existing version of Eclipse for your installation saves you time and valuable disk space (shown in Figure 3, below).
Figure 3. Taking advantage of an existing Eclipse IDE on your system
Selecting the features for your Rational Software Architect V7.0 installation is as easy as clicking on a radio button, as seen in Figure 4.
Figure 4. Choosing the features you want to install
After choosing your feature set and letting the installation wizard work its magic, you're all set to go. Figure 5 shows you the all important "Success!" window.
Figure 5. A successful install
The next stop after successfully installing Rational Software Architect V7.0 is to take a look at some of its new features, designed to make your development life easier by taking advantage of new technologies and improvements. The JDK 5.0 support is just one of those new advantages, which we take a look at in the next section.
Eclipse 3.2 and JDK 5.0 support
Rational Software Architect V7.0 adopts Eclipse 3.2, and with that includes full support for JDK 5.0 (among other features, this includes support for generics, annotations, enums, varargs, static import, etc…). You can set this up in Rational Software Architect V7.0 by changing the JRE in your execution environment, shown in Figure 6.
Figure 6. Changing the JRE in Rational Software Architect V7.0 to take advantage of JDK 5.0
Once you do that, you can also convert your existing projects to JDK 5.0 as well. Simply update your existing project's compiler compliance (as seen below in Figure 7) and JRE when you begin to fix your compiler errors.
Figure 7. Insuring your project's JDK compliance level is set to Java 5
Once you change the compiler compliance settings, you will have to rebuild your project, as seen below in Figure 8.
Figure 8. Rebuilding your project once you change your compiler settings
For more information on how you can utilize JDK 5.0 features in Rational Software Architect V7.0, please see the help files, which contain additional information on converting your project to the new JDK.
One of the biggest advantages of using Rational Software Architect V7.0 is the ability to synchronize your evolving architecture and design contract models your evolving code bases. We've made some improvements in this area that we'll briefly talk about in the next section of this article.
Conceptual and code modeling integration improvements
There have been many improvements in the common modeling infrastructure for Rational Software Architect V7.0, emphasizing the integration of conceptual elements(models) of your application with the code you are creating. You'll be able to see these in a variety of areas in Rational Software Architect V7.0:
- Improved explorer
- Model Explorer is no more; everything is seamlessly integrated into the Project Explorer
- Improved diagram layout algorithms
- Improved UML model lifecycle management
- New model indexing means referenced models needn't be opened as often
- UML Model Editor – additional tabs allow you to look at the details, external references and fragments associated with your model
- The Model Editor does not have to stay open in order for you to work on your Model
- Ability to persist your model as a series of model "fragments" – this improves granularity and gives you the ability to bring over subunits from your IBM® Rational® Rose and legacy IBM® Rational® Rose XDE models
- The code modeling experience improved with richer palette and diagram assistant support, and rich information in Properties view
- The code modeling experience also improved to provide quicker access to the 3GL-specific tools such as code refactoring
- New model fuse technology, which allows you to…
- "Harvest" material from one UML model or code model, and "smart paste" it into another UML model
- Combine two logical models into a single logical model
Figure 9 (below) shows a Java project with the enhanced code modeling features, including more UML-like notation of the classes and better layout of class diagrams.
Figure 9. Better integration of Java code from the Project Explorer in the Java perspective
Figures 10 and 11 show some of the tab detail in the Model Editor.
Figure 10. Model references viewed from the UML Model Editor
Figure 11. Details of the UML Model Editor
Figure 12 details a C++ project showing some of the same new features.
Figure 12. C++ code in the modeling perspective
Figure 13 gives you a bit of insight on how to you can split your model into fragments, or vice versa, by absorbing the fragment back into your main model. For example, using the Create Fragment command to split your logical model into fragments, and using the Absorb Fragment command to re-introduce the fragment back into your model.
Figure 13. Splitting and absorbing your model
Figure 14 provides you with a quick look at the Model Fuse capability, allowing you the ability to merge models, as well as the ability to manually merge your models if you feel that they should be merged in a certain way.
Figure 14. Merging models with the Model Fuse functionality
Model fusing is just one of the improvements made in the numerous upgrades in model diff-merge usability and behaviour in Rational Software Architect V7.0.
Modeling improvements are just the start of the capabilities that Rational Software Architect V7.0 provides you with to keep a steady hand on your model driven architectural development process. New technologies have been introduced that will begin to support the synchronization of models at various levels of abstraction and in various semantic domains (such as UML, Java, and C++). These technologies will serve to enable new choices for how you practice architecture management and will enhance the overall development process and make it far more efficient than with previous projects:
- Model fusing
- Reverse/Invertible transformations
- Ability to define transformation configurations that incorporate forward and inverse transformations and a reconciliation workflow
- "Chainable" transformations
- New transformation authoring tools
In Rational Software Architect V7.0, we introduce some initial examples of how these new technologies can be applied. As a complement to the UML to Java and UML to C++ transformations that were available in version 6.O (and are now much improved in version 7.0) we have introduced inverse Java to UML and C++ to UML transformations that can be configured together with the forward transformations to support a "True Round Trip Engineering With Reconciliation" workflow.
True RTE - forward and reverse engineering with Java and C++
If you're a user of Rational Software Architect, you may be familiar with its capabilities to model Java and C++ directly, and to "reverse engineer" simply by composing diagrams of the code. You may also be familiar with the ability to use UML to Java or C++ transformations with the "Replace Elements" option to create a "mixed model" of UML conceptual content and 3GL-specific content and thereby have views of the "as built" implementation integrated with views of your higher-level UML specifications. Now, the capabilities described above offer another choice for how you practice architecture management. You can now preserve your UML specifications at the code-equivalent level of abstraction, treating them as a detailed design contract that can evolve on its own, and compare and reconcile the design contract with the current "as built" state of the corresponding implementation. This lets you preserve a more complete expression of design intent, which represents a basis for stronger and more fine-grained management of architectural conformance. This concept is depicted in the following illustration (Figure 14a).
Figure 14a. Management of architectural conformance
Watch for upcoming white papers and articles that will go into greater detail about the various ways of working with conceptual (UML) and concrete (Java, C++, …) models in Rational Software Architect V7.0 – what we refer to as "theories of operations" for working with models and code – and how they can be used to support a variety of architecture management styles.
To improve the effectiveness of these theories of operations Rational Software Architect V7.0 introduces improvements to the UML to 3GL transformations. In particular, the transformations are now more sophisticated in their abilities to more selectively update existing code when the transformations are re-applied in an iterative development process, and this is an area in which we expect to deliver even more improvements in future versions.
In addition to improving the transformations that were included with Rational Software Architect V6.0 in Rational Software Architect V7.0, we've also introduced some new transformation capabilities. Let's take a look.
Logical Data Model transformation
We've added capabilities to transform a UML class model into a Logical Data Model, as supported by the IBM® Rational® Data Architect product. Version 7.0 of Rational Data Architect complements this capability by also providing a transformation from a Logical Data Model to a UML class model.
WSDL and XSD transformation additions and improvements
We've added WSDL and XSD generation support to Rational Software Architect V7.0. These leverage the UML 2 Profile for Software Services. The following set of figures will outline using a WSDL transformation based on our UML model.
First, let's select and name the UML to WSDL transformation (Figure 15).
Figure 15. Naming your transformation and selecting UML to WSDL
Now, let's choose a target service to transform, as seen below(Figure 16).
Figure 16. Selecting the transformation's source and target
Figure 17 shows the finished transformation.
Figure 17. WSDL transformation results
Let's take a little bit of article space to discuss the new UML Profile for Software Services, which can be found in Rational Software Architect V7.0 and which supports the UML to WSDL/XSD transformations.
UML Profile for Software Services
The UML 2.0 Profile for Software Services, previously found on developerWorks®, can now be found inside Rational Software Architect V7.0, and can be applied to any of your models, as shown in Figures 18, 19 and 20.
Figure 18. Selecting the Software Services Profile to add to your Model
Figure 19. Choosing the serviceProvider Stereotype for our model element
Figure 20. Our stereotyped model element, in all of its glory
In addition to the new profile on Software Services in Rational Software Architect V7.0 we just mentioned, we've also added the Services Modeling Template to Rational Software Architect V7.0. Let's take a look to see what it adds to Rational Software Architect V7.0.
Services Modeling Template
In order to use the Services Modeling Template in your Project, make sure that you select it when you create a new model, as seen in Figure 21.
Figure 21. Selecting the Services Design Model
Afterwards, it should appear in your Model Explorer, ready for you to use. We take a detailed look at it below in Figure 22.
Figure 22. A detailed look at the new services model
And last, but certainly not least, we'll reference some of the improvements to our Architectural Analysis capabilities. This was one of Rational Software Architect V6.0 strengths, and it was certainly not overlooked as we moved forward to version 7.0.
In Rational Software Architect V7.0, all analysis capabilities (Architectural Analysis, Model Analysis, and Code Review) now share a common GUI. You are now able to create various analysis configurations based on your evolving needs, and conveniently run analyses based on those configurations. You can also share configurations with others.
Figure 23 shows the main analysis configuration window.
Figure 23. Choosing a new analysis configuration based on your code
Note: Do not forget the rules to analyze your code against, as seen in Figure 24.
Figure 24. Selecting the rules for code analysis
Figure 25 shows the results.
Figure 25. Suggested code improvements are seen in the Analysis Results window
This article has provided you with an overview of the new features of Rational Software Architect V7.0. In addition, it also covered a walkthrough of these features, which, hopefully, gave you an idea of what we're doing in order to provide customer value to our IDE stack. At this point, I hope that I've whetted your development appetite; not only to use these new features in Rational Software Architect V7.0, but also to look at the companion features found in Rational Software Modeler V7.0 and Rational Application Developer V7.0. While we cover the features in greater detail in those companion articles, keep in mind that Rational Software Modeler and Rational Application Developer are products that contain specialized subsets of the features found in Rational Software Architect V7.0, which means that you get to use all of their respective features in Rational Software Architect V7.0, if you choose to.
The author would like to thank Lee Ackerman, Gary Clarke, Todd Dunnavant, Matthew Gammie, and William T. Smith for their assistance in writing this article.
- Stay current with developerWorks technical events and Webcasts.
- IBM Rational Software Architect product page: Find technical documentation, how-to articles, education, downloads, and product information about Rational Software Architect.
- Visit IBM's Pattern Solutions and find out what IBM is doing around patterns and reusable assets.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download a free trial version of Rational Software Architect.
- Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
- Participate in developerWorks blogs and get involved in the developerWorks community.
- Rational Software Architect, Data Architect, Software Modeler, Application Developer and Web Developer forum: Ask questions about Rational Software Architect.