The Artima Developer Community
Sponsored Link

Agile Buzz Forum
DSM for SOA

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Steven Kelly

Posts: 294
Nickname: stevek
Registered: Jul, 2005

Steven Kelly is CTO at MetaCase and lead developer of the MetaEdit+ Domain-Specific Modeling tool
DSM for SOA Posted: Jul 2, 2008 2:36 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by Steven Kelly.
Original Post: DSM for SOA
Feed Title: Steven Kelly on DSM
Feed URL: http://www.metacase.com/blogs/stevek/stevek-rss.xml
Feed Description: Domain-Specific Modeling: A Toolmaker Perspective
Latest Agile Buzz Posts
Latest Agile Buzz Posts by Steven Kelly
Latest Posts From Steven Kelly on DSM

Advertisement

What could be better than combining two great buzzwords? :-) Using Domain-Specific Modeling to build applications in a Service Oriented Architecture is of course a good approach, bringing the normal DSM benefits of 5-10x better productivity and significantly better quality. But if you start by thinking about creating a modeling language for SOA, you may be going down the wrong parth. Let me explain why.

In general I’d suggest basing the modeling language on the concepts of the problem domain, not the solution domain. SOA is really more on the solution domain side of things, and that side is handled by the generators, not the modeling language. If many of the solution domain details are visible in the models, they are no longer at the high level of abstraction expected from DSM. This reduces the productivity of the modeler, and forces them to think on two levels simultaneously. It also makes the DSM solution brittle with respect to changes in the solution domain. Normally with DSM, if you change the solution domain (e.g. to switch to a different framework or architecture), only the generator needs to change (requiring work by one person), not the models (which would require work by many people). If implementation details are visible in the models, a change in the solution domain requires changes to all models, meaning extra work for many people.

The Digital Watch example in MetaEdit+ illustrates DSM principles quite nicely here. Initially we were only targeting an object-oriented, browser-based implementation: Java applets. We were able to keep the implementation details out of the models, though, so later we have been able to add new generators for an object-oriented mobile device implementation (MIDP on mobile phones -- see Section 4 here), and a low-level procedural language for embedded devices (C), all without any changes to the models.

We also have another example, not yet released, of database applications with a web page interface. One generator can produce applications running locally in a browser using Google’s Gears, with JavaScript and an SQLite database inside the browser; another generator will produce Python for the Google App Engine using a Python DataStore on Google’s server in the cloud. So there’s a desktop database application, or a client-server application -- and the models need say nothing about those implementation details.

Read: DSM for SOA

Topic: Things that make me go Hmmmm Previous Topic   Next Topic Topic: Where to find Smalltalk Solutions Content

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use