模型驱动应用:微软的路线图 :: 家狐
来源: BlogBus 原始链接: http://homefox.blogbus.com:80/logs/2005/04/1094407.html 存档链接: https://web.archive.org/web/20060103060454id_/http://homefox.blogbus.com:80/logs/2005/04/1094407.html
模型驱动应用:微软的路线图 从 UMLChina 关于微软的几则新闻,大致可以勾勒出微软关于模型驱动的路线图: 2003/7 /24 的 基于模型的开发领域,微软从零开始 ,是这样说的: Gates认为建模的过程是使用“很高层次的规约来描述软件是如何形成的……最后我们看到的是源代码这种字面的形式”, ……。 这里透露的信息“ 很高层次的规约 ”,是个什么样的?来看 2003/12 /16 的 微软Whitehorse modeler的背后 的 描述: “Whitehorse”的目标是“design for operations”,允许用户尽早陈述逻辑基本结构需求,并把应用程序设置和逻辑基础结构相印证…… 微软的Whitehorse并不简单地支持UML,而是一种“元建模”,从而支持多种建模语言。 这符合微软的一贯风格,总喜欢搞点自家的东西。 问题是,微软搞的到底是个什么样的东西? 2004/3 /22 的 微软的模型观点与众不同 , 透露了微软的思路 : Whitehorse的其中一个要点是,它是一种基于XML的领域细化语言,来描述服务或网络基础设施的各个部分以及它们如何连接。微软计划为想要建立DSL的大公司们发布一个软件开发工具包…… 好家伙, 基于XML的领域细化语言, 这个工作量可不小,也大概只有微软玩得起。微软是在鼓励在厂商在其 基于XML的领域细化语言 的基础上,提供对UML和DSL的支持。 而且,微软显然不想被UML和MDA束缚,故而更多地偏向DSL。其提供的三个DSL设计器,显然比复杂的UML更易使用: 一个逻辑基础设施设计器,允许用户用方框和线条可视化地描述网络中每个硬件部分能做什么; 一个面向服务的应用设计器,可以用来描述网络服务和连接它们的协议; 一个类设计器,用来描述类或接口,以及它们之间的继承关系…… 这就清楚微软的规划了。 2004/12 /1 的 软件工厂+DSL: 微软对MDA的回答 ,可以说是对微软的路线作了一个总结: 顾问公司META集团的副总裁Thomas Murphy认为,从某种程度上说,软件工厂和与之相关的领域特定语言DSL(Domain Specific Languages)的概念,是微软对MDA的回应。。。 微软把宝压在“软件工厂”这个概念上,在一个更粗的粒度上实现复用,这无疑是对OO和构件的一个提升。而且,这个粗粒度的领域,往往是可以用领域特定语言来描述的。这样,微软的模型驱动应用就简单清晰了: “软件工厂”实际上是DSL的执行引擎 DSL确实是一个好东西。不仅SQL、workflow等DSL比较重要,如果把ERP关心的物料需求计划、能力计划、高级计划排程等用DSL表达,那一定很爽,对于提高ERP软件的开发和维护效率,一定大有裨益。 但DSL取代了UML吗?我在 上一个随笔 里,引用了从网上发现的 UML创始人 的话,说: 可以把UML作为DSL和最终实现之间的中间语言 看来,从某种意义上,DSL类似设计模式,是对粗粒度的问题域的描述。这并不排斥UML。当然,微软是没有必要采用UML的,用它自己搞的 Microsoft Business Framework 这个巨无霸了,就够了。 四, December 16, 2004 12:40 PM