梅宏:网络化应用支撑工具的现状及趋势

副标题#e#

  【 资讯】7月17日,由中国电子学会主办,透明计算技术与产业联盟协办的透明计算、云计算产学研研讨会在北京翠宫饭店举行,探讨透明计算/云计算领域中新型网络操作系统、海量数据处理、移动互联网、搜索引擎、网络化应用支撑工具、UEFI等技术应用的最新发展与挑战,云计算频道对此次会议进行了专题报道。

  北京大学信息科学技术学院院长梅宏教授在会上做了“网络化应用支撑工具:发展现状及趋势”的主题演讲,以下是其演讲全文速录:

 软件工具是什么

北京大学信息科学技术学院院长梅宏教授

  这个题目也是一个命题作文,张院长给的题目,这个题目也是切合核高基部署方向之一。我对命题作文尝试回答一个问题,当时在做这个规划的时候,我也一直尝试能把这些问题解释清楚。今天这个角度纯粹是谈一个学者从学术角度的看法,到底什么是工具,网络化应用支撑工具,从学术界我们所看到的含义到底是什么?

  我想从内容上讲我把它分成这么几个部分,实际上前面的部分还是谈谈传统的东西,后面再谈我们面向互联网时代,我们可能面临的挑战。第一个到底什么是工具,我们做一个界定,软件工具是什么,它的发展历程和基本的现状。

  软件工具是什么

  什么是工具?我不知道大家查过辞典没有,查一下他是有定义的,在《辞海》里面,人在生产过程中用来加工制造产品的器具。也就是说你要用于达到某一种目的的事物,所以工具意义上比较大。但是《维基百科》上面用于生产某种或完成某事,但是却不在过程中被消耗的设备。工具对人类生产的意义很重大,恩格斯说过,任何动物最大的差别就是人会使用工具,由此可以凸显一个走向现代化的社会工具有多么重要。

  从工具我们仔细考察一下什么是工具,大家在中文里面的工具概念有很抽象也有很具体的,我们想强调更多从基本的交通工具、工业制造工具、通信工具,从自身的特征分类,有石器、青铜器、铁器,有手动、半自动、全自动,工具还有大小,有软硬等等,希望在座你还可以做出不同的工具分类。

  我们来看软件工具,如果我们来看看从前面两个视角进行工具分类的话,软件工具也有两个不同的理解。首先软件工具是把软件看成工具,实际上这一类的过程中就是我们任何一个软件包或者是我们用的里面,它是为了人类的生活生产方方面面提供信息处理的能力。我们提高我们的增长率,提高生活质量等等这一系列的东西。用于电子商务、ERP等等,包括即时通讯等等,为我们人类提供了便利。我们把它称为面向普通用户的应用软件,实际上我们国家的信息化战略就是要为我们整个社会,我们国家乃至我们每一个人提供一种信息化的产品。

  还有就是以软件为对象、为目标的工具,这个通常指的是之应用软件的开发和运行这一类的软件或者是硬件等等。这种工具通常都是以软件开发为目的,以软件运行为目的,来为他们提供自动化或者是半自动化的支撑,目的是两件事,一个是提高质量,一个是提高效率。我们平常用到的软件开发里面的建设工具、编码工具等等还有很多,测试工具、部署工具,在整个提升软件开发质量工具都在里面。实际上从计算机最早来看,操作系统最早的时候也仅仅是一种工具形态,他是解决当时软件在裸机上运行,他能提供什么帮助。

  程序在裸机上能够提供帮助,但是随着后来这种功能需要越来越多,这种工具做得越来越多,能把操作系统的各种各样的工具,上午张院士也谈到了操作系统的整个历史,把整个整合起来形成一个平台,最终构成人们的期望。

  所以说我这里面讲的工具把它作为一个界定,为了避免概念上的混淆,就是以软件为目标这一类。到底包含什么?作为包括大概应用,为软件开发运行提供支撑的辅助工具的概念。它是与工具关系密切,与软件资源,比如说与开发工具密切相关的可复用构件,与测试工具密切相关的测试用例集等。在整个开发和运行的生命周期有很多,比如说开发跨几个阶段,运营支撑有几个概念,还有支撑软件,这都是基础软件的范围,也是核高基要支撑的。主要目的为我们的应用软件,其支持高效高质的软件开发和高可用性。

