Before you start
Learn what to expect from this tutorial and how to get the most out of it.
To reap the benefits of model-driven development (MDD), your design and development environment needs to have the following characteristics:
- Best practices for reuse: People can reuse proven solutions to recurring problems, as well as provide solutions for others to reuse.
- Role-based tools: Tools are targeted to the task at hand and to the role of the person performing that task (for instance, Business Analyst or IT Architect).
- Process support and guidance: There is always method or process guidance in context.
- An extensible platform: Teams can extend or customize the environment to fit their needs.
- Automation: The framework's underlying meta-model and mappings allow for the semi-automatic transformation of models, from higher to lower levels of abstractions, and eventually to executable code. It is also possible to trace back from lower to higher levels of abstractions.
These are all characteristics of the IBM® Rational® Software Delivery Platform and, more specifically, of IBM® Rational® Software Architect. In this series of four tutorials, you learn how to extend the platform and its capabilities to help you as you create SOA-based solutions. We also explain what modeling is and how to leverage the extensible features of Rational Software Architect.
- Part 1 relates SOA with model-driven development.
- Part 2 walks you through creating your own UML profiles and model templates.
- Part 3 builds on Part 2 by diving into pattern-based engineering and the creation of patterns and transformations.
- Part 4 describes packaging your software assets for reuse.
After going through this series, you should be able to describe the features at your disposal to extend Rational Software Architect in the design of SOA. You will know what modeling is and how to create UML profiles, model templates, UML patterns, transformations, and reusable assets.
In this tutorial, Part 3 of the series, we discuss how you can leverage your own custom transformations in Rational Software Architect to automate the design of an SOA solution. A key aspect of transformations is that they enable you to cross levels of abstraction. Rational Software Architect provides several features that you can use in combination to improve your productivity when designing SOA solutions. In addition, you can use these automations to improve the quality of the solution, as well as to support the overall governance process.
In this part of the series, you will create your own model-to-text transformation to capture the guidelines, conventions, best practices, and basic implementation approach that needs to be followed every time that you need to solve a particular problem. The artifacts generated from such an approach can be anything that is text-based. This can include code, scripts, SQL, documentation, Eclipse-based project resources, and so forth.
The problem that you solve in this tutorial is to correctly build a set of HTML files that, together, document a set of services. The HTML is to be created in a consistent way, using a common theme, formatting, and type of content.
This tutorial follows a bottom-up approach. As such, you will start with an example of the kind of HTML files that you want the model-to-text transformation to generate and use this set of artifacts as the input to the model-to-text transformation authoring process.
After completing this tutorial, you will have a better understanding of how you can use tools and features within Rational Software Architect to build your own model-to-text transformations. These automations can be used to improve the productivity of your team, improve the quality of the solution, and support your governance process. These automations encode your best practices, which are often specific to your organization and are part of your organization's competitive advantage.
Upon completion of the tutorial, you will be able to describe the different ways in which you can create transformations within Rational Software Architect. More specifically, you will have learned how to create, define, build, and test your own model-to-text transformation by using IBM® Rational® Software Modeler, IBM® Rational® Systems Developer, or Rational Software Architect Version 7.
You will see these artifacts in use in this tutorial:
- Eclipse Modeling Framework (EMF) artifacts
- Eclipse Modeling Framework Technology (EMFT) Java Emitter Template (JET) projects with the Exemplar Authoring tool
- HTML-based service specification reports
To get better value from this tutorial, it is recommended that you are familiar with these tools:
- Eclipse, the open source integrated development environment (IDE) or Rational Software Architect, Rational Systems Developer, or Rational Software Modeler
- Java™ Standard Edition
- XML, Extensible Markup Language
- XPath, a mechanism for querying an XML document
Familiarity with the following is also helpful, but not necessary:
- UML, the Unified Modeling Language
- SOA, Service-Oriented Architecture
- EMF, the Eclipse Modeling Framework
- Eclipse plug-in development
- The EMF, UML, and extensibility APIs
See Resources for useful links to more information on these topics.
To complete this tutorial, you need to have the following installed (see Resources for links to trial versions):
- Rational Software Architect Version 7.0
or
- Rational Software Modeler Version 7.0
or
- Rational Systems Developer Version 7.0




