一、前 言
随着网络技术在各行各业的深入应用,IT行业又出现了一种低费用、低管理开销、并享有Client/Server计算模式优点的新型体系结构———三层网络体系结构。如果把C/S体系结构称为“胖客户机/服务器”计算模式,那么三层体系结构可以称之为“瘦客户机/服务器”计算模式。
二、技术特点
三层(或多层)结构的特点是在两层结构的基础上加入一个(或多个)中间件层。它将 C/S体系结构中原本运行于客户端的应用程序移到了中间件层,客户端只负责显示与用户交互的界面及少量的数据处理(如数据合法性检验)工作。客户端将收集到的信息(请求)提交给中间件服务器,中间件服务器进行相应的业务处理(包括对数据库的操作),再将处理结果反馈给客户机。
与传统的C/S体系结构相比,三层体系结构存在如下优点:
1.客户端零维护
在三层体系结构中,几乎所有的业务处理都是在中间件Web Server上完成的,客户端只需要安装支持Java的浏览器即可,不用做任何其它安装和配置工作,所以也就不存在客户端维护的问题,真正实现了“客户端零维护”。处理业务时,操作员可以直接通过Web浏览器访问Web Server进行业务处理工作。
2.可扩展性好
三层体系结构的可扩展性好体现在以下四个方面:
第一,工作节点的可扩展性好。由于三层体系结构的客户端零维护的特点,使增加一个工作节点的工作简单到了只需增加一台装有Web 浏览器的PC机即可。
第二,应用系统的可扩展性好。好的应用系统应该能方便地实现一定程度上业务的变化和业务单元的增加。三层体系结构采用面向对象的分析和设计模式,将业务模块都封装到了业务类和服务类中,所以如果一个业务流程变了,或需要增加一个新的业务模块,只需替换或增加新的业务类和服务类即可。
第三,业务逻辑与用户界面及数据库分离,使得当用户业务逻辑发生变化时只需更改中间层的控件/组件/JB/EJB即可。
第四,便于数据库移植。由于客户端不直接访问数据库,而是通过一个中间层进行访问,所以在改变数据库、驱动程序或存储方式时无需改变客户端配置,只要集中改变中间件上的持久化层的数据库连接部分即可。
3.安全性好
在三层体系结构中,客户端只能通过Web Server而不能直接访问数据库,这大大提高了系统的安全性。如果对系统提出更高的安全性要求的话,还可以通过防火墙进行屏蔽。
4.资源重用性好
由于将业务逻辑集中到Web Server统一处理,三层体系结构可以更好地利用共享资源。例如数据库连接是一项很消耗系统资源、影响响应时间的事件,在三层体系结构中可以将数据库连接放在缓冲池中统一管理,由不同应用共享,并有效控制连接的数量。
三、组成结构
三层结构主要由如下三部分组成:
1.客户端
客户端的主要任务是显示用户界面,接收用户事件。三层体系结构中,用户界面通过浏览器显示,Web Server将应答最终以HTML为载体下载到客户端浏览器,经浏览器(如ie、NetScape)进行解释,得到最终的用户界面。从技术的角度划分,客户端程序由以下几部分组成:
(1)HTML
HTML是所有界面元素的载体,标题、正文、Table、Form、Script程序段、Applet、ActiveX Control……所有这些都是通过<标识>标识>嵌在HTML中的。HTML是各种浏览器的通用语言,界面上的一切对象都要嵌入到HTML中才能被浏览器所解释。
(2)CSS
对CSS的翻译,国内不同文献有不同的解释,比较通用的解释是"层叠风格表单"。层叠风格表单的标准是由W3C组织制定的,目前市面上各个浏览器普遍支持的是CSS1标准。
层叠风格表单定义了一个文档元素的显示特性。HTML标识符所包含的每一个元素都可以被定义到一个或多个内容显示的设置。从功能上讲,CSS可以细分为CSS1/2和CSS-P(层叠风格表单定位)。
CSS1/2的作用是设置文档元素的颜色、字体等显示特性;CSS-P的作用是设置文档元素在页面上的精确位置。
对于创建一个中型或大型企业的管理信息系统,这样大规模的基于Web Server的系统来说,使用CSS是一个理想的选择。它可以有效地保证所有页面呈现统一的显示风格,同时也能减少大量编码工作。
(3)Script
Script是指某一种脚本语言,目前主要有JavaScript和VBScript两种通用的脚本语言。由于网景的Netscape不支持VBScript,所以要想编写跨浏览器的脚本程序,JavaScript是唯一的选择。
从功能上讲,Script可以分为客户端脚本和服务端脚本,由于在三层体系结构中,服务端的控制和应答由Servlet和JSP完成,所以系统只使用客户端脚本。
客户端脚本的主要作用是:
1)检查录入数据的合理性,充当过滤器的作用,保证提交给Web Server的数据是合法的;
2)结合业务规则,控制界面元素的显示特性;
3)在必要情况下进行cookie操作。
(4)Object
Object是嵌入HTML中的外来对象,常用的Object有两种:Java Applet和MS ActiveX Control。当系统对界面的灵活性及功能的需求超出了HTML和Script的实现范围时,开发者往往会考虑到Object技术。
Applet是运行于客户端的Java小应用程序,随包容它的页面一起下载到客户端,由支持Java的浏览器(带有Java虚拟机)解释并运行。
ActiveX Control的作用类似于Applet,所不同的是它只能运行于Windows平台的客户端,而且只在第一次访问包容ActiveX Control页面时下载并安装ActiveX Control,直到服务端的ActiveX Control版本升级了才会下载第二次。
2.中间件服务器
中间件服务器由Web Server和Java Application Server两部分组成,有的中间件将这两部分集成到了一起。
(1)Web Server
HTTP Server使用基本的服务器构架,它在启动时创建自己的服务处理线程池。在线程处理池中的线程进入循环,监听来自客户端的HTTP请求,并使用HTTP协议,对来到的HTTP请求进行处理。所有的HTTP连接都传给它们。HTTP请求到来后,服务处理线程根据URL和Server的配置信息进行必要的授权检查,决定调用哪个Servlet来处理请求,然后将Servlet处理之后的结果作为应答反馈给客户端。
在HTTP Server中有几个处于核心地位的Servlet,它们提供标准的HTTP功能。这几个核心的Servlet分别是:
File Servlet:用于处理对文件服务的请求;
Cgi Servlet:提供基本的CGI功能;
Invoker Servlet:作为一个元Servlet(meta-servlet),负责其它Servlet的加载、击活和删除;
Dispatcher Servlet:间离部分可信和完全可信的Servlet,使它们在各自安全的“沙箱”里执行。
网络应用级协议有多种,如HTTP、FTP、SMTP等,其中HTTP协议是最安全、应用最广的协议,HTTP请求是被防火墙视为安全的请求。因此,三层结构中间件都带有HTTP Serv-er,它是三层结构中间件的门户,是联系客户端和真正处理业务的Application Server的桥梁和纽带。
(2)Java Application Server
Application Server是中间件的核心部分,是真正实现业务功能的服务,它接受HTTP Server分配的请求,做出相应处理,再将处理结果传递给HTTP Server,由HTTP Server形成HTTP应答反馈给客户端。
3.数据库服务器
数据库服务器是业务对象的属性得以永久性保存的载体。保证对象持久的最直接的方法是使用面向对象的数据库管理系统,它是专门为存储和共享对象而设计的。目前,大型三层体系结构应用系统中用的较多的关系型数据库有Or-cale、DB2、Sysbase等。
四、实现分类
三层结构体系存在着J2EE和Windows DNA两大阵营。
1.基于Windows DNA结构的实现方案
如果采用Windows DNA体系结构,则数据库应考虑微软的SQL Server。,SQL Server数据库仅适用于中小企业级。
采用Windows DNA的优势在于,目前绝大多数桌面操作系统都是微软的Windows平台,而且我们所常用的办公软件也是微软的产品。这样很容易将电子商务系统与日常办公结合起来。另外,微软的产品价格平易近人。再者,Windows2000不仅本身自带了IIS Web server,而且也完全集成了COM+-中间件服务,无需再额外选择所谓的“中间件”服务器。另外,采用Windows DNA结构,开发效率要比采用J2EE效率要高50%以上。
采用Windows DNA的缺点在于,系统的平台兼容性、移植性差。这是众所周知的,无需赘述。
基于Windows DNA结构的实现方案简单的说就是:ASP+ActiveX Control+COM++ODBC。
2.基于J2EE的实现方案
J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、到处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
Sun公司在企业版中增加了一整套核心企业应用程序编程界面,而所有这些界面均为标准的模块化组件。J2EE技术还为这些组件提供一整套企业服务,通过自动化的方式完成应用程序开发中的诸多耗时且费力的艰难工作,为用户提供一种可创建广泛兼容的企业解决方案而无需进行复杂编程的平台。利用这一优势可以方便地开发出高质量的、适合企业使用的应用程序,还可极大减少产品研发上市时间、成本和风险。
概括起来,J2EE体系结构的优点是Java Servlet和JSP都要编译为Java Class才作为Servlet运行,因此执行性能会明显提高。Java Servlet和JSP中可以完全使用Java进行编程,可以完成许多简单的商业逻辑,特别是JSP,可以直接书写HTML,因此简化了页面的输出,这样就保留了脚本语言易于使用的优点。复杂的商业逻辑以组件的形式部署在EJB Server中。 (下接第54页) (上接第56页)由于EJB Server提供了多种组件事务服务,使系统更能够应付大量的并发用户和管理复杂的事务逻辑。EJB Server中集成的组件命名服务可以使组件位置透明化,简化了组件的部署和客户端应用的维护。
开发过程易于分工,可以由专人负责编写组件,其他人组装页面。
J2EE平台全面支持和实施XML,这种强大的组合可使XML具备跨平台的兼容性,甚至用于对XML代码进行语法检查和调试的工具也可与平台无关。J2EE技术和XML技术分别是企业开发的阴阳两极,因为XML可实施独立于平台的数据,而J2EE平台则可实施独立于平台的解决方案。XML可通过移植的方式表现数据,因此就对Java技术的可移植性构成了补充。
基于J2EE结构的JSP+JavaBeans/EJB+Servlet+JDBC。
总之,B/S模式应是今后的发展方向。
【参考文献】
[1]J2EE 技术内幕[P].北京:机械工程出版社,2002.
排行
- 抓住关键缩短模具开发周期
- 论惯性
- 生态旅游农业开发模式的研究
- 国有企业改革中的成本控制
- 漫话“中国龙”
- 当代中国学院艺术的生存语境及其
- 真骨傲霜:浅论苏轼的文化性格内
- 从陈村计划生育中的博弈看基层社
- 管理层收购(MBO)存在的问题及对
- 公共财政框架下的财政支出结构优
- 周恩来与共同纲领的制定
- 论无因管理效果与类型
- 企业组织变革的系统科学思考
- 当代中国公共行政价值取向的变革
- 汽车ESP用传感器及其接口技术
- 会计的真实性与会计职业判断
最近更新
三层网络体系结构的特点


联系我们
返回 计算机论文 列表