OCP书上的习题:
下列哪些性能要求购买和安装企业版
A.实际应用群集
B.N-tier身份验证
C.支持若干平台上的多个CPU
D.Oracle Enterprise manager db control
E.分隔数据库的能力
答案是B.E,但不知道为什么,不知道什么是N-tier身份验证,E选项更是云里雾里的?高手帮忙解释下。。
------解决方案--------------------
N层结构(n-tiers结构,多层式运行架构)是相对于两层结构而言的。传统的C/S计算多是基于两级模式,在这种模式中,所有的形式逻辑和业务逻辑均驻留在Client端,而Server则成为数据库服务器,负责各种数据的处理和维护。因此Server变得很“瘦”,被称为“瘦服务器 (Thin Server)”。与之相反,这种模式需要在客户端运行庞大的应用程序,这就是所谓的“胖客户机 (Fat Client)”。
N层架构(n-tiers结构,多层式运行架构)的四层是指Presentation Tier(表示层,就是直接呈现在用户面前的界面)、Web Server Tier(Web服务器层)、 Application Server Tier(应用服务器层)和 Data Tier(数据层).
早期的网络系统设计常常采用三层结构。最常见的结构,就是表示( presentation )层 , 领域( domain )层 , 以及基础架构( infrastructure )层。
n层结构的提出是为了适应当前B/S模式开发WEB Application的需要而提出的。传统的Brown模型是指:表示层( Presentation ),控制 / 中介层( Controller/Mediator ),领域层( Domain ) , 数据映射层( Data Mapping ) , 和数据源层( Data Source )。它其实就是在三层架构中增加了两个中间层。控制 / 中介层位于表示层和领域层之间,数据映射层位于领域层和基础架构层之间。
J2EE规范提出了自己的n-tiers结构。
下表是几种模型的对照
ISA Brown J2EE 层 对应程序部分
表示层 表示层 客户层 浏览器 HTML 页面, XSL, 手机客户端等
服务器表示层 JSP 及 ActionForm ,XML
控制/中介层 Controller 控制器及 Action
领域层 领域层 业务层 Javabeans / SessionBean /Session Facade
数据映射层 整合层 EntityBean / JDO / Hibernate / JDBC
数据层 数据源层 资源层 RDBMS 数据库
J2EE的基本原则之一,是使得各个层的实现解除耦合或耦合最小化。最终实现可以任意的切换某个层的实现。
例如,在数据映射层,可以采用EJB的BMP,CMP,也可以采用Hibernate等O/RMapping,或者采用JDO。这由部署的环境来决定。
一、N层架构(n-tiers结构,多层式运行架构)存在的主要问题
首先,系统的可靠性有所降低。一个客户机/服务器系统是由各自独立开发、制造和管理的各种硬件和软件的混合体,其内在的可靠性不如单一的、中央管理的大型机或小型机,出现问题时,很难立即获得技术支持和帮助。
其次,维护费用较高。尽管这种应用模式在某种程度上提高了生产效率,由于客户端需要安装庞大而复杂的应用程序,当网络用户的规模达到一定的数量之后,系统的维护量急剧增加,因而维护应用系统变得十分困难。
第三,系统资源的浪费。随着客户端的规模越来越大,对客户机资源的要求也越来越高。尽管硬件不断更新,但新的操作系统和新的应用软件的不断出现,使得用户对硬件的更新仍然跟不上软件更新的速度。客户不得不在本地硬盘上装入大量的软件,但是使用的大都只是其中很少一部分(一般低于10%)。在一个拥有众多的“胖客户机”的环境中,这无疑是一种巨大的浪费。
最后,系统缺乏灵活性。由于逻辑同界面结合在一起,客户机/服务器需要对每一应用独立地开发应用程序,缺少重用性。但胖客户机的计算模式却仍然满足不了日益增长的应用的需要。在向广域网扩充(如Internet)的过程中,由于信息量的迅速增大,专用的客户端已经无法满足多功能的需求。网络计算模式从两层模式扩展到N层模式,并且结合动态计算,解决了这一问题。
N层架构的核心是提供可规模化特性,一方面是从服务负载上可规模化,能同时为极大规模的用户同时提供服务;另一方面是服务功能上的可规模化,可形成极大规模的软件群系统,各分系统可以共享信息、服务,形成企业级的信息高速公路。 N层可以分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。
二、N层架构(n-tiers结构,多层式运行架构)的主要优点
另外,N层结构从逻辑上相互独立,某一层的变动通常不影响其它层,具有很高的可重用性。除此以外,n层结构还有以下优点:
1、利用单一的访问点,可以在任何地方访问站点的数据库;
2、对于各种信息源,不论是文本还是图形都采用相同的界面;
3、所有的信息,不论其基于的平台,都可以用相同的界面访问;
4、可跨平台操作;
5、减少整个系统的成本;
6、维护升级十分方便;
7、具有良好的开放性;
8、进行严密的安全管理;
9、系统管理简单,可支持异种数据库,有很高的可用性
界面层负责:
收集信息
将信息发送到逻辑层做处理
逻辑层接收处理结果
将结果显示
......
逻辑层负责:
接收界面输入
与数据层交互执行已设计的业务
操作(业务逻辑,系统服务等)
将处理结果发送到界面层。
......
数据层负责:
数据存储
数据获取
数据维护
数据完整性