所在位置:UML新闻 - 内容 论坛精华    
Rumbaugh嘲笑微软在UML上的姿态
Paul Krill

[2005/3/22]

Jim Rumbaugh是IBM杰出的工程师,如今他正领导IBM Rational分部的软件建模工作。他和Grady Booch、Ivar Jacobson并称为发明UML的“三友”,UML在1997年被国际对象组织接收为建模标准。他也参与了RUP的开发并且曾经是面向对象分析与设计方面的OMT的主要开发者。上周,InfoWorld编辑在在Santa Clara召开的SD West2005会议上对Rumbaugh进行了访谈,讨论了UML、SOA (service-oriented architectures) 和 ESB (enterprise service bus)技术。Rumbaugh对微软及其在UML上的骑墙姿势表示了不屑。

IW: 可以谈一下UML的背景以及当年你是如何参与进去的吗?

JR: 当然可以。当年有大把的方法论,每个都有自己的建模方法。人们不断地询问我们,为什么不统一?但所有这些人都来自不同的公司,因此他们没有动机去做这个事情。UML的出现是在Rational 的CEO,Mike Devlin,聘用了我、Ivar Jacobson和Grady Booch之后。我们三个到了一个公司,Grady和我先合并得到了我们称为的Unified Method方法,而实际上Ivar 建议把它称为Unified Modeling Language。在此基础上不断有其他人加入进来,这就是一切的开始。

IW: 目标是什么呢?

JR: 嗯,最初的目的是从不同的建模方法中提取一些共同之处,统一起来以便大家都可以使用,结果最后得到了UML。现在,除了我们仨之外以及Rational 之外的很多人都加入了进来,这也是UML成功的原因。你知道,UML现在已经淘汰了很多其他的方法,这些方法的使用者最终放弃了使用这些方法而开始使用UML。因此我想UML已经成功了。

IW: 微软并没有真正支持UML。他们曾经告诉我,他们并没有发现使用UML的太多必要,这说明了什么问题呢?

JR: 我们会看他们是否真正支持UML。他们现在也在用其他方式支持UML。他们似乎cover all bets,我打赌如果他们发现有足够的人想用UML,如果他们不能说服人们使用他们的方法,他们最终会回到UML上的。但再重复一次,很多的人都认为UML是有用的。只是微软说了一些其他的话,这代表不了任何事情。他们并没有在所有可能的领域获得成功,这是肯定的。[编者注:微软曾为UML1.4提供支持,但并没有为新版本UML2提供支持。但Borland为微软的Visual Studio 提供了UML2的支持。

IW: 你曾经谈到过模型驱动架构的重要性。UML是它的一种表现形式吗?基于MDA的技术有哪些?

JR: UML是一种建模语言,因此它是表达模型的一种方式。MDA是一种构建模型的方法。因此这两者是正交的。你需要表达模型的方式,也需要开发模型的方法。因此这两个一个是一种开发过程,而另一个是语言、格式、表达-嗯,你怎么叫它都可以。

IW: 你在会议上的发言中谈到了SOA和各种标准。但从来没提到Web services,为什么把它忽略掉了?

JR: 哦,Web services是SOA的一种。实际上它位于SOA之下。Web services 曾经是SOA的第一个示例,或者说是一个好的例子。

IW: 你提到过ESB。是否IBM已经有了一个企业服务总线 (Enterprise Service Bus)产品,还是你们将拥有一个?

JR: 实际上它已经嵌入到我们的中间件产品里面了。它当然不是一个单独的部分。从某种意义上说ESB是产品需要支持的一个概念,因此它不是一个可以单独分离出来的东西,而是你的中间件必须支持的一个属性,这个属性指的是你需要轻松地从任意一处调用另外其他地方,而不让诸如机器码、语言和平台之内的东西来妨碍你。

IW: 那么ESB的基础是什么呢?它更多的是一个消息总线(messaging bus),你同意这种说法码?

JR: 哦,它基于在不同事物之间交换清晰的信息的想法。因此基本上它就是在应用程序之间来回地发送消息。

IW: SOA现在有多流行?

JR: 对,正如我们曾经指出的,Web services是一种SOA。因此用户们正在使用它,而且我们希望使用得会越来越多。我们的部分工作就是让它更容易发生。现在的一些困难比如在平台之间的连接困难。因此IBM正在开发中间件。中间件的任务就是帮助人们构建可以交互、可以完成任务的应用程序。现在已经有了很多相关的产品,我希望以后会有更多。

IW: 因此SOA目前很大程度上基于Web services?

JR: 嗯,这当然是一个主要的部分。但还有大量SOA没必要用Web service的。我们认为SOA的未来就是把那些庞大的系统分拆为小块,可以容易地进行重配置、替换。

IW: 如果一个公司从过去庞大(monolithic)的架构转移到SOA,是不是要花很多钱?比如我这里有一个来自Sun的人,他可能会告诉我如果要部署SOA,IBM会卖IBM的全球服务(Global Service)给我。是不是要转移到SOA上就要花大笔的钱?

JR: 嗯,你没必要一口吃成胖子,可以一步步来。当头头们说,“我们马上就要把所有东西都转移到新的Idea X上拉,我们要彻夜执行,每个人都要”,我们和公司都会被毁掉。这种做法是毫无效果的大灾难,总的来说,你需要一次一点地来,可以现在可以得到回报的地方开始。
首先要做的是态度上的转变。大家过去在It方面是紧凑、封闭的想法,现在需要的是打开,把一些服务外包出去,这是真正的文化上的障碍。这也是实际上的障碍所在,CEO的工作、CFO和CTO的工作就是要消除这些障碍。

IW: 你提到了服务编排((choreography)。你对BPEL的印象是什么?

JR: 嗯,我们正在用这个。它是相当低水平的choreography。但是在这些标准的基础上进行工作是很重要的,因此我们有一些产品是基于这些标准的。

IW: Java vs. .Net之战,谁会是胜利者?

JR: 如果一定要一方放弃才算胜利的话,我怀疑不会有一个绝对的胜利者。我的意思是,我认为他们都会存在下去。

IW: 和Sun在Java上相比,微软似乎找到了从.Net上挣钱的方法.

JR: IBM 也在支持Java,我们将致力于:我认为微软会有一个强大的对手。

IW: 你认为IBM在领军Java技术吗?甚至比Sun更靠前?

JR: 嗯,我认为IBM大力推动着Java,但我并不认为我们希望Sun放弃支持它,当然IBM是主要领导者中的一员。

IW: IBM和Rational的合并现在看来效果如何?是不是Rational觉到了某些方面的限制?

JR: 实际上我觉得和过去相比,大多数的Rational员工觉得现在产品的范围更广了,因为IBM覆盖的范围比Rational要广泛。而且我们在过去从未涉猎的领域也开始销售产品了。因此实际上我们的范围增大了。

(自infoworld,袁峰 摘译,不得转载用于商业用途)