"A whole new RSA"
Version 8.0 is a major release of the IBM® Rational® Software Architect family of products. Rational Software Architect has been repackaged to provide a foundation-level product that can be augmented as might be needed with domain-specific capabilities. In addition, there is significant new core functionality to broaden the technologies that it supports and to improve productivity and ease of use. The following is a quick summary of the new features that are discussed in this article:
- "A whole new RSA:" Major strides in reducing the default amount of complexity exposed in the user interface, and a repackaging of the core features into a base Rational Software Architect product, with extensions for major capabilities such as service- oriented architecture (SOA), deployment planning, C++, architecture integration and translation, communications-enabled applications, and architecture simulation and validation.
- Productivity improvements: Major improvements in the drawing surface such as layers, themes, better diagram feedback, and new layout algorithms, as well as smart guidance for helping you build patterns and transformations.
- Broader technology support: Improved standards support for UML2.2 with Interaction Overview and Timing diagrams, improved BPMN2 support, improved SoaML support, architectural simulation, VB.NET round-trip engineering, and for the IBM Smart Business Development and Test Cloud.
The rest of this article explores each of these themes in detail and describes some of the key new capabilities.
First, let's quickly survey some of the key benefits that this release will bring to you:
- Improved value, with a lower-priced foundation product coupled with significant new functionality offered in separately purchasable extension offerings. Now you can better match your purchases to the specific problems you need to solve
- The power of model execution, so that you can simulate and validate your designs more quickly and effectively. This also enables you to uncover the next-deeper level of requirements, conduct more meaningful design reviews, and detect and correct problems earlier much earlier in the software development lifecycle.
- Improved productivity through significant improvements in ease of use, improved performance on large models, and the ability to install just the features that you need.
- Help with keeping your solutions aligned to business drivers and enterprise architectures by using new ways to interchange and translate architectural data, such as worksheet imports and DoDAF 2 PES support.
This section discusses the changes to the packaging of Rational Software Architect (RSA).
IBM® Rational® Software Modeler and IBM Rational Software Architect Standard Edition have been standardized into one core product: Rational Software Architect. This provides BPMN 2 (Business Process Modeling Notation), UML 2 (Unified Modeling Language) modeling, code visualization, and reconciled modeling support for Java™, C#, and VB.NET (Microsoft® Visual Basic® .NET) at a significantly reduced price point versus the previous Rational Software Architect products. You can augment this foundation platform with a set of optional extensions that provide capabilities from collaboration and simulation through to deployment modeling or the use of integrated architecture frameworks.
Figure 1. Logical overview of Rational Software Architect and extensions
IBM® Rational® Software Architect for WebSphere® Software continues to be offered as a convenient, single-offering way to purchase a collection of several core and extension capabilities at a discounted price.
IBM® Rational® Software Modeler customers will benefit from this change, because you now get the code visualization and round-trip engineering capabilities as part of your move to Version 8.
If you have been using Rational Software Architect Standard Edition, you will receive the appropriate extensions so that you retain parity with current capabilities.
Now let's take a high-level look at each of these key modeling extensions.
With the Simulation extension, you can simulate any UML behavior (activity diagrams, sequence diagrams, communication diagrams, or state diagrams). You can step through the behavior like you would step through code, with your current position highlighted on the behavior diagram, but also potentially on a composite structure or topology diagram. This provides several benefits:
- You can get a better understanding of the behavior of the system earlier so that you can remove potential defects from the behavior.
- You can understand how the behavior will affect the static structure of the model by annotating a composite structure diagram.
- You can understand how the behavior will affect your deployment topology and also understand the potential impact of the available infrastructure on the application behavior.
The simulations can work on either informal models or on formal models where the UML Action Language (UAL) has been applied in order to build rigorous specifications. This means that the simulations can be executed at very early stages of design. Then you can try to eliminate any major design flaws or problems, especially with regard to infrastructure and network availability, and also, later, to identify any logic flaws in the behavior.
Figure 2. Simulation history on a topology diagram
Deployment Modeling extension
The Deployment Modeling extension now includes the general modeling improvements that have been added to the UML models, such as themes, layers, and diagram feedback. This means that it's now much easier to build and understand complex deployment topologies. There have also been significant improvements for defining your own topology elements, integration with UML models, support for deployment unit types, and using the topology to guide automation.
The Deployment Modeling extension now supports for Microsoft® architectures: Internet Information Services (IIS), SQL Server®, .NET® framework, Silverlight®, ASP.NET, Windows Communication Format (WCF), Windows Presentation Format (WPF), and many more. This makes it easy to model proposed deployments for both Microsoft homogenous environments and heterogeneous ones.
In Rational Software Architect v8, the C++ extension provides the three standard ways to link models with code for teams developing in C++:
- Visualization for understanding existing code
- Mixed modeling for less complex systems or teams following an agile approach
- Reconciled modeling for complex systems where it's important to maintain the abstraction in the model
Modeling for Communications Applications extension
The Modeling for Communications Application extension accelerates development of Next Generation Networks (NGN) converged services applications by supporting
- Designing and generating Session Initiation Protocol (SIP) servlets
- Designing SIP call flows
- Generating SIPp test cases for the open source SIPp testing utility
- Providing New Generation Operations Systems Software (NGOSS) sample models and guidance
- SoaML reference model of ParlayX (a set of standard web serviceAPIs for operational and billing services for the telecom industry) and the ability to generate telecom web services based on ParlayX
Rational Software Architect v8 provides support for SIP 1.1, as well as the ability to transform call flows to SIPp, and SIPp into call flows.
SOA and WebSphere extension
In v8, we have bundled all of the service-oriented architecture (SOA) and WebSphere capabilities into a separate offering, which includes all of IBM® Rational® Application Developer plus the SOA transformations and the new ability to generate a SoaML services model from existing WSDL (Web Services Description Language). This means that you can quickly build a services model of your existing estate, use that going forward to model new services and business process flows, and then generate the required services code from those models. We also have added support for the latest version of the SoaML specification, 1.0 Beta 2, and we have made it easier to use and reuse BPMN2 process models to initiate and specify service models.
Integrated Architecture Framework extension
The Integrated Architecture Framework extension provides support for modeling how solution architectures are related to the business — organization, strategy, initiatives, goals, and so on — by using IBM's UPIA, the UML Profile for Integrated Architectures.
In v8.0, we've provided better support for aligning any element to a security classification, as well as support for the U.S. Department of Defense Architecture Framework (DoDAF 2) Physical Exchange Specification (PES) to allow import and export of UPIA models to other DoDAF-compliant modeling tools. There is also a new capability for importing data from worksheets or CSV files. This is particularly useful for importing the business goals, which are often managed in worksheets or perhaps in an enterprise architecture tool, such as IBM® Rational® System Architect.
Figure 3. UPIA elements associated with a security classification
In v8, diagram layers have been added that allow you to manage complex information in a diagram by assigning elements to layers and then showing or hiding the layers. For instance, you can create a complex deployment topology but manage complex relationships in different layers, or you can use the layers to show how a design might change over time. Diagram Layers are available for all models and diagram types, including UML models, Business Process Modeling Notation (BPMN) models, and deployment topologies. The diagram in Figure 4 shows the use of layers to highlight a change over time, with the top screen capture showing the current model and the bottom one showing the next version of the model.
Figure 4. Example of Diagram Layers showing a change over time
Rational Software Architect can now define themes for diagrams so that you can control the color and the look and feel of the diagram (see Figure 5). For instance, we provide themes for the IBM® Rational Rose® look and feel and for the look and feel of previous versions of Rational Software Architect. In addition to enabling you to build diagrams that have a look and feel with which you might be very comfortable, themes allow you to add extra semantic information through color and to do it in a consistent fashion.
Figure 5. Theme customization
Automated graph layouts
Rational Software Architect now includes 15 automated layout formats (based on the IBM® ILOG® JViews Graph layouts for Eclipse) which can be used to organize large diagrams in an appropriate way. With this approach, you can decide which kind of layout you would like to see for any specific diagram and then let the tool lay out the diagram in that format, rather than trying to apply just a single layout algorithm to all diagrams. This is particularly useful when inspecting existing code or complex deployment topologies. These automated layouts also make it easier to understand complex models and to build abstractions by viewing the model in a well-laid-out way. Most importantly, they should reduce the overall amount of time you need to spend on hand-formatting diagrams, thereby increasing your productivity and freeing more of your time for higher-value activity.
Figure 6. Example of graph layouts
Model-Driven Development guidance
One of the most powerful features in Rational Software Architect is the ability to take existing code and turn it into a pattern or transformation so that new code can be reliably generated by just specifying the elements that vary. Some projects have used this Model-Driven Development (MDD) approach to generate significant proportions of code, resulting in decreased time to develop and much lower defect densities. However, it is sometimes hard for new transformation authors to get started. In Version 8, we have added new guidance that analyzes your patterns and transformation projects and suggests the next steps that you need to perform to finish the transformation. This automated guidance makes it easier for new transformation authors to succeed. It also helps experienced users keep track of the things they need to work on.
Figure 7. MDD Guidance tab screen view
Another thing that has been added to promote ease of use is the ability to install without exposing so much of the underlying Eclipse platform by default. This enables you to configure a workbench environment that is much more optimized for the activities of creating and managing architectures and designs, as opposed to the activities of developing Java™ code or Eclipse extensions. This is ideal for people who just want to focus on modeling and are not interested in any code generation or interaction with code. The screen captures in Figures 8 and 9 show examples of the workbench and the New Project wizard, which illustrate the reduced UI.
Figure 8. Initial view of Rational Software Architect with the simplified UI
Figure 9. The New Project wizard with simplified UI
Broader technology support
This release has added Microsoft VB.NET to C# and Java as the supported languages. As with all of the language support, the VB.NET integration supports visualization for understanding existing code, mixed modeling for less complex systems or teams following an agile approach, and round-trip engineering for complex systems where it is important to maintain the abstraction in the model.
The VB.NET integration provides support for all of these purposes:
- Modeling event handlers
- XML comments
- Generic and partial types
- Generic constraints
- Modeling the Root Namespace of a Visual Basic project
- Modeling the Windows Communication Foundation (WCF) Service Library
In v8, Rational Software Architect has new support for Microsoft Visual Studio 2010 and .NET Framework 4 for both C# and VB.NET.
Improved UML support
This release has improved UML support by adding both timing diagrams (concise notation) and interaction overview diagrams.
Timing diagrams are useful to explore how an object behaves over time, with particular emphasis on how it might interact with other objects over that timeframe. They can also be useful for defining performance constraints on particular aspects of an object's behavior.
Figure 10. An example of a timing diagram
Interaction overview diagrams show the control flow between a set of interactions (often sequence diagrams). They use a notation similar to activity diagrams, and they are good at showing how the various interactions work together in order to meet the basic and alternative flows of a use case.
Figure 11. An example of an interaction overview diagram
Rational Software Architect also provides an Eclipse-based client for the IBM Smart Business Development and Test Cloud so that developers can request and use cloud resources as they need them to develop and test their applications. The cloud client provides a single view where developers can request and manage their cloud instances, as well as create storage volumes, keys, and IP addresses. It also enables developers to capture their cloud instances as images for use away from the developers cloud or to share with other developers. The Cloud client also includes Server Tools and Deployment Planning extensions so that you can use IBM cloud resources for testing and planning deployments.
Figure 12. Cloud Explorer view
This section highlights some of the other changes in v8.0.
In Rational Software Architect v7, it was sometimes a little confusing for new users when they tried to do something that Rational Software Architect wouldn't allow (which was normally because it was invalid UML). In this release, we've improved the feedback when using the drawing surface to include specific help:
- Providing textual feedback on why you can't do something.
- Highlighting the exact result of any action so that you can clearly see the change to the diagram before you complete the action
The Model-Driven Architecture (MDA) support is improved in Rational Software Architect v8.0, too. It is now possible to store profile markup information in a separate file from the model. This means that a model can be easily marked up with several profiles for generation to different technologies or solutions without having the confusion of seeing markups for different technologies in the model at the same time.
Finally, Version 8 has had a total overhaul of how models are managed in memory, with the net result that it is now significantly more efficient. Hence, the software supports much larger models with a much smaller memory footprint.
Table 1. An updated list of the major supported platforms for Rational Software Architect
|Supported operating systems||Recommended hardware|
For a complete list of operating system and system requirements, please read the Installation Guidelines that accompany the software.
- Check the product overview page for Rational Software Architect
- Browse the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Explore Rational computer-based, Web-based, and instructor-led online courses. Hone your skills and learn more about Rational tools with these courses, which range from introductory to advanced. The courses on this catalog are available for purchase through computer-based training or Web-based training. Additionally, some "Getting Started" courses are available free of charge.
- Subscribe to the IBM developerWorks newsletter, a weekly update on the best of developerWorks tutorials, articles, downloads, community activities, webcasts and events.
Get products and technologies
- Download trial versions of other IBM Rational software.
- Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Tivoli®, and WebSphere®.
- Participate in the discussion Development Tools forum on developerWorks.
- Check out developerWorks blogs and get involved in the developerWorks community