设为首页 加入收藏

TOP

因特网的三层基础结构
2014-11-20 09:37:04 】 浏览:1616
Tags:因特网 基础 结构

  Apptivity Java应用服务器制造商、总部设在马萨褚塞州贝德福德市的Progress软件公司副总裁Dennis Moore建议,如果您想得到一层、二层和三层模式体系结构的最恰当的比喻,那么就可以看一看食品的生产过程。在一层模式中,您自己采集食品。在二层模式中,您直接从当地农场购买食品。而在三层模式中,您从超级市场购买食品,而超级市场从多家农场采购食品。


  初看起来,从荷兰运来西红柿比直接从当地农场购买效率更低,成本更高,而且还不如自己种。但我们都清楚事实恰恰与此相反。大型专业化农场可以更高的效率生产食品,从而能够弥补运输、贮存和分销的附加成本。消费者把食品的生产委托给若干专业化农场后,最终不但能节省开支,还能获得品种更多的食品,并确保在不发生全球性灾害的前提下总能有充足的食品供应。如果大型企业教会我们新的方式,那么这就是规模经济的价值。


  Progress公司的Moore先生认为,客户机/服务器的领域也是类似的道理。虽然二层客户机/服务器模式在基于PC的一层应用程序基础上更进了一步,但是。计算机系统开发公司的Herring先生说:"客户机/服务器做出了很多承诺,但技术上却达不到。"


  客户机/服务器向最终用户做出的承诺之一就是,用户可广泛地访问数据。在客户机/服务器出现之前,对驻留在全球各地众多数据库中的庞大的数据存储来说,最终用户只具备有限的经验。而保存这些数据的大型机的严密程度甚至超过了诺克斯堡。对那些为数极少的,能够访问数据仓库的应用程序---通常是3270终端上的应用程序---它们实在太笨重和乏味,足以使最终用户放弃整个想法。


  与最终用户缺乏经验的情形一样,我们也不能保证肯定能与数据进行交互,并根据数据进行交易。数据是一种神圣的东西,只有那些精通相应工具的专家才会摆弄。


  当然,客户机/服务器面临的问题是,对每个希望使用应用程序的用户来说,您都得去他们的计算机上安装软件。从很多方面看,这种模式非常麻烦。首先,在每台计算机上逐个安装软件非常耗费时间,更不要说成本了。其次,在个人计算机的世界里,每台计算机都不相同,要进行维护就更麻烦了。例如,基于组件的应用开发工具制造商、纽约州纽约市Jyacc公司旗下Prolific公司总裁Frank Vafier建议说:"有时,您需要安装的DDL (动态链接库)会与其它程序的DLL发生冲突。"


  第三,Herring先生认为,因为在二层模式下,显示和逻辑被封闭在一个层内,客户机就会非常大,或者至少比较大,因而会消耗本机存储空间和系统资源。


  换句话说,Vafier先生说:"除非您需要大量使用应用程序,否则就根本不值得安装这些东西。对偶尔使用的用户来说,应用程序根本没用。" Vafier先生举例说明了向大众市场推出的二层客户机/服务器应用程序在早期曾经经历过的失败,并专门谈到最初的家庭银行应用程序和Federal Express Corp. (联邦快递公司)开发的软件包跟踪程序(不是基于Web的)。


  第三层


  近来,我们普遍认为出现各种在线数据库应用程序是很自然的事情 ---但是这些应用程序,不论其目的和用途为何,在几年前甚至不可能出现。不论我们是制订自己的旅行计划,还是在线订购图书或光盘,乃至查阅雇员的401K记录,用Vafier先生的话说,这种在"源头进行交易"的能力是任何新的应用程序都必须具备的功能。


  除了极少的几个例外情况外,使这些应用程序成为可能的是在客户机与数据库之间增加的一个层---即Progress公司的Moore先生所谓的"中间层",他说:"中间层对计算的作用是把会话、通信负载和工作本身打包,分成可以管理的块,这样就能进行有效的处理。"


  中间层(又称逻辑层、应用 服务器或信息代理)可执行很多功能。这些功能中有一些曾经是由客户机或数据库执行的,但中间层所提供的很多功能都是全新的。


  Sun Microsystems公司北美Java中心总经理Stu Stern说,在基于Web的数据库应用程序领域,中间层所执行的最基本任务可能就是提供安全性。中间层驻留在企业网络内防火墙以外,并以万维网服务器的形式构成客户机与数据库堡垒之间的可靠门户。


  在纯粹的三层系统中,中间层的任务是提供应用程序逻辑---程序的核心部分。Stern先生认为,把应用程序逻辑放置在客户机层或数据层会产生很大麻烦,因为"前端和后端系统常随需求的变化而有较大的变动。"如果把应用程序逻辑构筑在起协调作用的中间层内,就能确保不论前端或后端如何变化,编码的大部分都能保持不变。


  最后,企业还依靠中间层确保应用程序能被最终用户所获得。在大型系统中,这就会涉及在服务器之间保持负载平衡、管理客户机的连接以及代理在客户机和数据库之间来回传输的信息等功能。Prolific公司的Vafier先生认为,对Web应用尤为重要的是:能够将应用程序逻辑分布在多台服务器上,从而提高其计算处理能力。他说:"如果二层客户机/服务器应用程序是成功的,那么希望使用它的用户的数量会比您预想的多得多。如果是基于Web的应用,这个数量可能是100倍或1000倍。"


  为什么现在才采用三层体系结构?为什么不早些采用呢? 如果每个人都认为三层体系结构更好,那么为什么直到现在它才出现呢?


  实际上,三层体系结构的想法并不新鲜。正在使用IBM公司的Customer Information Control System ( CICS ---客户信息控制系统)和BEA系统公司的Tuxeda事务处理(TP)监视器等中间件的Progress公司的Moore先生说:"三层结构早就是可能的。"实际上,如果您好好寻找的话,您就会在很多地方看到生产过程采用了三层应用程序。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇从C++到Java--理解面向对象是关键.. 下一篇Java何以保网络安全

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目