#p#副标题#e#

  软件工具的发展历程

  这是前面我讲的范围,界定在什么地方,省得大家提问题的时候发生争执。我们看一下工具发展的历程。最早的工具是什么?年轻的估计没见过,最早的时候是打孔纸带,打控机,那是最早的编程就是打孔。还有就是来回拨的那种,这是一种工具。40年代这个时候我们可以在那个时候最早的软件工具。那个工具本身不是软件形态,而是硬件的东西。到后来我们说离开从机器指令到汇编程序,是由符号来做挺好,后来到高级语言,那时候以最早出现的以软件形态出现的软件工具。我们计算机科学家David Pamas认为,“自动编程指把较高层的语言提供给程序员作程序设计”。

  1958年4月出版的美国ACM通讯列出了当时的一组称为自动编程工具,大多数系统今天看来就是汇编器,有些是编译器,也被列为自动编程工具。当时编程是在机器上面编程,凡是自动编程或者是通过软件,今天的汇编在当时就是主流的编程工具,工具的概念也是最早的。

  软件工具也是本身随着软件技术发展也是不断的丰富和演化过程中。如果把它分为几个阶段,过去软件要分阶段,硬件分几代,软件分三代的说法,第一阶段是40年代中期到50年代中期,实用高级语言的出现前,那时候是以手工编程为主,工具较少。第二阶段就是软件工程出现之后,这时候编译系统,以编译原理的发展作为主要的开发工具,现在不再把编译看为主要的,而是逐渐推广到软件生命周期各阶段。软件过程和软件工程环境开始出现。大家可能听到也没有什么意思,过去的软件分法是按照这个标准分了三类,还有没有第四代,我认为在新世纪随着互联网的广泛发展开始寻求一种新的产业平台,面向服务型的工具以及工具和平台服务化,这类东西也就是说我们回顾过去软件技术自动化和半自动工具,它是产业走向成熟的基本标志之一。大家想想微电子产业我们没有DED我们能做什么,这就是软件工具在我们整个产业发展里面很重要的部分。

  可以看到语言运行平台,软件开发过程,计算范型和软件工具。我们可以看到大概发展的脉络和历程,软件工具从专用的命令行工具,集成开发环境,扩展开发环境,协同开发环境,走过这样的过程。在历史上大概几个阶段,相应的工具发展,这里不再做具体的细化了。

  实际上我们有一点,在软件技术发展历程中,所谓的工具都是相对而言的,相对你当时的运行体制而言的。很多原有所谓的工具,最早我们看到工具性的工具,不断的融入运行平台中,这也是为什么那么庞杂庞大的原因。当然也符合我们人类的趋向,我们尽可能提高软件开发的效率和质量,不断的共性被凝练和复用,有手工作方式软件开发到软件工业化生产,这里有共性里面,其中很大一部分就是当时工具所沉淀下来的。

