Slashdot Mirror


Are You Using OMG's Model-Driven Architecture?

Mazzaroth queries: "Over the last few years, system architects saw many middleware and language eras. RPC, CORBA, .Net, EJB/J2EE (with WebLogic, WebSphere, and the zillion of other apps servers), XML/SOAP, Java, C++, C#, to name a few. More recently, an effort has been initiated to isolate application's architecture from the middleware particularities: Model-Driven Architecture (MDA). The idea is pretty good. This will eventually allow me to model the application, deploy it on .NET, then change my mind and go for WebLogic instead for instance. Even if the number of software engineering tools supporting MDA is quite limited for now, I would like to get feedback from people using an MDA approach to develop their application. What are the drawbacks, difficulties and limitations of MDA? What would be required in UML to better support MDA? What percentage of code can actually be generated? Can you share your experience?"

22 comments

  1. What happens when multiple vendors write these? by ivan256 · · Score: 2

    Oh, sure. Great idea. What happens when other companies jump on the bandwagon, and write their own layer that does this. Then you'll need another layer to make you independant of those. we can go on like this for ever. There will never be a magic bullet for this problem. You have to make a decision, and live with the fact that some day it will be obsolete.

  2. This is really ... by ivanandre · · Score: 1

    A very good proyect..., but is very difficult to bring into production.

    Even in java, is hard to take an j2ee application developed in websphere and relocate in bea weblogic...

  3. Don't bother by ClosedSource · · Score: 4, Funny

    All these cross-platform, cross-language, cross-vendor schemes are the perpetual motion machines of the software world.

    1. Re:Don't bother by Anonymous Coward · · Score: 0

      That's all very well and true, but if you don't get off your ass and do something about it, you'll be living in a world where that's the only snake oil being sold!

    2. Re:Don't bother by Anonymous Coward · · Score: 0

      Vendors lie about cross-platform snake-oil standards because it's in the interest of their bottom line to do so.

      There will never be such a thing as fully interoperable middleware because of political problems, not technical problems. Getting off your ass to do something about it won't change this fact, but all efforts to change it will eventually fall be the wayside.

      Your best hope is to choose middleware that gives you the most liberty to use it how you see fit, especially when you wish to cease using it in favor of another product. Getting into bed with proprietary middleware vendors lets them leverage your middleware investment to force you to buy their servers or client software.

      Don't be a sucker. Architect software responsibly.

  4. almost none by random735 · · Score: 3, Interesting

    I'm working on a large project at a big blue colored company in which we use UML models coupled with a code generator to target EJB deployment. Let's just say getting the models and code generator correct for ONE distributed architecture is bad enough. I don't want to think about trying to get it working for multiple deployment platforms.

    And let's face it, the idea of writing your EJB and then deploying it on any EJBServer using any DB backend is a pipedream as well. So consider the problems with that, then imagine multiplying them by the number of different distributed architectures you want to support...forget it.

    What's the point of all this anyway? Abstraction isn't always needed... the appropriate platform, code for it, optimize for it, test on it. Don't target 5 when you only need 1.

    1. Re:almost none by digerata · · Score: 1
      And let's face it, the idea of writing your EJB and then deploying it on any EJBServer using any DB backend is a pipedream as well. So consider the problems with that, then imagine multiplying them by the number of different distributed architectures you want to support...forget it.


      Really? All you need is a nice persistance layer like Toplink. It creates and manages the abstraction you need.


      What's the point of all this anyway? Abstraction isn't always needed... the appropriate platform, code for it, optimize for it, test on it. Don't target 5 when you only need 1.

      And you use Java? I'm sure what you just said was exactly what Gosling had in mind...

      --

      1;
    2. Re:almost none by random735 · · Score: 1

      [Really? All you need is a nice persistance layer like Toplink. It creates and manages the a
      abstraction you need]

      I checked it out, sounds like an interesting product, but for one reason or another, we're not using it. As such, we're forced to deal with creating schemas for DB2, Oracle, etc, on our own. Would Toplink work perfectly if we used it? I doubt it, though it might be an improvement. That still leaves the issue of migrating your beans between EJBServers (websphere->weblogic). Our beans didn't even migrate cleanly from Websphere4 to Websphere5, despite the supposed ejb1.1 compliance support.

      [And you use Java? I'm sure what you just said was exactly what Gosling had in mind...]

      Believe it or not, Java does not platform agnostic. Designed to be, yes. But there are many subtleties (bugs, if you prefer) in various platform implementations that mean you can't just write your application on windows and ship it out to the customer. You *have* to test all the platforms your going to support. And if it's client/server, all the *combinations* you support.

      I had the same attitude when I started here: "it's java, why are we testing on Solaris/AIX/etc? It'll work" Wrong-o.

      Let alone this MDA concept where the implementation code might be java, might be C++, might be C#.

    3. Re:almost none by ClosedSource · · Score: 2

      "The perfect goal of "write once, run anywhere, anything runs on anything" is just goofy."

      James Gosling

    4. Re:almost none by piobair · · Score: 1

      "Nice" and "Toplink" are oxymoronic terms, in my opinion.

      Well, unless you NEVER want to migrate away from it. Its like a cancer that invades your entire code-base.

      All your code-base are belong to Toplink!



      No thanks

      --
      I have a second sig, I call it sig#2.
  5. The Only Answer You Need! by avdi · · Score: 5, Funny

    Blah blah blah failed idea blah blah unrealistic ivory tower academic fantasy blah blah cleaner in LISP yadda UNIX did this thirty years ago blah blah you should be using Python instead blah blah engineering methodologies are all crap blah blah no silver bullet blah blah C++ is for ninnies blah blah just start coding blah blah you should be using UML blah blah UML is worthless shite yadda yadda my company tried this and now I'm unemployed yackety schmackety snake oil blah blah this is the next revolution in software engineering yadda yadda that's a one-liner in Perl blah de blah there's no such thing as cross-platform blather blather the OMG ran over my dog, I wouldn't trust them mumble mumble you really should be reading the book by Hungadunga et. all babble babble duh, it's called the "Eggs Over-Easy" Pattern, stupid! burble snork why aren't you using W3C-standard XMLXSSTYXJW-XYZZY Transubstantiations? blah blah blah...

    There, that should about cover it!

    --

    --
    CPAN rules. - Guido van Rossum
    1. Re:The Only Answer You Need! by Zach+Garner · · Score: 2

      Ok. That was hillarious

      Someone needs to immediately add it to a fortune file

    2. Re:The Only Answer You Need! by Anonymous Coward · · Score: 0

      This needs to be enshrined as the god of all Slashdot posts, immediately.

  6. Great Idea! by Anonymous Coward · · Score: 0

    Personally I think it is a great idea. It will completely distance the "programmer" from the implementation of the program, meaning ordinary marketing jerks and total morons will be able to design, write, and maintain sophisticated programming systems.

    Me? I'm off to the Caymans. Bye.

    1. Re:Great Idea! by einhverfr · · Score: 2

      Personally I think it is a great idea. It will completely distance the "programmer" from the implementation of the program, meaning ordinary marketing jerks and total morons will be able to design, write, and maintain sophisticated programming systems.

      Wow. That is the best argument agaisnt this tool I can think of-- Imagine a world where all the software is *written* by marketing droids!

      --

      LedgerSMB: Open source Accounting/ERP
  7. Middleware for the middleware? by Anonymous Coward · · Score: 0

    Great idea! But we need a good name for it. I propose "off-centerware" to commemmorate its 'not quite in the middle, nor at the edges' nature.

    1. Re:Middleware for the middleware? by Anonymous Coward · · Score: 0

      Quarterware, or maybe 3QuarterWare depending on how you look at it.

  8. We did this by Myshkin5 · · Score: 2, Interesting

    Well we didn't do everything MDA claims but we did abstract out our middleware. Our goal was to keep middleware from occupying so much of day to day development. By defining our middleware relationships in XML we were able to generate tons of code. In practice we abstracted EJBs but in theory it wouldn't be too difficult to generate different wrappers for SOAP or some other middleware.

    It wouldn't be hard to recreate but I am trying to open source the existing code. The company I worked for while writing it has been liquidated and the code was never listed as an asset. I think it is fair game for anyone with a copy.

  9. Meta Development Environment by Anonymous Coward · · Score: 0

    I worked with a tool called the MDE that is ahead of the MDA model. It utilized UML and generator files tied to the model and generated 96 to 97% of the source code. We could generate a j2ee and windows dna application using the same model. In my opinion, there is no better way to develop cookie-cutter software.

  10. I am using ODB's model-centric paradigm by gatkinso · · Score: 2

    "...da onlee bitches I hump be models..."

    --
    I am very small, utmostly microscopic.
  11. I'm using MDMA by Anonymous Coward · · Score: 0

    I tried MDA, it didn't really do anything for me. But MDMA has changed my life. I can really crank out the code now, our team is much closer. And when we get to that final push, everything dances and whirls together like never before.

    Feel it closing in.