第9章 软件开发体系结构

上传人:aa****6 文档编号:56889897 上传时间:2018-10-16 格式:PPT 页数:52 大小:497KB
返回 下载 相关 举报
第9章 软件开发体系结构_第1页
第1页 / 共52页
第9章 软件开发体系结构_第2页
第2页 / 共52页
第9章 软件开发体系结构_第3页
第3页 / 共52页
第9章 软件开发体系结构_第4页
第4页 / 共52页
第9章 软件开发体系结构_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《第9章 软件开发体系结构》由会员分享,可在线阅读,更多相关《第9章 软件开发体系结构(52页珍藏版)》请在金锄头文库上搜索。

1、第九章 软件开发体系结构,数据库系统及应用,江西财经大学信息管理学院,9.1 软件开发体系结构概述 9.2 C/S体系结构 9.3 B/S体系结构 9.4 常用开发体系结构 本章小结,2,9.1 软件开发体系结构概述,九十年代之前,开发人员通过集成本地系统服务来构建应用程序。在这种模式下: 通过嵌入式或自含式语言访问后台数据库。 如嵌入式C或COBOL开发访问ORACLE数据库的应用程序系统; 使用Foxpro开发访问Foxpro数据库的应用程序系统。 如今开发人员摆脱了这种模式的束缚,致力于构建具有N层复杂结构的系统,将分散在网络中各处的应用程序集成,极大提升应用程序的价值。在这种开发模式下

2、: 不必为构建基本结构花费过多精力 有利于集中精力挖掘软件独特的商业价值 缩短软件投放市场的时间 编程效率明显提高,软件质量得到了相应的保证。,3,9.1 软件开发体系结构概述,随着软件系统的规模和复杂程度的增加,软件体系结构的选择比数据结构和算法的选择更为重要。 软件体系结构是构件的集合,包括处理构件、数据构件和连接构件。 处理构件负责对数据进行加工 数据构件是被加工的信息 连接构件把体系结构的不同部分组合连接起来 最初的软件体系结构是客户表示、数据和程序集中放在主机上,主机负责处理所有的业务,客户通过终端完成对远程数据库的访问 该体系结构要求主机具有很高的性能 随着PC机的广泛应用,该结构

3、逐渐被淘汰,4,9.1 软件开发体系结构概述,在80年代中期出现了Client/Server分布式计算结构,客户机发出SQL请求,被数据库服务器响应并进行处理,客户机在接收到被处理的数据后实现显示和业务逻辑。 Client/Server结构因其灵活性得到广泛的应用 当越来越多的用户访问数据库中的数据时,该模式暴露出它的弊端 由于客户端包含业务逻辑且应用程序必须安装在客户端 一旦业务逻辑发生变化必须更改所有客户端程序,给系统维护带来很大的困难。,5,9.1 软件开发体系结构概述,Client/Server结构其特点是将用户的界面操作、业务逻辑放在客户端操作,而将数据操作放在服务器端处理。在这种体

4、系结构中: 无法确保数据访问的安全(从客户程序中可以得到数据库密码) 网络资源消耗较大(因为要保持数据库联接、数据频繁在网络中传递) 服务器负担过重(因为它要处理所有客户机的请求) 升级不够方便(一旦用户的业务逻辑发生变化,必须更改所有客户机的软件)。 Internet的发展给传统应用软件的开发带来了深刻的影响。一种新的、更具生命力的体系结构被广泛采用,这就是“三层/多层计算”框架,6,9.1 软件开发体系结构概述,9.1.1 三层/多层结构 9.1.2 组件技术 9.1.3 数据库技术,7,9.1.1 三层/多层结构,表现层 信息浏览,服务定位 主要实现用户界面,保证用户界面的友好性、统一性

5、,也叫GUI层 总是与业务处理层打交道,不直接与数据服务层打交道,为客户提供输入输出数据的界面 典型应用是网络浏览器和胖客户(如Java程序、Delphi程序),8,9.1.1 三层/多层结构,业务逻辑层 负责从数据层获取适当格式的数据并执行最后的合法性检查(也叫执行业务规则) 实现客户的全部业务逻辑 典型应用是Web服务器和运行业务代码的应用程序服务器。 数据层 实现数据定义、存储、备份、检索等功能 主要由数据库系统实现 典型应用是关系型数据库和其他后端(back-end)数据资源, 如 Oracle、Sybase、Sql-Server数据库和数据文件等,9,9.1.1 三层/多层结构,在三