#p#副标题#e#

  发展现状:当前主流软件工具和环境

  再来看看当前的主流软件工具和环境,微软的Visual是什么东西我不太细讲了。还有这个Rational被IBM收购了,还有惠普主要是用于测试的,我们面向开源的软件开发平台,最典型的代表就是eclipse,现在很多企业在用,我们很多企业的研究开发工作也是基于eclipse在走。还有资源共享为基础的软件开发平台,包括Componentsource,以资源部为核心,所形成的这么一个以资源共享为特点的。这是我们所看到的现阶段,传统软件工具所做的事情。我们国家也在软件工具做了很久,我们北大的杨斌院士一直希解决我国软件工程的问题,我们在2000年启动一个东西就是基于英特尔以构件为核心的开发平台,针对软件开发,当时把互联网作为研究开发。怎么样支持互联网模式以及互联网软件的开发两个融合起来,形成这么一个开发平台,是一项复杂的系统。还有最新的我们在863支持下,我们建立了切实环境,这也是众多的单位在一块做的事情,这个东西我们希望通过这个打造一个中文的软件资源,包含软件工具的社区,同时能够提供中文环境的社区。我们学术界的很多东西也都在里面展现,我在863我主管都贴一个基本的理论,你做软件,你做文章,你发表都可以,你做专利,还有你做系统想去卖钱,如果你做了在抽屉里放着,还不如展现。我们很多863项目也在往那放,大家有机会可以看一看,也许这里面也能挖到一点金子。

  这是我们讲的前面的反应工具的意思,现在看看互联网时代的软件工具,互联网的快速普及与发展,互联网基础设施在相互渗透,同时我们有更多的设备大家都谈了很多,都在向互联网接入。现在信息技术和人际网络融合形成社会网。按照这么一个理念来看,实际上这种使得接入便捷,带宽资源更加丰富,人们对英特尔使用更为依赖,就产生了新的应用。这种应用就是网络化应用,今天在座可能都和互联网紧密相关,虽然有时候想起来也很悲观中国的互联网应用的模式超过了美国,好象我们应用模式上有真正核心创新我自己观点不太对,我也不太常用互联网。但是,我们占了一个大便宜就是中文,美国人找不过来雇不上来,英国人英文水平也不好,所以我们在中文上都获得了成功成就了一批这样的人,这么一个大型软件对软件技术提出了挑战是什么。这样的网络化运营模式改变了我们很多应用,比如过去软件单机模式下以办公软件为主买一个然后拷贝安装,软件应用以Google为主。就是网络化所谓的应用模式,很多他只能通过软件和互联网的结合才能实现,而且也只有软件和互联网才能够实现这种无缝的连接。

  就像我们讲物流讲的天花乱坠也不行,也一定要有一个系统。但是,其他几个真正硬的东西是需要配送的。原先也有很多典型的网络化应用,包括手机端的在座都很清楚,我觉得这里面一个重要特点,包括很多人来谈服务化,很多人基本上都是这么一个特点,甚至把服务当成一个形态,我都同意,但是我觉得这里面一个最本质性的东西我们只求使用不求拥有,这里面真正符合我们追求本身的一个东西,你用信息化的复杂是什么,不外乎你给一个输入,他给一个你期待的输出。如果在这么一个简单理论之下,你还要软件干什么?所以说你还需要用软件的干什么,我只需要有人不管谁的软件,最简单一点我没有Word,我用你的Office写一篇文章,为什么要用你那个软件呢。我想这是服务化软件和传统软件使用的数据,最最核心的一个东西,当然他始终在网上使用和收费可以支持各种多服务,也可以使用定制也可以解决很多劳动力,包括组装程序的业务系统。

#p#副标题#e##p#分页标题#e#

  这样就创作了一种新的使用模式,也在互联网时代新的软件需求在这种意义下传统的软件体系也需要做相应的变化。那么,面向互联网产生的新型软件产业,包括传统计算机发展,还有新的概念提出,我们产生一些互联网新兴公司,这里面软件作为服务基本上是一个最为核心的理念,把软件与服务的方式提供功能,互联网以产品为中心向以用户为中心的服务业转型。

  我们看看互联网从技术上来看动态、多变,这是互联网一个特征。互联网给我们一个什么东西呢?就是所谓的按需协同,我们举个例子,这些我们有很多部门,比如说航班管理系统,我们有医院系统,发现有人有了问题,然后同时可以获取航班信息,乘客联系方式通过宾馆把他到宾馆,后期去宾馆交钱。在这个时代能够需要这样软件的要求,按需协同,我们需要什么样的应用支撑工具,面临一个最大的困惑就是我们跟不上用户需求,用户需求总在变,他自己都不知道想要什么。

