发信人: lioness()
整理人: cobe(1999-12-17 10:05:49), 站内信件
|
确定放置处理任务的位置
通过上面的介绍,我们可以看出,对是由客户机还是由服务器来完成处理任务这 一问题,我们考虑的一个主要因素是:客户机的处理能力到底有多大。如果你创 建一个远程调用型的应用程序,处理任务是基于服务器的。允许公众访问的Inte rnet Web 站点所提供的应用程序通常是属于远程调用型的,因为你希望访问你的 站点的人越多越好(不管他们使用的是何种浏览器)。
然而,假设你正在为一个已经把Internet Explorer 选定为其客户端唯一浏览器 的公司进行Intranet 应用程序的开发,在这种情况下,你会自然而然地决定将客 户端应用程序设计成本地执行吗?虽然你的直觉会告诉你:"理所当然哪!",但 在实际中答案通常是:"视情况而定"。
在确定放置处理任务的位置时,除了要考虑客户端的处理能力外,你还要将以下 因素考虑在内:
安全。在一个基于服务器的应用程序中,任何用户都不应该访问到处理过程,安 全性查的代码。在一个基于客户机的应用程序中,由于部分甚至是所有的代码存 放和运行在客户端,因此用户能够对应用程序中的代码和相应的处理过程进行访 问。
处理工作量。如果很多用户在同一时间段对服务器提出了访问请求,并且服务器 完成任何一个用户的请求都要进行大量的处理工作,此时,服务器可以通过设置 标志位,用分时的调度方式来为用户提供服务。这样做的一个显而易见的问题是 :某些用户会因为长时间的等待而变得不耐烦。(实际上,如果浏览器等待服务 器作出响应的时间超过某一限制,就会自动断开与服务器的连接。)在这种环境 下,将一部分的工作交给客户端处理会减轻服务器的处理工作量。
脱线使用。一个基于客户机的应用程序不与服务器连接就能运行。而一个基于服 务器的应用程序只有在用户与它连接上后才能使用它。
部署能力。如果你需要对某个处理过程进行更新,那么,在一台中心服务器上完 成这项工作要比分别在各个客户端完成容易得多。
可伸缩性。当在某个时候需要把应用程序移植到一个使用范围更广的平台上时, 如果应用程序具有一致的客户端界面,那么,移植工作就会容易得多,你所要进 行的处理工作仅仅是把服务器的处理移植到一个更加强大的平台上。但是,如果 你在一个用户界面变化多样的本地执行型的应用程序上完成这项任务,你要进行 的处理工作就会复杂得多。
在决定将处理任务交给客户机处理还是服务器处理时,需要考虑的最后一个因素 是网络的拓扑结构。如果你正在进行Intranet 应用程序的开发,你可能想让某台 客户机能够直接对网络中的其它计算机进行访问-比如在客户机和数据库之间建立 一条直接的链接的方式来实现。在Internet 环境下,通常选用HTTP作为通信协 议,该协议通常不允许应用程序直接访问分布在网络上的数据库。因此,对一个 远程调用型的应用程序来说,一般需要通过服务器,而不是客户机来提供对分布 在网络上的数据库的访问。
注意:如果没有合理地对客户机和服务器进行配置,应用程序将会自动调用Micr osoft 远程数据服务(RDS,)来进行客户机到服务器的通信。如果你想对此了解 更多信息,请查看Web站点:http://www.microsoft.com/data/ado/rds/。
-- 同是天涯沦落人,相逢何必曾相识。
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.159.237]
|
|