[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,袁峰 摘译,不得转载用于商业用途)
|
相关推荐
计算机辅助软件工程(CASE)产品的供应商也支持UML,并且它基本上已经被所有的软件开发产品制造商所认可,这其中包括IBM和微软(用于它的VB环境)。 UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、...
UML,全称为Unified Modeling Language,由Grady Booch、Ivar Jacobson和James Rumbaugh三位软件工程专家在1997年提出,目的是提供一种标准化的语言,以便于软件开发者、分析师和项目管理人员共同理解和交流软件设计...
UML全称为Unified Modeling Language,由Grady Booch、Ivar Jacobson和James Rumbaugh三位先驱在1997年共同提出,旨在为软件开发提供一种标准化的建模方法。它综合了各种面向对象的建模技术,包括Booch方法、...
UML是由Grady Booch、Ivar Jacobson和James Rumbaugh三位软件工程大师于1997年联合提出的,旨在统一各种建模方法,提高软件开发的效率和质量。随着版本的迭代,UML逐渐成为业界广泛接受的建模工具,涵盖了多种图表...
Grady Booch、Ivar Jacobson 和 James Rumbaugh 等人开始开发 UML,目的是为了统一不同的开发方法和notation。1995 年,UML 0.9 版本发布,1997 年,UML 1.1 版本发布,标志着 UML 的正式诞生。 UML 的目标是提供一...
为了整合这些方法并建立统一的标准,Grady Booch、James Rumbaugh和Ivar Jacobson三位专家(被称为“Three Amigos”)开始了UML的开发工作。1994年,Booch和Rumbaugh开始合作,将他们的工作成果合并,形成了初步的...
### UML在软件开发中的应用:深度解析与实践 #### UML:统一建模语言的兴起与发展 统一建模语言(UML,Unified Modeling Language)是面向对象软件工程领域的一次重大突破,它统一了Booch、Rumbaugh和Jacobson等...
UML,全称为统一建模语言(Unified Modeling Language),是一种在软件工程领域广泛使用的标准化建模语言,特别是在面向对象技术领域。自1995年UML的诞生以来,它逐渐成为了全球范围内主导的建模语言,有效地统一了...
它由Grady Booch、Jim Rumbaugh和Ivar Jacobson三位软件工程大师在1990年代中期提出,并于1997年被OMG(对象管理组织)采纳为标准。UML不仅包括了不同类型的图表,还包括了各种建模元素和规则,这些元素和规则共同...
它是由Rational Corporation开发,并结合了OOSE(面向对象软件工程)/Booch方法、Jacobson的面向对象技术以及OMT/Rumbaugh的面向对象建模方法,于1997年11月被OMG(Object Management Group)采纳为标准,并得到IBM、...
综上所述,了解UML的知识点不仅包括它的基础知识,如定义、历史、特点和模型类型,还包括在实际软件开发过程中的应用。而对UML参考手册的正确解读和理解,对提高软件设计的效率和质量起着至关重要的作用。
5. **标记值**:标记值允许在模型元素上附加额外的信息,如属性值、约束等。 **用例图** 用例图描绘了系统与用户或外部实体之间的交互,它定义了系统提供的功能,以及这些功能如何被不同的角色使用。用例图主要由...
作为UML标准最可信的参考手册,本书在第1版的基础上进行了重大更新和扩展。UML的创建者James Rumbaugh、Ivar Jacobson和Grady Booch,清晰完整地讲述了UML的所有概念,包括对序列图、活动模型、状态机、组件、类和...
面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的...
UML由Grady Booch、Ivar Jacobson和James Rumbaugh等人在1997年提出,目的是为了统一各种面向对象的建模方法,提高软件开发的效率和质量。 在《面向对象技术UML教程》一书中,作者王少锋详细介绍了UML的核心概念和...