写点什么

微软的模型驱动开发战略

  • 2008-11-11
  • 本文字数:1706 字

    阅读完需:约 6 分钟

随着微软下一代模型驱动的面向服务架构(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 中文站用户讨论组参与我们的线上讨论。

2008-11-11 22:431222

评论

发布
暂无评论
发现更多内容

【一Go到底】第二天---你好,Go and GOROOT&GOPATH

指剑

golang Go入门 10月月更

Linux操作系统——进程管理、RPM与YUM

胖虎不秃头

操作系统 Linux tar 10月月更

【LeetCode】检查二进制字符串字段Java题解

Albert

LeetCode 10月月更

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

Linux操作系统——用户管理、实用指令

胖虎不秃头

Linux 10月月更

用30分钟相中10倍工程师

愚夫一得

面试 技术管理 招聘 文化 & 方法

Docker下,两分钟极速体验Nacos

程序员欣宸

Docker Spring Cloud 10月月更

Python基础(七) | 文件、异常以及模块详解

timerring

异常 Python Monad 10月月更

写过自定义指令吗,原理是什么?

bb_xiaxia1998

Vue

SAP 电商云 Spartacus UI 的响应式 UI 实现细节

汪子熙

前端 前端开发 web开发 10月月更 breakpoint

使用 RxJs 实现一个支持 infinite scroll 的 Angular Component

汪子熙

前端开发 angular RXJS web开发 10月月更

怎样对react,hooks进行性能优化?

beifeng1996

React

Linux操作系统——日志管理

胖虎不秃头

Linux 操作系统 10月月更

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

Linux操作系统——组管理和权限管理

胖虎不秃头

Linux 操作系统 10月月更

Vue3入门指北(六)列表渲染

Augus

Vue3 10月月更

大数据ELK(十一):Elasticsearch架构原理

Lansonli

elasticsearch 10月月更

Collections之 Arraylist源码解读(二)

知识浅谈

ArrayList 10月月更

Linux操作系统——定时任务调度、磁盘分区与挂载、网络配置

胖虎不秃头

Linux 操作系统 10月月更

MyBatis 学习笔记之配置文件

薛定谔的猫

mybatis 10月月更 mybatis配置文件

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

什么是虚拟服务器?一共有多少种虚拟服务器?这篇文章带你扫盲!

wljslmz

10月月更 虚拟服务器

2022-10-02:以下go语言代码能否通过编译?A: 能;B: 不能;C: 不知道。 package main import ( “fmt“ ) type worker interfa

福大大架构师每日一题

golang 福大大 选择题

业务实时监控服务

穿过生命散发芬芳

10月月更 业务监控

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

【从0到1学算法】2.递归

Geek_65222d

10月月更

Python应用之计算阶乘

芯动大师

函数 10月月更 阶乘计算

MyBatis 学习笔记之MyBatis入门开发

薛定谔的猫

mybatis 10月月更 mybatis入门

如何在 Linux 中删除超过 30 天的文件

wljslmz

Linux 10月月更

【SSM】Spring系列——IoC 控制反转

胖虎不秃头

spring ssm 10月月更

微软的模型驱动开发战略_SOA_Boris Lublinsky_InfoQ精选文章