版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息系统项目管理师
课程辅导
3北京理工大学计算机学院徐进1五、系统架构设计25.1软件体系结构基本概念5.2软件体系结构风格5.3软件体系结构应用框架5.4软件设计模式35.1
软件体系结构基本概念1.定义软件体系结构,也称软件架构,是软件工程的重要研究领域。从90年代开始,很多专家学者对软件体系结构引起广泛的关注,到目前为止,软件体系结构并没有统一的定义,综合软件体系结构的定义,只有比较权威的定义性论述。权威的定义性论述软件体系结构是设计过程的一个层次,它处理那些超越算法和数据结构的设计,研究整体结构设计和描述方法。体系结构包括:总体组织结构、全局控制结构、通信和同步以及数据存取的协议、设计元素的功能、物理分布与合成、设计方案的选择、评估和实现等。4理解要点:软件体系结构是软件设计过程的一个层面,是相对独立的、有价值的软件设计方法的总结,可作为软件开发指导性的策略和途径强调设计过程,而非分析的过程。分析的目标是理解和表达,而设计的目标是实现非用户的观点,即非功能的观点。对于用户,结构是软件系统功能的组合,而对于设计者,结构是为特定目标而设立的、软件成分以及成分之间的关系。软件体系结构的研究,包括:怎样选择、怎样评估,以及怎样实现一个软件结构的问题52.
软件的基本结构软件技术的发展与硬件技术密不可分。软件结构的基础受硬件结构的制约,目前,在计算机基本硬件结构的基础之上,软件体系结构的基本元素和结构包括如下几种:数据类型结构,包括基本数据类型结构、抽象数据类型结构控制流连接结构,也称调用结构包括:条件连接结构、循环连接结构、控制转移结构;其调用连接方式,包括链询式、分析式、代理式中断触发连接结构,包括内部进程连接结构、独立进程同步连接结构、独立进程异步连接结构层次结构,包括单向依赖层次结构、开放式层次结构63.软件体系结构设计的基本策略和原则在大量的软件开发的设计实践中,始终存在对设计原则和策略的探讨和总结,很多被普遍性采用的原则和策略,一直被广泛使用,并不断验证和改进,它们独立于具体的软件开发方法。这些原则和策略包括:
•抽象
•分而治之,层次化分解
•封装和信息隐蔽
•模块化•高内聚和低耦合•关注点分离•策略和实现分离•接口和实现分离7抽象抽象,是人们认识复杂事物的基本方法。它的实质是集中表现事物的主要特征和属性,隐蔽和忽略细节部分。运用抽象,能概括普遍的、具有相同特征和属性的事物,简化表达和理解,便于利用。软件设计中运用的抽象包括:数据抽象:描述特定数据对象的属性集合过程抽象:特定操作过程命名的操作序列控制抽象:隐含内部细节的控制逻辑8分而治之,层次式分解将大问题分解,从小问题入手,逐一解决整个大问题,这是人们处理问题的通常的方式。软件设计中运用的分解包括:横向分解:按照从基础问题到上层问题的分解方式,将大问题按照层次分解成相互依赖的多层,每层完成的局部解,提供对上层的支持纵向分解:在横向分解的基础上,对每层的求解,再分解成相互独立的多项求解9封装和信息隐蔽封装是为了信息隐蔽,隐蔽是为了减小出错带来损失,而出错是软件系统不可避免的事实。无论是多么精心设计,严格实施,以及反复测试,软件系统的错误就像与生俱来不可回避。局部化设计将处理信息限制在局部处理过程中,避免与外部其它处理共享,减少出错的几率,并且,出错后的影响面也会较小。封装性设计将处理过程尽量隐蔽,使外界得不到,只留出简单而统一的访问接口。这样,使软件处理的各个部分相互独立,减小系统扩充或修改时的出错的机率。10模块化模块是可被独立命名、具有独立作用的软件成分。软件设计的模块化,是以提高系统的可构造性为目标的。为了软件系统的可扩充性、可修改性,设计可灵活的拆解,或者可灵活组装的软件构造,则成为软件设计者的愿望和责任。模块设计的原则包括:可分解性:问题本身可由多个部分的解合成,则应分解问题成为多个处理模块可组装性:可作为独立的部分被组装利用,得到一个更大的解,则包装它成为独立的模块可理解性:模块需要容易理解,不能被理解或者理解多义的软件成分不能作为独立模块连续性:
对于一个软件成分的修改,只作用于它自身,这样的模块才是好的模块保护性:
如果模块出现异常,对于系统的影响较小,甚至没有影响,这样的模块才是好的模块11高内聚和低低耦合内聚性内聚性是指指软件成份份的内部特特性。成份份中各处理理元素的关关系越紧密密越好。耦合性耦合性是指指软件成份份之间的关关系特性。。软件成份份之间的关关系越松散散越好。12偶然内聚::把分散在在多处的各各自独立的的被有关系系的功能合合在一起逻辑内聚::把逻辑功功能相关的的处理部分分合在一起起时间内聚::把需要在在同一时间间执行并无无关系的功功能部分合合在一起过程内聚::过程顺序序相关的功功能元素合合在一起通讯内聚::需要对相相同的外部部数据进行行操作的处处理元素合合在一起顺序内聚::一个软件件成份的输输出是另一一个软件成成份的输入入将它们合合起来功能内聚::只完成单单一的功能能内容耦合::一个软件件成份直接接修改另一一个软件成成份的内容容公共耦合::两个以上上的软件成成份共同处处理外部的的一个公共共数据控制耦合::软件成份份的动作依依赖于接收收的控制信信号标记耦合::软件成份的的接口参数数具有一个个复杂的内内部结构数据耦合::软件成份份之间仅是是数据传递递内聚耦合紧密松散松散紧密13关注点分离离关注点:关注点是软软件系统中中特别需要要考虑的多多变部分。。例如,软软件成分的的执行会受受到运行环环境、设备备条件,以以及通信设设施等的制制约和限制制,为了适适应不同的的运行环境境和条件,,需要进行行必要的参参数调整和和驱动配置置。为此进进行的这部部分设计和和开发,即即是所谓的的关注点。。关注点分离离设计:软件系统中中涉及关注注点的成分分应该与非非关注点的的成分分为为相互独立立的部分,,这样的设设计会使未未来的系统统容易配置置,灵活适适应多种不不同的情况况。14策略和实现现分离策略策略是指软软件中用于于处理选择择控制的决决策成分。。通过信息息语义解释释、参数条条件等,进进行分析判判断,以决决定怎样的的具体数据据加工和功功能实现。。实现实现是指软软件系统中中,有规范范步骤及完完整执行算算法的成分分。策略和实现现分离的设设计通常,决策策部分是异异变的成分分,而实现现部分相对对稳定,并并可多次复复用。将策策略成分和和实现成分分分别设计计成独立的的部分,使使系统维护护的范围减减小,以提提高系统的的维护性和和复用性。。15接口和实现现分离接口接口是软件件成分对外外统一形式式的、可直直接访问的的操作集合合,其操作作提供了该该软件成分分的功能及及使用方式式。一个软软件成分可可以不只一一个接口,,每个接口口提供不同同的一组相相关的操作作。实现实现是软件件成分外部部不可见的的操作执行行部分接口和实现现分离的设设计为了达到软软件成分的的高复用,,对于不同同的访问形形式的适应应问题,可可以采用分分设不同的的访问接口口来实现。。因此,采采用接口和和实现分离离的设计,,会极大地地提高系统统的可移植植性和复用用性,而这这些正是软软件性能评评价的重要要指标。164.风格、框架架、模式在软件体系系结构的研研究中,有有三个重要要的术语需需要明确::软件体系结结构风格(ArchitectureStyles),风格是描述述特定系统统组织方式式的惯用范范例(idiomaticparadigm),强调组组织方式和和习惯用法法;组织方方式是用静静态形式表表述的系统统结构,而而惯用范式式,则可反反映众多系系统共有的的结构和语语义。应用框架(ApplicationFramework),框架是待实实例化的、、可复用的的大粒度部部件结构。。框架面向向不同规模模的应用问问题,是通通用的结构构。强调针针对实际的的应用问题题和通用结结构。软件设计模模式(DesignPattern),设计模式是是软件问题题高效和成成熟的设计计模板(pattern),模板包含含了固有的的问题的处处理逻辑,,强调处理理逻辑采用用方式的直直接复用。。175.2软件体系结结构风格体系结构风风格是对软软件系统组组织结构的的惯用形式式总结。认认识特定软软件结的原原理及适合合的计算模模式,为软软件体系结结构设计提提供必要的的选择空间间,对于软软件设计来来说是重要要的技术途途径。目前经典的的体系结构构风格包括括:管道过滤器器风格主程序与子子过程风格格数据抽象与与面向对象象风格黑板知识库库风格虚拟机(解解释器)风风格事件驱动隐隐式调用风风格过程控制回回路风格部件链接器器C2风格相关的信息息系统开发发,仅介绍绍其中几种种经典体系系结构风格格181.管道过滤器器(PipesandFilters)过滤器A过滤器B过滤器C过滤器D过滤器E增量计算的的功能模块输入/输出数据流管道过滤器器风格的特特征以数据流向向的过程为为核心,因因此也被称称为:数据据流风格过滤器自身身功能独立立而完整,,不需要知知道其他过过滤器的存存在与否,,相互之间间无状态交交互过滤器对输输入的数据据流有限制制,并必须须保证输出出流的正确确性系统内,各各部分的执执行与整体体系统的最最终输出不不相关适用于无交交互的批量量加工过程程处理系统统管道1管道2管道3管道4管道5管道6管道8管道7192.主程程序序与与子子过过程程(MainProgram/Subroutine)主程序序子过程程1子过程程2子过程程n•••••••子过程程k1子过程程k2调用返回子过程程f主程序序与子子过程程特征征与过程程性语语言的的概念念相对对应,,适当当的设设计会会使代代码效效率很很高层次式式的结结构调调用,,几乎乎可以以应对对所有有的软软件问问题单纯的的过程程划分分基于于特定定问题题,不不具普普遍性性,复复用性性差数据结结构的的变化化会引引起复复杂关关联的的变化化,维维护性性差适用于于需求求稳定定且高高效的的系统统问题题20对象实体对象实体对象实体对象实体对象实体对象实体对象实体对象实体消息消息消息消息消息消息消息消息消息消息消息•对象实实体是是具有有自身身属性性和行行为能能力的的独立立个体体。•对象实实体是是主动动的管管理者者,包包括待待处理理的对对象数数据和和所有有参与与过程的实实体。。•任何事事务处处理都都是对对象相相互发发送“消息”作用的的结果果。发发送消消息是是“请求”,接受受消息息是对对请求求的“响应”。•响应“消息”的动作作是接接受请请求对对象自自身的的行为为能力力。并并且它它也可可以向其他他对象象发出出请求求。面向对对象结结构的的特征征3.数据抽抽象和和面向向对象象(DataAbstractionandObject-Oriented)214.事件驱驱动和和隐式式调用用(Event-Based,ImplicitInvocation)外部实实体1外部实实体n消息过过滤1消息过过滤n中断服服务n中断服服务1••••••••••••••系统消消息队队列应用A消息队列应用线线程1应用线线程n•••••••应用B消息队列系统传传送系统传传送消息发发送消息发发送事件事件应用线线程1应用线线程n•••••••消息循循环B消息循循环A•••••••事件驱驱动和和隐式式调用用特征征事件不不直接接被各各响应应处理理接收收,而而是通通过隐隐藏在在中间间的层层次间间接地地被接接收和和处理理中间的的层次次,完完成消消息形形式的的统一一处理理及调调整和和调度度,这这样,,可以以对接接受事事件进进行必必要操操控请求与与响应应成分分之间间构成成松散散耦合合,为为灵活活设计计创造造了条条件对于资资源不不对等等的异异步并并发系系统是是一种种极好好的控控制方方式225.黑板知识识库(仓储)(Repository)黑板(共享状状态和策略数数据)知识源1知识源8知识源7知识源6知识源3知识源4知识源2知识源5黑板知识识库风格格的特征征每个知识识源的动动作依据据是黑板板中的信信息,包包括需要要的交互互及协同同系统中的的执行者者和决策策者享有有同等的的地位使系统中中多对多多的关系系,以及及执行者者和决策策者的复复杂关系系变得简简单而清清晰对于协同同求解等等专家系系统是极极好的控控制方式式23虚拟机6.虚拟机(解释器)(Interpreter)程序的交互输入入被解释的的程序执行伪码码解释引擎擎输出输入选择指示示解释状态态虚拟机(解释器)结构的优优势•易于扩充充文法,,以适应应系统的的改变。。特别是是采用面面向对象象的继承承方式。。•高效的解解释通常常采用状状态机方方式。状状态机方方式仍然然适用于于解释器器结构。。247.部件连接接器(ComponentsandConnectors)•部件和连连接器是是软件结结构成分分的两大大部分。。•部件是软软件的组组成成分分,在系系统构架架中起结结构块的的作用。。•连接件是是建立部部件和部部件之间间连接的的成分,,是专门门承接连连接作用用的特殊部部件。•部件可以以组合,,连接器器可以相相互连接接。部件部件部件部件部件部件部件部件复合部件件部件和连连接器也也称为C2(ComponentsandConnectors)风格。它它总结了了所有体体系结构构的成分分,归纳纳并深入入探讨其其规律、、特性,,引导了了软件体体系结构构研究的的新途径径。25软件体系系结构成成分列表表连接件成分过程调用成份之间实现单线程控制的连接机制,如普通过程调用等。数据流通过数据流进行交互的独立处理流程连接机制。如同不交互控制、管道机制等。隐含触发并发(非同步交互)事件实现成分之间的连接机制。如时间调度、自动回收处理等。消息传递独立成分之间离散和非线性的交互连接机制。如协议等。数据共享协议成份之间通过统一数据空间进行协调操作的机制。如黑板、共享数据区等。构件成分纯计算构件简单输入输出处理,不保留处理状态的关联成分,如函数、过滤器、转换器等。数据存储构件具有永久存储性的结构化数据成分。如数据库、文件系统、符号表、超文本等。管理构件系统状态以及相关规定、限制的操作成分。如抽象数据类型、系统服务器等。控制构件系统中事件发生时间、序列的控制和管理的成分。如调度程序、同步处理等。连接构件充当信息转换角色的成分,如通信连接和用户界面等。26•部件的类类别•部件的表表达形式式•部件的特特性接口特性性运行特性性远程服务务特性关联特性性动态特性性等级或层层次特性性•连接的种种类•连接的实实现•连接协议议•连接的特特性连接方向向性连接的角角色连接的激激发连接的响响应连接的匹匹配性讨论部件件连接器器的内容容包括::27连接的种种类从连接目目的分::操作/过程调用用、控制制/事件/消息发送送、数据据传输从连接机机能分::有返回回连接和和无返回回连接从连接响响应分::同步连连接和异异步连接接。连接的实实现计算机硬硬件提供供了实现现一切连连接的基基础。在在此基础础上构筑筑了各层层的连接接方式。。无论怎怎样复杂杂的连接接,都是是在基本本连接的的基础上上实现的的。串行输入入/输出并行输入入输出DMA(直接存存储访问问)循环扫描描代码块连连接进程线程共享同步并行过程调用用中断存储栈分时并发发事件消息异常处理理基本连接接285.3软件体系系结构应应用框架架软件体系系结构应应用框架架,是在在大量成成功的应应用系统统中,被被广泛使使用并得得到验证证的系统统结构。。它们大大都有相相应的软软件产品品或开发发环境的的工具所所支持。。各大软软件开发发商,都都在相互互竞争地地围绕这这些应用用的软件件体系结结构,发发展自己己独特性性能的构构造工具具和产品品,并且且,不断断创造新新的更具具优势的的结构概概念,以以研制更更多的产产品占领领软件开开发市场场。291.客户/服务器(Client/Server)C/S结构在信息产产业的系统结结构中占有重重要地位。是是随着网络时时代的发展,,从集中式计计算到分布式式计算重大演演变的产物。。基本概念C/S结构是分布式式系统结构分布式系统是是由多个自主主的处理器,,平行地处理理所各自独立立的系统部分分,来同共完完成一个业务务过程。它们们之间不共享享存储,仅通通过封装的接接口传递信息息。C/S结构是分布式式系统结构。。C/S结构的消息传传递特征消息传递是分分布系统结构构的基础,C/S结构采用消息息传递的关系系模式。即客客户向服务者者发送消息,,客户是消息息的发送者,,也是请求服服务者;而服服务器是消息息的接收者,,它响应消息息并执行服务务。C/S结构既是指硬硬件也是指软软件。并且,,通常用来表表明一种消息息交互的形式式30C/S体系结构硬件件Internet客户机1打印机调制解调器服务器其他公用设备备客户机2客户机3客户机4客户机5客户机通常采采用个人微机机,在自身操操作系统控制制下,执行系系统的应用程程序。服务器,采用高级计算算机系统,提提供多用户方方式下的数据据库服务、文文件服务、网网络通信、打打印服务、电电传及传真等等设备服务等等。31应用接口数据库系统Core操作系统用户界面应用系统数据库系统运行环境FormReportSQL操作系统跨平台跨地域接口数据存储管理理ServerClientC/S结构的软件系系统分布C/S结构是资源不不对等结构。。常被形象地地称为“胖客客户机结构””客户处理机担担任应用程序序的全部系统统处理,包括括:操作界面面、业务逻辑辑及数据计算算的所有处理理运行。服务处理机担担任多个客户户应用的数据据管理,包括括:数据库服服务器、网络络服务、应用用请求响应服服务。…32C/S结构的处理流流程早期的C/S结构处理方式式是两层方式式的。由于所所有的应用系系统程序都在在Client侧,程序之间间的访问,是是采用的共享享内存的本地地过程调用LPC(LocalProcedureCall)方式。3334RPC运行SkeletonRPCAPI过程存储数据库操作系统用户界面RPC运行StubRPCAPI应用系统操作系统跨平台跨地域远程过程存储储及RPCServerClient客户端向服务务器发出请求求---向指定的服务务器请求数据据访问服务器接收请请求----向客户提供相相应的数据服服务RPC接口----为应用提供的的过程存储调调用IDL(InterfaceDescriptionLanguage)----可产生C/S两端的RPC接口…35三层C/S结构处理流程程将服务器分为为逻辑上独立立的两部分::业务功能处处理和数据访访问处理。将将原来客户端端处理的内容容只保留界面面操作请求验验证处理部分分,而将验证证过的操作请请求及数据,,整体发送给给服务器,服服务器经过业业务处后,客客户端仅将结结果数据取回回。3637客户端计算机机运行浏览器器,服务器计算机机运行逻辑上上划分的Web服务器和数据据服务器38客户浏览器1)用统一资源源定位器URL来识别对应请请求的Web服务器2)通过解释HTML页面来显示信信息3)用超文本传传输协议HTTP来传输请求4)取回处理结结果,转换成成HTML页面信息Web服务器各个业务的处处理包装成对对应的应用服服务,并执行下列任任务:1)验证客户端端的业务请求求2)执行相应的的业务处理代代码程序3)发送必要的的请求给数据据服务器,并并取回结果数数据4)按事先给定定的结果页面面准备好执行行结果数据服务器数据服务接受受对应的数据据请求与数据库及文文件系统交互互,建立并管管理数据,执执行检索、修修改、删除等等数据操作39B/S多层结构基本B/S结构存在如下下问题:应用服务的表表示逻辑和处处理逻辑紧密密相关,不能能独立修改和和复用业务的显示信信息是以全体体共识的方式式直接被客户户端获取,因因此,系统的的数据结构直直接暴露,造造成极高的信信息安全风险险Web服务器既要处处理界面操作作验证,又要要处理业务计计算,还要负负责与数据服务器的的联系,使其其负担过重,,造成系统性性能下降,抗抗风险能力低低40多层B/S结构的形式将将Web服务器的工作作适当分解为为多个部分,,将界面操作作验证等处理理逻辑分成独独立的部分,,不但减轻了了各部分的负负担,使风险险分散,最重重要的是可以以提高系统的的安全性,并并提高系统的的复用性和构构造性。413.对象中间件结结构中间件基本概概念中间件的产生生与C/S结构的发展密密不可分。由由于C/S结构存在着操操作系统、文文件格式、网网络协议、服服务等相互多多元异构的问问题。希望通通过中间件,,能够屏蔽差差异,实现异异构环境下,,建立具有可可扩展能力的的分布式软件件框架。中间件的定义义:中间件是为解解决异构环境境的分布计算算问题,是位位于平台和应应用之间、具具有标准接口口和协议的通通用服务。42早期的中间件件类型早在中间件概概念被提出之之前,很多系系统在解决分分布式互联方方面就已经采采用过很好的的中间件解决决方案。例如如:远程过程调用用(RemoteProcedureCall,RPC),同步方式的分分布式互联技技术消息发布/订阅(publish/subscribe),准异步的分布布式互联消息队列(Messagequeue),异步方式的分分布式互联技技术开放数据库互互连(OpenDatabaseConnectivity,ODBC),异构数据库库系统互联然而,上述中中间件系统中中,软件成分分之间的互联联访问,其双双方的位置和和身份是固定定的。43对象中间件随着软件技术术的不断发展展,软件结构构设计的抽象象程度越来越越高,从基本本数据结构、、模块,子程程序、对象类类,直到对象象构件。以对象构件为为基础建造的的系统,不但但需要对象构构件本身,还还需要对象构构件的运行机机制来管理和和控制,以实实现构件的建建立和撤销、、构件的加入入与退出,以以及构件之间间的相互访问问等,这个机机制就是“对对象中间件””。对象中间件的的理解要点::对象构件是包包含独立数据据和功能的大大粒度的对象象实体,是系系统建设的构构造块在分布式网络络环境下的对对象构件系统统中,对象构构件不分客户户还是服务者者,它们的角角色可以互换换,并可以即即插即用44对象中间件的的三大主流结结构由国际OMG(ObjectManagementGroup)制制定定的的ORB和CORBA对象象中中间间件件规规范范以SUN公司司Java技术术为为基基础础的的对对象象组组件件和和中中间间件件体体系系EJBMicrosoft公司司Windows环境境的的COM/DCOM/COM+构件件技技术术系系列列45①CORBA对象象中中间间件件由国国际际OMG(ObjectManagementGroup)制制定定的的软软件件跨跨平平台台交交互互操操作作标标准准。。目目标标是是::无无论论在在什什么么地地方方,,用用的的什什么么语语言言或或是是什什么么操操作作系系统统,,应应用用程程序序都都能能在在独独立立的的情情况况下下,,透透明明访访问问对对象象。。在在此此目目标标下下,,制制定定统统一一的的应应用用软软件件标标准准,,规规划划分分布布对对象象的的体体系系结结构构,,以以及及在在此此结结构构下下对对象象的的产产生生、、消消亡亡和和运运用用方方式式。。这这套套规规定定包包括括::OMA(ObjectManagementArchitecture)对对象象管管理理体体系系结结构构ORB(ObjectRequestBroker)对象请请求代理理者CORBA(CommonObjectRequestBrokerArchitecture)公共对象象请求代代理者体体系结构构46对象服务务,提供供用于实实现对象象的一些些基本功功能,如如对象的的命名服服务、对对象并行行、对象象存储、、对象产产生和消消亡、事事件消息息响应,,以及事事务交易易的一致致性保障障等应用对象象,是广广泛概念念的分布布系统中中的任何何成分。。可以是是应用程程序、进进程、类类实例公共设施施,提供供运行在在应用程程序中的的公共服服务,例例如:菜菜单、窗窗口、绘绘图板、、电子邮邮件等ORB是OMA的核心部部分。对对象系统统中对象象构件之之间的交交互,都都是通过过ORB进行的OMA对象管理理体系结结构47ORB核心,ORB核心提供供底层消消息通信信协议GIOP(GlobalInternet-ORBProtocol)接口定义义语言IDL,提供对对象的接接口定义义机制,,通过编编译的接接口,产产生stub和skeleton桩(stub),客户户请求所所需要的的对象代代理,或或者远程程对象的的本地代代理槽(skeleton)服务的的接口,,明确给给出所承承担的服服务接口库,,提供注注册构件件的接口口管理,,动态调调用时,,提供对对象方法法的元数数据实现库,,包含支支持服务务的类、、实例化化对象及及标识。。为定位位和激活活对象提提供必要要的手段段对象适配配器,提提供对象象构件运运行环境境的适配配转换机机制CORBA结构48EJB构件系统统开发环环境EJB和J2EEJ2EE(Java2EnterpriseEdition)是SUN公司开发发的具有有性能保保证,安安全防护护、事务务处理,,以及集集群(cluster)管理等综综合技术术标准的的应用系系统软件件开发框框架。还包含网络络服务技术支持,及软件开发发工具SDK(SoftwareDevelopmentKit)。EJB(EnterpriseJavaBean)是J2EE的核心技术,是组件件式企业业系统应应用开发发的、可视化操操作的、构件系统统装配工工具和运行环境。是一个特特定的能能在服务务器上运运行的JavaBean。49J2EE还包含:JNDI(JavaNamingandDirectoryInterface)JMS(JavaMessageService)JCA(JavaConnectorArchitecture)JTA(JavaTransactionAPI)等这些重要的技技术配合合EJB完成企业业应用系系统的开开发和建建设J2EE只是个标标准,它它依赖于于各厂商商的产品品实现。。50JavaBean的基本概概念Bean(豆)可看作一一个独立立的整体构件件Bean的性质::内省(可可表示))可装配可授权操操作可事件响响应可永久性性存储JavaBean机制中提供对Bean的动态发现现、组装装、部署署Bean,以及运运行。Bean的连接机制是““消息””,用相互之之间的消消息交互互,构成完整整的应用系统统。51EJB的基本概概念EJB是企业级级应用服服务的一一个特殊殊的Bean在EJB中,包含含一个OTM(ObjectTransactionMonitor)对象事务务处理控控制器,,提供事事务处理理的服务务构件,,包括::负责激激活构件件、撤销销构件、、事务调调度构件件,事件件处理及及构件,,以及持持久性管管理构件件。在EJB中,构件件之间交交互控制制的机制制是RMI(RemoteMethodInvocation)远程方方法调用用,它相相当于SUN公司的ORB。52EJB服务器EJB服务器,,可以有有多个EJB构件/EJB容器,部部署在EJB服务器上上EJB容器,表表示EJD单个构件件或多个个构件共共同完成成的整体体大粒度度的构件件Home接口,EJB构件的接接口,提供创建建、删除除及发现现、查找找等操作作Remote,EJB构件的接接口,外外界通过过该接口口调用业业务构件件53COM、DCOM、COM+对象组件件技术COM与OLE、ActiveX的关系OLE(ObjectLinkingandEmbedded)对象连连接和嵌嵌入技术术,是将将应用程程序的数数据交换换提高到到“对象象之间的的交换””。早期期的OLE技术是为为了开发发时能够够容易地地控制连连接多媒媒体混合合文档而而实现的的。OLE中的数据据对象被被称为““复合文文件”,,可在任任一应用用程序中中,对其其进行编编辑、更更新、打打印等功功能的操操作。随着组件件技术的的发展,,在OLE2.0技术的基基础上,,建立了了COM(ComponentObjectmodel)组件对对象技术术规范,,或者说说OLE技术是COM的一个技技术应用用。ActiveX是在原OLE技术的基基础上,,支持网网络环境境上的对对象组件件集成和和交互的的技术,,它扩展展了OLE仅针对Windows系统内应应用软件件的集成成和交互互的技术术。54COM对象组件件模型及及实现过过程客户应用用,是使使用对象象组件的的应用COM库,提供供COM对象组件件的创建建和标识识、内存存管理、、对象构构件程序序连接等等函数注册表,,操作系系统范围围公用的的信息,,是客户户应用、、对象购购件与COM库用以信信息交换换的共享享区对象构件件,创建建COM对象构件件的特殊殊类,用用特殊接接口提供供标准的的操作,,得到构构件的实实例化对对象55DCOMDCOM(DistributedCOM)是COM的进一步步扩展。。由于COM仅支持同同一计算算机上Windows环境的构构件之间间的交换换,WindowsNT4.0研制了分分布对象象计算环环境COM技术。DCOM用网络协议议来代替本本地进程之之间的通信信,并针对对分布环境境提供必要要的特性,,包括:位位置透明、、网络安全全、跨平台台调用。DCOM的分布功能能主要依靠靠远程过程程调用实现现。COM+COM+在DCOM基础上,加加入了事务务服务和分分布式网络络应用体系系。提供建建立分布式式事务处理理企业应用用的系统框框架。包括括:COM+目录、负载载平衡、驻驻留内存数数据库、对对象池、事事件模型、、构件部署署和管理等等服务型对对象构件。。56COM+COM+目录负载平衡驻留内存数数据库对象池事件模型构件部署和和管理COM+的基本结构构COM接口编程方方式基本构件服服务支持远程DCOM分布式构件件服务MTS支持事务处处理资源分发管管理安全管理574.面向服务的的体系结构构基本概念面向服务的的体系结构构(ServiceOrientedArchitecture,SOA),是另一一种形式的的分布式系系统构造模模型。它将将分布在网网络中被称称为服务的的应用程序序或功能单单元,通过过协议方式式的连接机机制联系起起来。而这这个服务的的连接机制制是独立于于服务运行行环境的硬硬件平台、、操作系统统和编程语语言的执行行机构。58理解要点SOA的“服务””不同于““组件”。。组件也也称为“构构件”,是是系统构造造过程中的的构造快。。“构件可可动态连接接”仍然是是指系统建建造过程中中的操作,,因此,它它们或被代代理预置,,或被事先先部署,总总之是非运运行过程的的操作。“服务”是是运行中特特定功能的的网络实体体,它们是是通过独立立连接机制制,可动态态发现并建建立连接运运行执行成成分。使得“服务务”能够被被发现,并并建立连接接的机制,,是采用统统一的协议议方式,独独立于服务务运行环境境的运行机机构,而不不是单纯的的构件接口口方式。仅从字面意意义理解“服务”和“构件””的区别就就不难看出出,SOA结构比起对对象组件结结构,可以以构成更松松散的耦合合关系。59SOA和网格计算SOA的产生与网网格技术密密不可分,,是网格((grid)技术的实实际应用和和技术扩展展。网格的的概念借鉴鉴了电力网网的概念,,希望像使使用电力网网一样使用用网络资源源。水力发电((地点A)火力发电((地点B)风力发电((地点C)核力发电((地点E)电力网输入输出电力电力电力电力电力网构成成示意:60网格计算,,为解决超超大型计算算问题,是是集成计算算资源环境境的问题求求解体系结结构。它将将各种计算算资源转化化成一种随随处可得的的、可靠的的、标准的的、同时还还是经济的的计算能力力。资源包包括计算机机、网络通通信、数据据资源、仪仪器设备等等。网格计计算,是继继Internet之后又一次次重大科技技进步,它它代表了先先进的技术术和基础设设施。系统M(地点A)系统N(地点B)数据信息(地点C)设备仪器((地点E)网格输入输出计算计算计算计算网格组成示示意:61网格计算与与WebServices具有代表性性的网格技技术是Globus(美国Argonne国家实验室室的研发项项目)。其其中的五层层沙漏协议议体系结构构,以及GlobusToolkit,作为开放放的结构和和开放源代代码,已经经在世界上上许多网格格项目中被被使用。2002年10月,IBM与Globus在多伦多联联合发布的的OGSA(OpenGridServicesArchitecture)开放网格格服务体系系结构,把把Globus的概念和标标准运用于于WebServices,把网格技技术由科学学计算应用用,扩展到到广泛的异异构企业系系统结构。。62WebServices的基本思想想WebService的“服务””,是可被被Internet协议的URL统一资源定定位器识别别的应用软软件成分。。服务的接口口是采用Internet协议可被直接访问的的XML(eXtensibleMarkupLanguage)消息形式式描述。所有信息及及信息处理理都被视为为同一形式式的网络运运行资源,,包括物理理设备及软软件运行的的逻辑成分分;统称为“服服务”服务可以被动态态发现和邦邦定,并在在生命期内内被管理运运行。63WebServices体系结结构服务提提供者者是提提供Web服务的的供应应商,,它实实现Web服务,,并放放置在在在线线服务务器上上供请请求服服务者者使用用,同同时,,还要要将服服务发发布到到注册册中心心服务注注册中中心是是Web服务的的注册册地,,它包包含所所有注注册了了的Web服务的的有关关信息息,提提供商商业化化注册册手段段,并并有发发现为为Web服务的的能力力Web服务的的请求求者,,向服服务注注册中中心发发出查查找服服务的的请求求,当当得到到回应应找到到了合合适的的Web服务后后,从从服务务注册册中心心获取取Web服务的的信息息引用用,通通过动动态绑绑定机机制建建立Web服务,,得到到所需需要的的服务务。64SOAP(simpleobjectaccessprotocol)基于于XML的RPC协议,,描述述通用用的Web服务目目标WSDL(Webservicedescriptionlanguage)描述述Web服务接接口的的访问问方法法,复复杂的的服务务可以以由多多个服服务组组成UDDI(universaldescriptiondiscoveryandintegration)Web服务务的的目目录录结结构构定定义义BPEL(BusinessProcessExecutionLanguageForWebServices)Web服务务的的业业务务流流程程执执行行语语言言WebService的标标准准协协议议65简单单对对象象访访问问协协议议SOAP(SimpleObjectAccessProtocol)SOAP协议议是是基基于于XML支持持分分布布式式环环境境结结构构化化文文本本信信息息的的交交换换SOAP由四四个个部部分分组组成成::①SOAPenvelope(SOAP信封封))---定义义了了整整体体的的表表示示框框架架,,用用于于表表示示消消息息的的内内容容,,由由谁谁来来处处理理,,以以及及可可以以由由目目标标应应用用程程序序自自己己选选择择是是否否处处理理,,还还是是强强制制必必须须处处理理,,如如果果无无法法处处理理则则返返回回错错误误。。②SOAPencodingrules(SOAP编码码规规则则))---定义义了了数数据据编编序序机机制制,,通通过过编编序序机机制制,,定定义义应应用用程程序序中中需需要要使使用用的的数数据据类类型型,,这这些些数数据据类类型型所所衍衍生生的的实实例例可可用用于于交交换换。。③SOAPRPCrepresentation(SOAPRPC表示示))---定义义了了用用于于远远端端过过程程调调用用和和响响应应的的约约定定。。④SOAPbinding(SOAP绑定定))---定义义了了使使用用底底层层传传输输协协议议来来完完成成在在结结点点间间交交换换SOAP信封封的的约约定定。。66Web服务务描描述述WSDL(WebServicesDefinitionLanguage)WSDL把Web服务务描描述述成成一一系系列列端端点点操操作作((服服务务接接口口))。。WSDL描述了Web服务的三个基基本属性:①服务做些什什么---服务提供的操操作(方法))②如何访问服服务---数据格式及访访问服务操作作的协议③服务位于何何处---由特定协议决决定的网络地地址67Web服务的寻找和和发现UDDI(UniversalDescriptionDiscoveryandIntegration)统一描述、发发现和集成协协议,提供向向注册中心注注册的方式。。注册中心维护护Web服务的全局目目录,目录的的信息描述格格式采用通用用的XML格式。UDDI注册中心提供供两种注册方方式:①PublicUDDIRegistry(公共UDDI注册中心)面向全局UDDI注册,采用逻逻辑上统一,,物理上分布布的实现方式式,不同站点点之间采用P2P对等网络。注注册其中任意意一个站点就就等于注册了了UDDI全局注册中心心。②PrivateUDDIRegistry(私有UDDI注册中心)独立组织、企企业或某一范范围内使用的的UDDI注册服务,其其服务对象局局限在注册的的局部注册中中心范围内。。68BPEL(BusinessProcessExecutionLanguageForWebServices)Web服务的业务流流程执行语言言。BPEL结合了IBM的Web服务流程语言言(WebServicesFlowLanguage)和Microsoft的XLANG规范。可以将将一组服务整整合起来,定定义一个新的的Web服务。整合服务的接接口被描述为为WSDLportType的集合,并指指出服务接口口与总体执行行的配合情况况。69.Net基于网格计算算的WebService受到业界广泛泛的关注,形形成了新的产产业协议,其其中包括Microsoft公司的.Net,以及SUN公司的SunOne等。因此,.Net技术属于面向向服务的体系系结构,是基基于XMLWebservices标准的应用系系统开发环境境,被称为.Net平台。.Net技术的基本思思想.Net技术的基本理理念,不再关关注单个网站站和与Internet连接的单个设设备,而是要要让所有的计计算机和相关关设备,以及及应用服务协协同工作。使使人们能控制制信息并让所所需信息在指指定的时间,,以指定的方方式传送给自自己。70.Net平台结构OperatingSystem运行在Windows2000Server等多种操作系系统中.NetEnterpriseServers提供企业应用用系统使用的的服务器产品品.NetBuildingBlockServices,提供可采用用付费方式直直接访问的成成型服务,如如:Passport服务。VisualStudio.Net提供C#语言、.NetVB、.NetXML、等开发环境境。可开发桌桌面应用程序序、Web应用程序、智智能设备等应应用程序。VisualStudio.NETOperatingSystem.NETEnterpriseServers.NETFramework.NETBuildingBlockServices71.NetFramework是平台结构的技技术核心包括:公共语言运行行机制(CommonLanguageRuntime,CLR).Net框架类库(FrameworkClassLibrary,FCL)CommonLanguageRuntime(debug,IL,JIT等)WebserviceWebFormWindwosFormFrameworkBaesClasses(IO,String,net,threading等)DataandXMLClasses(ADO,SQL,XSLT,Xpath,XML等)725.引擎结构工作流引擎工作流,是经经营管理过程程的计算机实实现工作流管理系系统,上述实现的软件环环境(或平台台)工作流三大部部分:工作流建模工工具工作流运行机机制工作流引擎工作流建模,,统一描述业业务过程的各各项任务,分分配任务角色色;定义任务务间的交互操操作和过程。工作流运行机机制,启动对对应业务的工工作流引擎,,按照模型描描述的任务、、角色及工作作过程,控制制不同操作者者的、不同任任务的各项操操作执行。工作流引擎,,逐一解释对对应业务的工工作流模型,,根据执行状状态及操作输输入,决定每每一操作步骤骤,并输出操操作,以控制制业务应用系系统的执行。。引擎执行过程程73过程建模工具具工作流模型工作流引擎工作流引擎工作流引擎过程状态工作流运行数据企业应用系统统应用系统数据库任务管理操作界面工作流控制数据应用系统运行核心角色管理用户操作输入入工作流引擎结结构及工作示示74AJAX引擎AJAX基本概念AJAX(AsynchronousJavaScriptandXML)异步的JavaScript和XML,是联合使使用多种技技术,以提提高Web应用效率的的一个解决决方案。其其中的多个个技术包括括:XHTML和CSS标准,XHTML(TheExtensibleHyperTextMarkupLanguage)可扩展标标识语言,,CSS(CascadingStyleSheet)级联样式式单。用于于动态Web页面呈现效效果和布局局。DOM(DocumentObjectModel)文档对象象模型,是是对HTML和XML文档操作的的程序接口口,提供两两种文档的的结构描述述,用于实实现动态修修改浏览器器页面。XSLT(ExtensibleStylesheetLanguageTransformations)扩展样式式单转换语语言。用于于将XML文档转换为为另外形式式的、可被被浏览器识识别的文档档,比如HTML、XHTML等。XMLHttpRequest对象类,提供供浏览器脚本本发送Http请求并获取回回执的异步数数据读取操作作。JavaScript脚本语言,AJAX引擎是用JavaScript编写,可嵌入入在浏览器中中,用于动态态连接,并实实现相关的处处理逻辑。75AJAX技术原理传统的Web应用处理方式式:浏览器与服务务器交互时,,需要浏览器器端触发一个个HTTP请求到服务器器,服务器对对其进行处理理后,再返回回一个新的HTHL网页到浏览器器。这样,每每当服务器处处理提交的请请求时,浏览器端基本本是空闲的,,并且,哪怕怕从服务器端端得到的只是是很简单的一一个数据,也也都需要一个个完整的HTML页的重写。AJAX的Web应用处理方式式:在客户端浏览览器上添加AJAX引擎,当浏览览器向服务器器提交数据时时,由AJAX引擎收集数据据,并通过XMLHttpRequest向服务器发送送数据及处理理请求,服务务器处理完成成后返回XML,由AJAX引擎再将XML转换为XHTML和CSS标准格式显示示到浏览器,,并负责更新新浏览器界面面。AJAX引擎的结构如如图3.43所示。76AJAX引擎的结构AJAX引擎的主要任任务:收集数据并完完成必要数据据验证控制不需要提提交的请求异步数据交换换的同步控制制输出格式的转转换页面更新处理理,以及控制制刷新页面5.4设计模式设计模式:是面向对象的的软件开发经经验的总结,,其中包含了软软件设计中很很多问题的解解决方案和设设计思路,是是可直接利用用的程序结构构。按照以下要点点讨论设计模模:模式名称:表表达设计思想想的简单名字字设计意图:针针对的问题和和解决问题的的思路实现效果:达达到的实际效效果及作用技术途径:采采用的技术方方法和策略77设计模式分类类:设计模式
简要说明抽象工厂(AbstractFactory)提供创建相关的一组对象的接口,不需要指定它们的具体实现构造器(Builder)将对象的结构与它的表示分离,可用同样的结构得到不同的表示工厂方法(FactoryMethod)定义创建对象的接口,但由子类来决定实例化原型(Prototype)用原形实例指定创建对象的种类,并通过拷贝原形来创建新的对象单例(Singleton)保证一个类仅有一个实例,提供访问它的全局访问点构造式:涉及及对象创建过过程的模式78
设计模式
简要说明适配器(Adapter)为接口加载转换接头,以解决接口不兼容桥接(Bridge)为未来的灵活变化,将分离的两部分进行桥接合成(Composite)将对象组成树形“整体-部分”结构,使单独或复合对象的引用形式统一装饰器(Decorator)动态地为对象添加新的操作功能外观(Facade)统一子系统中不同的接口享元(Flyweight)利用共享达到细粒度对象的集合引用代理(Proxy)以相同的方式访某对象的替代者结构式:涉及及对象类组合合的模式79
设计模式
简要说明责任链(ChainofResponsibility)将相关责任的对象形成链,使对它们的请求成为统一的链询方式命令(CommandProcessor)将请求封装为独立对象,可通过不同参数的实例对象得到不同的请求解释器(Interpreter)应对给定语言和文法的特定问题,建立语言解释器基本方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 循证护理提升危重症管理
- 船舶航行应急安全预案(培训)
- 文娱行业版权保护制度
- 6.1 认识网络操作系统与基础配置
- 全国中考数学几何问题求解技巧试卷
- 全国英语竞赛语法练习题库试卷
- 生殖健康与职业健康
- 2026年及未来5年市场数据中国湖北省水泥行业市场发展数据监测及投资战略咨询报告
- 六年级下科学教学设计-钻木取火|青岛版
- 医师规范化培训胃炎专项考核试题及答案解析
- 2026四川成都成华区白莲池街道招聘四级社区工作者5人备考题库附答案详解(b卷)
- 2026年广东佛山市高三二模语文试卷试题(精校打印)
- GB 47372-2026移动电源安全技术规范
- 下肢动脉球囊扩张成形术后护理查房
- 2026年上半年成都市教育事业单位公开考试招聘中小学教师(1197人)考试参考试题及答案解析
- 仲利国际租赁在线测试答案
- 2026年公选乡镇领导班子成员(副科)试题及答案
- 2025年河南建筑职业技术学院单招职业技能考试题库附答案解析
- 珠宝行业会计财务制度
- 近代物理实验指导书
- 人文地理学课件
评论
0/150
提交评论