微软的模型驱动开发战略

  • Boris Lublinsky
  • 王速瑜

2008 年 11 月 11 日

话题:SOA.NET语言 & 开发架构

随着微软下一代模型驱动的面向服务架构(SOA)平台——OSLO 的出现,模型驱动开发将跨越业务分析师与 IT 人员之间的沟壑,并确保 SOA 平台中应用开发向业务需求看齐。微软系统连接部门(Microsoft Connected Systems division)主管Burley Kawasaki表示:

模型驱动开发是整个软件开发行业在发展过程中一直寻找的、不可缺失的组成部分。OSLO 将会成为下一代模型驱动应用开发的新起点,而且它终将成为主流。模型不应该是仅供导入导出、生成代码所用,模型就是应用,是打破各种筒仓(silo)的应用。我们正在创建一套通用的建模工具,建模语言以及模型仓库,这一整套东西将会桥接起描述同一个应用的不同类型的模型,并将模型置于应用开发的中心。这样模型就可变成应用。服务器看到的是各种模型,而不是打印机吐出的纸张。

虽然微软的这个整体愿景非常清晰,但问题在于:该模型愿景是否会基于 UML——目前架构领域的通用语言。Burley Kawasaki 这样澄清微软的位置

UML 是微软需要支持的标准之一,但不是唯一的标准。我们视其为一种重要的建模标记方法,但它并非唯一的一种。微软计划广泛支持系列建模工具,从自己的 Visio 图表绘制软件到 UML,同时也满足其他建模语言的要求,比如对业务流程建模标记语言(Business Process Modeling Notation,BPMN)的支持。

随着 OSLO 不断成熟,微软开始改变建模方式的发展路线。经过数年专注于领域特定语言(DSLs)相关建模工具的研究,微软扩宽了他们的产品策略,包含了更多 UML 相关建模工具。尽管微软此前通过在 Visual Studio 中支持 Rational Rose 插件以提供对 UML 的支持,他们目前已经开始规划在 Visual Studio 10 中内建支持 UML,并已加入了 OMG 组织以更好地支持 UML 开发。

上周,微软发布声明称,Visual Studio Team System 2010 将提供一套基于 UML 的团队架构工具——Team Architect,该工具不仅面向架构师,而且还可供应用开发人员,数据库开发人员和测试人员使用。Team Architect 不仅可以设计新的应用,同时也支持对现有应用的反向工程,架构师们和开发者们可以藉此在添加模块或调整代码前就了解到整体架构。

SourceGear LLC 的 Teamprise 部门资深软件工程师 Martin Woodward 写道:

Team System Architecture Edition 2010 发布版本中最令人印象深刻的是,他们不仅仅提供了自顶向下的架构设计方式,同时也自下向上的展示出一个软件架构师每天真正在做的事情。这套产品比它的前身更加适合“真实场景”的架构工作,它使架构师可以在多种技术和平台上开展工作应用,而不仅仅是微软的产品体系中。

Team Architect 工具将融合进 OSLO 的建模平台中,从而支持组合应用开发。Chappell & Associates 的负责人 David Chappell 在谈及 Team Architect 和 Oslo 的定位时表示:

你不仅仅可以使用 Visual Studio 编写代码,同时也可以使用 OSLO 的建模工具把创造的人工制品(artifact)整合到工作流程中。早期发布的 OSLO 版本已经具备这些集成特性。

尽管集成 Team Architect 和 OSLO 的计划还没有完全确定,Visual Studio Team System 2010 的产品经理Cameron Skinner表示:

我们仍然刚刚开始考虑这样的做法。现阶段的计划还是只实现互操作的极小一部分。

虽然 Oslo 和团队架构工具的具体进展仍处于很低端的层面上,但 Woodward 仍然表示微软已经选对了正确的方向:

假如微软可以在 Visual Studio Team System 2010 中实现他们之前提到的一半想法,他们肯定将彻底改变这个市场。到目前为止,我所看到的每一件事情都让我觉得,这将会是一个改变游戏规则的产品。

查看英文原文:Microsoft’s Modeling Strategy


译者简介:王速瑜,毕业于华中科技大学,就职于腾讯科技(深圳)有限公司,担任 R&D 研发总监,现负责腾讯敏捷产品开发技术的实践和推广及研发基础平台的管理工作。熟悉 Java、Microsoft.net、Lamp 等技术。对互联网大规模应用技术、高性能网格技术,SOA 等有非常浓厚的兴趣和深入的实践,喜欢 Open Source,关注 Ruby、Erlang 的发展并积极实践,愿意为技术而挥洒激情,为让更多人了解精彩技术而付出努力!志愿参与 InfoQ 中文站内容建设,请邮件至editors@cn.infoq.com。也欢迎大家到InfoQ 中文站用户讨论组参与我们的线上讨论。

SOA.NET语言 & 开发架构