三层网络体系结构的特点和实现方法
发表时间: 2023-11-10 08:53:30 发布于:官方网站下载app
九十年代末,随网络技术在各行各业的深入应用,IT行业又出现了一种低费用、低管理开销、并享有Client/Server计算模式优点的新型体系结构——三层网络体系结构。如果把C/S体系结构称为“胖客户机/服务器”计算模式,那么,三层体系结构可以称为“瘦客户机/服务器”计算模式。
三层(或多层)结构的特点是在两层结构的基础上加入一个(或多个)中间件层。它将C/S体系结构中原本运行于客户端的应用程序移到了中间件层,客户端只负责显示与用户交互的界面及少量的数据处理(如数据合法性检验)工作。客户端将收集到的信息(请求)提交给中间件服务器,中间件服务器进行一定的业务处理(包括对数据库的操作),再将处理结果反馈给客户机。
在三层体系结构中,几乎所有的业务处理都是在中间件Web Server上完成的,客户端只要安设支持Java的浏览器即可,不用做任何其它安装和配置工作,所以也就不存在客户端维护的问题,真正的完成了“客户端零维护”。处理业务时,操作员可以直接通过Web浏览器访问Web Server进行业务处理工作。
第一,工作节点的可扩展性好。由于三层体系结构的客户端零维护的特点,使增加一个工作节点的工作简单到了只需增加一台装有Web浏览器的PC机即可。
第二,应用系统的可扩展性好。好的应用系统应该能方便地实现某些特定的程度上业务的变化和业务单元的增加。三层体系结构采用面向对象的分析和设计模式,将业务模块都封装到了业务类和服务类中,所以,如果一个业务流程变了,或要增加一个新的业务模块,只需替换或增加新的业务类和服务类即可。
第三,业务逻辑与用户界面及数据库分离,使得当用户业务逻辑发生明显的变化时只需更改中间层的控件/组件/JB/EJB即可。
第四,便于数据库移植。由于客户端不直接访问数据库,而是通过一个中间层进行访问,所以,在改变数据库、驱动程序或存储方式时无需改变客户端配置,只要集中改变中间件上的持久化层的数据库连接部分即可。
在三层体系结构中,客户端只可以通过Web Server而不能直接访问数据库,这大幅度的提升了系统的安全性。如果对系统提出更高的安全性要求的话,还能够最终靠防火墙进行屏蔽。
由于将业务逻辑集中到Web Server统一处理,三层体系结构可以更好地利用共享资源。例如数据库连接是一项很消耗系统资源、影响响应时间的事件,在三层体系结构中可以将数据库连接放在缓冲池中统一管理,由不同应用共享,并有效控制连接的数量。
客户端的主要任务是显示用户界面,接收用户事件。三层体系结构中,用户界面通过浏览器显示,WebServer将应答最终以HTML为载体下载到客户端浏览器,经浏览器(如IE、NetScape)进行解释,得到最终的用户界面。从技术的角度划分,客户端程序由以下几部分组成:
HTML是所有界面元素的载体,标题、正文、Table、Form、Script程序段、Applet、veXControl……所有这些都是通过<标识></标识>嵌在HTML中的。HTML是各种浏览器的通用语言,界面上的一切对象都要嵌入到HTML中才能被浏览器所解释。
对CSS的翻译,国内不同文献有不同的解释,比较通用的解释是“层叠风格表单”。层叠风格表单的标准是由W3C组织制定的,目前市面上各个浏览器普遍支持的是CSS1标准。
HTML标识符所包含的每一个元素都可以被定义到一个或多个内容显示的设置。从功能上讲,CSS可以细分为CSS1/2和CSS-P(层叠风格表单定位)。CSS1/2的作用是设置文档元素的颜色、字体等显示特性;CSS-P的作用是设置文档元素在页面上的精确位置。
对于创建一个中型或大规模的公司的管理信息系统,这样大规模的基于Web Server的系统来说,使用CSS是一个理想的选择。它可以轻松又有效地保证所有页面呈现统一的显示风格,同时也能减少大量编码工作。
Script是指某一种脚本语言,目前主要有JavaScript和VBScript两种通用的脚本语言。由于网景的Netscape不支持VBScript,所以要想编写跨浏览器的脚本程序,JavaScript是唯一的选择。
从功能上讲,Script可大致分为客户端脚本和服务端脚本,由于在三层体系结构中,服务端的控制和应答由Servlet和JSP完成,所以系统只使用客户端脚本。
客户端脚本的最大的作用是:检查录入数据的合理性,充当过滤器的作用,保证提交给Web Server的数据是合法的;结合业务规则,控制界面元素的显示特性;在必要情况下进行cookie操作。
Applet是运行于客户端的Java小应用程序,随包容它的页面一起下载到客户端,由支持Java的浏览器(带有Java虚拟机)解释并运行。
HTTPServer使用基本的服务器构架,它在启动时创建自己的服务处理线程池。在线程处理池中的线程进入循环,监听来自客户端的HTTP请求,并使用HTTP协议,对来到的HTTP请求做处理。所有的HTTP连接都传给它们。HTTP请求到来后,服务处理线程根据URL和Server的配置信息做必要的授权检查,决定调用哪个Servlet来处理请求,然后将Servlet处理之后的结果作为应答反馈给客户端。
网络应用级协议有多种,如HTTP、FTP、SMTP等,其中,HTTP协议是最安全、应用最广的协议,HTTP请求是被防火墙视为安全的请求。因此,三层结构中间件都带有HTTPServer,它是三层结构中间件的门户,是联系客户端和真正处理业务的Application Server的桥梁和纽带。
Application Server是中间件的核心部分,是真正的完成业务功能的服务,它接受HTTPServer分配的请求,做出相应处理,再将处理结果传递给HTTPServer,由HTTPServer形成HTTP应答反馈给客户端。
数据库服务器是业务对象的属性得以永久性保存的载体。保证对象持久的最直接的方法是使用面向对象的数据库管理系统,它是专门为存储和共享对象而设计的。目前,大型三层体系结构应用系统中用的较多的关系型数据库有Orcale、DB2、Sysbase等。
如果采用Windows DNA体系结构,则数据库应考虑微软的SQLServer。SQLServer数据库仅适用于中小企业级。
采用Windows DNA的优点是,目前绝大多数桌面操作系统都是微软的Windows平台,而且我们所常用的办公软件也是微软的产品。这样很容易将电子商务系统与日常办公结合起来。另外,微软的产品价格平易近人。再者,Windows2000不仅本身自带了IISWeb server,而且也完全集成了COM+-中间件服务,无需再额外选择所谓的“中间件”服务器。另外,采用Windows DNA结构,开发效率要比采用J2EE效率高50%以上。
采用Windows DNA的缺点在于,系统的平台兼容性、移植性差。这是众所周知的,无需赘述。
J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、到处运行”的特性、方便存取数据库的JDBC API、CORBA技术和能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java ServletsAPI、JSP(Java Server Pages)以及XML技术的全面支持。
Sun公司在企业版中增加了一整套核心企业应用程序编程界面,而所有这些界面均为标准的模块化组件。J2EE技术还为这些组件提供一整套客户服务,通过自动化的方式完成应用程序开发中的诸多耗时且费力的艰难工作,为用户更好的提供一种可创建广泛兼容的企业解决方案而无需进行复杂编程的平台。利用这一优势可以方便地开发出高质量的、适合企业使用的应用程序,还可极大地减少产品研发上市时间、成本和风险。
Java Servlet和JSP中可以完全使用Java进行编程,能够实现许多简单的商业逻辑,特别是JSP,可以直接书写HTML,因此简化了页面的输出,这样就保留了脚本语言易于使用的优点。
复杂的商业逻辑以组件的形式部署在EJBServer中。由于EJBServer提供了多种组件事务服务,使系统更能够应付大量的并发用户和管理复杂的事务逻辑。
EJBServer中集成的组件命名服务可以使组件位置透明化,简化了组件的部署和客户端应用的维护。
J2EE平台全面支持和实施XML,这种强大的组合可使XML具备跨平台的兼容性,甚至用于对XML代码进行语法检查和调试的工具也可与平台无关。J2EE技术和XML技术分别是企业开发的阴阳两极,因为XML可实施独立于平台的数据,而J2EE平台则可实施独立于平台的解决方案。XML可通过移植的方式表现数据,因此就对Java技术的可移植性构成了补充。
此案例服务器站建立在Windows2000上,数据库服务器选用的是SQLServer 6.5。数据库中存放了大量的单位基础信息,经过身份确认的用户都能够根据各自不同的需求对这一些数据进行相应的操作,如数据的上报,查询等。案例中主要用到了ASP和JavaScript等方法。
为了建立与数据库的连接,能够最终靠两种方式:一种是建立DNS,另一种是OLEDB。这里我们用了DNS方式建立了一个SQL的数据源Convote。一个DSN连接常常要的参数有:DSN名,用户名,口令,例如我们用用户名“users”,口令“pass”,通过DSN
取得用户名和密码后与数据库内的用户名和密码作比较,正确的能进入系统,否则提示出错。
当用户的需求用Script不足以满足时,我们常常要用到Java Applet和MSActiveX控件。这里,就MSActiveX控件有个实例。ActiveX控件把主机应用程序显示和操作组件所需的附加支持包含在GUI环境中,还可以把OCX组件放在网页当中。
如当用户要在客户端进行IC卡的读写时,由于IC卡的读写是较复杂的程序,单纯用Script语句根本就没办法实现此功能。此时我们就要使用到ActiveX控件。用VB编写了一个ActiveX OCX,把它嵌入HTML中,让第一次访问的用户随页面一起下载,同时OCX所要调用的DLL也随着OCX一起下载到客户端,于是控件在客户端就可以执行起来。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。举报投诉
信息下载到硬件中。以便对数据包进行过处理。为完成在硬件中处理数据包的高层信息,会使用传统的MLS和基于CEF的MLS。
(Convolutional Neural Networks,CNNs) 是一种在深度学习领域中发挥及其重要的作用的模型。它是一种有层次
协议的现代化 。第二篇文章侧重于通过 NetDevOps 提高运营效率。
传输数据的单位:比特 数据传输系统:源系统(源点、发送器) --》 传输系统 --》 目的系统(接收器、终点) 通道: 单向通道(单工通道):只有一个
讲解文档,是一份十分不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,,,,,,,,
》适合作为高等院校集成电路设计相关专业工程硕士的教材,并可当作微处理器硬件与软件设计相关专业高年级本科生和研究生的教材。 《微处理器
协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二
转发技术。它解决了局域网中网段划分之后,网段中子网必须依赖路由器来管理的局面,解决了传统路由器低速、复杂所造成的
ARM微处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Intel的StrongARM、XScale和其它厂商基于ARM
通信平台,是航电系统正常工作的基本保证。因此,航电系统一般都会采用具有容错功能的
来保证系统的高可靠性。本文介绍了一种适用于新一代战机的航电系统综合任务处理机双余度FC交换
维稀疏分布场景、长传输范围、移动轨迹可预测、高速移动、高动态拓扑和分群
和协议栈设计上面临新的挑战,成为学术界和产业界的研究热点。首先,对机载
建模问题,提出了基于DoDAF (department of defense architect framework)的
各层参数进行联合优化,获得各种通信性能指标之间的平衡,使总体通信性能最优,综合考虑
软件系统因具有节点众多、节点间联系复杂、随时间演化、自组织临界等特性可将其视为复杂系统。在软件安全领域,对软件
控制系统,以便提供更完善的实验平台的目的。采用了实际实验和综合调查的
通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作
简介(1)首先对字(Word)、半字(Half-Word)、字节(Byte)的概念作一个说明:字( Word Word): ):在ARM
隧道的IPSec 的安全技术,提供了VPN 解决方案,给出了IPSec
接口及其协议栈模型进行了详细分析,最后探讨了WiMAX的应用模式及其商
对软件的稳定性、软件维护和软件演化等各方面的性能很重要。该文引入构件运算的
- 上一个: 关于二层网络与三层网络的对比
- 下一个: 网络安全+云核算4天上涨33%!还有时机吗?