6、层体系结构中 客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。 把显示逻辑从业务逻辑中分离出来,业务逻辑层处于中间层,不需关心由哪种类型的客户来显示数据,也与后端系统保持相对独立性,有利于系统扩展。 具有更好的移植性,可以跨平台工作。安全性更易于实现。 三层体系结构将组件作为中间层,其作用相当于分担了C/S结构中C(客户)和S(服务器)的部分工作,跟C/S结构相比 在安全性、并发度方面有了明显的改善,软件的升级也容易实现 实现组件的方法有COM(只用于Window平台)、Corba(用于跨平台,主要用于Unix平台)和Internet网络中基于Java环境的Enterprise

7、 Java Bean,10,9.1.1 三层/多层结构,三层体系结构是多层体系结构的基础 层是一个逻辑的概念,将“客户/服务器”的关系用“请求/服务于该请求”的关系来描述 将网络上发出请求的机器认为是客户机,将响应该请求的机器认为是服务器,网络上有的机器既是客户机又是服务器。 使用多层体系构架模型,可将系统需求划分成可以明确定义的服务 例如事务服务、名字服务等,将这些服务以组件的形式实现 一个组件可以实现系统中的一种或者多种服务,是这些服务的物理封装。 根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件,并且根据业务的改动灵活地对这些服务组件进行修改,而不影响其它的组

8、件,从而降低维护的费用,11,9.1.1 三层/多层结构,多层应用程序的体系结构的优点: 业务规则集中、瘦客户体系结构 自动错误调和、负载平衡 可重用性、灵活性 可管理性、易维护性一系列优良的特性,12,9.1.2 组件技术,组件是指在采用组件技术开发的软件中,为实现一定的功能而独立编译的模块或类。 基于组件化的程序设计思想 将复杂的应用程序分解为一些小的、功能单一的组件模块 这些模块可运行在同一台计算机上,也可分散运行在网络中的任何一台计算机上 组件技术是构造多层体系结构的基础 组件不同于传统的模块或类,它具有依照COM、CORBA或Javabean特征所规定的接口。 独立于语言,在组建应用

9、程序时仅通过接口访问组件,不涉及组件的内部细节,是保障软件安全和升级的最好手段,13,9.1.2 组件技术,企业在构建管理信息系统时必须要考虑安全问题、升级问题、投入问题、服务器负担问题等。 组件服务器在客户和数据库服务器之间起了一个桥梁作用 通常它定义了一个完整的逻辑接口 客户程序只是简单地访问这些接口 创建和维护数据库提供了极大的便利,14,9.1.2 组件技术,小应用程序applet 定义简单的容器组件接口,使得java代码可以嵌入web浏览器的applet中运行。 JavaBean 定义编写java代码的标准模型,对外提供组件属性和事件以及与JavaBean容器的接口。容器一般嵌入到一

10、个集成的开发环境中,如tomcat、weblogic等。 corba 定义分布式访问用任何语言实现的组件标准模型。通过标准通信容器环境orb,把从分布式客户机发出的调用传至服务器端容器代码,该代码激活分布式对象方法。 RMI 远程方法调用RMI为分布式访问组件提供可能。RMI容器环境装备了java平台,并扩展支持使用相同底层通信协议,如CORBA的标准通信协议。,15,9.1.2 组件技术,COM 在微软平台上实现组件交互的标准模型,分布式组件对象模型DCOM是COM的分布式通信版本。 J2EE Web组件 java servlet和java sever page表示服务端的组件,它处理web