#p#副标题#e#

  网络时代应用支撑工具面临的挑战

  对互联网时代软件基本形态的认识,技术上讲,我们讲这样的系统实体对环境的感知,实体之间的协同,实体的自发性,我们看到我们过去的技术走向,面向对象为例,从固定参与者固定连接,到可变参与者固定连接,到固定参与者可变连接,到可变参与者可变连接。没有系统支撑,你每次修改根本就做不到,也来不及做这些变化。我们说这样的应用支撑工具就面临几个挑战,第一个挑战你怎么样能够便捷的检索、组织互联网上极大的丰富的软件资源,并支持软件复用。挑战二,我们以传统的自己向下从自己向上的从无序到新的软件形态。挑战三,随着互联网上这么动态的复杂的东西,平台开放,我们的结构演化,构建的自主,它的交互方式也是复杂多样的,使得整个环境面临很多的攻击,鼓掌也多,整体行为难以预测。

  我们面临的挑战看看国际学术产业界的努力,我不细讲了,这各有各解释,也有各的看法。我觉得云计算时代要满足他的工具的话,从服务器端是什么样,客户端是什么样,服务器端目前来讲有一个很典型的东西就是云端,就是所谓的PaaS平台的形式提供。这里面还有没有别的?而在客户端各种计算设备通过统一方式接入网络,基于各种丰富的浏览技术所谓的富客户端的应用。Masgup是典型的一种模式,希望能够对终端用户提供他按需的组织他所期望的应用。中国以透明计算为代表的东西,来谈到计算与存储分离。在这种模式之下,我相信同样在这种模式下,它的软件工具以计算与存储分离,需要在操作系统分布式装载、动态运行。这个形态下,软件工具怎么样提供这种?我们做软件研究长期以来我们也在尝试,互联网的软件到底什么东西?第四代所谓的新的研发,如果说我们过去看到我们的软件从机器语言、结构化、面向对象、基于构件、面向服务,到网购软件,我们认为网购软件成为一种新的软件构造发行,他的编辑系统的相关方法来做。

  我们网购软件研究主要成果是模型本身,它的中间件平台,他的相关的支撑工具以及磁盘应用,我们形成若干的工作。核心是以体系结构为中心的网购软件技术体系,这是形成一个软件圈里形成的研究结果,面向互联网。

#p#副标题#e#

  网络化应用支撑工具的发展趋势

  这是前面谈到的我们探讨的挑战,最后我们看看实践当中,网络化应用支撑工具的发展趋势是什么?趋势一我们认为是从通用向领域特色发展。共性的层面越来越多,为了支撑特定领域的越来越多的领域知识将会注入通用的网络化应用支撑工具,从而形成为特定领域充分优化的领域特色工具具。另一方面我们通过定制扩充通用工具在特定领域的功能,形成特定领域工具,积累越来越多的包含领域知识的领域可复用软件资源。实际上懒人的做法是希望把过去的经验用起来。

  趋势二与网络计算操作系统日益紧密结合,工具加速向运行平台渗透,开发平台与运行平台密不可分。大量的可复用软件资源以服务的形态出现,深入运行平台。为了提高效率和可信性,工具支撑、管理的范围逐渐从应用拓展至底层运行平台。一些支撑网络化应用构造、演化和管理的共性工具被运行平台吸纳、成为网络计算操作系统的组成部分。新一代网络怎么走?我想最终都会走向面向不同领域的沉淀的过程,一方面是工具向平台演进。

  趋势互联网环境之下,可信性支持机制的重要性更加凸显,网络化应用的运行平台开放难控,需要支撑工具保证其安全可靠的运行,存储与计算分离的模式,需要建立一整套涉及技术、法律、伦理相关的系统,以管理干系人之间的信任关系,为网络化应用大范围推广的提供可信基础设施—支撑工具是此系统中非常关键环节。

  再有一个趋势是越来越多的终端用户将成为工具的使用者,对某些特定的应用也许是这样的,个性化的。工具和可复用的软件资源的积累,工具中所蕴含的领域知识不断丰富,工具的人机界面日益友好,越来越多的终端用户将成为工具的使用者。这个意义下,我们希望能够达到软件技术发展所期望的一个终极目标,每个用户都获得一个可随时随地访问的,具有个性化、高度整合的定制应用,为其工作、生活提供最细致入微的信息服务。改善他使用软件、使用服务上的基本体验。这四个趋势,我从学术界的角度谈到未来我们对核高基的走向他到底的技术体现很重要的方面。

  总结

  最终总结一下,我们国家很重视软件产业,软件产业在我们国家有重要的战略定位。过去我们软件产业,很多技术还是以跟踪为主,不管我们承认与否,我们的接受我们的核心技术掌握在别人手上。所以说才有国家核高基重大专项。

  前面的报告大家都谈到了互联网给我们带来的机会新兴基础软件,有没有张院士讲的收复失地,可能不是失地的问题,怎么从别人的殖民地,好象失地是我们的别人拿走了,这原来就不是我们的,这是一个新的机遇。还有就是寻找新的机遇和跨越,要引发软件产业新一轮洗牌。随着当运用,他掌握了数据、应用,掌握了一定的资源之后,国内的互联网工具也是这么走来,这样的技术创新最终也体现出来。我们的产业是面临前所未有的机遇和挑战,机遇与挑战并存,每一次老外提出概念都成了我们的机遇,都成了我们和别人齐头并进。其实概念提出的同时,互联网发展速度这么快,他概念一提出来你就知道了,但是这样所谓的一个起跑线上根本就不存在,咱们是远远落后。所以说我们还是需要在这个过程中,建立发展我国自主的网络化应用支撑工具和平台,我们在座的所有人、产业界的都需要共同合作,今天这个是产学研的沟通,也需要大家的交流。

  上述观点很多从学术的角度和研究的角度谈,不一定正确,谢谢大家。

