版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章应用软件集成体系结构概述客户机/服务器模式分布式计算软件重用技术中间件技术J2EE应用架构.NET应用架构基于组件的软件开发7/31/20231信息系统集成第三章应用软件集成体系结构概述7/28/20231信息3.1概述软件应用架构
20世纪60年代到70年代,软件危机使软件成本日益增长,开发速度难以控制,质量无法保证,软件的维护困难等。软件工程软件工程发展初期,设计的重点是数据结构和算法的选择上。随着规模和复杂度的变化,人们开始认识到软件架构的重要性。软件架构的定义将软件系统划分成多个模块,明确各模块之间的相互作用,组合起来实现系统的全部特征,就是系统的架构。软件架构为软件系统提供了一个结构、行为和属性的高级抽象,并由构成系统的元素的描述及元素的相互作用、元素集成的模式,以及这些模式的约束组成。7/31/20232信息系统集成3.1概述软件应用架构7/28/20232信息系统集成3.1概述软件架构的作用软件架构是系统环境中的一个高层概念,每个系统都有一个架构。架构是用于表达整个系统的结构和行为的模型,表达系统如何满足其环境上下文的要求,并表示主要的系统构件、其交互和依赖关系,以及其操作所需满足的约束。软件架构模型研究软件架构的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模角度(侧重点)不同,通常将软件架构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。最常用的是结构模型和动态模型。7/31/20233信息系统集成3.1概述软件架构的作用7/28/20233信息系统集成3.1概述应用软件的计算模式应用系统在某种计算问题的解决过程中,采用的对计算资源的组织、调度上的某种有效方法。计算资源是参与计算过程的所有资源:处理器、存储器、通信线路、程序和数据等。从发展历程看,应用系统的计算模式主要包括集中式和分布式计算。20世纪80年代之前,人们深入思考的是如何充分利用计算资源。近年来,网络技术的发展使得分布式计算技术成为核心技术。工业化分布式计算技术的发展已经经历了两代:第一代分布式计算技术是以支持信息共享为目标的面向过程的客户机/服务器技术;第二代分布计算技术是以面向对象为主要特征的分布式对象技术。当前以Internet为平台的Agent计算、网格计算等分布式计算技术逐步深入的影响未来分布式计算技术的发展。7/31/20234信息系统集成3.1概述应用软件的计算模式7/28/20234信息系统集3.2客户机/服务器模式两层C/S模式C/S的核心特征是任务的分解,由不同的计算资源承担任务,通过协作完成任务。两层C/S模式是最早使用的C/S模式。客户端操作系统应用业务逻辑用户交互界面数据库数据库管理系统网络操作系统服务器客户机RequestResponse7/31/20235信息系统集成3.2客户机/服务器模式两层C/S模式客户端操作系统应用业3.2客户机/服务器模式B/S结构Brower/Server浏览器/服务器模式数据库数据库管理系统网络操作系统服务数据库访问系统Web支撑系统网络操作系统Web服务客户操作系统浏览器客户机HTTPCGITCP/IPIIOPActiveXRequestRequestHTTPTCP/IP7/31/20236信息系统集成3.2客户机/服务器模式B/S结构数据库数据库管理系统网络3.2客户机/服务器模式多层C/S结构B/S模式在构造复杂应用系统时,利用CGI等技术开发部署很难提高系统运行效率。现有的Web服务器支撑系统很难对各类中间件进行有效的管理和组织,需要专门针对中间件的支撑系统。数据操纵的安全性很难保障。应用系统被划分为:客户层、表示层、业务逻辑层(应用层)、数据管理层(数据层)。7/31/20237信息系统集成3.2客户机/服务器模式多层C/S结构7/28/202373.2客户机/服务器模式多层C/S模式中,应用系统被划分为客户层:一般PC,通过浏览器与Web服务器联系,访问Web服务器资源。表示层:Web服务器,接受用户交互式操作,并将操作请求传递给应用服务器。业务逻辑层:应用服务支撑系统,分布式对象管理容器,接受Web服务器的请求,执行业务逻辑返回结果,与后台数据库绑定,一般将数据库资源映射为数据对象。数据管理层:数据库服务器。7/31/20238信息系统集成3.2客户机/服务器模式多层C/S模式中,应用系统被划分为3.2客户机/服务器模式多层C/S结构的基本计算过程对多层C/S模式的支持规范主要有Sun的J2EE和微软的.NET。数据库数据库管理系统网络操作系统数据库服务器应用逻辑中间件管理容器网络操作系统应用服务器客户操作系统浏览器客户机请求Web支撑系统网络操作系统Web服务器服务7/31/20239信息系统集成3.2客户机/服务器模式多层C/S结构的基本计算过程数据库3.3分布式计算移动Agent20世纪90年代初由GeneralMagic公司在推出商业Telescript时提出的,主要思想在于:结合Agent技术和分布式计算技术,将服务请求Agent动态移到服务器端执行。使此Agent较少依赖网络传输,而直接面对要访问的服务器资源,降低了对网络带宽的依赖。移动Agent不需要统一调度,由用户创建的Agent,用户可自行创建多个Agent,同时在一个或多个节点上运行,形成并行求解能力。可自行决定何时中断任务,并将自己转移到另一台机器上。具有自治性和智能路由的性能。7/31/202310信息系统集成3.3分布式计算移动Agent7/28/202310信息系3.3分布式计算网格计算Grid称为网格计算思想在于:将闲置在Internet各处的MIPS捆绑在一起加以利用,以便用累积的计算能力来完成超级计算机的任务。网格计算主要应用在大批量的小任务,如:声视频点播,具有突发的大量的资源需求,实时分布式仪表系统等。目前对网格的一般理解是指把整个互联网或某个区域整合成统一的计算机系统。网格的根本特征不在于规模,而是资源的广泛共享。7/31/202311信息系统集成3.3分布式计算网格计算7/28/202311信息系统集成3.3分布式计算分布式对象技术分布式技术的应用使得系统规模越来越大。网络间的异构问题必须解决。分布式系统的复杂性使得系统的可靠性降低。分布式软件的开发和维护成本高昂。通过结合面向对象技术,实现分布式软件的可移植性、互操作性、可靠性和可重用性。屏蔽了不同系统间的差异和底层细节,减小分布式系统开发难度,提高分布式软件的性能。目前主流的有:COM/DCOM、Java、COBRA7/31/202312信息系统集成3.3分布式计算分布式对象技术7/28/202312信息系3.3分布式计算分布式对象技术采用了面向对象技术中的封装性和继承性两大特点。所操作的对象通常称之为组件。客户客户stub线路协议客户端服务器服务器stub线路协议服务器端网络环境高层中层底层7/31/202313信息系统集成3.3分布式计算分布式对象技术客户客户stub线路协议客户3.4软件重用技术软件重用概念指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括:程序代码、测试用例、设计文档、设计过程、需求分析文档或领域知识。将这种可重用的元素成为软构件,可重用的软件元素越大,重用的粒度越大。基于构件的软件开发通常包括构件获取、构件分类和检索、构件评估、适应性修改,以及将现有的构件在新的语境下组装成新的系统的过程。软件重用中的构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确标识的元素。7/31/202314信息系统集成3.4软件重用技术软件重用概念7/28/202314信息系3.4软件重用技术面向重用的软件开发需考虑“使用重用的开发(Developwithreuse)”和“用于重用的开发(Developforreuse)”。前者使用已有的构件进行软件开发;后者的目的是开发可重用的软件。用户需根据应用领域的特点及相似性确定构件的可重用性。一旦确定了重用价值,就可以将构件的设计通用化,然后将其加入到构件库。整个软件的开发过程是构件的不断积累、不断完善的渐进过程。在开发的过程中对构件修改、或替代原有构件。7/31/202315信息系统集成3.4软件重用技术面向重用的软件开发7/28/2023153.4软件重用技术面向重用的软件开发以面向对象方法为基础,增强软件的重用性。开发过程中可重用的构件,可以使面向对象方法中的对象或对象的集合,也可以使非面向对象方法中的可重用构件。领域分析软件开发理解构件功能检索所需构件确认构件的重要性可重用构件库领域知识用户需求目标软件7/31/202316信息系统集成3.4软件重用技术面向重用的软件开发领域分析软件开发理解构3.5中间件技术中间件概念中间件(Middleware)是位于硬件、操作系统等平台和应用之间的通用服务。中间件(系统服务)应用程序1应用程序2应用程序3操作系统/硬件平台1操作系统/硬件平台27/31/202317信息系统集成3.5中间件技术中间件概念中间件(系统服务)应用程序1应用3.5中间件技术中间件的目的实现应用与平台的无关性,满足大量应用的需要。中间件的作用屏蔽操作系统和网络协议的差异,为应用程序提供多种通信机制满足不同领域的应用需要。中间件服务所遵循的原则离实际还有很大的距离。多数中间件使用专有的协议,使应用只能构件在单一的厂家的产品之上。有些中间件只提供某些平台的实现,限制了应用在异构系统之间的移植。7/31/202318信息系统集成3.5中间件技术中间件的目的7/28/202318信息系统3.5中间件技术中间件的分类数据库访问中间件远程过程调用中间件面向消息中间件事务中间件分布式对象中间件7/31/202319信息系统集成3.5中间件技术中间件的分类7/28/202319信息系统3.5中间件技术数据库访问中间件通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型的如:Windows下的ODBC和Java中的JDBC远程过程调用中间件一个应用程序使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。一个RPC应用分为两个部分:服务器和客户服务器提供一个或多个远程过程;客户向服务器发出远程调用。客户和服务器之间的网络通信和数据转换通过代理程序(stub与skeleton)完成,从而屏蔽了不同操作系统和网络协议。7/31/202320信息系统集成3.5中间件技术数据库访问中间件7/28/202320信息3.5中间件技术面向消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并可基于数据通信进行分布系统的集成。典型的产品:IBM的MQSeries使用MOM,通信双方的程序可以在不同的时间运行,程序不在网络上直接通话。消息放入适当的队列,等待目标程序运行。避免了网络通信的复杂性。消息队列和网络通信的维护工作由MOM完成。7/31/202321信息系统集成3.5中间件技术面向消息中间件7/28/202321信息系3.5中间件技术分布式对象中间件采用分布式对象技术,结合面向对象技术实现。对象请求代理(ObjectRequestBroker,ORB)模型提供了一个通信框架,在异构的分布计算环境中透明地传递对象请求。ORB是一种对象总线,定义了异构环境下对象透明的发送请求和接受响应的基本机制,是建立对象之间客户/服务器关系的中间件。ORB使对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可在本地也可远程ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。客户不需要知道服务器的信息。7/31/202322信息系统集成3.5中间件技术分布式对象中间件7/28/202322信息3.5中间件技术事务中间件(TransactionProcessingMonitor)最早出现在大型机上,为其提供大规模事务处理的可靠运行环境。事务处理监控程序位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务。随着对象技术和事务技术的结合,出现了对象事务监控器,可保证分布式对象的事务完整性。事务中间件可以满足现代业务应用系统的12条基本原则:完整性、安全性、可伸缩性、可用性、可管理性、互操作性、适应性、易开发性、经济性、快速的响应时间、数据的可分布性、易用性。采用商业事务中间件的优势在于缩短产品投放市场所需的时间、节省应用开发费用、减少系统运行开销、简化应用集成、降低软件的维护费用等。7/31/202323信息系统集成3.5中间件技术事务中间件(TransactionPro3.5中间件技术构件技术与中间件中间件作为存在于系统软件与应用之间的特殊层次,对典型的应用模式进行抽象,从而使应用软件开阿人员可以将精力更多地放在业务逻辑上,并按照标准形式进行开发,从而使软件架构的应用成为可能。构件的使用对架构技术(即环境、基础设施、计算平台等)有极大的依赖性。只有在适当的架构中,软件才有可能被抽象成为构件。中间件,从本质上说是对分布式应用的抽象,抛开了与应用相关的业务逻辑细节,保留了典型的分布交互模式的关键特征。经过抽象,对复杂的分布式系统进行提炼和必要的封装隔离后,以统一的形式呈现给应用。中间件与架构是从两种不同的角度看待软件的中间层次,可以将中间件理解为架构或构建模型的具体实现,是构件存在的基础,中间件促进了软件的构件化。中间件作为分布式计算平台,涉及各种不同的资源,包括各种操作系统、数据库、网络协议甚至语言,其目标是在分布的环境中统一使用这些资源。7/31/202324信息系统集成3.5中间件技术构件技术与中间件7/28/202324信息3.5中间件技术应用服务器应用服务器(ApplicationServer)是企业极应用在Internet上迅速发展的条件下,出现的一种中间件技术。它可以处理客户和数据之间的交互操作,并提供一组前面提到的中间件服务,包括事务管理、ORB、MOM、系统安全、负载均衡及资源管理等。应用服务器还提供了一个称为容器的管理环境,可以对应用中的组件进行配置和管理。应用服务器在技术上并没有任何标准和规范是为某个商业性公司所独占,全部都基于Internet上的开放标准,因而具有极强的生命力。使用应用服务器可以帮助企业构建一个基于Internet的电子商务系统,而且拥有很高的稳定性、可扩展性和安全性。应用服务器向企业级用户提供了设计、开发、部署、运行和管理Internet电子商务应用系统的平台,适用于Internet上的电子商务应用。7/31/202325信息系统集成3.5中间件技术应用服务器7/28/202325信息系统集3.5中间件技术应用服务器的优点在于:三层架构体系:适合Internet环境,使系统具有很强的可扩展性和可管理性。分布式环境:保证系统的稳定性,同时拥有较高的性能。面向对象的模块化构件设计:提高开发速度,降低开发成本。采用Java技术:完全跨平台,适合Internet需要,并获得大多数厂商的支持,可以保护用户的投资。应用服务器采用的三层(多层)架构,将应用逻辑单独作为一层,客户可以根据不同的应用逻辑专心设计该层。需要扩展业务时,只需专注于改进中间层的设计,使原系统能够平滑方便地升级。
7/31/202326信息系统集成3.5中间件技术应用服务器的优点在于:7/28/202323.6J2EE应用架构J2EE(Java2PlatformEnterpriseEdition)是Sun公司领导、各厂商共同制定并得到广泛认可的工业标准。J2EE将开发工作分为两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器自动处理,不必为中间层的资源和运行管理进行编码。将更多的开发精力集中在应用程序的业务逻辑和表示逻辑上,从而缩短企业的应用开发周期、有效保护企业的投资。7/31/202327信息系统集成3.6J2EE应用架构J2EE(Java2Platfo3.6J2EE应用架构J2ME(Java2PlatformMicroEdition)
Java2平台简化版,适合嵌入式系统开发。J2SE(Java2PlatformStandardEdition)
Java2平台标准版,是为JavaApplet和应用程序提供的Java标准运行环境支持的平台,包括输入/输出和图形用户界面等。J2EE(Java2PlatformEnterpriseEdition)
Java2平台企业版,将Java企业级API捆绑在一起的成为Java语言进行服务器端的企业应用部署的开发平台。J2EE运行在J2SE之上。7/31/202328信息系统集成3.6J2EE应用架构J2ME(Java2Platfo3.6J2EE应用架构J2EE技术规范规范简称JavaMessageService:Java消息服务,允许分布对象之间的异步通信JMSJavaMail:Java邮件,满足平台无关,协议无关方式的邮件发送JavaMailJavaInterfaceDefinitionLanguage:Java接口定义语言,是实现CORBA标准的模型,允许与其他语言的集成和CORBA标准服务的分布处理JavaIDLRemoteMethodInvocation—InternetInter-ORBProtocol:远程方法调用—InternetInter-ORB协议,是RMI的可移植性扩展,是基于CORBA标准协议,允许进程间相互通信,实现CORBA集成RMI-IIOPJavaNamingandDirectoryInterface:Java命名和目录接口,是透明查找分布对象和服务的机制,用来定位组件和资源在网络中的位置JNDIJavaService:Java感知对象,可以通过HTTP的请求/响应与Web客户的交互,通常用来实现表示逻辑Servlet7/31/202329信息系统集成3.6J2EE应用架构J2EE技术规范规范简称JavaM3.6J2EE应用架构J2EE技术规范(续表)规范简称JavaServerPage:Java服务页面,主要用于动态页面生成,实际上也是Servlet,由HTML或XML和部分Java代码交织编写,也可实现对业务层的直接访问JSPJavaAPIforXMLParsing:解析XML的JavaAPIJAXPEnterpriseJavaBeans:企业级JavaBean,用于封装业务逻辑的软件组件,通过EJB容器来管理EJB的生命周期、安全和事务EJBJavaDatabaseConnectivityExtension:Java数据库连接扩展,是Java访问关系数据库的标准连接桥。JDBC7/31/202330信息系统集成3.6J2EE应用架构J2EE技术规范(续表)规范简称Ja3.6J2EE应用架构J2EE多层架构J2EE采用多层应用架构,整个系统分为客户层、J2EE应用服务器和企业信息系统层。大部分J2EE应用都划分成三层或四层,复杂的系统可能会有更多的层次。这样每个层次都有明确的职责,系统结构十分清晰。应用客户/浏览器客户层JSP/ServletWeb层EJB业务层数据库EIS层J2EE服务器7/31/202331信息系统集成3.6J2EE应用架构J2EE多层架构应用客户/客户层JS3.6J2EE应用架构J2EE多层架构J2EE的多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组建容器中运行。在企业开发逻辑上将系统划分为五层:客户层、Web层(表示层)、业务层、集成层和资源层。7/31/202332信息系统集成3.6J2EE应用架构J2EE多层架构7/28/202333.6J2EE应用架构J2EE多层应用体系结构浏览器特制客户端容器容器容器ServletJSP会话Bean实体Bean消息驱动BeanJDBC公用适配器专用适配器数据库其他应用系统7/31/202333信息系统集成3.6J2EE应用架构J2EE多层应用体系结构浏特容器容器3.6J2EE应用架构J2EE客户层系统的客户端,在J2EE体系中的客户端可以是浏览器,也可以是具有特殊要求的定制客户端。采用一般浏览器的是B/S结构中所提倡的瘦客户端;采用JavaApplet一般属于胖客户端,客户端程序具有部分业务逻辑描述,并提供具有Java风格的特制用户交互界面。客户端与表示层之间通过HTTP/HTTPS即可交互,承载的语言一般是HTML或XML。对使用胖客户端的情况,采用的交互手段可以多种多样。7/31/202334信息系统集成3.6J2EE应用架构J2EE客户层7/28/2023343.6J2EE应用架构表示层:提供交互界面,接受用户的输入,将用户的操作请求传递给应用层,等待应用层处理结果处理结果,并将结果返回给用户。在用户和应用逻辑之间起到中介作用。表示层可以承担几乎全部逻辑,但是基于对系统的可扩展性、可维护性和负载均衡等问题的考虑,在构造大型应用中,Web服务器(表示层)尽量少一些业务逻辑的处理,而将业务逻辑交给应用层。表示层与应用层之间的通信主要借助JMS和RMI进行。7/31/202335信息系统集成3.6J2EE应用架构表示层:7/28/202335信息系3.6J2EE应用架构业务层业务层主要完成业务逻辑的执行,与数据库及后台系统资源进行交互的应用系统部分,在J2EE中,提供应用层业务逻辑支持和数据库操作支持的组件主要是EJB。EJB首先是一种技术规范,它本身并不提供分布式计算支持。EJB的组件特性、分布式计算特征均是由EJB容器提供的。程序员将从繁重复杂的分布式对象和组件构造中解脱出来,而把精力全部投入到业务逻辑本身。7/31/202336信息系统集成3.6J2EE应用架构业务层7/28/202336信息系统3.6J2EE应用架构集成层集成层主要完成应用层的业务逻辑与各类数据库资源、不同应用系统之间的集成。实现数据的共享和应用功能的共享。数据库连接主要由EJB和JDBC实现,应用程序之间功能操作一般采用适配器来实现。资源层资源层主要是指信息资源,包括各类数据库、文档以及其他的应用系统等。可能是系统建设中新建的资源,也可能是企业信息化过程中遗留下来的系统资源。7/31/202337信息系统集成3.6J2EE应用架构集成层7/28/202337信息系统3.7.NET应用架构.NET概述微软的.NET是一组开放的互联网协议,推出的一系列产品、技术和服务。.NET开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础库类、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。包括企业内部、企业之间各类应用的集成统一,也包括个性化集成服务。内容覆盖了不同的设备接入、Web服务应用的开发、部署、发布、服务等。7/31/202338信息系统集成3.7.NET应用架构.NET概述7/28/202338信3.7.NET应用架构.NET框架概述.NET框架旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储执行,还是在本地执行但在Internet上分布,或者远程执行。提供一个将软件部署和版本控制冲突最小化的代码执行环境,以消除“DLLHELL”问题。提供一个保证代码安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。按照工业标准生成所有通信,以确保基于.NET框架的代码可与任何其他代码集成。.NET框架体系结构由以下部分组成:通用语言运行时、框架类库、ASP.NET以及ADO.NET、企业服务、Web服务、Windows窗体、远程处理等。Visual.Studio.NET是全面支持.NET的开发工具。7/31/202339信息系统集成3.7.NET应用架构.NET框架概述7/28/202333.7.NET应用架构.NET开发框架VBC++C#JScript通用语言规范ADO.NETASP.NETWindows应用通用语言运行环境(commonlanguageruntime)框架类库(frameworkclasslibrary)VisualStudio.NET7/31/202340信息系统集成3.7.NET应用架构.NET开发框架VBC++C#JSc3.7.NET应用架构通用语言运行环境(CLR)CLR处于.NET框架的最底层,它是将底层平台差异进行抽象的运行期基础设施。CLR支持所有能用公共中间语言CIL表示的编程语言。从而为多种语言提供了一种统一的运行环境,使得组件和XMLWeb服务的综合使用不再受编程语言的限制。提供了更多的功能和特性,从而大大简化了应用程序的发布和升级;多种语言之间的交互;自动的内存和资源管理等。.NET中的几个重要的概念是程序集、应用程序域、元数据和IL中间语言。7/31/202341信息系统集成3.7.NET应用架构通用语言运行环境(CLR)7/28/3.7.NET应用架构几个重要概念程序集程序集是.NET平台用于部署和配置的单元。它是自我描述的安装单元,由一个或多个文件组成,一个程序集可以是一个包括元数据的DLL或EXE,也可以由多个文件组成,如资源文件、元数据、DLL和EXE。7/31/202342信息系统集成3.7.NET应用架构几个重要概念7/28/202342信3.7.NET应用架构应用程序域提供安全而通用的处理单元,处理CLR可使用它来提供应用程序之间的隔离。可以在具有同等隔离级别的单个程序中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销,在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。应用程序域所提供的隔离优点在于:在一个应用程序中出现的错误不会影响其他应用程序。能够在不停止整个进程的情况下停止单个应用程序。使用应用程序域可以卸载在党应用程序中运行的代码。7/31/202343信息系统集成3.7.NET应用架构应用程序域7/28/202343信息3.7.NET应用架构元数据在CLR中运行的可执行文件与Windows可执行文件不同,因为它们不仅有代码和数据,而且还有元数据(metadata)。在.NET中,元数据包括类型定义、版本信息、外部程序集引用和其他标准化信息。.NET使用元数据描述特定.NET程序集中使用和暴露的所有类型。元数据比类型库丰富得多,包括程序集、模块、类、接口、方法、属性、字段、事件以及全局方法等的描述。可以利用.NET提供的反射API对程序集的元数据进行访问。7/31/202344信息系统集成3.7.NET应用架构元数据7/28/202344信息系统3.7.NET应用架构IL中间语言Microsoft将它的语言抽象层成为公用中间语言(commonintermediatelanguage,CLR),IL类似于Java编译器声称的字节码,支持所有面向对象特性,包括数据抽象、继承、多态以及异常的事件等概念。任何.NET语言都可以转化为IL,因此.NET支持多种语言,而且将来可能支持多种平台,只要目标平台有IL。公用类型系统CTS和公用语言规范CLS可确保多种语言的兼容性、互操作性和可集成性。7/31/202345信息系统集成3.7.NET应用架构IL中间语言7/28/202345信3.7.NET应用架构
CLR主要包括类装载器、JIT编译器和其他执行支持和管理组件。.NETPE(portableexecutable)文件位于CLR的顶层,在CLR的VEE中执行。类装载器负责将.NET类装载进内存并为它们的执行做准备。在成功完成之前,必须找到目标类。一旦目标类装载,类装载器就向该类的每个方法发出一个小的存根(stub)。在类装载器装载之后,而在IL代码执行之前,验证器处理必须验证的代码。验证器在运行时用来验证代码是否安全。最后,托管的本机代码将接受其他执行支持组建的处理,如代码管理、安全管理、无用资源回收、异常管理、调试管理、列集管理和线程管理等。.NETPE文件类装载器JIT编译器验证器JIT执行支持和管理7/31/202346信息系统集成3.7.NET应用架构CLR主要包括类装载器、JI3.7.NET应用架构ADO.NETADO.NET是数据访问模型,用于访问关系型数据库系统。ADO.NET优点如下:互操作性
采用XML作为其有效的数据格式,解决了公用数据交换的限制,而且,由于XML只是结构化文本,将XML作为HTTP网络协议顶层的数据格式,可以将防火墙的相关问题减至最小。可伸缩性
采用非连接数据机,当客户请求数据时,数据集将被获得,并传送至客户,然后连接会尽可能的及时关闭。提高了可伸缩性和系统的性能。高效性
ADO.NET提供了丰富而可扩展的框架类,开发者可以在此基础上快速开发健壮的、高性能的XMLWeb服务和现在流行的N层应用程序。7/31/202347信息系统集成3.7.NET应用架构ADO.NET7/28/2023473.7.NET应用架构ADO.NET的对象模型包括两组不同的类:内容组件和托管供应器组件。内容组件包括DataSet类和其他支持类:DataTable,DataRow等托管供应器组件用于辅助数据获取和更新。SQLServer和其他OLEDB数据存储CommandConnectionConnectionCommandDataReaderDataAdapter数据存储托管供应器组件与数据相关组件DataSet7/31/202348信息系统集成3.7.NET应用架构ADO.NET的对象模型包括两组不同3.7.NET应用架构ASP.NETASP.NET是Microsoft.NET中的网络编程结构,使得建造、运行和发布网络应用非常方便和高效。ASP.NET网络表单
设计目的就是使得开发者能够非常容易的创建网络表单,将VB中的快速开发模型引入到网络开发中来。ASP.NETWeb服务
在ASP.NET中,建造和使用网络服务都非常方便,在ASP.NET中建造网络服务就是编写一个扩展名为.asmx的文件,在这个文件中加入需要表现的方法既可,网络服务的建造者不需要了解SOAP和XML的细节。ASP.NET应用框架
ASP.NET应用不再是解释脚本,而是编译运行,再加上灵活的缓冲技术,从根本上提高了性能;发布一个网络应用,仅仅是一个复制文件的过程;开发者可以将应用的配置信息存放在XML格式的文件中;提供更多的认证和安全管理方式,提高应用程序的可靠性。7/31/202349信息系统集成3.7.NET应用架构ASP.NET7/28/2023493.7.NET应用架构J2EE与.NET比较特征J2EE.NET技术类型业界标准产品中间件厂商30多家微软解释器JRECLR动态Web页面支持JSPASP.NET中间层组件EJB.NET管理的组件数据库访问JDBC,SQL/JADO.NET是否支持Web服务是是是否具备中间件功能是是7/31/202350信息系统集成3.7.NET应用架构J2EE与.NET比较特征J2EE.3.8基于组件的软件开发问题的提出计算机的不断发展为计算机及网络应用提供了大量技术先进、功能强大的应用软件系统,同时也给软件开发者和用户提出了问题:软件系统规模庞大,研制周期长,维护费用高。软件系统过于复杂,在一个系统中集成了各种功能,大多数功能不能灵活的装卸、单独升级或重复利用。应用软件不易集成,即使各应用程序是用相同的编程语言编写的,并且运行在相同的机器上,特定应用程序的数据和功能也不能提供给其他应用程序使用。面向对象的程序设计思想得到很大的发展,结果却产生了大量的“对象孤岛”。将面向对象思想和组件编程思想结合发展出急于对象的组建软件结构,为这一领域开辟了新的道路。7/31/202351信息系统集成3.8基于组件的软件开发问题的提出7/28/202351信3.8基于组件的软件开发组件技术的发展简史和特点软件系统规模庞大,研制周期长,维护费用高。软件系统过于复杂,在一个系统中集成了各种功能,大多数功能不能灵活的装卸、单独升级或重复利用。应用软件不易集成,即使各应用程序是用相同的编程语言来编写的,并且运行在相同的计算机上,特定应用程序的数据和功能也不能提供给其他应用程序使用。为克服以上困难,实现行业范围软件的“即插即用”,关键是解决软件系统的可操作性、可扩展性、语言独立性和跨平台操作能力。7/31/202352信息系统集成3.8基于组件的软件开发组件技术的发展简史和特点7/28/3.8基于组件的软件开发软件组件可看成一种软件集成电路元件:软件IC没有硬件IC的天然聚合性,构成粒度大小自由,便于扩展。通过规定一个统一的二进制标准,建立起机构之间的智能互操作机制和语言独立性。外界仅通过接口访问组件。多侧面性,即组件表达的语义层次高,可以从不同侧面进行连接,外部特性不惟一。支持封装、继承、多态性。7/31/202353信息系统集成3.8基于组件的软件开发软件组件可看成一种软件集成电路元件3.8基于组件的软件开发开发EJB组件EJB容器EnterpriseBean是在称作EJB容器的特殊环境中运行的软件组件。容器容纳和管理的方式与JavaWeb服务器容纳Servlet或HTML浏览器容纳JavaApplet的方式相同。EJB容器在运行时管理EnterpriseBean的各个方面,包括远程访问Bean、安全性、持续、事务并行性和资源的访问与合用。容器不允许客户机应用程序直接访问EnterpriseBean。当客户机应用程序调用EnterpriseBean上的远程方法时,容器首先拦截调用,以保持持续、事务和安全性都正确应用于客户机对Bean执行的每一个操作。Bean开发人员可以将精力集中于封装商业规则,而容器处理其他的一切。7/31/202354信息系统集成3.8基于组件的软件开发开发EJB组件7/28/202353.8基于组件的软件开发EJB组件的组成规范的EJB组件由Home接口、Remote接口、组件类和部署描述文件构成。EJB组件的Home接口用于定义创建、查找和删除组件对象实例的方法。以有状态会话类型EJB组件CalcBonusEJB为例,其Home接口定义如下面代码所示:7/31/202355信息系统集成3.8基于组件的软件开发EJB组件的组成7/28/20233.8基于组件的软件开发EJB组件的组成在上述定义中,EJB组件的Home接口继承EJBHome接口,在该接口中包括两个异构类型的创建组件对象实例的create方法,两个方法均返回该EJB组件的Remote接口对象。在Home接口中还定义了用于从EJB容器的组件实例池中删除组件对象实例的remove方法。该方法对应于EJB组件类中定义的ejbRemove方法。对于实体类型EJB组件,在组件的Home接口中还应定义查找组件对象实例的方法,用于客户端根据实体组件的主键值在EJB容器中查找指定的实体类型EJB组件。该方法的定义和实现过程将在第6讲中详细讲解。另外,Home接口中定义的create方法和remove方法能够抛出的RemoteException和CreateException类型异常。两种类型的异常定义在java.rmi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年店铺装修与经营权出租合同
- DB4117T 206-2018 夏玉米集成栽培技术规程
- DB4116T 037-2022 冬油菜生产技术规程
- 2024年建筑项目钢结构施工协议
- 2024年排水沟工程监理服务合同
- 大四个人总结100字(7篇素材参考)
- DB4113T 027-2023 宛花系列鲜食花生栽培技术规程
- DB4107T 484-2021 水稻主要病虫草害综合防治技术规程
- 方案策划范文5篇
- 2024年工程量增加补充简单协议书范本
- 甘肃省黄金矿产资源概况
- 诊所消防安全应急方案
- 译林版一年级上册英语全册课件
- 中小学德育工作指南考核试题及答案
- 净现值NPV分析和总结
- 国网基建各专业考试题库大全-质量专业-中(多选题汇总)
- LTC流程介绍完整版
- 饲料加工系统粉尘防爆安全规程
- 一年级上册美术课件-第11课-花儿寄深情-▏人教新课标
- 植物的象征意义
- 夏商周考古课件 第5章 西周文化(1、2节)
评论
0/150
提交评论