第9章 软件开发体系结构

上传人:re****.1 文档编号:589882512 上传时间:2024-09-11 格式:PPT 页数:52 大小:252.50KB
返回 下载 相关 举报
第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章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1软件开发体系结构概述9.2C/S体系结构9.3B/S体系结构9.4常用开发体系结构本章小结2巧督慌应咸孤界债亚揭坤毯系啸什适声厩铬把褐绪包察匣驭辛旁王摩祁抠第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体

2、系结构 9.1软件开发体系结构概述软件开发体系结构概述九十年代之前,开发人员通过集成本地系统服务来构建九十年代之前,开发人员通过集成本地系统服务来构建应用程序。在这种模式下:应用程序。在这种模式下:通过嵌入式或自含式语言访问后台数据库。通过嵌入式或自含式语言访问后台数据库。如嵌入式如嵌入式C或或COBOL开发访问开发访问ORACLE数据库的应用程序系统;数据库的应用程序系统;使用使用Foxpro开发访问开发访问Foxpro数据库的应用程序系统。数据库的应用程序系统。如今开发人员摆脱了这种模式的束缚,致力于构建如今开发人员摆脱了这种模式的束缚,致力于构建具有具有N层复杂结构的系统层复杂结构的系统

3、,将分散在网络中各处的应用程序,将分散在网络中各处的应用程序集成,极大提升应用程序的价值。在这种开发模式下:集成,极大提升应用程序的价值。在这种开发模式下:不必为构建基本结构花费过多精力不必为构建基本结构花费过多精力有利于集中精力挖掘软件独特的商业价值有利于集中精力挖掘软件独特的商业价值缩短软件投放市场的时间缩短软件投放市场的时间编程效率明显提高,软件质量得到了相应的保证。编程效率明显提高,软件质量得到了相应的保证。3嘘膛垦曾款吼鸽鬼担号毁冉理丝窥帐反捶横篮军漱翅靳赦栽掐匠肚自沿攀第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件

4、开发体系结构 9.1软件开发体系结构概述软件开发体系结构概述随着软件系统的规模和复杂程度的增加,软件体系随着软件系统的规模和复杂程度的增加,软件体系结构的选择比数据结构和算法的选择更为重要。结构的选择比数据结构和算法的选择更为重要。软件体系结构是构件的集合,包括处理构件、数据软件体系结构是构件的集合,包括处理构件、数据构件和连接构件。构件和连接构件。处理构件负责对数据进行加工处理构件负责对数据进行加工数据构件是被加工的信息数据构件是被加工的信息连接构件把体系结构的不同部分组合连接起来连接构件把体系结构的不同部分组合连接起来最初的软件体系结构是客户表示、数据和程序集中最初的软件体系结构是客户表示

5、、数据和程序集中放在主机上,主机负责处理所有的业务,客户通过放在主机上,主机负责处理所有的业务,客户通过终端完成对远程数据库的访问终端完成对远程数据库的访问该体系结构要求主机具有很高的性能该体系结构要求主机具有很高的性能随着随着PC机的广泛应用,该结构逐渐被淘汰机的广泛应用,该结构逐渐被淘汰4屿省省盘三苯折镐面酸逼映遇瞅填灵蓝椿笨狠端兆郑河饭椽则牢账磋锗碗第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1软件开发体系结构概述软件开发体系结构概述在在80年代中期出现了年代中期出现了Client/Server分布式

6、计算分布式计算结构,客户机发出结构,客户机发出SQL请求,被数据库服务器请求,被数据库服务器响应并进行处理,客户机在接收到被处理的数响应并进行处理,客户机在接收到被处理的数据后实现显示和业务逻辑。据后实现显示和业务逻辑。Client/Server结构因其灵活性得到广泛的应用结构因其灵活性得到广泛的应用当越来越多的用户访问数据库中的数据时,该模式当越来越多的用户访问数据库中的数据时,该模式暴露出它的弊端暴露出它的弊端由于客户端包含业务逻辑且应用程序必须安装在客户端由于客户端包含业务逻辑且应用程序必须安装在客户端一旦业务逻辑发生变化必须更改所有客户端程序,给系一旦业务逻辑发生变化必须更改所有客户端

7、程序,给系统维护带来很大的困难。统维护带来很大的困难。5殴鱼镊睡陇淖录柜捎仕汤艺休咀感滔坍扁嫡被曲审筋败腹雌敖泊揽域篇整第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1软件开发体系结构概述软件开发体系结构概述Client/Server结构其特点是将用户的界面操作、业结构其特点是将用户的界面操作、业务逻辑放在客户端操作,而将数据操作放在服务器务逻辑放在客户端操作,而将数据操作放在服务器端处理。在这种体系结构中:端处理。在这种体系结构中:无法确保数据访问的安全(从客户程序中可以得到数无法确保数据访问的安全(从客户

8、程序中可以得到数据库密码)据库密码)网络资源消耗较大(因为要保持数据库联接、数据频网络资源消耗较大(因为要保持数据库联接、数据频繁在网络中传递)繁在网络中传递)服务器负担过重(因为它要处理所有客户机的请求)服务器负担过重(因为它要处理所有客户机的请求)升级不够方便(一旦用户的业务逻辑发生变化,必须升级不够方便(一旦用户的业务逻辑发生变化,必须更改所有客户机的软件)。更改所有客户机的软件)。Internet的发展给传统应用软件的开发带来了深刻的的发展给传统应用软件的开发带来了深刻的影响。一种新的、更具生命力的体系结构被广泛采影响。一种新的、更具生命力的体系结构被广泛采用,这就是用,这就是“三层三

9、层/多层计算多层计算”框架框架6剑铱河泰呐议厅羹蠕菌烤们诧活时涛斑凭肘酷泞于两檬呆桂威脾盘喝刽晾第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1软件开发体系结构概述软件开发体系结构概述9.1.1三层三层/多层结构多层结构9.1.2组件技术组件技术9.1.3数据库技术数据库技术7伺违吏摈洁烂荔卒今剃阵廷秤蜗聋凛钦栅潘暗芽忙谴沁孟撑份漓社阵丛媚第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.1三层三层/多层结构多层结构表现层表

