微软本身为了保持其领先地位,一直在采用最新的开发方法。我们总是愿意抛弃旧的方式,创造新的方法。这方面很好的一个例子就是在80年代,我们把公司前途的赌注放在了图形界面上。当时,很多人认为老的界面非常完美,但是我们知道图形界面要好得多,所以我们所有的开发工作都采用了那个方法,所有的开发都围绕着Windows进行。在随后的五年当中,我们的方法被证明取得了很大的成功。现在人们也许开始反思:为什么当时有那么多争议,为什么当时有那么多的人对图形界面的重要性提出了质疑。
而现在,我们又开始了另一个过渡,这个过渡和我刚刚提到的那个过渡非常相似,这种转型的关键在于:软件将使不同的计算机以不同的方式相互交流,人们使用互联网的方式将与我们过去五六年使用互联网的方式大不相同。今天,互联网的一切实际上是都是围绕html展开的,我们用浏览器来找一个网页,来看一看那个网页上的资源,这当然是很了不起的事情,但是它的局限性非常大——用户一次只能看一个网页,他们自己不能够做任何有创造性的工作,而只是读一些信息。如果你想把不同的数据组合起来,那么其中的手工性是非常强的,也就是剪贴、粘贴,然后把网页上的数据粘贴汇集到微软excel上。如果你想把这些数据汇总起来与大家共享,就没有特别现成的方法。
当然,html仍然是一个重要的标准,但是,现在出现了一个新的标准,这就是微软推动的一个新的标准XML。我今天要讲很多关于XML的内容,因为在技术层面上,XML是下一代产品的关键组成因素。微软的.Net战略是依存于XML的,就像我们以前的产品依赖于图形界面一样。微软将把XML变成整个业界的标准,而微软.Net战略的实施会成为最好的XML的实施案例,就像过去Windows是图形用户界面最好的实施案例一样,.Net战略在某些方面是一个全新的理念。在.Net之前,软件是围绕一个系统写的,我们当时是考虑一个系统而不是考虑用户来写软件的。如果用户换一台PC的话,他们要做很多的工作才能把他们的文档、他们喜欢的东西、他们的信息转到另一台PC上;如果他们想用另外一种终端工作,比如一种先进的电话或者手持便携设备,他们要运行一些协同软件以便让这两种不同的装置一起工作;如果用户想通信的话,他们可能用不同的电子邮件系统——不同的装置会有不同的电子邮件系统,要由用户来把这些不同的东西结合到一起。
但是.Net的出发点是:我们不能够把系统当作关键因素,诚然,会有不同的系统,但是它们应该能够自然地在一起工作。所以,我们把用户看作是这个理念的中心,在服务器层面,我们不把某个应用单纯地看作是在一种服务器上的一种应用,我们认为这个应用可以用很多的服务器,并且能够自动地利用多个服务器带来的扩展的、更强的功能。以人为本的理念保证了由此产生的生产力和可靠性会超越大型机时代或者是UNIX时代的最好的应用,它所带来的巨大的可扩展性使得我们有很大的余地,这样,我们只要不断把新系统加进来就可以了,我们就有了更大的能力。在一些地方,这已经成为现实,比如说为Windows平台设置的用于交易的TPCC基准,它的功效更为强大,同时性能价格比更加优越。因此,.Net是一个巨大的变化,它是编程方面的巨大变化,也是用户界面的一个巨大变化,它使用户界面变得更加自然,它也使服务器有了巨大的变化,因为服务器使编程更为容易。
所以,其实我们下了一些赌注,我们对这些赌注非常有信心。首先XML会成为新的标准,XML能够使各种程序在互联网上协同运行、互相沟通,任何终端装置的智能都能被充分利用。有了XML标准,两个从未没过面的人写的程序也能够协同工作。例如,在电子商务中,有人要买你的货,以前处理订单的复杂过程跟踪整个货运过程、作货物质量和价格变化跟踪等复杂的状况,都可以用先进的XML标准,提高效率。
第二个赌注就是人们会利用新的工具,比如说VideoStudio.Net这样的的新工具来写一些应用,这些应用能够以新的方式来运行,这些新的应用增强、升级更加容易,因为XML使得软件的结构组建来得更加简单,因为XML使过去要写的很多编码不再必要。很多为网站写的应用会更好,其实人们真的希望能够更快地建设网站,让网站有更高的可靠性和灵活性,并且能够支持XML,他们使用这些新的工具获益匪浅。
最后一个赌注就是我们可以让用户界面更加自然。就是说你坐在那儿浏览信息的时候,你不仅能够使用键盘,你还能够使用一支笔来手写,也就是说有手写识别的功能。你还可能用声音来操作,就是说电脑有语音识别系统,你所需要的信息将展示在屏幕上,并且分辨率极高,使得屏幕的可读性非常强,即使是一个比较长的电子邮件也不需要打印,这种用户体验对于扩展PC的作用是非常重要的,对于完全采用数字的方法也是非常重要的。这些都是.Net战略所推动的。
我想给大家讲讲XML的背景。XML实际上来源于XTML的一个结构性的文件。早在1996年,微软的一些工作人员在和一些其它公司举行的标准会议上说,让我们把这一些总体化。我们不要单谈文件,我们应该谈任何数据,这些数据可以是比较丰富的。当然在正常的数据世界中,所有的一切都是使用Tabular形式的,当然这种方法对于适合这种格式的数据来说是非常有价值的,但是它的灵活性不够。过去计算机界一直有一个梦想,就是说应该有一种更灵活的数据模型,人们在对象数据库、网络数据库方面做了很多工作,现在有史以来第一次我们有信心,我们相信这种XML的方法可以在数据库的核心部分加以使用。XML是一个深刻的变化,虽然你不可以用现有的应用,把XML放到它的周围来使用,但是XML的所有好处只有当人们从零开始来使用它的时候才能充分体现出来。如果在某些系统上建立XML的一个层,就会给其它的系统建立崭新的系统。
对于微软本身而言,我们运用我们的操作系统、数据库、SQLServer、Office应用,在上面做一些基础设计上的推动,以促进对XML的需求。对于数据库来说,这就意味着XML在中心,而不光光是表格。对于微软Office来说,它意味着象Excel这样的产品能够理解XML的设计,所以当人们在做预测和规划的话,他们就不是单纯地在表格中做剪贴和粘贴,相反,统计表格理解不同大小、不同形式的方案。因此XML涉及到微软的很多工作,这就是为什么这对我们来说是一个大赌注。
我们大概是在三年多以前开始迈上条路的,我们建立了VideoStudio.Net,之后几个月我们把它推向了市场,我们对它的设计是围绕XML来进行的,我们接触了标准制定委员会,也邀请其它公司参加进来。在过去的几年当中,XML的势头有了巨大的增长,实际上我可以说,毫无疑问,这会成为所有计算机系统的唯一的新方法。我想说,XML确实能够跨系统工作,微软极力把它建立成为标准的最终目的就是为了让业界受益,而微软将通过提供最好的性价比的平台来参与竞争。
当然XML的互操作性就意味着即使有人在过去没有用过我们的平台,在新的应用环境下,他们也可以运用我们的平台和其它的设备顺利协同工作,这样能够让人们以演变式的方式来往前走。在现有的层的标准当中,XML是最高一层的,这是第七层协议上的应用,它是在所有的其它标准之上的,因此下面一层的TCP/IP等等都是在下面。如果你确实想发送一个演讲的数据的话,XML能够支持,但是对于互联网的编程来说,我们有两个交换程序数据,我们在这方面专门使用XML。我们正将所有有关XML的标准展现给大家。确实有许多与此相关的缩写,但有一点是很明确的,我们有一个基本的标准能够让这些新的应用出现、使用。对我们来说,一个巨大的里程碑就是VideoStudio.Net的正式出货,实际上数据时代所建立的应用已经是很让人惊奇的。为了确认我们走的路是对的,我们进行了一些比赛、调研,来看人们是怎么使用XML的,事实表明,人们对XML的反馈还是非常积极的。
XML是一种格式,它让数据容易理解,它让数据具有灵活性。比如说,你想销售某个产品。并不是所有卖某类产品的人都用同样的表格格式来说明产品,他们可能有不同的选择。XML能够让产品说明的共同部分匹配起来,而所有产品的独特特征也能够包括进来,这就说明为什么它是一个很大的突破。以前,系统集成商写的很多的编码只是把一个系统的数据跟另一个系统的数据联结起来,现在这个数据有了这种自我说明、容易理解的方案,我们就不需要很多刚才说到的编码了,系统集成商以前写编码的许多精力都可以用来进行数据发现、数据挖掘、提高数据可靠性,降低建立这些系统的成本。
微软一直都支持追求最好性价比的想法。现在人们已经意识到他们可以享受这些好处,并且可以建立低廉、渗透性非常高、灵活的服务器,而在过去,只有非常昂贵的服务器才有这些特点。
我们有很多的合作伙伴已经开始用XML服务的应用。我把其中的一些合作伙伴列到屏幕上,大家可以看到这种势头是不断增强的,所有生产应用软件的公司都认为需要采用新的XML的方法。微软在推动XML方面是首屈一指的公司,其它有一些大公司,如IBM,也在参与、应用这个标准。我们确实有自己的实施方案在市场上存在,我们也为其他基于XML的系统在互操作性方面提供测试。
过去,许多大学里的人很希望看到这方面的进展,看到互联网不仅仅是一个观看文件和图像的工具。今天,人们惊奇地看到,一切正以极快的速度发生。
实际上,.Net的实施包括在客户机、个人电脑、在小屏幕设备上,如PDA和电话上运行的代码,.Net包括了服务器的概念,这些服务器能够执行丰富的存贮任务。同时,.Net也包括了服务的概念,这些服务是在互联网上实时提供的,我们把它叫做服务。比如说,你想确定某人的身份,怎么做到呢,必须有这么一个永远运行的程序,这个确认的服务就叫护照。同样,如果你需要与别人共享文件,或者你想备份信息,我们不想专门设一个专门的服务器,所以微软围绕.Net建立了一些服务,我们自己提供这些服务,其它公司也可以提供这些服务,而且这些服务在互联网上随时运行。所以在互联网上,不管是股价、还是商业的预测,很多人都在发布网络服务,这是一种商业模式,有时候这些网上服务是免费的。所以,实际上,服务器和服务都是在同样的架构上建立的,它们可以相互转换。
微软参与中国的市场很长时间了,我们不断进行投资,这不仅仅是投资的数额问题,这是一个基本愿望的问题。我们希望中国的软件设计人员能够真正成为同业领先者,而不会与其国际同行有太大差距。我们工作的意愿还是非常令人瞩目的。处于以上的良好愿望,我们在北京的研究人员同全国的许多大学都在进行合作。但是,我们开始讨论如何能够以更快的速度将软件设计的方法传播给更多中国领先的软件公司。我们设计了一个项目,叫Architect2000,就是要在中国培训两千个中国的软件设计师,告诉他们设计软件的方法、怎么主持项目、怎么把项目分成不同的部分,以确保能够进行局部和系统的测试,最后当它们凑在一起时能够成为世界级的应用。教室培训只是这个项目的一部分。我们还有一些在线的社区,能够提供持续的支持,来确保这些最新的设计方法为让大家所熟悉,最终使这2000个设计师取得成功。我们希望他们能够把这种理念和方法再传播给别人,对中国软件设计结构和软件设计经验产生更宽广的影响。我们觉得这是一个非常好的合作项目,这确实是一个双赢的局面。
我刚才提到,我们在全球范围内尝试看开发人员是否对.Net这种新方法感兴趣。在亚洲,我们组织了一个竞赛,从各个国家选出最好的有关.Net的工作。昨天,我在汉城给选出的亚洲最好的.Net应用颁奖,我非常高兴地了解到,中国获得了这个竞赛的大奖。实际上,我们有一些参赛的应用非常不错,前三名都是非常好的例证,证明我们为什么对.Net如此感兴趣。今天,前三名获奖的小组组长有两个会来给大家做演示。现在,我们请来自北京理工大学的同学给我们做演示。
演示:.Net在企业工商登记中的应用(略)。
下面我们有请南开大学的小组给我们演示。
演示:.Net在网上智能订书中的应用(略)。
大家都看到了这些激动人心的事情。首先,这些开发人员的热忱和能力不断超出我们的想象。这些应用使我们看到为什么XML是很重要的。XML给我们提供了一种灵活性,使我们可以把应用分成不同的服务,而且可以通过不同的设备使用这些应用。它并不要求大家非得搞一个单一的界面,实际上从每一个界面进入都会获得丰富的功能,所以我希望这些开发小组会传播我们的XML和它能带来好处。
我再介绍一下未来人们会如何使用PC,给用户更好的体验。我是首席软件设计师,这个职位很重要的一件事就是看技术的发展,理解我们的用户想看到什么新东西,看软件怎样可能把两个方面结合在一起。我们以前的工作都是如此,不管是个人电脑还是微软Office,不管是新的东西,比如说PocketPC、极顶盒游戏等等。