首 页 论坛介绍 主论坛 分论坛 组织结构 议程安排 参会指南 嘉宾介绍 历史回顾 新闻中心
国务院新闻办公室
中华全国新闻工作者协会
人民网
新华网
中国网
中国日报网
国际在线
央视国际
中青网
中国经济网
中国广播网
千龙网
东方网
北方网
南方网
中国互联网新闻中心
(中国网)
中共江西省委宣传部
江西省人民政府
新闻办公室
中国移动通信集团公司
Sun 太阳计算机系统(中国)有限公司
华为3com技术有限公司
北京北大方正电子有限公司
华夏科技有限公司
北京蓝汛通信技术有限公司
北京敏讯技术有限公司
北京中科网威信息技术有限公司
Jingming Li:如何建设安全高性能的web应用

非常高兴有这个机会介绍一下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发布等,我们在这方面有很多的经验可以供大家借鉴。

(全文)

版权所有 中国互联网新闻中心 电子邮件: webmaster@china.org.cn 电话: 86-10-68326688