加载中…
个人资料
前沿博客
前沿博客
  • 博客等级:
  • 博客积分:0
  • 博客访问:52,433
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

边疆梦幻面试十七-格雷迪布奇

(2009-03-27 14:22:00)
标签:

杂谈

边疆梦幻面试十七-格雷迪布奇

Thursday, July 31st, 2008 星期四, 2008年7月31日

Frontier Journal (FJ): Frontier Journal is interviewing Grady Booch.边疆日报(福建) :边疆期刊采访格雷迪布奇。 Grady Booch is an icon in software industry; he is the Chief  Scientist at IBM Rational, also an IBM Fellow.格雷迪布奇是一个图标,软件业;他是IBM公司首席科学家的理性,也是IBM院士。 Grady, I note that your project is handbook of software architecture.格雷迪,我注意到,你的项目手册的软件架构。 SoI would like to know your perspective on the architecture of softwarearchitecture, let’s say, the DNA of software architecture.所以,我想知道您的观点体系结构的软件架构,让我们说, DNA的软件架构。

Grady Booch (GB): Well, there are a couple of phrases that come to mind that I think answers your questions.格雷迪布奇( GB )的:嗯,有几个词语浮现在脑海中,我认为回答您的问题。 First,we know that every software intensive system has architecture, it’sjust that most of them are accidental as opposed to intentional.首先,我们知道,每一个软件密集型系统架构,只是其中大部分是意外,而不是故意的。 Architectureis born from the tens of thousands of decisions that are made duringthe development and the deployment, and the evolution of a system.建筑是出生成千上万的决定,是在发展和部署,并逐步建立一个系统。 Andtherefore, for every system that we can come up to and say that it hasan architecture that we can name of this particular style.因此,每一个系统,我们可以拿出来,并说,它有一个架构,我们可以这个特定名称的风格。 Although,while that system is being created, the developers often don’t knowexactly the style that they are creating, it’s through those manydecisions that we put together.虽然,而该系统正在建立,开发商往往不知道确切的风格,他们正在建立,它的许多决定,通过这些,我们的总和。

Now, that’s both a good thing, as well as a bad thing.现在,这既是一件好事,以及一件坏事。 Thebad thing of it is, its not very intentional and so for new systems, itmeans there’sa lot of discovery, and scrap and rework.坏的事情是,它不是故意的,所以非常的新系统,这意味着有很多的发现,及废料和返工。 For a lot of old systems, it means there are probably lots of inefficiencies therein, that’s the bad side.对许多旧的制度,这意味着有可能有大量的低效率,这是坏的方面。

The good side is that we can actually build from this.好的一面是,我们可以从这个实际建设。 Andindeed, one of the efforts of the handbook is to do a practical studyof a hundred systems that represent the spectrum of softwareengineering systems, and try to extract those common architectures sothat we can begin to name them.事实上,一所作出的努力手册就是要切实研究100系统,它们代表了频谱的软件工程系统,并尝试提取这些共同的架构,让我们可以开始这些公司的名字。 Thepatterns community has done an excellent job in cataloging designpatterns, and one of the efforts that we all are doing here, is tobegin to catalogue architectural patterns.社会的格局做了出色的工作编目设计模式,其中的努力,我们都在这里做,是为了开始目录的建筑模式。 So, in a sense, it’sa naming of that DNA.所以,从某种意义上说,这是一个命名的DNA 。

FJ: Thank you.福建:谢谢你。 So, you mentioned the software architecture, so lets do a follow up question on SOA.所以,你提到的软件架构,从而让这样的后续行动问题上的SOA 。 SOAspack the entire software engineering challenges from the perspective ofbusiness use, instead of technological use, what we call design use. SOA的包整个软件工程方面的挑战的角度商业用途,而不是技术的使用,我们所说的设计使用。 So, my question is how to bridge the gap between business use and design use.所以,我的问题是如何缩小差距的商业使用和设计使用。 Because I’m sure there are levels for business use is the first level, the service level, and the components level.因为我相信有两级为商业使用的第一级,服务水平,以及部分的水平。

