In the issue #21 of the Microsoft Architecture Journal, Cesar de la Torre talks about implementing SOA using an MDD aproach supported with Oslo: Model Driven SOA with Oslo.
In the economic crisis scenario, some voices argues about the death of SOA (more, more and more) just even before few organizations has already started to adopt it.
However, the SOA approach has valuable principles for Enterprise Software organization for the long term maintenance, integration and minimizing the TCO.
Johan den Haan has a nice post about it: SOA is dead; long live Model-Driven SOA.
As a supporter of MDD, I agree with Cesar and Johan, MD SOA could be a way to deliver the good principles behing SOA.
SOA is always a tough topic to explain for first time visitors. To help to introduce it I will link a superb presentation about it: Meet mike… (credits for Eduard Hildebrandt).
MDD with Oslo
On the other hand, as Cesar pointed, Microsoft Oslo project has/had (after the rebranding) potential to be a good platform for domain modelling with textual DSL (MGrammar) and visual DSL (Quadrant).
As commented in the previous posts, it’s a pity that for the moment modeling efforts at Microsoft has been focused too much into one particular tree “the SQL Server scope” and loose the full forest vision.
Sadly, Microsoft OSLO has died!
Via Jorge Ubeda I received the bad news. Accordingly to Douglas Purdy’s post, Microsoft OSLO is going to be rebranded to SQL Server Modeling CTP.
The people in the MDD community using .NET technologies has put a strong believe in Microsoft promise of delivering a big step forward in MDD with the OSLO project. At least, that what Microsoft sell us in the first CTP.
Now, in its new reincarnation: the M language, Quadrant and the Repository will still provide value for the database colleagues, for sure. But for the MDD community, this time, Microsoft has lost totally the point. That is quite different respect to the initial selling proposition we all bought at www.modelsremixed.com for example!
Model Driven Development is about increasing the level of abstraction, it is about technology and architecture independence. Tying the models with a database provides no help in achieving such objectives.
And what about MGrammar? It is a great tool for doing textual DSLs in the .NET environment. Any plans to support and improve it as a product or will end also tied to a database?
As Jorge points JJ. Dubray seems to be in the right path when anticipating the results.
It is a pity, a great opportunity to empower MDD with the right tools has been lost. Anyway, others tools will come and do the job instead.
This was my contribution for the Code Generation 2009 conference.
The central idea of my speech was devoted to achieve scalability in MDD tools & methods for industrial application of the MDD technology.
I was so glad to see that Markus Völter and Steven Kelly also just 30 minutes before my talk, were addressing the same key issues in their inspiring keynote: scalability, partitioning, modularization of DSL. This fact reinforce me in the idea that we are really growing as a community (CG) with common problems and aligned in the solutions improving the tools & techniques more and more every year.
Scaling MDD for production: enabling SoC at model time
There was also time for an small but complete live demo of a small tool socDriven running and demonstrating the concepts explained. The tool was implementing a compiler and merger for a small textual DSL. The DSL was parsed using the OSLO MGrammar to create the AST. A merged engine in a second phase glued the partial specifications producing as output:
- the same specs merged in a unique file,
- the same spec ready to be open with a graphical editor with DSL Tools,
- a full code generation solution on VS2008 containing:
- scripts for SQL Server
- a logic layers with POCOs & full NHibernate mappings
- a default CRUD service definition,
- a default Web Service definition,
- and a Windows Form UI ready to query and execute CRUD operations.
After the generation of the solution, it can be opened with VS, create the DB launching the scripts provided and pressing just F5 for building and running it all! == (a.k.a the utopia of 0 custom code) };-)
Please, feel free to add your comments!
During these days, I am dedicating a lot of my free time to work on my session “Scaling MDD for production: Enabling SoC at model-time” for Code Generation 2009.
This year my focus will be directed to stress the importance of prepare your code generator for scalability and discuss some techniques in order to achieve it. Separation of Concerns (SoC) is one of the powerful principles you ever can apply in Computer Science, and I will discuss about how to use it as the basis to split concerns and improve the scalability of the approach.
A custom MDD tool named “socDriven” has also been implemented to demonstrate the ideas. This tool has been developed using .NET, the Microsoft OSLO MGrammar & StringTemplate.
See you there to discuss about it!
Quandrant is the Microsoft Oslo’s Visual DSL editor.
Still in alpha stage, was only disclosed to the PDC’08 attendees in October.
Thanks to Stwphen W. Thomas we can take a look on it (Flash video).
Quadrant provides a generic visual editor for creating and exploring Oslo models. The models are stored in a MS SQL 2008 Database. The samples shown in the video ilustrates selecting & manipulation objects and a workflow (a la BPMN) notation.