“最困难的Web开发经历”之一

ZDNet软件频道 时间:2003-09-03 作者:ZDNet China |  我要评论()
本文关键词:
本系列文章由数位经验丰富的WEB开发人员编写,讲述他们经历过的最艰难的WEB开发项目。本文讲述的是Juan Romero为一家视频发行公司开发Web站点的故事。
本文译自Builder.com,未经许可请勿转载本文讲述的是Juan Romero为一家成人视频发行公司开发Web站点的故事。Juan在开发过程中所做的几个决定能够适用于任何网站的开发,是我们学习解决问题的一个很好的例子。下面是他叙述的故事:

Juan Romero的故事

我遇到的最困难的项目是为一家成人视频发行公司设计批发零售的Web站点。我试用的是Active Server Pages(ASP),后端数据库是SQL Server。

这种产品做起来很不容易,因为必须进行多种特性的分类,比如厂家、格式、类型、流派、级别、价格以及背景。为每部影片指定演员是十分困难的。每部电影都有自己的一套演员,因此我需要创建一个链接表来表明电影和演员的联系。这听起来也许并不难,但是如果你尝试设计一个处理这些的界面时你就会明白我的意思了。

在设计时,我使用的是Visual Interdev和其它一些图形工具如Fireworks和Photoshop。这种网站需要眼花缭乱的图形和吸引人的图像,因此光设计外观就花了我一个月,其间改动了无数次。

我们想批发和零售使用相同的数据库,对于不同种类的用户只显示相关的信息。因此两个站点必须在一起,但是使用不同的网址都能访问到。

我不希望对批发客户显示出零售的欢迎页面,也不希望零售客户看见批发业面。怎样才能做到呢?我将两个域名注册了同一个网址,它们都只想同一个服务器。然后我在主页上制作了一个重定向系统,它会检查用户的信息报头,根据其请求的网址将他们重定向到相应的主页上。

在设计好外观之后,我又面临了另一个问题:数据入口。业主不想将他的数据库暴露给Internet,他将该Web站点放在了其它地方。这意味着必须有人每天将产品上载到Web数据库中。问题是他们每天收到80个左右的新产品,那这项任务就显得太艰巨了,因此我必须想出一个解决方案。

我用Visual Basic制作了一个站点管理程序,它作为现存程序(Visual Accountmate)和Web服务器之间的接口。我对Visual Accountmate作了一些修改以便于我的程序能够从它那儿获得数据(很幸运,他们保留有FoxPro的源代码)。所有的新产品会立即自动上载到MS SQL Server。简直像有魔力一样!

另一个令人头疼工作是创建产品的图片、略缩图和完整大小的视图。这也许需要一个解决办法。我编写了一段脚本,它能够将扫描图片从文件夹中提取出来,产生一个完整大小的图像以及一个略缩图,然后将它们存放到两个不同的文件夹中。这样站点管理器就能够通过FTP将它们上传到站点。

所有这些都做完后,接下来要制作搜索引擎。对所有查询选择和组合都生成SQL查询花了我不少时间。最后终于实现了,但我却面对了另一个问题:站点的速度太慢了。

查询引擎中负责产品不同分类的复选项目太长了。光是演员一项就有3,600个项目!可以想象当人们察看一个页面时SQL Server会有多么大的负荷(查询引擎存在于站点的所有页面)。

我是这样解决这个问题的:将复选项的内容缓存到程序变量中,建立一个能够在有新项目加入时自动更新程序变量的系统。这样,页面能够只在检测到变化时才真正查询SQL Server来获取复选项目信息。由于信息被缓存到程序变量,后来的调用就会显示程序变量所包含的信息。

最后,我实现了购物车。一开始它运行得很不错,但是一会儿之后,显然它跟不上所有的销售了。瓶颈在于订单从Internet到本地程序的过程上。于是我又修改了站点管理器以便从Web服务器上自动将订单下载并输入到Visual Accountmate中。

我还必须建立一些额外的报表,但是最终,一切都搞定了。当站点开始运行时,我简直就是地球上最幸福的Web网管了(也是最精疲力竭的)。

这个项目花了我七个月,它是我遇到的最具挑战性的项目,因为在整个过程中不断地遇到新的问题。

可惜,我最终为了一个更好的机会离开了这家公司,于是也就没有再关心这个Web站点。我说可惜是因为要撇下曾经花那么大心血建立的东西真的是很痛苦的。

我与我的程序有感情了。我最不能忍受的是当访问自己设计的站点时却发现它们被破坏或者被改得面目全非了。不过,话说回来,客户永远是正确的,我想。

结束语

Juan在开发过程中所做的几个选择是普遍性的,每个站点都要根据自己的需求来决定如何解决这些问题。你会选择其它的方法吗?如何使用Visual Accountmate?谁有过使用Softline Accountmate产品的经历?您可以在文章回复或者我们的开发论坛中发表你对于这个故事的看法。



责任编辑:炒饭

欢迎评论投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134