GB:Well, lets talk about the newest trend for the moment, because thereare a number of merits behind it, and then I’ll lead you to the issueof Service-Oriented Architecture itself. GB的:嗯,可以谈论的最新趋势,就目前而言,因为有许多优点背后,然后我会引导你的问题,面向服务的体系结构本身。 On the economic side, reality is that there is a threshold one must cross before the reuse of some entity becomes sensible.在经济方面,现实情况是,有一个门槛必须跨前再用一些实体成为明智的。 IfI’m dealing with individual line decode, cutting and pasting them, asmany do, by looking on the web and saying, what do I need to do here,I’ll all cut and paste it from a script, that’s reuse in a sense, butthat’s not economically very compelling.如果我处理个别线路解码,剪贴他们,因为有许多人,看在网络上说什么,我需要在这里做,我会全部剪切并粘贴它从一个剧本,这是重用在某种意义上说,但这不是经济上非常引人注目。 Atthe other end of the spectrum there is the reuse of an entire system,and that’s compelling because there is tremendous functionality add amodage issue.在另一端有再利用的整个系统,这是引人注目的,因为有巨大的功能添加modage问题。 Therefore,where is the threshold in the middle for which the economics of reusemakes sense, and the answer is probably at some component level, ifwe’re very loose about what we mean as components.因此,哪里是在中东门槛,而经济的再利用才有意义,答案可能是在一些部件级,如果我们非常松散意味着什么,我们的组成部分。 Andcertainly, using parts of system as we can do, be of services iseconomically viable, and using patterns is also economically viable.当然,使用部分系统我们可以做的,是服务经济上是可行的,并使用模式在经济上也可行。 The latter less, because it transcends the individual line decode that we cut across.后者少,因为它超越了个别线路解码,我们跨越。 So that’s the economics of software.所以这是经济学的软件。 Into some degree, mostly to a large degree, that’s what’s driving a lotof service-oriented architecture, because this gives us an ability tobolt together systems that we know are relatively affective, and tieinto them these services and reuses them, so the economics makes sense.在某种程度上,主要是在很大程度上,这是驾驶了很多面向服务的架构,因为这使我们有能力共同螺栓系统,我们知道相对情感,并能配合到他们这些服务,重复使用,使经济是很有意义的。

Now, that leads us to the service oriented architectures in general.现在,这使我们的面向服务的架构一般。 Ihave kind of a jaded view of service-oriented architecture versusothers perhaps, because for me, a service-oriented architecture is justan architectural pattern with a particular instantiation, the patternbeing a simple loosely coupled message passing system.我有一种厌倦认为面向服务的架构与其他国家也许,因为对我来说,面向服务的架构是一个建筑模式与特定实例,该模式是一个简单的松耦合消息传递系统。 Andthe technology incarnation being either web services, which I callservices of the big S, or other kinds of services, services of thesmall S, the RPC, you know kicks, those kinds of mechanisms.和技术的化身Web服务正在要么,我称之为服务的大S ,或其他类型的服务,服务的小s时,的RPC ,你知道踢,这些类型的机制。 But nonetheless, it all represents a common kind of pattern, which is this message-passing thing.但尽管如此,它代表了所有常见的模式,这是这一消息传递的事情。

Thoseorganizations that seem to be successful in moving the service-orientedarchitectures, and by successful I mean, they have a key someinterspacing degree of reuse.这些组织似乎是成功的移动服务为导向的架构,并通过成功的我的意思是,他们有一个关键部分interspacing程度的重用。 Theseare the ones who have already some attention upon architecture, andtherefore, can understand best where to place those services.这是谁的已经有些注意根据架构,因此,可以理解的位置最好的服务。 Organizationsthat say, I just want to get me some SOA and start slapping servicesaround their systems will generally can’t get the economic benefits.组织说,我只想让我有些SOA和开始征收服务系统将不能得到普遍的经济利益。

FJ: Thank you.福建:谢谢你。 Okay, in terms of software engineering, you’ve been working on Zair for many decades.好了,在软件工程,你是在扎伊尔几十年。 Nowlets talk about something like, nowadays we have Meta-model,Meta-language, Meta-data, a lot of Meta, so what do you think aboutMeta.现在允许谈论这样,现在我们已经元模型,元语言,元数据,很多元,所以你怎么看待元。 Where is Meta in software engineering?哪里是梅塔在软件工程? They sometimes have Meta systems.他们有时梅塔系统。

GB: I understand. GB的:我的理解。 We know that we software developers are ultimately dealing with artifacts that have a great semantic density to them.我们知道,我们的软件开发的最终处理文物是有很大的语义密度他们。 And we can only do meaningful things with them, if in fact we understand the semantics of the system themselves.我们只能这样做有意义的事情与他们,如果事实上我们理解语义的制度本身。 Therefore it’s understandable why we see this drive towards more Meta things.因此,它是可以理解的,为什么我们认为,这推动更多元的东西。

