Web开发中软件工程艺术(Web程序员请进来谈谈,特别是有大型门户网站后台开发的程序员)

转载 2012年03月26日 11:33:03
近正着手一个大型综合性门户网站后台管理系统(准确说是内容管理系统)设计 
与规划,对网站开发技术有一个较深刻的认识。从Internet的出现到现在,WebSite的开发技术有4个过程: 
          1.静态WebSite,页面均为静态,无数据库支持。 
          
          2.动态WebSite,这是当前中小型WebSite使用最多的技术,也就是数据库驱动的 
  的WebSite 
          
          3.动态内容静态发布技术。这是当前比较先进Web开发技术。随着用户访问量的增加 
,当日访问量上万甚至更多时,Web服务器的负载迅速增大,达到满载甚至超载,大大降低 
了系统的效率甚至导致系统难以运行,尽管从DBMS的升级和硬件设施的升级可以适当解决 
这个效率瓶劲问题,但这大大增加了成本。另外,我们要提高在搜索引擎中的应用。搜索 
引擎中的“机器人程序”在搜索过程中遇到动态网页时,比如:News.asp?Year=2003& 
Month=12&Date=19时,机器人程序在检索这个字符串中遇到“?”和“&”,时就会进入死循环,因此机器人程序要避免进入死循环而用的“机器人陷阱程序”,此时,它只能搜索到 
News.asp这个页面的内容。而我们采用动态内容的静态发布技术后News.aspYear=2003& 
Month=12&Date=19这个URL转换成静态的News/2003121911062033.htm,这个静态页面的内容就是News.aspYear=2003&Month=12&Date=19生成的内容,不仅提高被搜索的概率, 
而且使系统的效率提高很多(因为当Web用户请求访问这个页面是不需要向数据库系统请求 
数据).这种技术在大、中型综合性网站普遍应用,如新浪,搜狐。 

          4.基于Cache的发布技术(反向代理)。 
          以前做应用的时候也用过一些方式:应用首次访问以后将生成的内容存成一个缓存文件,下次请求时从缓存目录中读取缓存文件,内容更新时,应用把内容从缓存目录中删掉,从而减少对数据库的访问。虽然这样做也能承载比较大的负载,但这样的内容管理和缓存一体的系统是很难分离的。 

如果换一个思路:通过一定的分工现内容管理和缓存机制2者的分离,你会发现无论哪一方面可选的余地都是非常大的。甚至有可能利用目前的已经是“功能”比较全面的内容管理系统,而让所有“效率”问题都由前台更专业,而且是很容易分布的缓存服务器解决:可以是通过开放源代码的SQUID做反相代理的WEB加速,可以是专门的缓存硬件设备,甚至是专业的缓存服务商。 

动态缓存必须有一个基于静态链接本身的参数解析过程,很多专业内容管理系统系统都是将参数解析机制做成了WEB服务器的模块实现的。   

我们可以把以前的HTTP/GET方式的?key=value改为直接用/value1/value2的方式来传递,从而实现了动态页面的静态URL形式。而缓存只需要在前端加上一层CACHE服务器,比如:Squid。网站动态内容的动态缓存发布就可以实现了。 

            这是当前最先进的网站开发技术,实现了真正意义上的软件工程,实现开发过程 
中的真正分工开发,开发过程中相互依赖大大降低,提高了开发速度。美工只管模板的 
设计,页面策划师也只顾版面策划,Web程序员只顾功能模块的开发,而系统集成的程序员 
只顾将页面模板和程序模块的调用和逻辑集成,实现了界面和内容完全分开,即所见所得,在网站管理中,美工可以完全不懂程序去维护模板,而技术管理员则不考虑界面去处理程序。 

相关文章推荐

WEB 门户网站开发常用UI 之 图片无缝滚动

页面 ...

WEB 门户网站开发常用UI 之Tab

以下代码来自源码爱好者,

大型门户网站SEO之内链设计细节

新浪网是学习门户网站SEO过程的经典案例,演示新浪的SEO细节给客户看,客户会非常信服。新浪的SEO细节非常非常多,可能大家遇到过,但没怎么注意过。今天分享新浪网《首页内部链接设计时小技巧》 首页内...

大型门户网站架构分析[转]

千万人同时访问的网站,一般是有很多个数据库同时工作,说明白一点就是数据库集群和并发控制,这样的网站实时性也是相对的。这些网站都有一些共同的特点: 数据量大,在线人数多,并发请求多,pagevie...

使用内容管理系统做门户网站——JeeCMS应用实践和二次开发

大概四个月之前,公司的一位领导找到我,让我使用内容管理系统为吉林某个部门做门户系统,也就是做网站。然后给了我一套静态页面和一组图片,使用网上一个挺火产品——JeeCMS把动态网站做出来。 作为一个刚...

逐浪CMS发哥分享:门户网站开发的效率提升与逐浪CMS应用性能优化的几点感触

原文来自:http://bbs.zoomla.cn/showtopic-213301.aspx 最近在实施123养车项目,由于客户有复杂的逻辑,研发人员为了满足开发者的要求,往往会采用复杂的算法,这...

大型门户网站的十四大技术!!!

一、全文搜索(Lecene框架) 二、缓存(实现页面级的URL缓存) 三、生成静态文件(比如说,一个首页可能会员由多个部分组成,每个模块生成一个静态文件,然后才用服务器端包含SSI技术进行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web开发中软件工程艺术(Web程序员请进来谈谈,特别是有大型门户网站后台开发的程序员)
举报原因:
原因补充:

(最多只允许输入30个字)