O'Reilly logo

SOA in Practice by Nicolai M. Josuttis

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Setting Up MDSD Processes

Once you've defined which code gets generated out of which model, you might think that your MDSD job is finished. However, an important question remains: who performs transformations and code generations, and when? Conceptually, three different approaches are possible (for simplicity, in the following list and subsequent discussions I use "transformation" as an abbreviation for "model transformation or code generation"):

Consumer-driven transformations

Those who need the result of a transformation perform it.

Provider-driven transformations

Those who define the source of a transformation (the source model) perform it.

Third-party-driven transformations

A separate team performs the transformations.

Let's discuss these approaches in more detail.

Consumer-Driven Transformations

Consumer-driven transformations (where those who need the result of a transformation perform it) are usually the easiest to establish as companywide policies. The consumers only need access to the source (model) and the generator(s). An added benefit is that the consumers have the understanding and the infrastructure to verify the generated result, because the reason they're performing the transformation is that they need the result for their own further processing. However, this approach has some limitations:

  • The consumer has to know when a new transformation is necessary. That is, the providers of the source model or of the generator(s) have to inform the consumers when a new transformation ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required