#p#副标题#e#

  现场讨论

  提问:我有几个问题,我们之前也在做云计算调研,有一个Google的搜索引擎,他能够在网络上提供便捷环境,成熟的开发环境,也可以有一个成熟的运行。现在实施Java,有点像网络化的趋势了。我不知道科研机构是否开展过类似的工作,我不知道腾讯的熊总是否做类似的工作,有没有这方面的方向?

  梅宏:研究的角度大家都在做,核心的本质是服务化,互联网上以一定的带宽为本质。当然涉及到互联网我要撇开这个对象,本质上讲都是一样的,在本地机器上发一个请求得到一个结果,它和你在互联网上得到的一个结果是一样的。我觉得总模式上来讲有一些需要解决的问题。

  提问:我们也适用这个软件开发是非常简单,这对产业的冲击可能非常大。

  梅宏:有时候也未必,这个模式能不能接受包括服务计算也好,产品也好,我们也在做很多东西比如做一个测试平台,我给你提供测试服务。但就面临一个问题,别人不愿意这样做。ASP测试多少年了,为什么做不到,但是还有很多可能是涉及到安全和保护的问题。

  提问:因为这个中心肯定是在国外,如果我们把这个代码放上去肯定是受控的?

  梅宏:这对你个人没有问题。

  提问:我们国内是不是有类似的这种东西,研究我们的企业也在尝试,因为我们讲了一个提法,基于互联网,基于构建这个平台我们可以提供这个模式。但是,带着这个困惑没有提供商用,技术上走过以后包括这个历史。

  提问:怎么样便宜?

  梅宏:怎么让别人信任你,你的需求放到我这来,设计放到我这来,可能很多人都不愿意这么一个问题。

  提问:刚才说Google APPEngine更简单一点,或者说通过在网页层面上应用程序,像Facebook那个开放程序的API这一块,因为现在他是一个更典型的这种应用支撑的环境,比如里面可以很方便的在Facebook上面做一个卖花的小礼物的程序放在上面就可以赚钱了。所以,我理解刚才那位先生的一个问题,当然刚才像APPEngine和Facebook都是基于一个运营商,他本身是一个公司去做这个服务。我想提这么一个工作,咱们国家是不有这么一个公共平台,能够做到像Google,或者像Facebook这么一个应用程序的容器,我们把它叫做基于Web的服务器,公司有公司的一个服务。刚才那位先生也提到,如果关于我们中国国内有很多企业,把很多应用GE,比如Google,比如像这样子车速的事情,国内的损失就会非常之大。所以,应该要有一个既然咱们说互联网信息应用的一个环境,那么是不是能够请国家去朝这两个方向去做一些努力,然后让国内很多应用,让大家也觉得非常安心的把应用做上去,而且也极大地提高这个生产力,谢谢。

  梅宏:很好的一个建议,我想我们的目标就是达到这么一个目标,因为我们公司就叫做国家资源,这是863支持的一个项目。我们是一个以中文为主的社区,希望能够在这个平台上得到他想要的东西,当然现在还是第一个阶段。

  提问:作为863班组的成员,国家重大专项的专家还有咱们的张院士,我有一个想法在核高基这块,咱们前面很多企业也都参与包括有一些产业化的要求。从重大专项的角度来讲,现在最新2011年是不是产业化要求降低,重点在研究这一块。另外刚刚腾讯也做了一个报告,腾讯给我们的感觉什么都做,像百度他也想什么都做。那么,从刚才张院士讲我们是一个社会主义国家,我们能不能有一个政策引导他不这么做,像腾讯可以把他的搜索引擎让百度来做,免得泄露秘密,这是我的一个问题?

