Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

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.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Using model-driven development and pattern-based engineering to design SOA: Part 3: Eclipse Modeling Framework Technology Java Emitter Template transformations

Lee Ackerman (ackerman@ca.ibm.com), Sr. Product Manager, EMC
Lee Ackerman
Lee Ackerman is a Sr. Product Manager with the Rational Expertise Development & Innovation team. He focuses on creating intellectual capital assets that enable users of the Rational model driven development tooling to succeed in creating J2EE and SOA solutions.
(An IBM developerWorks Contributing Author)
Bertrand Portier, IT Architect, IBM
Bertrand Portier photo
Bertrand Portier is an IT Architect with IBM’s worldwide SOA Technical Sales organization. He used to work for IBM SWG SOA Advanced Technologies to help customers with strategic SOA transformations and create SOA assets for IBM. He is heavily involved in model-driven and asset-based development, and has extensive experience with Web services. A regular speaker at conferences and the author of several technical articles, he also co-authored a redbook on SOA solutions
Chris Gerken (cgerken@us.ibm.com), Senior Consultant, IBM
Author photo
Chris Gerken is a member of the IBM Software Services for WebSphere group. He created the Design Pattern Toolkit which has been productized in Rational Software Architect V7 and Eclipse 3.2 as EMFT/JET. He has created the Exemplar Authoring technique for rapidly building pattern-based tooling.

Summary: 

This tutorial explains how you can extend IBM® Rational® Software Architect and use your own custom patterns to automate the design of a solution. Rational Software Architect provides several features that you can use in combination to improve your productivity when designing service-oriented architecture (SOA) and other solutions. You can also use these automations to improve the quality of the solution and to support the overall governance process.

View more content in this series

Date:  10 Jun 2008
Level:  Intermediate PDF:  A4 and Letter (2468 KB | 56 pages)Get Adobe® Reader®

Activity:  13143 views
Comments:  

Before you start

Learn what to expect from this tutorial and how to get the most out of it.

About this series

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.


About this tutorial

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.


Objectives

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

Prerequisites

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.


System requirements

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

1 of 11 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=312160
TutorialTitle=Using model-driven development and pattern-based engineering to design SOA: Part 3: Eclipse Modeling Framework Technology Java Emitter Template transformations
publish-date=06102008
author1-email=ackerman@ca.ibm.com
author1-email-cc=
author2-email=bportier@ca.ibm.com
author2-email-cc=
author3-email=cgerken@us.ibm.com
author3-email-cc=dwu@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.