FJ: I see.福建:我看到的。 Youmentioned about Web Services in your previous answer, so lets talkabout Web services a little bit and about the future success of Webservices.你提到的关于Web服务在您以前的答案,所以可以谈论的Web服务有点和未来成功的网络服务。 Itlooks like, you know, its all the simple stuff works best, because theconcept of web services has been there for near a decade or so.看来,你知道,它所有的简单的东西最好,因为Web服务的概念已经存在近10年左右。 Butit is very competitive, so its all looks like to not work well, and thewide adoption looks quite slow, in term of web service.但它是非常有竞争力,因此,其所有看起来不工作,并广泛采用看起来很慢,在长期的网络服务。

GB:I think its slow because the infrastructure that most organizationshave in their developer organizations are not well suited to deal withthe delivery or use of services. GB的:我认为它的缓慢,因为基础设施,大多数组织都在其发展组织不适合处理提供或使用的服务。 They’re more used to stovepipe kind of thing, and simply, they are not institutionalized to do the services well.他们更用烟囱这样的事情,只是,他们没有这样做制度化以及服务。

FJ: So, during our previous interview, I asked you what’s your perception of programming paradigm shift.福建:所以,在我们以前的采访中,我问你,你对此有何看法编程范式转变。 The interaction between programming languages and program paradigm.之间的相互作用的编程语言和程序的范例。 Iwould ask a question about the relationship among computation model,program languages, software process, and a little bit of other things.我要问的问题之间的关系,计算模型,编程语言,软件过程,和一点点其他的东西。 You know, in 1970’s, it was basically mainframe scene.你知道,在1970年的,它基本上是大型机现场。 And later in 80’s, client/server, dominated by  , client/server.和后来在80年代,客户机/服务器,主要是,客户机/服务器。 And in 90’s, it was server based computing, which was Internet based kind of computation model.和90年代,它是基于服务器的计算,这是基于互联网的一种计算模型。 Now in this decade, its web services based P2P, or some thing like that.现在,在这十年中,它基于Web服务的P2P ,或那样的一些事情。 So the computation models have been changing.因此,计算模式已发生变化。 What kind of impact does that have on software developing methodology, and also, programming paradigm?什么样的影响不说,对软件开发方法,而且,编程范例?

GB:Well I think there are a couple of obvious changes, and I’d like tooffer, when I’m done with those answers, what I see coming next. GB的:嗯,我认为有几个明显的变化,我想提议,当我做这些答案,我认为明年。 The obvious one is the move towards the architecture that are by and large loosely coupled distributed systems.最明显的一个是迈向架构,是对大松耦合分布式系统。 This is what is pushing us to SOA in particular.这就是让我们的SOA特别。 Weknow from the work of Herbert A. Simon and the others, in his book “TheSciences Of  The Artificial”, that complex systems that are looselycoupled tend to be most resilient to change, and we certainly see thisin large-scale software systems.我们知道的工作赫伯特西蒙和其他人,在他的著作“科学的人工” ,即复杂的系统,松耦合往往是最适应变化,我们当然看到了这一点大型软件系统。 It’scan also be said that this has therefore led to more agile kind ofmethods, the notion of evolving a system’s architecture to thesuccessive refinement to literature and incremental releases.这也可以说,这因此导致更敏捷种方法,不断发展的概念系统的结构,以历届完善,以文学和增量释放。 Now agile is not that new to us in Rational, because that’s the embodiment of the Rational Unified Process.现在敏捷不是新的,我们的理性,因为这体现了Rational统一过程。 But this is a notion that has taken on elsewhere.但是,这是一个概念,已采取的其他地方。

Nowthat’s the present day forces that people are dealing with, but we cansee the writing on the wall for what’s happening next.现在,是当今力量,人们正在处理的,但我们可以看到写在墙上的发生的事情下一步。 Thisis where W3C is working on the Semantic Web, again it’s the whole Metaconcept of exploiting the semantics of this information that we’repassing about.这是W3C的是工作的语义Web ,再次是整个元概念的语义利用这一信息,我们通过有关。 And it is completely out of the spectrum where most people are watching.这是完全失控的情况下的频谱大部分人都去看。 Theissue is, the rise of multi core processors, where we’re having to dealwith intimate concurrency, and we’re ill suited in terms of languagesand processes to deal with that.现在的问题是,增加的多核心处理器,在那里我们遇到了处理亲密并发,我们虐待适合在语言和程序来处理的。

FJ: I understand.闽:我明白。 So in terms of the most aspects of software engineering actually is a kind of art instead of science.因此,以最方面的软件工程,实际上是一种艺术而非科学。 So what are your ideas, indeed it is harder.因此,你有什么想法,的确是很难。 Yousaid yes to actually its typically incremental development basedsoftware processor and it protects, seems to works well in reality.你说的是,实际上它通常增量发展基础软件的处理器同时也保护了,似乎在现实中运作良好。

