【教学课件】第三章应用软件集成体系结构.ppt
《【教学课件】第三章应用软件集成体系结构.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第三章应用软件集成体系结构.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 应用软件集成体系结构l概述 l客户机/服务器模式l分布式计算l软件重用技术l中间件技术lJ2EE应用架构l.NET应用架构l基于组件的软件开发1/9/202313.1 概述l软件应用架构 20世纪60年代到70年代,软件危机使软件成本日益增长,开发速度难以控制,质量无法保证,软件的维护困难等。-软件工程 软件工程发展初期,设计的重点是数据结构和算法的选择上。随着规模和复杂度的变化,人们开始认识到软件架构的重要性。l软件架构的定义 将软件系统划分成多个模块,明确各模块之间的相互作用,组合起来实现系统的全部特征,就是系统的架构。软件架构为软件系统提供了一个结构、行为和属性的高级抽象,并由构
2、成系统的元素的描述及元素的相互作用、元素集成的模式,以及这些模式的约束组成。1/9/202323.1 概述l软件架构的作用l软件架构是系统环境中的一个高层概念,每个系统都有一个架构。架构是用于表达整个系统的结构和行为的模型,表达系统如何满足其环境上下文的要求,并表示主要的系统构件、其交互和依赖关系,以及其操作所需满足的约束。l软件架构模型l研究软件架构的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模角度(侧重点)不同,通常将软件架构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。l最常用的是结构模型和动态模型。1/9/202333.1 概述l应用软件的计算模式l应
3、用系统在某种计算问题的解决过程中,采用的对计算资源的组织、调度上的某种有效方法。l计算资源是参与计算过程的所有资源:处理器、存储器、通信线路、程序和数据等。l从发展历程看,应用系统的计算模式主要包括集中式和分布式计算。l20世纪80年代之前,人们深入思考的是如何充分利用计算资源。l近年来,网络技术的发展使得分布式计算技术成为核心技术。l工业化分布式计算技术的发展已经经历了两代:第一代分布式计算技术是以支持信息共享为目标的面向过程的客户机/服务器技术;第二代分布计算技术是以面向对象为主要特征的分布式对象技术。l当前以Internet为平台的Agent计算、网格计算等分布式计算技术逐步深入的影响未
4、来分布式计算技术的发展。1/9/202343.2 客户机/服务器模式l两层C/S模式lC/S的核心特征是任务的分解,由不同的计算资源承担任务,通过协作完成任务。l两层C/S模式是最早使用的C/S模式。客户端操作系统客户端操作系统应用业务逻辑应用业务逻辑用户交互界面用户交互界面数据库数据库数据库管理系统数据库管理系统网络操作系统网络操作系统服务器客户机RequestResponse1/9/202353.2 客户机/服务器模式lB/S结构lBrower/Server 浏览器/服务器模式数据库数据库数据库管理系统数据库管理系统网络操作系统网络操作系统服务数据库访问系统数据库访问系统Web支撑系统支撑
5、系统网络操作系统网络操作系统Web服务客户操作系统客户操作系统浏览器浏览器客户机HTTP CGI TCP/IP IIOP Active XRequestRequestHTTPTCP/IP1/9/202363.2 客户机/服务器模式l多层C/S结构lB/S模式在构造复杂应用系统时,利用CGI等技术开发部署很难提高系统运行效率。l现有的Web服务器支撑系统很难对各类中间件进行有效的管理和组织,需要专门针对中间件的支撑系统。l数据操纵的安全性很难保障。l应用系统被划分为:客户层、表示层、业务逻辑层(应用层)、数据管理层(数据层)。1/9/202373.2 客户机/服务器模式l多层C/S模式中,应用系
6、统被划分为客户层:一般PC,通过浏览器与Web服务器联系,访问Web服务器资源。表示层:Web服务器,接受用户交互式操作,并将操作请求传递给应用服务器。业务逻辑层:应用服务支撑系统,分布式对象管理容器,接受Web服务器的请求,执行业务逻辑返回结果,与后台数据库绑定,一般将数据库资源映射为数据对象。数据管理层:数据库服务器。1/9/202383.2 客户机/服务器模式l多层C/S结构的基本计算过程对多层C/S模式的支持规范主要有Sun的J2EE和微软的.NET。数据库数据库数据库管理系统数据库管理系统网络操作系统网络操作系统数据库服务器应用逻辑应用逻辑中间件管理容器中间件管理容器网络操作系统网络
7、操作系统应用服务器客户操作系统客户操作系统浏览器浏览器客户机请请求求Web支撑系统支撑系统网络操作系统网络操作系统Web服务器服务服务1/9/202393.3 分布式计算l移动Agentl20世纪90年代初由General Magic 公司在推出商业Telescript时提出的,主要思想在于:结合Agent技术和分布式计算技术,将服务请求Agent动态移到服务器端执行。使此Agent较少依赖网络传输,而直接面对要访问的服务器资源,降低了对网络带宽的依赖。l移动Agent不需要统一调度,由用户创建的Agent,用户可自行创建多个Agent,同时在一个或多个节点上运行,形成并行求解能力。l可自行决
8、定何时中断任务,并将自己转移到另一台机器上。l具有自治性和智能路由的性能。1/9/2023103.3 分布式计算l网格计算lGrid称为网格计算l思想在于:将闲置在Internet各处的MIPS捆绑在一起加以利用,以便用累积的计算能力来完成超级计算机的任务。l网格计算主要应用在大批量的小任务,如:声视频点播,具有突发的大量的资源需求,实时分布式仪表系统等。l目前对网格的一般理解是指把整个互联网或某个区域整合成统一的计算机系统。l网格的根本特征不在于规模,而是资源的广泛共享。1/9/2023113.3 分布式计算l分布式对象技术l分布式技术的应用使得系统规模越来越大。l网络间的异构问题必须解决。
9、l分布式系统的复杂性使得系统的可靠性降低。l分布式软件的开发和维护成本高昂。l通过结合面向对象技术,实现分布式软件的可移植性、互操作性、可靠性和可重用性。l屏蔽了不同系统间的差异和底层细节,减小分布式系统开发难度,提高分布式软件的性能。l目前主流的有:COM/DCOM、Java、COBRA1/9/2023123.3 分布式计算l分布式对象技术l采用了面向对象技术中的封装性和继承性两大特点。所操作的对象通常称之为组件。客户客户stub线路协议客户端服务器服务器stub线路协议服务器端网络环境网络环境高层中层底层1/9/2023133.4 软件重用技术l软件重用概念l指在两次或多次不同的软件开发过
10、程中重复使用相同或相近软件元素的过程。l软件元素包括:程序代码、测试用例、设计文档、设计过程、需求分析文档或领域知识。l将这种可重用的元素成为软构件,可重用的软件元素越大,重用的粒度越大。l基于构件的软件开发通常包括构件获取、构件分类和检索、构件评估、适应性修改,以及将现有的构件在新的语境下组装成新的系统的过程。l软件重用中的构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确标识的元素。1/9/2023143.4 软件重用技术l面向重用的软件开发l需考虑“使用重用的开发(Develop with reuse)”和“用于重用的开发(Develop for reuse)”
11、。前者使用已有的构件进行软件开发;后者的目的是开发可重用的软件。l用户需根据应用领域的特点及相似性确定构件的可重用性。l一旦确定了重用价值,就可以将构件的设计通用化,然后将其加入到构件库。l整个软件的开发过程是构件的不断积累、不断完善的渐进过程。l在开发的过程中对构件修改、或替代原有构件。1/9/2023153.4 软件重用技术l面向重用的软件开发l以面向对象方法为基础,增强软件的重用性。l开发过程中可重用的构件,可以使面向对象方法中的对象或对象的集合,也可以使非面向对象方法中的可重用构件。领域分析软件开发理解构件功能检索所需构件确认构件的重要性可重用构件库领域知识用户需求目标软件1/9/20
12、23163.5 中间件技术l中间件概念l中间件(Middleware)是位于硬件、操作系统等平台和应用之间的通用服务。中间件(系统服务)应用程序1应用程序2应用程序3操作系统/硬件平台1操作系统/硬件平台21/9/2023173.5 中间件技术l中间件的目的l实现应用与平台的无关性,满足大量应用的需要。l中间件的作用l屏蔽操作系统和网络协议的差异,为应用程序提供多种通信机制满足不同领域的应用需要。l中间件服务所遵循的原则离实际还有很大的距离。多数中间件使用专有的协议,使应用只能构件在单一的厂家的产品之上。l有些中间件只提供某些平台的实现,限制了应用在异构系统之间的移植。1/9/2023183.
13、5 中间件技术l中间件的分类l数据库访问中间件l远程过程调用中间件l面向消息中间件l事务中间件l分布式对象中间件1/9/2023193.5 中间件技术l数据库访问中间件通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型的如:Windows下的ODBC和Java中的JDBCl远程过程调用中间件一个应用程序使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。一个RPC应用分为两个部分:服务器和客户服务器提供一个或多个远程过程;客户向服务器发出远程调用。客户和服务器之间的网络通信和数据转换通过代理程序(stub 与 skeleton)完成
14、,从而屏蔽了不同操作系统和网络协议。1/9/2023203.5 中间件技术l面向消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并可基于数据通信进行分布系统的集成。典型的产品:IBM的MQSeries使用MOM,通信双方的程序可以在不同的时间运行,程序不在网络上直接通话。消息放入适当的队列,等待目标程序运行。避免了网络通信的复杂性。消息队列和网络通信的维护工作由MOM完成。1/9/2023213.5 中间件技术l分布式对象中间件l采用分布式对象技术,结合面向对象技术实现。l对象请求代理(Object Request Broker,ORB)模型提供了一个通信框架,在异构的分布计算环境
15、中透明地传递对象请求。lORB是一种对象总线,定义了异构环境下对象透明的发送请求和接受响应的基本机制,是建立对象之间客户/服务器关系的中间件。lORB使对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可在本地也可远程lORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。l客户不需要知道服务器的信息。1/9/2023223.5 中间件技术l事务中间件(Transaction Processing Monitor)最早出现在大型机上,为其提供大规模事务处理的可靠运行环境。事务处理监控程序位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等
16、任务。随着对象技术和事务技术的结合,出现了对象事务监控器,可保证分布式对象的事务完整性。事务中间件可以满足现代业务应用系统的12条基本原则:完整性、安全性、可伸缩性、可用性、可管理性、互操作性、适应性、易开发性、经济性、快速的响应时间、数据的可分布性、易用性。采用商业事务中间件的优势在于缩短产品投放市场所需的时间、节省应用开发费用、减少系统运行开销、简化应用集成、降低软件的维护费用等。1/9/2023233.5 中间件技术l构件技术与中间件l中间件作为存在于系统软件与应用之间的特殊层次,对典型的应用模式进行抽象,从而使应用软件开阿人员可以将精力更多地放在业务逻辑上,并按照标准形式进行开发,从而
17、使软件架构的应用成为可能。l构件的使用对架构技术(即环境、基础设施、计算平台等)有极大的依赖性。只有在适当的架构中,软件才有可能被抽象成为构件。l中间件,从本质上说是对分布式应用的抽象,抛开了与应用相关的业务逻辑细节,保留了典型的分布交互模式的关键特征。经过抽象,对复杂的分布式系统进行提炼和必要的封装隔离后,以统一的形式呈现给应用。l中间件与架构是从两种不同的角度看待软件的中间层次,可以将中间件理解为架构或构建模型的具体实现,是构件存在的基础,中间件促进了软件的构件化。l中间件作为分布式计算平台,涉及各种不同的资源,包括各种操作系统、数据库、网络协议甚至语言,其目标是在分布的环境中统一使用这些
18、资源。1/9/2023243.5 中间件技术l应用服务器l应用服务器(Application Server)是企业极应用在Internet上迅速发展的条件下,出现的一种中间件技术。它可以处理客户和数据之间的交互操作,并提供一组前面提到的中间件服务,包括事务管理、ORB、MOM、系统安全、负载均衡及资源管理等。l应用服务器还提供了一个称为容器的管理环境,可以对应用中的组件进行配置和管理。l应用服务器在技术上并没有任何标准和规范是为某个商业性公司所独占,全部都基于Internet上的开放标准,因而具有极强的生命力。l使用应用服务器可以帮助企业构建一个基于Internet的电子商务系统,而且拥有很高
19、的稳定性、可扩展性和安全性。l应用服务器向企业级用户提供了设计、开发、部署、运行和管理Internet电子商务应用系统的平台,适用于Internet上的电子商务应用。1/9/2023253.5 中间件技术l应用服务器的优点在于:三层架构体系:适合Internet环境,使系统具有很强的可扩展性和可管理性。分布式环境:保证系统的稳定性,同时拥有较高的性能。面向对象的模块化构件设计:提高开发速度,降低开发成本。采用Java技术:完全跨平台,适合Internet需要,并获得大多数厂商的支持,可以保护用户的投资。应用服务器采用的三层(多层)架构,将应用逻辑单独作为一层,客户可以根据不同的应用逻辑专心设计
20、该层。需要扩展业务时,只需专注于改进中间层的设计,使原系统能够平滑方便地升级。1/9/2023263.6 J2EE应用架构lJ2EE(Java 2 Platform Enterprise Edition)l是Sun公司领导、各厂商共同制定并得到广泛认可的工业标准。lJ2EE将开发工作分为两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器自动处理,不必为中间层的资源和运行管理进行编码。将更多的开发精力集中在应用程序的业务逻辑和表示逻辑上,从而缩短企业的应用开发周期、有效保护企业的投资。1/9/2023273.6 J2EE应用架构lJ2ME(Java 2 Platform Micro
21、Edition)Java2平台简化版,适合嵌入式系统开发。lJ2SE(Java 2 Platform Standard Edition)Java2平台标准版,是为Java Applet和应用程序提供的Java标准运行环境支持的平台,包括输入/输出和图形用户界面等。lJ2EE(Java 2 Platform Enterprise Edition)Java 2平台企业版,将Java企业级API捆绑在一起的成为Java语言进行服务器端的企业应用部署的开发平台。J2EE运行在J2SE之上。1/9/2023283.6 J2EE应用架构lJ2EE技术规范规范简称Java Message Service:J
22、ava消息服务,允许分布对象之间的异步通信JMSJava Mail:Java邮件,满足平台无关,协议无关方式的邮件发送Java MailJava Interface Definition Language:Java接口定义语言,是实现CORBA标准的模型,允许与其他语言的集成和CORBA标准服务的分布处理Java IDLRemote Method InvocationInternet Inter-ORB Protocol:远程方法调用Internet Inter-ORB协议,是RMI的可移植性扩展,是基于CORBA标准协议,允许进程间相互通信,实现CORBA集成RMI-IIOPJava Nam
23、ing and Directory Interface:Java命名和目录接口,是透明查找分布对象和服务的机制,用来定位组件和资源在网络中的位置JNDIJava Service:Java感知对象,可以通过HTTP的请求/响应与Web客户的交互,通常用来实现表示逻辑Servlet1/9/2023293.6 J2EE应用架构lJ2EE技术规范(续表)规范简称Java Server Page:Java服务页面,主要用于动态页面生成,实际上也是Servlet,由HTML或XML和部分Java代码交织编写,也可实现对业务层的直接访问JSPJava API for XML Parsing:解析XML的Ja
24、va APIJAXPEnterprise Java Beans:企业级Java Bean,用于封装业务逻辑的软件组件,通过EJB容器来管理EJB的生命周期、安全和事务EJBJava Database Connectivity Extension:Java数据库连接扩展,是Java访问关系数据库的标准连接桥。JDBC1/9/2023303.6 J2EE应用架构lJ2EE多层架构lJ2EE采用多层应用架构,整个系统分为客户层、J2EE应用服务器和企业信息系统层。大部分J2EE应用都划分成三层或四层,复杂的系统可能会有更多的层次。l这样每个层次都有明确的职责,系统结构十分清晰。应用客户/浏览器客户层
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第三 应用软件 集成 体系结构
限制150内