写点什么

微软的模型驱动开发战略

  • 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:431318

评论

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

打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

SphereEx

数据库 开源 分布式数据库 ShardingSphere SphereEx

百度智能客服斩获 “金音奖—中国最佳客户联络中心技术与解决方案奖”

百度大脑

人工智能 智能客服

mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用

蚂蚁集团移动开发平台 mPaaS

小程序 消息推送 移动开发 API网关 cube

火山引擎+焱融 YRCloudFile,驱动数据存储新增长

焱融科技

云计算 分布式 云原生 高性能 文件存储

同态加密实现数据隐私计算,能让你的小秘密更加秘密

华为云开发者联盟

数据 加密 同态加密 联邦计算 数据隐私计算

复杂场景,从OpenTSDB迁移到TDengine的最佳实践

TDengine

数据库 tdengine

面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神

华为云开发者联盟

IoT 华为云 LiteOS HarmonyOS IoT边缘

青藤解密:72%客户容器规模>100个,[镜像安全]谁来保护?

青藤云安全

镜像安全

小伙伴如何更有效的自学java开发

@零度

JAVA开发 自学java

大数据开发技术应该怎么学习入门才好

@零度

大数据

Redis架构实战:高并发情况下并发扣减库存

编程江湖

java编程

JVM中的对象及引用

Ayue、

技术专题合集

架构实战营 模块七作业

felix

「架构实战营」

给弟弟的信第1封|兄弟是父母带给我们最好的礼物

大菠萝

28天写作

前端开发怎么学习才能更快的提高学习效率

@零度

大前端

HBase 和 Hive 的差别是什么,各自适用在什么场景中

编程江湖

大数据

清空数组的几个方式

编程江湖

大前端

【Java】代码重构时,为什么禁止在方法内对对象类型的入参赋值

恒生LIGHT云社区

Java 代码规范 java代码规范

Go语言学习查缺补漏ing Day2

恒生LIGHT云社区

Go 编程语言

如何在 Flutter 中设置背景图像【Flutter专题15】

坚果

flutter 28天写作 签约计划第二季 12月日更

IaaS首席架构师的架构设计思考与实践

华为云开发者联盟

架构 分布式 IaaS 虚拟化 华为云Stack

滚雪球学Python系列,真能学会Python!

梦想橡皮擦

内容合集 签约计划第二季

模运算和与运算的一点儿简单思考

LSJ

位运算 二进制

详解工作流框架Activiti的服务架构和组件

华为云开发者联盟

工作流 工作流引擎 BPM Activiti BPMN

什么是云计算?云计算特点是什么?

行云管家

云计算 公有云 混合云 云资源

模仿UP主,用Python实现一个弹幕控制的直播间!

Zhendong

Python

CIO如何制定低代码/无代码战略

BeeWorks

开始读 Go 源码了

AlwaysBeta

golang 源码 源码阅读 源码剖析 Go web

MySQL「 Every derived table must have its own alias」1248 错误修复法

蒋川

数据库 MySQL 运维 MySQL 数据库

等保工作五大误区汇总,让你更懂等保!

行云管家

网络安全 等保 等级保护

软件工程师年满 40 岁,下一步怎么走?|本周话题

InfoQ写作社区官方

生涯规划 个人成长 职业规划 话题讨论

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