|
非常高兴有这个机会介绍一下Sun公司在网络方面的技术,以及我们在开发当中的心得。
国际网作为一种跨时代的技术出现,在1995年,很多公司上市,像Ebay等,希望把公司的商业利益扩大。当时在技术上有一个特点,在建设一些网页或者建设一些网站的时候,考虑做得足够好就可以了,但当业务发展的时候就造成了一些问题。设计的时候只把功能考虑进去,而没有想到将来怎么扩展,如何变化。当网络界去整合的时候,系统网站本身去支持业务的开发就变得非常困难。在座很多网络界的人都知道,网络在维护的时候非常麻烦,会出现拆东墙补西墙的情况,把应用做得更好一些,这是一种整体的看法。在美国也一样,在商务进一步发展时就会造成很多问题。现在随着美国经济的全面复苏,企业已经开始进入第二代Internet,他们从1995年到2000年这一段时期有一些经验教训,我想把这一段经验、教训给大家讲一讲。
现在重新建设新一代网络的时候,要考虑到从开始的时候建一个总的架构,什么架构呢?所谓架构就是系统的各个组成部分服务的业务互相联系,为业务服务。这必须从整体看,要从硬件来看,从软件来看,从企业内部能够得到开发的资源,这几个角度来看。最开始从主机建设的时候,就要考虑到高维护性、高扩展性,网络是否灵活,是否适合业务的发展。再一个,我们的技术不是因为技术而技术,而要考虑到技术是为什么服务的,而且技术还要考虑到标准,不会出现今年投了一个标准,过了两年因为不符合标准,就不用了,要考虑这个问题。还有一个最基本的问题,就是美国“9·11”以后,网络的安全,这是一个最基本的考量。
怎么去做到这一点呢?现在业界的一些经验教训是什么呢?第一该分层,多层面、多层段地做,有一个好处,因为一个系统的好坏往往是最坏的地方决定的,当把它分多层次、多断面的时候,可以把每一层次的调整做上去。最主要是每一层次、每一断面都为上一层提供服务。网络安全在做基础架构的时候就要考虑到,还有就是什么是业界最常用的做法,有一个特定问题的时候该用什么样的措施。对某一个问题该用什么样的方法解决,我所讲的都是一些具体方法论的问题。
另外,到底怎样去建系统呢?业界上基本有两种方法,一种就是Java语言做的零架构,也就是基本架构。还有一个就是微软的.net。作为两大基本阵营,现在由于一点变化,Sun和微软的合作越来越紧密,以后的趋势就是Java和.net会互相磨合。在企业界有一个统计数据,大概70%的企业会用Java来做。光支持Java技术的架构就有15个系统。像一些高性能的网站,用的都是Java的技术。
(见图)这是一个比较划时代的东西,大概在二三年以前,英特尔总裁跪在地上向大家道歉,CPU快慢不是主要的因素,CPU越来越快,最早的时候从16个M到现在越来越多,像一些主要提供服务厂商,机房变得越来越热,消耗空调的电是主要的开销,光一个CPU是不行的,CPU快有什么好?对非常快速的计算有好处,而对网络来说不是这样的,是从一端移到另一端。
在选择硬件平台的时候,安全本身也是要考虑的,Java本身在应用的时候,它不仅仅是一种语言,也是开发的一种架构,这张图显示了它的基本架构,所有大门户网站在开始的时候会有一个Server,有一个请求过来以后,会找一个相应业务的服务模块,通过业务服务模块再找数据库或后端连接应用的数据,对每一段都提供服务。一般来说,开发企业的时候,以Java平台来进行支持有几个最大的好处,我见过国内的一些企业,选择这样平台的好处就是,即使程序员不清楚为什么要这样做,但会强迫业务员做一些规范性的事情。在应用开发的时候,就要考虑到刚才我说的业界最好的架构是什么。
另外,在编程的时候不要把所有的东西写在程序里面,程序员都知道,在早期程序的时候,会发现很多语言,这样程序便非常难以管理,加一个新的程序的时候,重新要编一下。用Design Pattern的话,就可以不用这样做,应该使应用便于管理。
(见图)这是一个应用非常好的架构的例子,比如我突然发现在网上卖书的功能突然变得很强,该怎么办?可以把卖书的集群加多,不用改任何东西,这就属于最好应用的例子。
我再讲一下网络门户,我过去在国内跑了很多地方,和网页的区别在哪里?门户不是简单把网页组合在一起,而是把很多功能提出来,其他网页是提供数据的服务,网络门户提供像安全、内容管理,尤其是个性化的服务,把这个人感兴趣的内容展现出来,还包括提供搜索的功能,这两者区别还是有很多不同的侧重点。
下面讲一下安全。所谓安全,大家都知道底层的安全,所谓底层安全就是编辑保护,我该怎么做防火墙,就是不让别人进来。你做系统是为了让别人去用,你要根据用户访问的身份,通过授权让他拿过去用。在这之上,是一些运行策略。这是最基本的安全模式。作为一个网络安全模式,比如一个网页,一个网站,最基本的安全模式包括以下内容,边界防护,包括对网页内容的防护,有认证服务器。这是一个实际的例子,中国政府某一个网站的例子,一个商务网站,不是新闻网站,就把网路分为内外网,用物理隔离分开,内网和外网有一个服务器来控制出入。
(见图)这一章是对网络身份的控制,比如在这一端有一些应用,可以通过门户,把这些应用的数据拿出来,然后经过授权,通过认证和授权把数据展现给用户,而不让用户直接到这里面拿数据,这是网络身份管理的一个介绍。
(见图)这是一个数据安全的网关,把我刚才所说的功能集中在一起,放在门户的后面。从现在开始有一些网络的趋势,在硅谷我们讨论最凶的,讨论最多的就是Security Issues。还有一个趋势就是平台会逐渐逐渐搭起来。所有的状况面对的都是点对点的,每一个模块通过Server进行服务。这是一个趋势,2004年到2005年,主要的趋势就是把软件本身变得更加合理化。
Sun公司,有些人清楚,有些人不清楚,Sun公司在硅谷属于龙头老大,属于有影响力的公司。在最高的时候有2千亿的市值,现在有200亿市值,Sun注意以下方面,比如安全、操作系统。Sun作为Java的创始者,一直在Java方面投资。还有一个就是高吞吐量的计算,现在它的处理能力大概有50倍。英特尔等公司都往这方面转。
由于时间的关系,我讲一个例子,大家看到这个页面就知道是一个什么样的网站,(见图)在2002年的时候,它的销售量达到140亿美元,一天要达到10亿赫兹,它不是第一天做到这一点,最开始用ETA做的,把所有东西写在一起,非常的困难,也无法支持在全球范围的一个网站,后来找到Sun,帮他们怎样把网站做到真正支持商务运作,变成真正的商务网站。他们找我们主要是在架构上进行改造,他们怎么做到这一点呢?10亿个赫兹一天,怎么做到呢?他们把新的架构变为Java,看每个地方怎样用到这些。我刚才说了,如果发现卖书的这部分,可以动态地加进去,因为什么时候数据库忙,什么时候数据库不忙,可以自动运行。这个网站能做到这一点的主要功能就是在各个环节上,在每一个方面会动态加东西和动态改东西。
作为Sun来说,我们主要的经验是Java发布等,我们在这方面有很多的经验可以供大家借鉴。
(全文)
|