What's new in Rational Software Architect 8.5 and Design Manager 4 beta

Improved collaboration, reuse, technology support, and easier adoption

IBM Rational Software Architect Version 8.5 introduces technology support for Spring, Hibernate, Struts2 and Java 7, and makes adoption easier by providing a Visio import option. This new version also includes the Design Manager Version 4 beta, which introduces simplified team working and improves reuse. Steve Arnold describes these and other highlights of this release.

Steve Arnold (steve.arnold@uk.ibm.com), Senior Technical Consultant, IBM

photo of Steve ArnoldSteve 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.



05 June 2012

Also available in Chinese Vietnamese

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.

Key benefits

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

Better collaboration with Rational Software Architect Design Manager

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
Picture showing Design Manager capabilities

Simplified team working

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
Screen capture showing a model change and change set

Application lifecycle linking

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
Rational Requirements Composer grid view traces to design

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
view showing ALM elements linked to a requirement

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
Component diagram showing other product integrations

Design reuse

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
Search repository, select element, drag to diagram

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
Analysis results showing related elements

Additional enhancements

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
Sketching in a web browser with RDM

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
Design Manager deployed on a shared Jazz server

New capabilities of Rational Software Architect 8.5

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.

Spring Framework support

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
Spring property editor and palette

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.

Hibernate support

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
Hibernate model transformed to annotated Java

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.

Struts2 support

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
Activity diagram showing Struts page flow

Java 7 language constructs in Rational Software Architect 8.5

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
A Java method using diamond notation

These Java 7 constructs can also be visualized in static method sequence diagram and can be generated or reverse-engineered by the Java transformations.

Easier adoption with Visio import option

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
Visio diagram before and after import

Additional enhancements

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
Deployment topology of two MQ queue managers

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
BPMN diagram with tasks and a sub-process

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, DevOps
ArticleID=818869
ArticleTitle=What's new in Rational Software Architect 8.5 and Design Manager 4 beta
publish-date=06052012