GB: Yes, it truly does. GB的:是的,它真正的。

FJ:As you mentioned software architecture finishing patent harvesting,when and which kind of level will as harvesting is also difficult.福建:正如你所提到的软件架构整理专利收获,何时和何种程度的收获将是困难的。 Iwould like to know if that is possible or if it is happening, softwarearchitecture itself can be evolutional, and also, self-adaptable, astime goes?我想知道,如果这是可能的,或者是发生,软件架构本身可以进化,而且,自适应性强,随着时间的推移?

GB: I would agree with you that systems architecture do evolve all the time. GB的:我同意你的看法,系统结构演变做的所有时间。 Oneof the things that I’ve learned in my handbook work thus far, is thatevery economically interesting system appears to have major periods ofarchitectural stability, and then disruption.的事情之一,我学到了我在工作手册迄今为止,是有趣的,每一个经济体系似乎主要时期的建筑稳定,然后中断。 There’sa large auctioning system I’ve been working with to tell me.有大型拍卖系统我一直在同告诉我。 They’veprobably gone about 5 different major architectures, and that number ofarchitectures is not unusual for systems of that size.他们也许已经大约5个不同的主要架构,而这个数字的架构并没有什么不寻常的系统的大小。 Thedifficulty for them and others of that area, is that there are manyforces upon them at the moment, they’re at the point where there’s suchan inertia to change, it is difficult for them to change thearchitecture out.他们的困难和其他的地区,有许多部队对他们在目前,他们在地方有这样一种惯性改变,这是他们难以改变的建筑了。 They can’t blow it up and start over, so they’re truly in a period of continuous evolution.他们不能搞砸了,并重新开始,所以他们真正在一个时期不断地演变。

FJ: So what your biggest achievements at Rational, was UML.福建:那么你最大的成就合理,是UML的。 Mynext question is, by laying a new lab, we are able to deal with systemcomplex models initials, and there would be model refinement, where itis automated or manual.我的下一个问题是,奠定了新的实验室,我们能够处理复杂的模型系统的缩写,并就改进模型,它是自动或手动。 So in operation especially, there is a key for work.因此,在操作特别是,有一个关键的工作。 Iwould like to ask you, we have compiler for code compilation or modelcompilation, model generation, and we have compilers’ compiler.我想请问您,我们已编译代码汇编汇编或模型,模型生成,我们的编译器,编译器。 For example, Lex/Flex and Yacc/Bison, or some kind of things.举例来说,莱克斯/ Flex和的Yacc /野牛,或某种形式的东西。 Help us to generate the compiler.帮助我们的编译器生成。 Isthat possible for us to have compilers’ compilers’ compiler, which cangenerate model, or even sometimes generate architecture?是,我们能够有编译器,编译器,编译器,它可以生成模型,甚至有时会产生架构? Of course we can generate code for future generation of software architecture.当然,我们可以生成代码的下一代软件架构。

GB:Indeed what you’re beginning to speak of, by the way I must commendyou, because you are asking me some very good questions, you’re a goodinterviewer, but what leads to mind, is the notion of, what we call‘generated pattern languages’, the idea that one can have a pattern,that leads you to other patterns and other patterns, based upon theforces around it. GB的:实际上你已经开始谈论,顺便说一句,我必须赞扬你,因为你问我一些非常好的问题,你是一个很好的采访,但什么导致记住,是概念的,我们所谓的'生成模式语言'的想法,人们可以有一个模式,而导致您其他形式和其他形式的基础上,围绕它的力量。 So, there are a few groups I’m aware of, who are beginning to look at pattern composition systems that way.所以,有一些群体我知道,谁开始审视模式组成的系统的方式。 Butwe’re a long way from there because, for one, the platforms upon whichwe run these things are not necessarily very codifieable.但是我们还有很长的路要走,因为,一,该平台运行后,我们这些东西不一定是非常codifieable 。 And on the other hand, we also haven’t really codified a lot of the patterns that are bringing these things together.另一方面,我们也还没有真正编纂了大量的图案,把这些东西在一起。 Soon both of those points I should mention, in the handbook, we havecatalogued about 2,000 design patterns, and the fact that there are somany, really speaks well for the vibrancy of that community.因此,在这两个点,我要提到,在手册中,我们有其他关于2000年设计模式,再加上有这么多,真的好说话的活力社区。

FJ: So you say that pattern generation will make a pattern discovering harvesting almost automatic?

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有