11、请求和生成WEB内容。WEB组件运行和操作在基于J2EE的WEB容器环境内部。 J2EE企业javabean 企业javabean(EJB)是服务器端的遵守标准模型的应用组件,在EJB容器和服务器内操作,这样的服务器能够为EJB提供一组标准的服务框架,如事务、安全和可扩展性等。 CORBAcomponent CORBAcomponent是基于corba的应用服务模型,与EJB模型非常相似。 微软的DNA(分布式网络体系结构) DNA是微软的集成式分布应用服务体系结构环境,该环境仅适合微软平台。DNA结合许多微软的标准组件并在微软平台上运行企业应用。,16,9.1.3 数据库技术,数据库技术用于

12、存储、维护企业经营活动中所产生的数据,并为企业决策提供数据支持。企业管理信息系统必须使用数据库技术。 目前成熟的数据库技术很多,如Oracle、Sybase、MSSql-Server、Access、DB2等。 Oracle数据库适合于大中型企业的信息管理系统 Sybase和DB2数据库适合于中型企业的信息管理系统 MSSql-Server数据库适合于中小型企业的信息管理系统 Access数据库仅适合于个人系统。,17,9.2 C/S体系结构,9.2.1 两层C/S体系结构 9.2.2 三层/多层C/S体系结构,18,9.2.1 两层C/S体系结构,两层结构将应用一分为二,服务器(后台)负责数据

13、管理,客户机(前台)完成与用户的交互任务。 把存储企业数据的数据库放在远程的服务器上,每台客户机上只安装相应软件 客户机,其用户界面结合了表示层和业务逻辑层,接收用户的请求,并向数据库服务器提出请求 数据库服务器,响应客户的请求,并将数据提交给客户端,客户端再将数据进行计算并将结果呈现给用户。 两层结构提供完善的安全保护及完整性处理等操作,允许多个客户同时访问同一个数据库。,19,9.2.1 两层C/S体系结构,CS在技术上非常成熟,模型简单,易于理解和接受。主要特点 交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但随着企业规模的日益扩大,软件的复杂程度不断提高 该

14、结构存在以下局限: 程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。 每台客户机都要安装相应的客户端程序,不能实现快速部署安装和配置,要求具有一定专业水准的技术人员去完成。,20,9.2.1 两层C/S体系结构,C/S结构是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet。 软、硬件的组合及集成能力有限。 客户机的负荷太重,不仅要实现表示层,还要实现业务逻辑层,一旦某个业务逻辑发生变化,则所有的客户机软件必须重新安装。当企业中有大量的客户机时,系统的性能容易变坏,维护也相当不方便 开发C/S体系结构采用的主要工具有 Borl

15、and 公司的Delphi ,Jbuilder Sybase 公司的Powerbuilder 微软公司的VB、VF等,21,9.2.2 三层/多层C/S体系结构,将用户界面同企业逻辑分离,将信息系统按功能划分为表示、功能和数据三大块,分别放置在相同或不同的硬件平台上。如果企业需要更改业务,开发人员只要修改一下实现此业务的中间层即可。 中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件。能够使应用软件相对独立于计算机硬件和操作系统平台。 中间件的工作机制是: 客户端从网络中的某个地方获取一定的数据或服务 这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中

16、 客户/服务器应用程序负责数据的部分只需访问一个中间件系统 由中间件完成到网络中找到数据源或服务 传输客户请求、重组答复信息 最后将结果送回应用程序的任务,22,9.2.2 三层/多层C/S体系结构,在三层C/S体系结构中,客户机实现 实现业务的表示层,以及最简单的业务规则 如编号的合法性、数据是否允许空值等 负责接收客户的输入信息 将输入信息发送给中间件服务器 客户机接收来自中间件服务器的结果信息并显示给客户,23,9.2.2 三层/多层C/S体系结构,中间件服务器(组件服务器)实现大部分的客户业务规则 建立与后台数据库的连接 将客户机发送过来的数据按照业务规则进行分类、加工和处理 生成相应的SQL语句发送给数据库服务器 接收数据库服务器返回的数据或状态,并返回给客户机 在网络中可以有多台中间件服务器 为提高系统的效率,可将企业的业务进行大类分类 同类业务规则的实现放在同一台中间件服务器上,使得企业的业务处理达到真正的分布式处理。 客户机访问中间件服务器是通过其接口实现的 所有对数据库的操作封装在中间件中,在很大程度上保证了数据库的安全,24,9.2.2 三层/多层C/S体系结构,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号