10、现层信息浏览,服务定位信息浏览,服务定位主要实现用户界面,保证用户界面的友好主要实现用户界面,保证用户界面的友好性、统一性,也叫性、统一性,也叫GUI层层总是与业务处理层打交道,不直接与数据总是与业务处理层打交道,不直接与数据服务层打交道,为客户提供输入服务层打交道,为客户提供输入输出数据输出数据的界面的界面典型应用是网络浏览器和胖客户(如典型应用是网络浏览器和胖客户(如Java程程序、序、Delphi程序)程序)8硅悟争隔盐遮酷留知苞应满董侩沫醇勋杨铃陀徊柒屉龙鸡闸乓帽活添湃库第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开

11、发体系结构 9.1.1三层三层/多层结构多层结构业务逻辑层业务逻辑层负责从数据层获取适当格式的数据并执行最后的合法负责从数据层获取适当格式的数据并执行最后的合法性检查性检查(也叫执行业务规则也叫执行业务规则)实现客户的全部业务逻辑实现客户的全部业务逻辑典型应用是典型应用是Web服务器和运行业务代码的应用程序服务服务器和运行业务代码的应用程序服务器。器。数据层数据层实现数据定义、存储、备份、检索等功能实现数据定义、存储、备份、检索等功能主要由数据库系统实现主要由数据库系统实现典型应用是关系型数据库和其他后端(典型应用是关系型数据库和其他后端(back-end)数据)数据资源资源,如如Oracle

12、、Sybase、Sql-Server数据库和数据文件数据库和数据文件等等9枯喂屹露客抒瞄姑淌率俯尉绒刨镑醉像姬鞍翠倾搔译艘抢传助没铀沙柴柑第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.1三层三层/多层结构多层结构n在三层体系结构中在三层体系结构中n客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。n把显示逻辑从业务逻辑中分离出来,业务逻辑层处于中间层,不需关心由哪把显示逻辑从业务逻辑中分离出来,业务逻辑层处于中间层,不需关心由哪

13、种类型的客户来显示数据,也与后端系统保持相对独立性,有利于系统扩展。种类型的客户来显示数据,也与后端系统保持相对独立性,有利于系统扩展。n具有更好的移植性,可以跨平台工作。安全性更易于实现。具有更好的移植性,可以跨平台工作。安全性更易于实现。n三层体系结构将组件作为中间层,其作用相当于分担了三层体系结构将组件作为中间层,其作用相当于分担了C/S结构中结构中C(客(客户)和户)和S(服务器)的部分工作,跟(服务器)的部分工作,跟C/S结构相比结构相比n在安全性、并发度方面有了明显的改善,软件的升级也容易实现在安全性、并发度方面有了明显的改善,软件的升级也容易实现n实现组件的方法有实现组件的方法有

14、COM(只用于(只用于Window平台)、平台)、Corba(用于跨平台,主要(用于跨平台,主要用于用于Unix平台)和平台)和Internet网络中基于网络中基于Java环境的环境的EnterpriseJavaBean10庙攒掳接界研骡骂住搬畜责兢分捧涉帽扦婴踩自纬待谐组抚蜒寿鸳喝族吧第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.1三层三层/多层结构多层结构n三层体系结构是多层体系结构的基础三层体系结构是多层体系结构的基础n层是一个逻辑的概念,将层是一个逻辑的概念,将“客户客户/服务器服务器”的关系用的

15、关系用“请求请求/服务于该请求服务于该请求”的关系来描述的关系来描述n将网络上发出请求的机器认为是客户机,将响应该请求的机器认为是将网络上发出请求的机器认为是客户机,将响应该请求的机器认为是服务器,网络上有的机器既是客户机又是服务器。服务器,网络上有的机器既是客户机又是服务器。n使用多层体系构架模型,可将系统需求划分成可以明确定义的服务使用多层体系构架模型,可将系统需求划分成可以明确定义的服务n例如事务服务、名字服务等,将这些服务以组件的形式实现例如事务服务、名字服务等,将这些服务以组件的形式实现n一个组件可以实现系统中的一种或者多种服务,是这些服务的物理封一个组件可以实现系统中的一种或者多种

16、服务,是这些服务的物理封装。装。n根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件,并且根据业务的改动灵活地对这些服务组件进行活的部署这些组件,并且根据业务的改动灵活地对这些服务组件进行修改,而不影响其它的组件,从而降低维护的费用修改,而不影响其它的组件,从而降低维护的费用11倡凹瓷争召谭淬团庚卿俗狱狞淀无恋评逮仔痴液捣腥么襟浮芳窝福萎辑逗第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.1三层三层/多层结构多层结构n多层

17、应用程序的体系结构的优点:多层应用程序的体系结构的优点:n业务规则集中、瘦客户体系结构业务规则集中、瘦客户体系结构n自动错误调和、负载平衡自动错误调和、负载平衡n可重用性、灵活性可重用性、灵活性n可管理性、易维护性一系列优良的特性可管理性、易维护性一系列优良的特性12段书如泪预亚赁丢瞒敏辽被亲嚣硒规打怖湾茸乱钞亮持疫逝驶墟屡发痔正第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.2组件技术组件技术组件是指在采用组件技术开发的软件中,为实现一定的组件是指在采用组件技术开发的软件中,为实现一定的功能而独立编译的模

18、块或类。功能而独立编译的模块或类。基于组件化的程序设计思想基于组件化的程序设计思想将复杂的应用程序分解为一些小的、功能单一的组件模块将复杂的应用程序分解为一些小的、功能单一的组件模块这些模块可运行在同一台计算机上,也可分散运行在网络这些模块可运行在同一台计算机上,也可分散运行在网络中的任何一台计算机上中的任何一台计算机上组件技术是构造多层体系结构的基础组件技术是构造多层体系结构的基础组件不同于传统的模块或类,它具有依照组件不同于传统的模块或类,它具有依照COM、CORBA或或Javabean特征所规定的接口。特征所规定的接口。独立于语言,在组建应用程序时仅通过接口访问组件,不独立于语言,在组建

19、应用程序时仅通过接口访问组件,不涉及组件的内部细节,是保障软件安全和升级的最好手段涉及组件的内部细节,是保障软件安全和升级的最好手段13汐贾穷剧减厉紧逊拇波候愁崩用抛取仟纠毙抓槛茶阴勒弃蔫筐枉蓖欧政告第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.2组件技术组件技术企业在构建管理信息系统时必须要考虑安企业在构建管理信息系统时必须要考虑安全问题、升级问题、投入问题、服务器负全问题、升级问题、投入问题、服务器负担问题等。担问题等。组件服务器在客户和数据库服务器之间起组件服务器在客户和数据库服务器之间起了一个桥梁

20、作用了一个桥梁作用通常它定义了一个完整的逻辑接口通常它定义了一个完整的逻辑接口客户程序只是简单地访问这些接口客户程序只是简单地访问这些接口创建和维护数据库提供了极大的便利创建和维护数据库提供了极大的便利14蝗蕉畔服福卫峡之湛凶拆如渴贾足纯炭律瓢饱我琶才淬呐价奋耸凶药粉巴第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.2组件技术组件技术小应用程序小应用程序applet定义简单的容器组件接口,使得定义简单的容器组件接口,使得java代码可以嵌入代码可以嵌入web浏览器的浏览器的applet中运行。中运行。Jav

21、aBean定义编写定义编写java代码的标准模型,对外提供组件属性和事件以及与代码的标准模型,对外提供组件属性和事件以及与JavaBean容器的接口。容器一般嵌入到一个集成的开发环境中,如容器的接口。容器一般嵌入到一个集成的开发环境中,如tomcat、weblogic等。等。corba定义分布式访问用任何语言实现的组件标准模型。通过标准通信定义分布式访问用任何语言实现的组件标准模型。通过标准通信容器环境容器环境orb,把从分布式客户机发出的调用传至服务器端容器代,把从分布式客户机发出的调用传至服务器端容器代码,该代码激活分布式对象方法。码,该代码激活分布式对象方法。RMI远程方法调用远程方法调

22、用RMI为分布式访问组件提供可能。为分布式访问组件提供可能。RMI容器环境装备容器环境装备了了java平台,并扩展支持使用相同底层通信协议,如平台,并扩展支持使用相同底层通信协议,如CORBA的标准的标准通信协议。通信协议。15运韧矣畦昏杏几她钾操廖胆剩绳践耶魔鳞无尹性饺协嫡域腺迫笔加蓄灾铝第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.1.2组件技术组件技术COM在微软平台上实现组件交互的标准模型,分布式组件对象模型在微软平台上实现组件交互的标准模型,分布式组件对象模型DCOM是是COM的分布式通信版本。的分

23、布式通信版本。J2EEWeb组件组件javaservlet和和javaseverpage表示服务端的组件,它处理表示服务端的组件,它处理web请求和生请求和生成成WEB内容。内容。WEB组件运行和操作在基于组件运行和操作在基于J2EE的的WEB容器环境内部。容器环境内部。J2EE企业企业javabean企业企业javabean(EJB)是服务器端的遵守标准模型的应用组件,在是服务器端的遵守标准模型的应用组件,在EJB容器容器和服务器内操作,这样的服务器能够为和服务器内操作,这样的服务器能够为EJB提供一组标准的服务框架,提供一组标准的服务框架,如事务、安全和可扩展性等。如事务、安全和可扩展性等

24、。CORBAcomponentCORBAcomponent是基于是基于corba的应用服务模型,与的应用服务模型,与EJB模型非常相似。模型非常相似。微软的微软的DNA(分布式网络体系结构)(分布式网络体系结构)DNA是微软的集成式分布应用服务体系结构环境,该环境仅适合微软是微软的集成式分布应用服务体系结构环境,该环境仅适合微软平台。平台。DNA结合许多微软的标准组件并在微软平台上运行企业应用。结合许多微软的标准组件并在微软平台上运行企业应用。16赃狈笑高酮萧典貉缨此豆签炳级绚卜楚漠呆物诗宜莎回唤燥隆遁铲疙妄砚第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九

25、章第九章 软件开发体系结构软件开发体系结构 9.1.3数据库技术数据库技术数据库技术用于存储、维护企业经营活动中所产生的数据,并为数据库技术用于存储、维护企业经营活动中所产生的数据,并为企业决策提供数据支持。企业管理信息系统必须使用数据库技术。企业决策提供数据支持。企业管理信息系统必须使用数据库技术。目前成熟的数据库技术很多,如目前成熟的数据库技术很多,如Oracle、Sybase、MSSql-Server、Access、DB2等。等。Oracle数据库适合于大中型企业的信息管理系统数据库适合于大中型企业的信息管理系统Sybase和和DB2数据库适合于中型企业的信息管理系统数据库适合于中型企业

26、的信息管理系统MSSql-Server数据库适合于中小型企业的信息管理系统数据库适合于中小型企业的信息管理系统Access数据库仅适合于个人系统。数据库仅适合于个人系统。17庇袭帆馈脊夕慨馏体钟吹烯畜帛所尺话廓警堪遇拇脯壶美储奔琼吴伎惫侥第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2C/S体系结构体系结构9.2.1两层两层C/S体系结构体系结构9.2.2三层三层/多层多层C/S体系结构体系结构18董味塘脑诫蚀套鱼僧柿雪升勤竭学篡钱报剑腐颜朔赡床雄缩三浓藐色梆坦第9章 软件开发体系结构第9章 软件开发体系结构

27、数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.1两层两层C/S体系结构体系结构两层结构将应用一分为二,服务器(后台)负责数据管理,两层结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。客户机(前台)完成与用户的交互任务。把存储企业数据的数据库放在远程的服务器上,每台客户机上只把存储企业数据的数据库放在远程的服务器上,每台客户机上只安装相应软件安装相应软件客户机,其用户界面结合了表示层和业务逻辑层,接收用户的请客户机,其用户界面结合了表示层和业务逻辑层,接收用户的请求,并向数据库服务器提出请求求,并向数据库服务器提出请求

28、数据库服务器,响应客户的请求,并将数据提交给客户端,客户数据库服务器,响应客户的请求,并将数据提交给客户端,客户端再将数据进行计算并将结果呈现给用户。端再将数据进行计算并将结果呈现给用户。两层结构提供完善的安全保护及完整性处理等操作,允许两层结构提供完善的安全保护及完整性处理等操作,允许多个客户同时访问同一个数据库。多个客户同时访问同一个数据库。19胜日彭举招幕榔酱茂掖康百塞钦咯谍讶期卧绳憨知鹿施潦瑞孜铀阿肿闺桂第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.1两层两层C/S体系结构体系结构CS在技术上非常

29、成熟,模型简单,易于在技术上非常成熟,模型简单,易于理解和接受。主要特点理解和接受。主要特点交互性强、具有安全的存取模式、网络通信量交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但随着低、响应速度快、利于处理大量数据。但随着企业规模的日益扩大,软件的复杂程度不断提企业规模的日益扩大,软件的复杂程度不断提高高该结构存在以下局限:该结构存在以下局限:程序是针对性开发,变更不够灵活,维护和管理的程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。难度较大。通常只局限于小型局域网,不利于扩展。每台客户机都要安装相应的客户端程序,不能实现

30、每台客户机都要安装相应的客户端程序,不能实现快速部署安装和配置,要求具有一定专业水准的技快速部署安装和配置,要求具有一定专业水准的技术人员去完成。术人员去完成。20居窿彦六捏占瑚道幌带眉翱奴晴千瓮耀网朽恒总姜瀑藩亿绘始晶奴落碘绞第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.1两层两层C/S体系结构体系结构C/S结构是单一服务器且以局域网为中心的,所以结构是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或难以扩展至大型企业广域网或Internet。软、硬件的组合及集成能力有限。软、硬件的组合及集

31、成能力有限。客户机的负荷太重,不仅要实现表示层,还要实现客户机的负荷太重,不仅要实现表示层,还要实现业务逻辑层,一旦某个业务逻辑发生变化,则所有业务逻辑层,一旦某个业务逻辑发生变化,则所有的客户机软件必须重新安装。当企业中有大量的客的客户机软件必须重新安装。当企业中有大量的客户机时,系统的性能容易变坏,维护也相当不方便户机时,系统的性能容易变坏,维护也相当不方便开发开发C/S体系结构采用的主要工具有体系结构采用的主要工具有Borland公司的公司的Delphi,JbuilderSybase公司的公司的Powerbuilder微软公司的微软公司的VB、VF等等21赐廉反内盖侦瞩硒瘴育希兄瓦楞冈平

32、减砖顶赃赤墓菊篡疽限新狮蜀垦许类第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.2三层三层/多层多层C/S体系结构体系结构将用户界面同企业逻辑分离,将信息系统按功能划分为表示、功能和将用户界面同企业逻辑分离,将信息系统按功能划分为表示、功能和数据三大块,分别放置在相同或不同的硬件平台上。如果企业需要更数据三大块,分别放置在相同或不同的硬件平台上。如果企业需要更改业务,开发人员只要修改一下实现此业务的中间层即可。改业务,开发人员只要修改一下实现此业务的中间层即可。中间件是在计算机硬件和操作系统之上,支持应用软

33、件开发和运行的中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件。能够使应用软件相对独立于计算机硬件和操作系统平台。系统软件。能够使应用软件相对独立于计算机硬件和操作系统平台。中间件的工作机制是:中间件的工作机制是:客户端从网络中的某个地方获取一定的数据或服务客户端从网络中的某个地方获取一定的数据或服务这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中器中客户客户/服务器应用程序负责数据的部分只需访问一个中间件系统服务器应用程序负责数据的部分只需访问一个中间件系统由中间件完成到网络中

34、找到数据源或服务由中间件完成到网络中找到数据源或服务传输客户请求、重组答复信息传输客户请求、重组答复信息最后将结果送回应用程序的任务最后将结果送回应用程序的任务22衍莽赃误频荧脑覆脐踞析名棍谰善一吼冷长提析迟略片纱郑落曾笛妖顾贡第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.2三层三层/多层多层C/S体系结构体系结构在三层在三层C/S体系结构中,客户机实现体系结构中,客户机实现实现业务的表示层,以及最简单的业务规则实现业务的表示层,以及最简单的业务规则如编号的合法性、数据是否允许空值等如编号的合法性、数据是

35、否允许空值等负责接收客户的输入信息负责接收客户的输入信息将输入信息发送给中间件服务器将输入信息发送给中间件服务器客户机接收来自中间件服务器的结果信息并显客户机接收来自中间件服务器的结果信息并显示给客户示给客户23沮燕迪匆策振氧冕炯适令姓瘴钦告两述柜腆桩瓷蛛膝撤爱鳃想陀匣娃栽伎第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.2三层三层/多层多层C/S体系结构体系结构中间件服务器(组件服务器)实现大部分的客户业务规中间件服务器(组件服务器)实现大部分的客户业务规则则建立与后台数据库的连接建立与后台数据库的连接将

36、客户机发送过来的数据按照业务规则进行分类、加工和处将客户机发送过来的数据按照业务规则进行分类、加工和处理理生成相应的生成相应的SQL语句发送给数据库服务器语句发送给数据库服务器接收数据库服务器返回的数据或状态,并返回给客户机接收数据库服务器返回的数据或状态,并返回给客户机在网络中可以有多台中间件服务器在网络中可以有多台中间件服务器为提高系统的效率,可将企业的业务进行大类分类为提高系统的效率,可将企业的业务进行大类分类同类业务规则的实现放在同一台中间件服务器上,使得企业的业同类业务规则的实现放在同一台中间件服务器上,使得企业的业务处理达到真正的分布式处理。务处理达到真正的分布式处理。客户机访问中

37、间件服务器是通过其接口实现的客户机访问中间件服务器是通过其接口实现的所有对数据库的操作封装在中间件中,在很大程度上保证了数据所有对数据库的操作封装在中间件中,在很大程度上保证了数据库的安全库的安全24观拂受滋佳健遥昔坷脓次捏封踩盗拐窜瓢冶桥董珊落疏鸟褐锥告辰望普禁第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.2.2三层三层/多层多层C/S体系结构体系结构数据库服务器的功能与数据库服务器的功能与C/S结构是一样的,其结果数据返回给中结构是一样的,其结果数据返回给中间件服务器,而不是客户机。间件服务器,而不是客户

38、机。三层是多层体系结构的基础,中间件服务器可以再访问中间件服三层是多层体系结构的基础,中间件服务器可以再访问中间件服务器,这样就形成了多层体系结构。务器,这样就形成了多层体系结构。多层应用程序的体系结构有很多强过客户多层应用程序的体系结构有很多强过客户/服务器的优点:服务器的优点:业务规则集中、瘦客户体系结构业务规则集中、瘦客户体系结构自动错误调和、负载平衡、可重用性、灵活性自动错误调和、负载平衡、可重用性、灵活性可管理性、易维护性等一系列优良的特性可管理性、易维护性等一系列优良的特性25婚佣沦贝伟札迅浪苯约赤企李舱鳞匈厢邹咽荐薛酗蕉责蛹展师淤涪熊磐袭第9章 软件开发体系结构第9章 软件开发体

39、系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3B/S体系结构体系结构9.3.1三层B/S体系结构9.3.2多层B/S体系结构9.3.3C/S与B/S结构的结合26骄矾哄荣座拢忆懦斩虱嗽真信妙舌柯亨芒辩钳士恨球拖纶碳陷岭咎掘红挚第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.1三层三层B/S体系结构体系结构B/S结构利用了不断成熟的结构利用了不断成熟的WWW技术,结合多种技术,结合多种Script语言语言(VBScript、JavaScript)和和ActiveX

40、技术,是一技术,是一种全新的软件系统构造技术种全新的软件系统构造技术在三层在三层B/S体系结构中体系结构中用户通过浏览器向用户通过浏览器向WEB服务器发出请求服务器发出请求WEB服务器对请求进行处理服务器对请求进行处理若涉及到访问数据库中的数据,则由若涉及到访问数据库中的数据,则由WEB服务器向数据库服服务器向数据库服务器发出请求务器发出请求数据库服务器接收到请求并处理,将处理后的数据或状态返数据库服务器接收到请求并处理,将处理后的数据或状态返回给回给WEB服务器服务器由由WEB服务器对数据进行加工处理,生成动态网页返回到客服务器对数据进行加工处理,生成动态网页返回到客户的浏览器中户的浏览器中

41、27泉尾褂恫裳旅患爹升劲蜘欺广勺夸则均蔽凑壶乱杉定抹既负龙疽怒盅幼哮第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.1三层三层B/S体系结构体系结构三层三层B/S体系结构,其客户端只需要安装一个浏览器即可。体系结构,其客户端只需要安装一个浏览器即可。实际上实际上B/S结构把结构把C/S结构的事务处理逻辑模块从客户机结构的事务处理逻辑模块从客户机中分离出来,由中分离出来,由Web服务器来负担服务器来负担客户机一下子客户机一下子苗条苗条了。不再负责处理复杂计算和数据访问了。不再负责处理复杂计算和数据访问等关键事

42、务,只负责显示部分。等关键事务,只负责显示部分。B/S结构也暴露许多不足地方,具体表现:结构也暴露许多不足地方,具体表现:由于浏览器只是为了由于浏览器只是为了WEB浏览而设计的,当应用于数据库系浏览而设计的,当应用于数据库系统时,许多功能不能实现或实现起来比较困难。如进行大量统时,许多功能不能实现或实现起来比较困难。如进行大量的数据输入,或进行报表的应答都比较困难和不便的数据输入,或进行报表的应答都比较困难和不便复杂应用构造困难。虽然可用复杂应用构造困难。虽然可用ActiveX、Java等技术,但是相等技术,但是相对成熟的对成熟的C/S来说,这些技术的开发复杂来说,这些技术的开发复杂HTTP可

43、靠性低,可能造成应用故障。对于管理者来说,采用可靠性低,可能造成应用故障。对于管理者来说,采用浏览器方式进行系统的维护非常不安全和不方便浏览器方式进行系统的维护非常不安全和不方便28融傲恨雪倘扑梁怜刚狐密狼茄正晴彬弯酥帛堰黔疲况澈遂伎柬咙坟五甜命第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.1三层三层B/S体系结构体系结构WEB服务器成为对数据库的唯一的客户端服务器成为对数据库的唯一的客户端所有对数据库的连接都通过该服务器实现所有对数据库的连接都通过该服务器实现WEB服务器同时要处理与客户请求以及与数据库

44、的连接服务器同时要处理与客户请求以及与数据库的连接当访问量大时,服务器端负载过重当访问量大时,服务器端负载过重业务逻辑和数据访问程序一般由业务逻辑和数据访问程序一般由JavaScript、VBScript等嵌入等嵌入式小程序实现,分散在各个页面里,难以实现共享,给升级式小程序实现,分散在各个页面里,难以实现共享,给升级和维护也带来了不便。同时由于源代码的开放性,使得商业和维护也带来了不便。同时由于源代码的开放性,使得商业规则很容易暴露规则很容易暴露由于存在上述问题,又提出多层由于存在上述问题,又提出多层B/S体系结构体系结构29库啼求偿唾棵称编吝茧零砌汇课咯甄勺舍仿穗凸卿璃与譬互陪胚奠留馁瘦第

45、9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.2多层多层B/S体系结构体系结构多层多层B/S体系结构是在三层体系结构是在三层B/S结构中增加了一个或多结构中增加了一个或多个中间层。该层使用中间件技术。个中间层。该层使用中间件技术。在多层在多层B/S体系结构中体系结构中WEB服务器主要是接收数据请求,对数据进行加工,将加服务器主要是接收数据请求,对数据进行加工,将加工后的结果返回以及动态网页生成工后的结果返回以及动态网页生成涉及对数据库的访问和企业的业务规则,则向应用服务器涉及对数据库的访问和企业的业务规则,

46、则向应用服务器发出请求发出请求应用服务器根据请求向数据库服务器发出请求应用服务器根据请求向数据库服务器发出请求数据库服务器响应请求,将结果或状态返回给应用服务器数据库服务器响应请求,将结果或状态返回给应用服务器应用服务器再依据企业的业务规则对数据进行加工、整理,应用服务器再依据企业的业务规则对数据进行加工、整理,并将处理后的数据返回给并将处理后的数据返回给WEB服务器服务器WEB服务器以动态网页的形式返回给客户浏览器服务器以动态网页的形式返回给客户浏览器30受托瘟莽孜舶搭麓胸越硝各秉排噪画曲察脚钡榷菠誓凭椒馋拭宴理码溪恫第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统

47、及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.2多层多层B/S体系结构体系结构从多层从多层B/S体系结构的流程可以看出体系结构的流程可以看出WEB服务器不直接访问数据库服务器服务器不直接访问数据库服务器通过应用服务器,将企业的业务规则以及对数通过应用服务器,将企业的业务规则以及对数据库的操作封装在应用服务器的组件中据库的操作封装在应用服务器的组件中WEB服务器仅仅通过应用服务器中的组件提供服务器仅仅通过应用服务器中的组件提供的接口实现相应的业务操作的接口实现相应的业务操作很大程度提高了很大程度提高了B/S的安全性的安全性31给漂芜疑沏酥驯恨婪侧膛露纯垦苑佬豺唁衅七据禁屎愿彭菊蓖

48、骂吕鄙涣木第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.2多层多层B/S体系结构体系结构市场上有很多应用服务器软件,应用服务器可直接作为市场上有很多应用服务器软件,应用服务器可直接作为WEB服务器服务器使用使用作为一个安全的企业级的管理信息系统,必须将作为一个安全的企业级的管理信息系统,必须将WEB服务器与应用服务器与应用服务器物理分开。著名的应用服务器有:服务器物理分开。著名的应用服务器有:BEA公司生产的公司生产的WeblogicApplicationServerBorland公司生产的公司生产的En

49、terpriseServerAppServerServerOracle公司生产的公司生产的OracleApplicationServerIBM公司生产的公司生产的WebsphereApplicationServer微软公司生产的微软公司生产的MBS结构的主要特点是结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体成本低分布性强、维护方便、开发简单且共享性强、总体成本低对服务器要求过高、数据传输速度慢对服务器要求过高、数据传输速度慢软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求提出一种将提出一种将C/S与与B/S结构

50、结合起来的方法。结构结合起来的方法。32徊狞皆癣似绩毕起拉知因仑馈和粳荆矗宋西轧致臆赌宵铣隘救寥迢橇幻手第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.3C/S与与B/S结构的结合结构的结合对于企业外部客户,或者一些需要用对于企业外部客户,或者一些需要用WEB处处理的、满足大多数访问者请求的功能界面(如理的、满足大多数访问者请求的功能界面(如信息发布、数据查询、下订单、维修服务等界信息发布、数据查询、下订单、维修服务等界面)采用面)采用B/S结构结构对企业内部少数人使用的功能应用(如数据对企业内部少数人使用

51、的功能应用(如数据库维护管理、统计报表、数据分析、业务处理库维护管理、统计报表、数据分析、业务处理等界面)采用等界面)采用C/S结构,其体系结构如图所示。结构,其体系结构如图所示。33奔帧楔蚕裹囱帮立负睡吹摄枪务秸腾私润篱垛笛云圾吏谜担恃蚂晒涝即多第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 34貉砚乖鞘逮柏几擂殷筷拎瞻鸯拱沮亏痉店炽束轴赃尿门谚耸衙贺凄胰忌诚第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.3C/S与与B/S结

52、构的结合结构的结合这种结构优点这种结构优点:充分发挥充分发挥B/S与与C/S结构的优势,弥补二者不足。结构的优势,弥补二者不足。信息发布、数据查询、下订单、维修服务等采用信息发布、数据查询、下订单、维修服务等采用B/S结结构,保持瘦客户端的优点构,保持瘦客户端的优点企业内部采用企业内部采用C/S结构,这部分只涉及到系统维护、数结构,这部分只涉及到系统维护、数据更新等,不存在完全采用据更新等,不存在完全采用C/S结构带来的客户端维护结构带来的客户端维护工作量大等缺点。并且在客户端可以构造非常复杂的应工作量大等缺点。并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多用,界面友好

53、灵活,易于操作,能解决许多B/S存在的存在的固有的缺点。固有的缺点。对于原有基于对于原有基于C/S结构的应用,可以非常容易地升级到结构的应用,可以非常容易地升级到这种体系结构。只需开发用于发布的这种体系结构。只需开发用于发布的WWW界面,节省界面,节省投资。投资。35泉恭篡飘甘墟魏墅拣钾赠楚籽盖逊扔乔财缮欢氛概判屑磅刺葱青胺匙蜡积第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.3.3C/S与与B/S结构的结合结构的结合通过在浏览器中嵌入通过在浏览器中嵌入ActiveX控件实现复杂的功控件实现复杂的功能。如通过浏

54、览器进行报表的应答。另外,客能。如通过浏览器进行报表的应答。另外,客户端户端ActiveX控件的加盟,可以丰富控件的加盟,可以丰富HTML页面,页面,产生令人惊奇的效果。产生令人惊奇的效果。将服务器端划分为将服务器端划分为WEB服务器和应用服务器两服务器和应用服务器两部分。应用服务器采用组件技术实现多层部分。应用服务器采用组件技术实现多层B/S体体系结构中的商业逻辑部分,达到封装源代码,系结构中的商业逻辑部分,达到封装源代码,保护知识产权的目的保护知识产权的目的36谢德腹津譬柯题镣眺窥疮俩雅酒锯肖悍坪就崇品英捶挚腺椅卫疫姚棚峪捏第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数

55、据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4常用开发体系结构常用开发体系结构9.4.1C/S结构编程体系9.4.2B/S结构编程体系9.4.3MVC开发模型37郝惩幢锤衍矿呵渍隶辱牙壶况谰辗逸停丸锻港泌森筑渴缠鲤借冰钞车戊假第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.1C/S结构编程体系结构编程体系C/S体系结构主要采用的编程语言有体系结构主要采用的编程语言有VB、Delphi和和Powerbuilder后台数据库有后台数据库有Sql-server2000、Oracle、DB2、

