Version 8.5 is a major release of the IBM® Rational® Software Architect family of products. With the Rational Jazz™-based Rational Software Architect Design Manager Version 4.0 beta, this combination enables whole-team collaboration and makes modeling a central part of the IBM application lifecycle management (ALM) solution. As a quick summary, these are the high-level themes of this release:
- Improved software development lifecycle collaboration (beta)
- A simplified team working experience, a centralized design repository with simple model element reuse, and linking of design elements to other lifecycle artifacts.
- Broader technology support
- Modeling and transformation support for Spring, Hibernate, and Struts 2
- Easier adoption
- Support for importing from Visio into UML and deployment topologies.
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:
- Save time and effort by being able to search all of your enterprise's models, and simply reuse model elements (business processes, services, architectural mechanisms, components, deployment topologies, and more) that have been built and designed elsewhere in your organization.
- Improve the quality of application design by collaborating on models to improve the design through socialization, commenting, and reviews
- Improve the overall application quality by being able to link design elements to requirements, tests, and tasks, and to be able to search for traceability gaps.
- Improve speed of delivery and ability to understand and modify existing applications built with Spring, Hibernate, or Struts2.
- Get started quickly by being able to import your Microsoft Visio diagrams, and use the collaboration features to accelerate your development.
This article splits broadly into two sections:
- Collaboration with the Rational Design Manager V4 beta
- New Rational Software Architect capabilities
The Rational Software Architect Design Manager V4.0 beta contains three key new capabilities:
- Simplified team working
- ALM (application lifecycle management) linking
- Design reuse
These new capabilities provide significant enhancements to the capabilities introduced in V3, which provided a centralized design repository, commenting and review capabilities, and the ability to explore relationships between models and other ALM artifacts.
Figure 1. Design Manager 4.0 beta overview
Although Rational Software Architect provides a first-class desktop modeling environment, the introduction of team working added complexity and extra tasks to the modeling process. It required users to learn a software configuration management tool and learn how to merge models. It also meant that team members often wasted time while they waited for models to become available for editing.
Therefore, in the Design Manager V4 beta, we have introduced a simplified team modeling experience that is deeply integrated to the jazz platform. When a change is made the model element is locked, and then when a model is saved, the changes are stored on the server. A group of model changes are stored as a change set.
When a set of changes is complete, the modeler simply shares the changes, which immediately become visible to other team members. This approach is simple and minimizes the locked elements to just those being modified. It is now simple and easy to work in a team, so you save time. You also get much finer-grained change control, so it becomes simple to see the exact parts of the model that were modified for any change.
Figure 2. Simplified team working
In the Design Manager V4.0 beta, linking to model elements is enabled for both IBM Rational Requirements Composer Version 4 and IBM Rational DOORS® Version 9.4. This means that you can link to model elements from either tool, and the links can be shown and queried in views. So it becomes simple to create a view showing traceability of requirements to design and other lifecycle artifacts, as well as to find requirements with no corresponding design elements. Figure 3 shows requirements in Rational Requirements Composer linked to designs, tests, and plan items, with the gaps showing where there is no related artifact.
Figure 3. Traceability from Rational Requirements Composer
You can use the Rational Requirements Composer graphical explorer to verify traceability between requirements, as well as traceability of requirements across the full application lifecycle. The diagram in Figure 4 shows a requirement and traces its lifecycle links to test cases (Validated by), design (Derives), and plan items (Implemented By).
Figure 4. Graphical traceability from Rational Requirements Composer
Design Manager 3.0 already enabled linking with Rational Quality Manager V4, so that design elements can be linked to tests (one-way linking only), and the ability to link with Rational System Architect so that an enterprise architecture can be linked through to the detailed system design. The following diagram shows Design Manager's integrations through the relevant OSLC (Open Services for Lifecycle Collaboration) interfaces.
Figure 5. Design Manager integrations
One of the key scenarios that the Design Manager V4.0 beta provides is a simplified way of reusing design or architecture elements. Previously, teams had to reuse models by loading them from source control. That was problematic, because there was no easy way to search the software configuration management (SCM) system for model information and no guarantee that the team had access to the models in the SCM system. This, unfortunately, led to teams reinventing things and hindered an organization's ability to get value from reuse and SOA (service-oriented architecture).
With the Design Manager V4 beta, it's possible to search across the whole design repository for a particular element, and then, when you find it, you can drag it onto a diagram and draw relationships to it, thus making it simple to find interfaces and reuse them to define reusable frameworks or even patterns. This new capability can ensure that teams save time by reusing existing services. It also minimizes errors by ensuring that they are connecting to the appropriate definition of the service, which can be either a specific snapshot or the latest version.
Figure 6. Design reuse example
Another aspect of reuse is being able to understand the impact of change. For instance, if you want to change a service or interface, it is essential that you understand every role and every model that might be affected. With the Design Manager V4 beta, you can set up an impact analysis query based on a certain element, such as a service. When you run the analysis, you will see all model elements that would be affected by changing that element, and you can use this to identify the cost and impact of modifying a service or component.
Figure 7. Impact analysis
One of the features that we added to Rational Software Architect in v8.0.2 was the ability to build sketches, and then either link those sketches to a more formal design or to actually transform the sketch elements to UML elements as the design progressed. In the Design Manager V4.0 beta, this sketching capability is available in the web client for use in workshops or by people who just want to provide rough ideas or add input to the design process without having to install the full Rational Software Architect desktop client.
Figure 8. Sketching in Design Manager
Finally, Rational Software Architect becomes a key part of the Rational Jazz™ ALM story with the Design Manager 4.0 beta, because it can be installed into an existing Jazz Team Server. This saves effort in user administration and simplifies use when viewing information from Design Manager in combination with data from Rational Requirements Composer, Rational Team Concert, or Rational Quality Manager.
Figure 9. Deployment of Design Manager on a shared Jazz server in an evaluation topology
Rational Software Architect 8.5 has two main themes:
- Broadening the appeal through providing modelling support for Spring, Hibernate, Struts2, and Java 7
- Improving the ease of use and adoption by providing Visio import and numerous small diagram enhancements
First, let's explore the new technology support. The main intention is to provide broad support to as many commonly used key technologies as possible. So, in addition to existing support for C#, Microsoft VB.NET, Microsoft.NET WCF, Java 6, Java Persistence API (JPA), Java Enterprise Edition (JEE), REST- and SOAP-based web services, BPEL, and XSDs, we've added support for some of the other extremely common web frameworks, namely Spring Framework, (Core, Web MVC, and Transaction), Hibernate, and Apache Struts2.
Rational Software Architect now allows teams to model their Spring applications and transform them to Java code and the appropriate Spring configuration files. We've added modelling support in the shape of new palette entries, plus menus and property sheets to allow the modelling of Spring Core, Web MVC, and Transaction domains. In Version 8.5, you can use Activity diagrams to model Spring Web MVC flows, and this information, combined with an annotated class model, is then used by the forward transformation to generate the appropriate Spring XML configuration files and annotated Java classes.
Figure 10. Spring modeling in Rational Software Architect
We've also added support for reverse transformations of Spring applications. The reverse transformation will create annotated model elements and also generate an activity diagram for Spring MVC. This increases understanding and provides documentation of existing Spring applications.
Rational Software Architect now allows teams to model and generate code for Hibernate. Users can model Hibernate entities and manage a variety of Hibernate properties, such as cascade onDelete, single table inheritance, and table per class. You can also quickly create model elements for existing database tables by using the Entity from Table palette entry and choosing any table from an existing database.
Version 8.5 supports both forward and reverse engineering of Hibernate code, and it will generate and read the appropriate annotated Java classes and Hibernate configuration files. The following screen captures show a Hibernate model and the annotated Java code that was created with the forward transformation.
Figure 11. Hibernate modeling and transformation example
Because many teams will use both Spring and Hibernate together, this is supported as a standard configuration. You can model both Spring and Hibernate domain elements in a single project, and then use the Hibernate and the Java transform (with Spring extensions) to generate all of your Spring code, Spring configuration files, Hibernate code, and Hibernate configuration files. This helps you accelerate, understand, and simplify the development of Spring-Hibernate applications.
Rational Software Architect now supports modelling and generating Struts2 code. We've added diagram palettes, action bars, custom property sheets, and new wizards that make it much easier to model and represent the Struts2 domain artifacts in UML. As with the Spring MVC framework, you can now capture Struts2 navigation flows in UML activity diagrams, and the structural aspects like classes and interfaces can be modeled on the standard UML class diagram. This makes it much easier to understand existing applications, design new ones, and communicate and that information to collaborate with a wide variety of stakeholders. Figure 12 shows Struts2 page navigation modelled as a UML Activity diagram.
Figure 12. Struts navigation flow
Rational Software Architect now provides support for visualising and transforming Java 7 language constructs (such as the diamond operator, strings in switch statements, automatic resource handling and improved exception declarations to name the key features). The screen capture in Figure 13 shows a visualization of the new diamond operator.
Figure 13. Software Architect code visualization
These Java 7 constructs can also be visualized in static method sequence diagram and can be generated or reverse-engineered by the Java transformations.
Prior to this release of Rational Software Architect, many organizations with a significant investment in Visio diagrams were in an unenviable position: it was costly and time-consuming to maintain the Visio diagrams, yet the cost of manually recreating all of their design artifacts was prohibitive.
In Version 8, we introduced the structured data importer to help teams import data from spreadsheets and other structured formats. Version 8.5 offers a Visio import option. This first release of this option supports importing class and use case diagrams to UML models, as well as network diagrams to deployment topologies.
This capability enables teams to quickly bring their Visio diagrams into a more structured format and gain all of the advantages of using the Rational Software Architect range of tools: comprehensive code generation, model simulation, model collaboration, lifecycle linking, and reuse.
Figure 14. Visio import into Rational Software Architect
Since Rational Software Architect Version 8.0, in 2010, the deployment planning extension has been significantly improved, notably in support for non-IBM technologies, such as .NET and Oracle database support. This has resulted in an environment that can support describing complex heterogeneous deployment topologies from a PC to a mainframe, and with a multitude of potential middleware. In Version 8.5, a major update to the MQ domain supports all of the key concepts that need to be captured.
Figure 15. Example MQ topology
Finally, although we've made numerous small changes throughout the core modelling platform, a couple of key ones for Business Process Modeling Notations (BPMN) are the new support for sub-processes and black-box pools.
Figure 16. Sub-processes in BPMN2
- To learn more:
- Start at the Rational Software Architect family of products page and be sure to check the developerWorks page.
- Also, explore the product overview, the information center for installation and use instructions, and the Rational Software Architect wiki for more resources.
- Check Jazz.net to find out more about Rational Software Architect Design Manager, and see the Get products section here for links to download the software for free trials.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Subscribe to the developerWorks weekly email newsletter, and choose the topics to follow. Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free.
Get products and technologies
- Download any of these for a trial at no charge:
- Rational Software Architect
- Rational Software Architect for WebSphere Software
- Rational Software Architect Design Manager
- Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Join the discussion in the Rational Development Tools forum on developerWorks and the Using Design Management forum on Jazz.net.
- Rate or review Rational software. It's quick and easy.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
- Get connected. Join the Rational community to share your Rational software expertise and get connected with your peers.
Steve lives in Twickenham, London, with his wife and young daughter. He has worked as a technical consultant for IBM Rational since 2000, where he is a certified scrum master specializing in agile project delivery, modeling, and patterns-based engineering. He has written several articles covering the latest features in Rational Software Architect 7.5 and 8, as well as articles discussing lean development and various extensions to Rational Software Architect, Rational RequisitePro, and Rational Team Concert. Outside of work, he enjoys spending time with his family and studying, teaching, and practicing Tai Chi.