lunes, julio 07, 2008

UML, DSL, y Microsoft

En junio ya hemos conversado sobre el repentino interés de Microsoft en UML. Anticipado por el propio Bill Gates en su keynote de Microsoft Tech-Ed 2008, la noticia ha hechado a rodar con amplitud, y hará más camino seguramente. Es interesante el párrafo que Gates le dedica al tema:
[Respondiendo a una pregunta sobre UML] we'll have additional support for UML in Visual Studio 10 for the specific modeling tools that are there. Then as we move forward and take the modeling platform to the next layer, we'll get even more ability for you to create your own models.

So, you're absolutely right that the modeling world is fairly disparate today. Even at Microsoft our people who do our business applications have some of their modeling environment. Excel in a sense is a pretty limited modeling type environment.

The thing that we've recognized is that by bringing those things together we can actually enable new things like what you do across the lifetime of an application. And underneath these models we actually use UML.

We think it's very rare -- a very rare person would actually want to look directly at the UML because it's so kind of abstract, but underneath, both in terms of exchange with other people's products and some of the exchange we're doing between our own products, we do have UML based subscriptions of these models.

Jack Vaughan y Michael Meehan han dado su opinión sobre este interés, y algo de sus dichos creo que da en el clavo: luego de alentar DSL versus UML, realmente una herramienta que articule la totalidad de un modelo es necesaria (And underneath these models we actually use UML...). DSL es un concepto positivo y conveniente, pero hacer pasar todo por lenguajes específicos de dominio es inapropiado, probablemente difundido más como una operación comercial que como una realidad. Primero, no todo dominio será expresado en un DSL, y segundo, sigue quedando en pie cuál será el pegamento que englobe conceptualmente el conjunto como un sistema; ¿la factoría de software?, o dicho de otra forma, ¿el Visual Studio Team System?.
Parafraseando a Jacobson, Vaughan dice:
Noted software technologist Ivar Jacobson, one of the original "Three Amigos" responsible for UML, said the problem of transforming representation between specific domains is not trivial.

"With DSLs, the problem is you need to have underlying semantics in common. You have a serious transformation problem across domains," said Jacobson, head of Ivar Jacobson International. "UML has a profile that allows you to have specific language constructs, but it has the same underlying model."

With DSLs, common semantics are very difficult to achieve.

Meehan va en la misma dirección a propósito de SOA; su punto de vista es que no es casual que al intentar poner un pie en SOA, sea necesario un medio de expresar lo que haya en común:

Yet Oslo is Microsoft’s Hail Mary pass over the rest of the SOA market and apparently the company has decided to end its religious differences with UML for the sake of giving Oslo mass appeal. Previously Microsoft had been pushing domain specific languages (DSLs) as an alternative to the general purpose format of UML. Unfortunately for the folks in Redmond, DSLs have failed to gain much traction. Part of the problem is getting the people who form a domain to agree upon a standard syntax. Another part is having that DSL interact with anything outside of its domain. Those things surely will come with the march of time, but the uptake has been painfully slow.

SOA demands some commonality, that everyone stop trying to be so special and idiosyncratic. Microsoft has always understood that on some levels, but it’s got skin in the proprietary software business (actually it’s got skin, blood, muscle, bone, you name it). Its maverick tendencies have often led to it offering users products that do SOA the Microsoft way. That is in stark contrasts to the company’s Web services tooling, which has for the most part embraced open standards and heterogeneous systems (most notably Windows Communication Foundation). This is where I remind some readers out there that, yes, there truly is a difference between SOA and Web services.

In fact, one way to look at Oslo, which supposedly will offer a Community Technical Preview in September, is that this is Microsoft’s flag in the ground for SOA. It emphasizes the importance of modeling, attempting to bring the technology as close as possible to the business. As such, UML represents an excellent choice. It should create interoperability between Oslo projects and those built with rival modeling tools (e.g. IBM Rational). And Eclipse’s Modeling Development Tools Project will have a UML2 component ready by the end of the month.

UML gives Oslo a reach it never would have had if it were based on a proprietary modeling language. The UML foundation means Oslo stands a chance of being truly universal, which is as SOA a concept as you can get.
Así, comenzamos a dejar de ver al UML y su significado básico como bosquejos escritos en servilletas a la hora de conversar...

No hay comentarios.: