软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试工具>>Rational>>正文
理解Rational分析三层结构观点
文章出处:网络 作者:不详 发布时间:2006-04-20

  三层结构的简单描述及优点

    三层体系结构,即用户层、应用层和数据库服务器。用户层主要指用户界面,它要求尽可能的简单,使最终用户不需要进行任何培训就能方便地访问信息;第二层就是应用服务器,也就是常说的中间件,所有的应用系统、应用逻辑、控制都在这一层,系统的复杂性也主要体现在应用层;最后的数据库服务器存储大量的数据信息和数据逻辑,所有与数据有关的安全、完整性控制、数据的一致性、并发操作等都是在第三层完成。

  采用J2EE的三(N)层结构的特点

  1.能有效降低建设和维护成本,简化管理

    多层应用结构在各层次上的组件能单独更新、替换或增加、拆除。因此,系统维护更方便,代价相对低得多。而且,因各组件互相独立,更换组件就好比更换组合音响的一个部件,对系统其它部分并无影响,所以更新维护更加安全可靠。

    客户端采用瘦客户机。因为,客户机不必进行大量的计算或数据处理,它的硬件配置就不需要太高。

    通过将业务逻辑集中到中间层,系统获得了对业务逻辑的独立性,即当用户的需求改变时,开发人员可以迅速地在中间层(应用服务器)上更新业务逻辑,而无需将更新后的应用提交到众多的PC终端系统上去,即客户端无需任何改动(改动众多的客户端并不是件轻松的事)。

  2.适应大规模和复杂的应用需求

    如果说结构化方法使软件开发从一门手工艺术走向科学的工程方法,组件技术则使软件工程从个体作坊走向大规模工业。虽然,结构化方法对中小型系统开发能够行之有效,但对大型系统,结构化分析的结果往往是错综复杂的网状结构,而不是结构清晰的层次结构。这也正是面向对象方法学诞生的原因。组件技术能使复杂系统的设计变得简单可行,具有良好的伸缩性。

    三层或多层结构,可以将数据处理从客户端转移到应用服务器和数据库服务器上。这样,尽管客户端与应用服务器之间可能存在着多个甚至数百个的连接,但是应用服务器与数据库服务器之间的连接却只有少数几个,从而达到减少通信线路上传递的数据量的目标。这样的功能分配提供了很强的系统可伸缩性,使得在用户数量急剧增加时还能保持系统性能的稳定。使用传统的客户机/服务器模式根本无法胜任上千个客户机同时运行同时需要访问数据库的工作。即使在用户数量很大的情况下,数据库仍能保持良好的工作负载,保持系统的快速的响应速度。

  3.可适应不断的变化和新的业务需求

    任何应用系统实施的重点不在于需求确定以后能否实现这些需求,而是在系统实施后如何适应变化的需求。J2EE系统结构和组件式系统的开发和维护过程中,技术人员可以按照新的需求,通过在不同系统层次上调度更新的组件或新加入的组件来调整旧的系统,以适应新的与不断变化的要求。以往的系统只能靠专业维护人员或系统开发商的再次开发或修改原有系统,才能满足新的需求,代价往往很大,无法保证时间上的要求。

  4.访问异构数据库

    多层结构的中间层即应用服务器能够提供广泛的异构数据库访问和复制能力。传统的客户机/服务器结构则需要在客户端安装许多访问异构数据库的驱动程序,而三层/多层结构只要在中间层有相应的驱动程序就可以访问异构数据源。

  5.能有效提高系统并发处理能力

    传统的一体化集中式系统或客户服务器架构,在处理大信息量业务时,都可能形成瓶颈。而多层体系架构的组件式系统将界面、界面发布、业务应用逻辑及数据存储分为多个层次分散管理,逻辑或物理地将它们分开,可减轻系统压力,提高整体性能。并且中间层可以采取多机并行的方式,相互备份的方式,保证系统的高可用性。

    一般情况下进行数据分析时,每次查询可能涉及到大量的数据,往往需要较长的响应时间,特别在分布式数据环境下,响应时间有时长得令人难以忍受。三层(多)层结构提供了客户端与服务器之间的异步通信,使得客户不必等待提交的分析处理结果而可以继续执行其他处理任务。

  6.能有效提高系统安全性

    多层体系结构将数据与程序、数据控制与应用逻辑分层独立管理,能更严格地控制信息访问;信息传递中采用数据加密技术,可进一步减低信息失密的风险。应用服务器内建安全控制数据库,实现应用服务器与数据服务器的双重权限控制,对权限的划分更准确、灵活、严格。新系统在信息访问、传递和存储三个环节上均有严格的安全措施。


站内搜索
相关文章
◎robot函数实例讲解(二)
◎robot函数实例讲解(一)
◎IBM Rational XDE tester使用指南
◎详解 Rational ClearCase中的lost+found目录
◎关于Rational与软件质量保证
◎Robot手工编写GUI脚本如何获取对象识别方法和属性
◎rational对象脚本命令
◎Robot GUI脚本操作SQL SERVER数据库
◎GUI录制回放测试方法缺点
◎Rational中DataPool的介绍与实际应用-续(2)
◎Rational中DataPool的介绍与实际应用-续(1)
◎Rational中DataPool的介绍与实际应用
◎ClearCase迁移中的一些经验
◎IBM Rational ClearCase 视图全攻略
◎浅谈ClearQuest 2002.05 建库指南
◎Rational ClearQuest介绍
◎数据池(DATAPOOL)专题
◎使用IBM Rational PurifyPlus测试J2EE应用程序
◎使用Rational Robot测试含有数据关联的Web应用
◎IBM Rational Robot
◎用Rational Functional Tester创建随需应变的自动测试脚本
◎解决Grid自动化测试的思路
◎Base ClearCase与ClearQuest的集成
◎IBM Rational助您轻松完成基于J2EE的Web应用系统的性能测试和性能优化
◎IBM Rational 助您轻松完成自动化功能测试
◎使用 Rational PureCoverage 诊断 C/C++ 程序覆盖信息和用户环境的集成
◎Rational XDE tester使用指南
◎Rational 完成自动化功能测试
◎定制ClearQuest以通过所有者、角色或组来分隔记录
热门文章
◎IBM Rational Robot
◎Rational 完成自动化功能测试
◎Rational系列产品大概的介绍
◎Robot压力测试实例
◎Rational ClearQuest介绍
◎用Rational Functional Tester创建随需应变的自动测试脚本
◎robot函数实例讲解(一)
◎Robot手工编写GUI脚本如何获取对象识别方法和属性
◎关于Rational与软件质量保证
◎IBM Rational 助您轻松完成自动化功能测试
◎IBM Rational XDE tester使用指南
◎robot函数实例讲解(二)
◎使用 Rational PureCoverage 诊断 C/C++ 程序覆盖信息和用户环境的集成
◎rational对象脚本命令
◎GUI录制回放测试方法缺点
◎IBM Rational ClearCase 视图全攻略
◎使用IBM Rational的测试理念成功打造测试团队
◎数据池(DATAPOOL)专题
◎详解 Rational ClearCase中的lost+found目录
◎IBM Rational助您轻松完成基于J2EE的Web应用系统的性能测试和性能优化
◎Base ClearCase与ClearQuest的集成
◎浅谈ClearQuest 2002.05 建库指南
◎使用IBM Rational PurifyPlus测试J2EE应用程序
◎Rational中DataPool的介绍与实际应用
◎使用Rational的测试理念
◎Robot GUI脚本操作SQL SERVER数据库
◎ClearCase迁移中的一些经验
◎Rational中DataPool的介绍与实际应用-续(2)
◎Rational Robot 常用语句
◎Rational robot 识别对象的方法
◎使用Rational Robot测试含有数据关联的Web应用
◎Rational中DataPool的介绍与实际应用-续(1)
◎定制ClearQuest以通过所有者、角色或组来分隔记录
◎Rational XDE tester使用指南
◎浅谈RFT
◎解决Grid自动化测试的思路
◎Robot如何测试帮助c++程序员识别自定义或第三方控件
◎Rational Robot项目移植
◎用Robot写Java代理(一)
◎Rational 识别 Delphi TDBGrid的解决方法
◎如何在Robot脚本中使用Object Data
◎用Robot写Java代理(二)
◎在VU脚本中使用HTTP连接
◎使用Robot连接SQL的例子
◎使用Robot输入清单
◎Robot进行数据库的并发测试
◎使用自定义代码对数据池进行随机访问

Google提供的广告