[AM] MDA & web services/SOA
Jason Gorman <[email protected]> Wed, 25 Feb 2004 13:24:31 -0000
| Newsgroups | gmane.comp.programming.modeling.agile |
|---|---|
| Message-ID | <[email protected]> |
Folks I've been working on a project recently to put together a set web services for a client in the tourist industry, and it occured to me after a while that this is one area where something like MDA could prove invaluable. It's also an area where traditional analysis and design techniques may fall down. For starters, there's the rather thorny problem of rules. We have a large domain model, with plenty of juicy constraints that are enforced on our servers, but when the clients generate their "dumb" proxies in Java, C# and wotnot, they get none of that. The only way to know if they've broken some rule is to "suck it and see" by calling the web method and seeing if our system complains. From a performance perspective, given the sheer size of some of these SOAP requests and the volumes involved, not the best solution. Now, we have all our constraints neatly packaged away in classes that inherit an interface, IRule (geddit?), which are applied to incoming domain objects depending on their type. For a .NET client, we could quite easily package all this up into a validator component to be used client-side. We could also do it for Java, but would obviously have to rewrite 300+ rules to achieve that against our own mock-up Java proxy. Then, we could do the same for the VB/C++/COM clients. And so on... There's also the problem of web service proxies not being able to take behaviour with them, so my nice neat AddRating(rating : Rating) method on Product stays strictly server-side. Client developers end up with a lot of extra code to write to build the complex objects they must send to our servers, and there's no point in their adding them to the proxy code itself because their SOAP client tools will just overwrite all that the next time they update the web reference. It's also a major imposition on people who "don't need to adopt your web service" if they don't feel like it! Now, if we could specify web methods in UML, and the constraints and operations on intermediate objects (objects specified in the WSDL file that defines the web service) so that a complete, functional proxy could be created - well, that would have saved us a whole heap of trouble and would be one less obstacle to the web service being adopted in the round. I think the term being bandied about is Service Oriented Architecture - so my question is this: does MDA go with SOA? And, given Gartner etc are predicting SOA to be the next "big thing" (and I already see it happening in the marketplace as clients scale the web service learning curve this year), should we not now accept that MDA may also be an accompanying "megatrend"? I'm already perceiving a real growth in interest in both of these - and in connection with each other - in the marketplace this year. (I think it's all bollocks, of course, but that's what I perceive...) Jason Gorman http://www.objectmonkey.com For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com --^---------------------------------------------------------------- This email was sent to: [email protected] EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h Or send an email to: [email protected] TOPICA - Start your own email discussion group. FREE! http://www.topica.com/partner/tag02/create/index2.html --^----------------------------------------------------------------