Before you start
Learn what to expect from this tutorial, and how to get the most out of it.
To reap the benefits of Service-Oriented Architecture (SOA) and Model-Driven Development (MDD), your design and development environment needs to have the following characteristics:
- Best practices: people should be able to reuse proven solutions to recurring problems, and also provide solutions for others to reuse.
- Role-based: tools should be targeted to the task at hand, and to the role performing that task (for example, Business Analyst or IT Architect).
- Process Support and Guidance: there should be contextual method or process guidance.
- Extensible Platform: teams should be able to extend or customize the environment so that it fits their needs.
- Automations: the framework's underlying meta-model and mappings should allow for the semi-automatic transformation of models, from higher to lower levels of abstractions, and eventually to executable code. Also, it should be possible to trace back from lower to higher levels of abstractions.
The above-listed are all characteristics of IBM’s Rational Software Delivery Platform (SDP), and more specifically IBM® Rational® Software Architect. In this series of tutorials, you will learn how to leverage the platform and its capabilities to design SOA solutions.
This tutorial describes a Top-Down Model-Driven Development approach to modeling services using Rational Software Architect. It shows how service models can be represented at different levels of abstraction (Business Process, Unified Modeling Language UML, Web Services Description Language or WSDL, and Java™) and how Rational Software Architect supports the visualization and transformation from one level of abstraction to the other.
You also discuss the use of UML profiles for domain specific languages like Service-Orientation. Key to reaping the benefits of SOA is the reuse of existing assets. This tutorial shows you how to use existing design patterns to address requirements on your services. After going through this series, you should be able to design services in Rational Software Architect, and use the capabilities at your disposal around UML profiles, design patterns, reusable assets, transformation, and Web services.
In Part 1 of this series, you got familiar with Rational Software Architect and how it integrates with other tools used during the different phases of the SOA lifecycle.
In Part 2, you learned how to use Rational Software Architect, the Unified Modeling Language (UML), and the UML 2 Profile for Software Services to design services.
In Part 3, you learned about reusable software assets and patterns, and observed how design patterns can be used to address requirements. The tutorial continued by showing how you can link design decisions to requirements in a IBM® Rational® RequisitePro® project (traceability). Part 3 concluded by showing you how to publish reports of your service design.
This tutorial, Part 4 of the series, discusses how to move a design forward from UML into WSDL and Java (artifacts that you can run and test). A key feature of Rational Software Architect, one that this tutorial demonstrates, is the ability to automate the transformation between models. You’ll discuss this feature and show how this approach can assist you as you look to move past design and into the implementation of a solution.
After completing this tutorial, you should have a better understanding of how you can leverage the transformation and code generation capabilities of Rational Software Architect. In addition to support for UML2 modeling, Rational Software Architect allows you to leverage your model to generate relevant artifacts. In this case, focus on creating WSDL for your modeled services. Once they’re generated, you can use additional wizards and tooling to generate the Java code needed to implement the services. Last, but not least, you can test the service using the IBM® WebSphere® Application Server test environment.
To get better value out of this tutorial, it is recommended (but not necessary) that you be familiar with:
- UML, the Unified Modeling Language
- Rational Software Architect
- IBM® Rational® Software Modeler
- RequisitePro, IBM’s Rational brand requirements management product
- SOA, Service-Oriented Architecture
- SOAP, Simple Object Access Protocol
- WSDL, Web Service Definition Language
- XSD, XML Schema Definition
Refer to the Resources section for useful links on these topics.