#p#副标题#e##p#分页标题#e#

  梅宏:这个问题我不好说,第一市场经济有市场经济的好处,是有竞争,适者生存。没有竞争就没有活力,当然你说完全一统天下政府主导的这个东西,是不是能够适应这种发展,我不是这方面的专家,不敢妄下结论。我觉得不管一个什么公司走到什么地步恨不得所有东西都自己干,所有公司都干不过他,这种模式我相信没有一个公司能够做到。我们可以回顾看看任何一个产业,不仅仅是我们计算机产业,过去的什么托拉斯等一系列的东西,甚至一个行业垄断,最终我认为某一个阶段的垄断长远来讲一定会形成社会的合理分工,否则的话就不坦诚。

  包括我个人有的时候,我们原来在选择项目的时候,我们对中国移动意见比较大,中国移动你就好好当你的运营商,我觉得有一次当然不完全是我的意见,有一次我们评实验室的时候,这种一旦合起来,刚开始解决的问题是一样的,现在百度走的路都是这么一个扩张。

  我经常讲软件技术发展的驱动力,这个驱动力就是嫁接、异构软件的互操作,就是因为我们这个世界太丰富多彩,异构一定是市场行为的产物,你没有自己的方言,没有自己的优势肯定没有竞争力,我觉得不用担心,做到一定程度就失去技术创新,小公司才有技术创新,好好关注技术创新一定会有发展,谢谢。

  张尧学:这个问题是这样的,你叫我们去指定给谁做是不可能的,这个规则就是竞争的规则。搜索工具我们搜索引擎今天讲了,百度是在做,但是今天没有邀请百度过来讲,百度下次有机会讲,中标既有百度也有腾讯,为什么要这样,我们要让他们竞争看谁做的好,谁今后的用户多发展前景大,好的不好的都有两个方面。

  提问:腾讯为什么不可以把他的数据放开给百度来做,这个国家可以给予协调?

  张尧学:那个国家很难协调,那是市场行为,我们也不能给百度是做一些规则让一些公司来进行竞争,但是你公司创造的财富,你要采用行政的办法去把他拿过来,这有点搞革命,这不叫改革。

  提问:现在有没有这样的想法?

  张尧学:没有这样的想法,这很危险的。

  梅宏:我觉得导向上他自己决策,关注自己最好的东西,应该来说对所有的老总,实际上他们自己也明白。

  张尧学:还是要站在公平竞争的环境里面。

  提问:包括他们到国外去竞争?

  张尧学:以后是要到国外去竞争,你还没有搞的时候就去国外竞争不就死掉了,你在一个国家,在中国这个环境下一步一步竞争成长长大,然后再出国,不能让他一生下来就出国。一生下来出国不给他奶就死掉了,先把他养大然后在送出去。

dawei

【声明】:北京站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。