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 always be method or process guidance in context.
- 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 the IBM® Rational® Software Development 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 MDD approach to modeling services using Rational Software Architect. We show how service models can be represented at different levels of abstraction (Business Process, Unified Modeling Language or 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. it also discusses the use of UML profiles for domain-specific languages like Service-Orientation. One key to reaping the benefits of SOA is the reuse of existing assets. We show 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 it puts at your disposal, including those related to 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, UML, and the UML 2 Profile for Software Services to design services. In this tutorial, Part 3 of the series, you will learn about reusable software assets and patterns, and you will use design patterns to address requirements. You will also link design decisions to requirements in an IBM Rational® RequisitePro® project (traceability). Finally, you will publish reports of your service design.
After completing this tutorial, you should have a better understanding of the value of visual representation as part of MDD. Also, you should understand what reusable software assets and patterns are, and how you can use Rational Software Architect to include them in your design. You should also be able to trace design decisions to requirements, and to publish reports of your design.
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 or IBM Rational Software Modeler
- RequisitePro, IBM's Rational requirements management product
- SOA, service-oriented architecture
Refer to the Resources section for useful links on these topics.
In order to complete this tutorial, you should have the following installed:
- Rational Software Architect
- Rational RequisitePro