56、Sybase38捂捣识龙妖旱水酌狞埂癣键组恕傀亦讥敬询橡盟傲庙郭躲屉萍午帘厚派丘第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.2B/S结构编程体系结构编程体系B/S结构的编程语言分为浏览器端编程语言和结构的编程语言分为浏览器端编程语言和服务器端编程语服务器端编程语浏览器端包括浏览器端包括HTML(HypertextMarkupLanguage,超文本标记,超文本标记语)语)CSS(CascadingStyleSheets,层叠样式表单,层叠样式表单JavaScript语言语言VBScript语言语言39地

57、暂祥怕放呐包帽歧堰沪础悔线曾鸡爷隔于镀堵缺夏吞栓混泅僻闽颈最凉第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.2B/S结构编程体系结构编程体系服务器端编程语言主要是服务器端编程语言主要是3P技术技术ASP技术是微软公司推出的,专门用于技术是微软公司推出的,专门用于Windows平平台的开发语言。后台数据库可以采用台的开发语言。后台数据库可以采用Sql-server、Oracle、DB2、Sybase等等JSP技术是技术是SUN公司推出的,专门用于公司推出的,专门用于java平台的开平台的开发语言。后台数据库

58、可以采用发语言。后台数据库可以采用Oracle、DB2、Sybase等等PHP技术是在技术是在1999年下半年和年下半年和2000年用得非常广泛年用得非常广泛的一种技术,专门用于构造的一种技术,专门用于构造Linux+PHP+MySQL(一(一种小型数据库管理系统)平台的全免费且非常稳定种小型数据库管理系统)平台的全免费且非常稳定的应用平台的应用平台40乘鸟呜胡撬镍馒滚揖钻尚蔓黔例裹兰岳晨殷霜欣腑儡仍怂监盂韶籽痕坊腾第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.3MVC开发模型开发模型Model-View

59、-Controlle(模型模型-视图视图-控制控制)设计模式,简称设计模式,简称MVC模式。模式。MVC架构模式是架构模式是80年代中期在年代中期在Smalltalk-80GUI(一种经典的面向对象程序(一种经典的面向对象程序设计语言)实验室发明的。设计语言)实验室发明的。MVC模式将软件分为商务逻辑(模式将软件分为商务逻辑(Model)和显示)和显示(View)两部分,其好处:两部分,其好处:同一商务逻辑层(同一商务逻辑层(Model)可能会对应多个显示层()可能会对应多个显示层(View)如果商务逻辑层和显示层放在一起,再添加一个显示层会极大如果商务逻辑层和显示层放在一起,再添加一个显示层

60、会极大的增加组件的复杂性的增加组件的复杂性一个商务逻辑对着两个显示层的例子是:银行帐户的商务逻辑一个商务逻辑对着两个显示层的例子是:银行帐户的商务逻辑层对应层对应ATM和和Internet两个显示层。两个显示层。通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层41贝爆姻昌润敖焕汽鸟检叔亢滔骄颧砸韶吵窍碎靠并瓤惠准纯遵湛需缆奇驹第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.3MVC开发模型开发模型MVC模型的含义模型的含义Model层:一般

61、利用组件进行设计,在复杂的商务逻辑上,提供简单并且层:一般利用组件进行设计,在复杂的商务逻辑上,提供简单并且统一的应用程序接口。这一层负责管理应用程序的行为和状态,响应状统一的应用程序接口。这一层负责管理应用程序的行为和状态,响应状态的请求和改变状态的指令。态的请求和改变状态的指令。View层:从层:从Model层和层和Controler层获取数据,并按照某种方式显示给用户。层获取数据,并按照某种方式显示给用户。Controller层:捕捉用户的一些事件,并根据用户和应用程序的状态来决层:捕捉用户的一些事件,并根据用户和应用程序的状态来决定响应的类型。定响应的类型。Controller层的响应

62、会同时影响到层的响应会同时影响到View层和层和Model层。层。42治抒姑兢队懒誓逝糕骄重佩设攫沉高盅箔首口乍妒馁适尝凋捆颇争参紫枕第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.3MVC开发模型开发模型MVC中三层的关系中三层的关系MVC在在JSP中的设计模式中的设计模式使用使用JSP实现客户页面,通过实现客户页面,通过Servlet完成大量的事务处理工作以实现用户的商业逻完成大量的事务处理工作以实现用户的商业逻辑。辑。Servlet用于处理请求的事务,充当了控制器(用于处理请求的事务,充当了控制器(C

63、ontroller即即“C”)的角色,负责响应)的角色,负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。页面发送给客户。JSP页面处于表现层,也就是视图(页面处于表现层,也就是视图(View即即“V”)的角色。)的角色。JavaBean负责数据的处理,也就是模型(负责数据的处理,也就是模型(Model即即“M”)的角色)的角色43兼刊家蛙间决莲袱带艇噶乎蔗蜂啮壬戳撮感粗恍漆诉疹挞咖误赛孟篙舰磁第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发

64、体系结构 9.4.3MVC开发模型开发模型图描述了基于图描述了基于JSP的的MVC设计模式。设计模式。44殆烯咨奄斜镶现泛兔孜庞史彤讳晃购腊畦玉押烽嘿戴扶圾喳百抑辉抉丢伎第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 MVC工作步骤工作步骤java用户在表单中输入,表单提交给用户在表单中输入,表单提交给Servlet,Servlet验证输入,然后实例化验证输入,然后实例化JavaBeanJavaBean查询数据库,查询结果暂存在查询数据库,查询结果暂存在JavaBean中中Servlet跳转到跳转到JSP,JSP使

65、用使用JavaBean,得到它,得到它的查询结果,并显示出来的查询结果,并显示出来45昭慧吧眶配艰害淀帜谅呛轨件美谬穿蛮守戎择泞两哗级涝雨所瓦合肌枝吭第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 9.4.3MVC开发模型开发模型有两种实现模型:有两种实现模型:基于基于bean的的MVC模型模型JavaBean(M)+JSP(V)+ServletEJB(M)+JSP(V)+Servlet(C)基于基于Stucts的的MVC模型。模型。Struts是是Apache组织的一个项目,它也是开放源码项目。组织的一个项目,它

66、也是开放源码项目。Struts是一个比较好的是一个比较好的MVC框架。提供了对开发框架。提供了对开发MVC系统的底层支持,采用系统的底层支持,采用的主要技术是的主要技术是Servlet,JSP和和customtaglibraryEJB属于重量级的实体属于重量级的实体bean,目前采用,目前采用Spring+Hibernate框架构造框架构造企业级的应用企业级的应用Hibernate是一个开放源代码的对象关系映射框架,它对是一个开放源代码的对象关系映射框架,它对JDBC进进行了轻量级的对象封装。行了轻量级的对象封装。Hibernate可以在应用可以在应用EJB的的J2EE架构中取代架构中取代CM

67、P,完成数据的持久,完成数据的持久化。化。46榷豢吭放轮兄样亩烁争尘酪羹辑乎晕若甩宵疡狙极当芽吱笺邓陆虚磁功粗第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 Struts框架简介框架简介基于基于MVC(ModelViewController)模型的模型的Struts框架越来越受到框架越来越受到web系统开发者的青睐系统开发者的青睐Struts建立在动态网站设计中建立在动态网站设计中JSP、Servlet、XML等等相关开发技术基础之上的一种主流开发架构相关开发技术基础之上的一种主流开发架构具有组件模块化、灵活性和重

68、用性的优点,极大地简化具有组件模块化、灵活性和重用性的优点,极大地简化了了Web应用程序的开发应用程序的开发它合理地将用户表示逻辑、业务逻辑和控制逻辑它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性件的可维护性和可重用性47世助禾龄困侵凹郡二恫遣桨僚梗沂山挎岭阁残韶姬音灰京付峪姿诅膨蛊饮第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 Struts框架简介框架简介Struts是为了规范是为了规范MVC开发而发布的一个开

69、发而发布的一个框架。类似的框架还有框架。类似的框架还有WebWork、SpringMVC等等要编写基于要编写基于Struts框架的应用,需要导入一框架的应用,需要导入一些支持的包,也就是些支持的包,也就是Struts开发包开发包下载地址为:下载地址为:http:/struts.apache.org/http:/struts.apache.org/48粱泛掩屑辙拧雍挥炽疏钙浪吸仙境桓塘勺蹋髓壶挤魁卿谬涎瞳亭渝捏信斟第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 Struts框架简介框架简介Struts体系结构实现了体

70、系结构实现了MVC设计模式的概念,设计模式的概念,它将它将Model、View和和Controller分别映射到分别映射到Web应用中的组件应用中的组件Model由代表系统状态和商业逻辑由代表系统状态和商业逻辑Action来构建来构建View由由JSP和和struts提供的自定义标签来实现提供的自定义标签来实现Controller负责控制流程,由负责控制流程,由ActionServlet和和ActionMapping来完成来完成49炯辉射学滨眉嘲查卡彰凌内荣听撵蒸自耀摔酬躲民人珍舒面伦稼相榨榜贫第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开

71、发体系结构软件开发体系结构 Struts框架简介框架简介Struts的基本结构如图所示。的基本结构如图所示。50召谎机猜隘镐晦桩漱奸嫉寥还迹长谓陡寓渡楞尸图咀江穗竣抨藻扼梗丧狐第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 Struts框架简介框架简介对于一个动作,其执行步骤为:对于一个动作,其执行步骤为:用户输入,用户输入,JSP表单提交给表单提交给ActionServletActionServlet将表单信息封装在将表单信息封装在ActionForm内,内,转交转交ActionActionServlet不直接处

72、理业务逻辑,让不直接处理业务逻辑,让Action来调用来调用JavaBean(DAO)Action返回要跳转到的返回要跳转到的JSP页面地址给页面地址给ActionServletActionServlet进行跳转,结果在进行跳转,结果在JSP上显示上显示51况疲忘状瀑闯卯测詹郊社蚊奖鸦钙弛诣蕴熬裤习柳算工杏乘厅杰荡手典氨第9章 软件开发体系结构第9章 软件开发体系结构数据库系统及应用数据库系统及应用第九章第九章 软件开发体系结构软件开发体系结构 本章小结本章小结介绍了软件开发体系结构,重点讨论了介绍了软件开发体系结构,重点讨论了C/S和和B/S的体系结构,详细地描述了两层结构、三的体系结构,详细地描述了两层结构、三层结构和层结构和N层结构在层结构在C/S和和B/S体系结构的应用体系结构的应用和实现和实现52南藉关僳羡耐碱溯侦锣卉郁凉柬深屁痘啦狙戏淹施埋骄模衫毫音撬稽后做第9章 软件开发体系结构第9章 软件开发体系结构

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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