三层结构的简单描述及优点
三层体系结构,即用户层、应用层和数据库服务器。用户层主要指用户界面,它要求尽可能的简单,使最终用户不需要进行任何培训就能方便地访问信息;第二层就是应用服务器,也就是常说的中间件,所有的应用系统、应用逻辑、控制都在这一层,系统的复杂性也主要体现在应用层;最后的数据库服务器存储大量的数据信息和数据逻辑,所有与数据有关的安全、完整性控制、数据的一致性、并发操作等都是在第三层完成。
采用J2EE的三(N)层结构的特点
1.能有效降低建设和维护成本,简化管理
多层应用结构在各层次上的组件能单独更新、替换或增加、拆除。因此,系统维护更方便,代价相对低得多。而且,因各组件互相独立,更换组件就好比更换组合音响的一个部件,对系统其它部分并无影响,所以更新维护更加安全可靠。
客户端采用瘦客户机。因为,客户机不必进行大量的计算或数据处理,它的硬件配置就不需要太高。
通过将业务逻辑集中到中间层,系统获得了对业务逻辑的独立性,即当用户的需求改变时,开发人员可以迅速地在中间层(应用服务器)上更新业务逻辑,而无需将更新后的应用提交到众多的PC终端系统上去,即客户端无需任何改动(改动众多的客户端并不是件轻松的事)。
2.适应大规模和复杂的应用需求
如果说结构化方法使软件开发从一门手工艺术走向科学的工程方法,考试,大提示组件技术则使软件工程从个体作坊走向大规模工业。虽然,结构化方法对中小型系统开发能够行之有效,但对大型系统,结构化分析的结果往往是错综复杂的网状结构,而不是结构清晰的层次结构。这也正是面向对象方法学诞生的原因。组件技术能使复杂系统的设计变得简单可行,具有良好的伸缩性。
三层或多层结构,可以将数据处理从客户端转移到应用服务器和数据库服务器上。这样,尽管客户端与应用服务器之间可能存在着多个甚至数百个的连接,但是应用服务器与数据库服务器之间的连接却只有少数几个,从而达到减少通信线路上传递的数据量的目标。这样的功能分配提供了很强的系统可伸缩性,使得在用户数量急剧增加时还能保持系统性能的稳定。使用传统的客户机/服务器模式根本无法胜任上千个客户机同时运行同时需要访问数据库的工作。即使在用户数量很大的情况下,数据库仍能保持良好的工作负载,保持系统的快速的响应速度。
3.可适应不断的变化和新的业务需求
任何应用系统实施的重点不在于需求确定以后能否实现这些需求,而是在系统实施后如何适应变化的需求。J2EE系统结构和组件式系统的开发和维护过程中,技术人员可以按照新的需求,通过在不同系统层次上调度更新的组件或新加入的组件来调整旧的系统,以适应新的与不断变化的要求。以往的系统只能靠专业维护人员或系统开发商的再次开发或修改原有系统,才能满足新的需求,代价往往很大,无法保证时间上的要求。
4.访问异构数据库
多层结构的中间层即应用服务器能够提供广泛的异构数据库访问和复制能力。传统的客户机/服务器结构则需要在客户端安装许多访问异构数据库的驱动程序,而三层/多层结构只要在中间层有相应的驱动程序就可以访问异构数据源。
5.能有效提高系统并发处理能力
传统的一体化集中式系统或客户服务器架构,在处理大信息量业务时,都可能形成瓶颈。而多层体系架构的组件式系统将界面、界面发布、业务应用逻辑及数据存储分为多个层次分散管理,逻辑或物理地将它们分开,可减轻系统压力,提高整体性能。并且中间层可以采取多机并行的方式,相互备份的方式,保证系统的高可用性。
一般情况下进行数据分析时,每次查询可能涉及到大量的数据,往往需要较长的响应时间,特别在分布式数据环境下,响应时间有时长得令人难以忍受。三层(多)层结构提供了客户端与服务器之间的异步通信,使得客户不必等待提交的分析处理结果而可以继续执行其他处理任务。
6.能有效提高系统安全性
多层体系结构将数据与程序、数据控制与应用逻辑分层独立管理,能更严格地控制信息访问;信息传递中采用数据加密技术,可进一步减低信息失密的风险。应用服务器内建安全控制数据库,实现应用服务器与数据服务器的双重权限控制,对权限的划分更准确、灵活、严格。新系统在信息访问、传递和存储三个环节上均有严格的安全措施。