徐正国:大家下午好!刚才仲教授和微软的吴先生都做了一个讲解,我从技术人员讲讲我个人对这方面的看法。
回忆一下传统的C/S和N层架构,还有AJAX的挑战和思考。C/S架构在客户端共享来源,为了快速的访问数据,客户端也有一些临时输入,这些临时输入一是遵循服务器端的变化,这是传统的C/S架构,但是到了90年代中期就是在中间加了一个中间层,我们可以理解为B2B,可能是服务器端的一个整合,到后期,中间层可能访问后端的一些应用。这是我们MVC架构,我们把中间层划分为一个业务逻辑层,这就是我们经常所说的在90年代后期的MVC架构。但是这些架构我们今天企业应用比较多,但是这些架构我前天晚上我也想了一下,如果我买一本书,可能我忙工作,当当提供了一本计算机书,我必须要刷新页面才看到到这个图书,另外我想看到更多的信息业必须点更多的按纽,才可以看到更多的推荐,这样会有大量的交互。远程调用,这是一个简单的介绍,这个过程可以直接的调用,非常的简单,就是AJAX,从一台机器访问一台机器就是要创建一个调用,通过应用协议比如说FTV协议,要传输到另外一个机器以后,通过应用协议然后解码,创建一个调用在远程机器上,然后就会回应远程调用,这个过程是一个漫长的过程。Web2.0是同步调用和异步调用的过程。
在这种情况下我们提出了AJAX刚才说的远程调用,比如说我们刚才围绕减少提高访问速度在本地调用,我们在浏览器端有一个思想,客户端有时间,提交一些交互客户端,我们有一些典型的应有,比如说一个顺序菜单的时候,要知道服务器端看有没有子项,然后要显示页面,以前用同步调用是一个简单的过程。
我们简单介绍一下自助服务这块,客户登陆移动网站必须有一系列的密码登陆,大家发现在首页面没有刷新,在框里面用户显示是不是你已经发送的,这样大量提高了用户等待的时间,增加客户的体验。用户在请求发送成功以后,如果还没有刷新的话要短信发给您继续登陆。这个过程对用户来说非常的简单,交互的时间也短,用户同时也可以继续浏览别的网站内容,也不用等待。
AJAX给我们带来很多新的体验,06年是以客户体验为中心的开发,但是对我们来说面临了很多问题,比如说即使推动比较困难,我们开发人员对JS和CSS表现层技术的轻视,也没有一个标准,我们作为开发人员的角度很盼望这一天的到来。另外一点他们很重视用户体验方面的考虑,因为AJAX开元框架良莠不齐,给开发人员选择带来困难。另外应用安全,HTTPS请求不能跨域调用,不能异构调用,同时也不能对某一页请求如果是加密的协议,可以使用嵌入HTTPS协议的IFrame页面来访问HTTPS请求。另外是DOS攻击,如果从客户端提供大量的攻击性受众的话,对我们的系统是灾难性的,但是我们目前没有什么好的办法,只有加强服务器端的验证,另外从页面的角度可以在防火墙上加一些限制。还有将客户端代码展现在用户面前,难以保证也项目源代码的版权。
最后其他的问题是缓存的问题,使用随机码访问服务器端地址,通过对XML Http缓存性质的设置,牺牲部分性能来解决此问题。浏览器兼容性问题,目前流行的AJAX框架均可支持大部分的浏览器。对于比较古老的浏览器(不支持XMLHttp)尚没有解决的办法。因为时间的感到我就讲这么多,谢谢大家!