Q&A: MDA today and tomorrow
- By Jack Vaughan
|SUMMARY: We met up with Mike Rosen at Cutter Consortium's recent Cutter Summit by the banks of the River Charles in Cambridge, Mass. Few people know more about Model-Driven Architecture (MDA) than analyst Rosen. As well, few have considered more deeply the evolving role of MDA in Service-Oriented Architecture (SOA) strategies.|
FREE ADT WEBCAST
Join Application Development Trends on July 13, 2004 at 1
p.m. EST for a free Webcast on ''Making SOA Happen: Process, Tools and
Politics Defined.'' In this one hour Webcast, Mike Rosen, Compuware Corp.'s
Mike Sawicki and ADT's Jack Vaughan will take a closer look at
Service-Oriented Architecture (SOA). How will SOA drive new design paradigms?
How do teams organize for success with SOA? How does Model-Driven Architecture
relate to SOA?
Register for this free Webcast today at www.adtmag.com/SOAWEB
Q: Some people look at MDA and they smell CASE.
What is different or similar between the two technologies in your estimation?
The idea behind CASE is that you're creating some kind of environment that allows you to work at a higher level of abstraction and then, from whatever form that model is in, generate an operational system from it. So from one perspective, there's a lot of similarity with MDA.
The major difference, I think, is that MDA is based on industry standards, whereas CASE was entirely proprietary and every CASE vendor had a different set of tools. Once you adopted one, that was it. MDA is based on industry standards so you can use any modeling tool, essentially, to create the kinds of models you want. There's a big variety of MDA tools that you can get that have different focuses in what they can try to generate from those models.
I think that, in general, CASE solutions are typically more focused toward a specific business domain and have more capability to generate complete systems, whereas MDA is still probably more focused as an aid to software development. It's sort of a more general solution and most of the tools don't try to generate 100%.
Q: Some vendors set de facto standards, for
example Microsoft and IBM. Where are they in relation to this, and if they don't
go whole-hog with MDA does that mean it won't happen?
IBM is firmly behind MDA standards -- more so than we actually know. IBM invested a lot of money in the Eclipse framework and made it an open-source framework after spending $50 million developing it. [It's also] the basis of the new generation of tools that they are focusing on WebSphere. WebSphere Application Studio is built on top of the Eclipse framework and all these different tools plug into it. Underneath that are actually MDA standards. That whole thing is built on top of the Meta Object Facility, which is sort of the key underlying technology of MDA. So, unbeknownst to us, IBM is actually investing a lot of money in this and is strongly behind MDA standards.
Microsoft is taking a different approach. They appear to believe that the productivity we get from model-based development is valuable. Their focus is going to be on some specific application domains, and in creating applications [with] domain-specific languages and domain-specific modeling that they're going to then use to generate systems from. Their approach is very similar to MDA. They've chosen not to adopt the standards.
Q: Business needs trump technology these days.
Does interest in business issues today freeze out MDA or not?
I don't think it freezes out MDA. We should maybe separate out the focus of MDA tools from the capabilities that the MDA technology brings us. Today, the focus of most of these tools is at sort of a software developer level. But MDA is based on some underlying standards around how you define what models are and then how you transport that model into something useful. Today, most of those models are software models that we transform into the code, but that's not what's required.
And they're UML models. But there are standards that are being developed now around business process models and business rules models that are built on top of this same fundamental MDA technology. I think that we'll soon start to see some tools that are built on this sort of generic generation technology that is focused on business users.
Q: Is MDA too object-oriented and too little
The answer is almost the same as the last one I gave, which is that most of the MDA tools today are focused on object-based development of component applications. There is nothing to prevent some clever tool vendor from harnessing that generation technology to create Service-Oriented Applications. I think we'll start to see people doing that when we understand Service-Oriented Applications a little bit better.
Some of these MDA tools are very flexible. You can define your own models and transformations, if you're smart enough. I have a client that I'm working with to create specific models for creating service-oriented integration applications. From that, we're using an MDA tool to generate service bus artifacts from business models. So these kinds of things are possible with the technology. There are [also] tools that support some smart architects who understand how to use them, and I think we'll start to see those capabilities make it into mainstream tools over time.
Q: Are service bus artifacts in the nature of
infrastructure software or application software?
They're in the nature of infrastructure software. It generates the queueing configuration, messages and the service advertisements, and those things required to plug these things into the service bus, as opposed to generating the JavaBeans or C# code that would be required to plug some application into .NET or J2EE.
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.