版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
服务科学与工程概论
IntroductiontoServiceScience&Engineering第5章面向服务的架构3/29/20241本章内容3面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.63/29/20242西北工业大学软件与微电子学院SOA与面向服务软件架构面向服务的原则SOA的定义提出SOA的动机SOA和分布式信息系统体系结构SOA和软件开发SOA中的基本构件与连接件SOA的典型特征与优势3/29/20243西北工业大学软件与微电子学院5.1.1软件架构3/29/20244西北工业大学软件与微电子学院软件架构的定义Thesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwareelements,theexternallyvisiblepropertiesofthoseelements,andtherelationshipsamongthem.Thedesignofapplicationorsystemsoftwarethatincorporatesprotocolsandinterfacesforinteractingwithotherprogramsandforfutureflexibilityandexpandability.Aself-contained,stand-aloneprogramwouldhaveprogramlogic,butnotasoftwarearchitecture.3/29/20245西北工业大学软件与微电子学院软件架构的定义架构是系统的组织结构。架构还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。架构有两个公共元素:一是一个软件系统从整体到部分的最高层次的划分,一个建造一个系统所作出的最高层次的、以后难以更改的、商业的和技术的决定。MartinFowler3/29/20246西北工业大学软件与微电子学院软件架构的定义在计算的算法和数据结构之外,设计并确定的系统整体结构问题,包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。3/29/20247西北工业大学软件与微电子学院3/29/20248西北工业大学软件与微电子学院架构的目标可靠性(Reliable)安全性(Secure)可伸缩性(Scalable)可定制化(Customizable)可扩展性(Extensible)可维护性(Maintainable)客户体验(CustomerExperience)市场时机(TimetoMarket)3/29/20249西北工业大学软件与微电子学院架构的分类逻辑架构3/29/202410西北工业大学软件与微电子学院架构的分类物理架构3/29/202411西北工业大学软件与微电子学院架构的分类系统架构系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。3/29/202412西北工业大学软件与微电子学院架构师的工作需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。3/29/202413西北工业大学软件与微电子学院5.1.2面向服务的原则3/29/202414西北工业大学软件与微电子学院服务(Service)服务是整个SOA实现的核心。SOA的基本元素是服务,SOA指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络查找其地址。W3C将服务定义为:服务提供者完成一组工作,为服务消费者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化。3/29/202415西北工业大学软件与微电子学院面向服务(ServiceOriented)从解决方案角度看,SO是一组模式和实践惯例,用于开发单个服务和解决方案,它们利用了服务模型,因而能够在不同系统之间集成。服务封装其操作系统和专用协议的特性,允许使用标准协议和极传统的接口访问其业务逻辑和信息。在稳定的接口背后,可以持续升级和改进实现,而不会对使用该服务的解决方案产生负面影响;从资产组合角度看,面向服务的企业是分解、集成和管理组织的技术资产组合的一条途径,它将服务模型用作开发和操作分布式业务系统的基础。3/29/202416西北工业大学软件与微电子学院面向服务与企业计算业务流程层服务接口层应用层业务逻辑应用逻辑服务接口层3/29/202417西北工业大学软件与微电子学院面向服务与企业计算服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能够封装应用逻辑和业务流程逻辑。3/29/202418西北工业大学软件与微电子学院面向服务与企业计算业务流程层服务接口层应用层服务接口层服务接口表示物理层封装3/29/202419西北工业大学软件与微电子学院面向服务与企业计算服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能够封装应用逻辑和业务流程逻辑。业务逻辑通过服务扩展。3/29/202420西北工业大学软件与微电子学院面向服务的原则服务可复用服务有一个正式契约服务是松散耦合的服务是底层逻辑抽象的服务是可组合的服务是自治的服务是无状态的服务是可被发现的3/29/202421西北工业大学软件与微电子学院5.1.3SOA的定义3/29/202422西北工业大学软件与微电子学院什么是“SOA”从字面上看,SOA=Service(服务)+体系结构(Architecture)3/29/202423西北工业大学软件与微电子学院面向服务架构(SOA)一种体系结构风格,它将应用程序的不同功能单元—服务(service),通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立的接口定义的特征称为服务之间的松耦合。3/29/202424西北工业大学软件与微电子学院通过超市的例子解释什么是SOA
3/29/202425西北工业大学软件与微电子学院面向服务架构(SOA)W3C将服务定义为:服务提供者完成一组工作,为服务使用者交付所需的最终结果。3/29/202426西北工业大学软件与微电子学院面向服务架构(SOA)三种角色:服务提供者(ServiceProvider)服务请求者(ServiceRequestor)服务目录(ServiceRegistry)三个操作发布(Publish)查找(Find)绑定(Bind)3/29/202427西北工业大学软件与微电子学院面向服务的架构一个组件模型;将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来;接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言;构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。3/29/202428西北工业大学软件与微电子学院系统(程序)=算法+数据结构(1960’s)系统=子程序+子程序(1970’s)系统=对象+对象关联机制(1980’s)系统=软构件+连接件(1990’s)系统=服务+服务连接件(2000’s)简单复杂系统规模与复杂度封闭开放系统开放度细粗构件粒度构件连接件关注层面
IT技术商务过程封闭开放个人企业内企业间全球软件架构的发展与演化3/29/202429西北工业大学软件与微电子学院SOA实现平台的功能组件一般来说,SOA实现平台包含的组件可以分为两类:一类面向系统功能,另一类面向系统功能的质量属性,或称为非功能属性。包括:服务发布和发现:服务提供者可以把服务描述以及其他服务元信息发布到服务注册中心,服务消费者通过服务注册中心发现需要的服务;服务协作:管理服务之间的协作通信;服务组合:提供编排基本服务组成复合服务的语言;并提供执行这种语言的引擎;服务通信:实现服务之间基于消息的通信;服务描述:提供定义服务描述的语言;服务安全:保障SOA应用的安全性,比如身份识别、数字签名、消息的加密解密、访问授权、信任联盟管理等;服务事务:保障SOA应用的状态一致性;服务管理:实现服务运行时的监控和管理。3/29/202430西北工业大学软件与微电子学院5.1.4提出SOA的动机3/29/202431西北工业大学软件与微电子学院(1)Internet环境下的企业交互现代企业已经不再是封闭的企业,市场分工的日益专业化使得企业之间可能存在大量频繁的交互行为,以发挥各自的竞争优势:供应链:供应商-制造商;客户关系管理:制造商-物流商-客户这种业务上的交互体现为企业业务流程的交互/互操作,同时一定需要企业信息系统的支持,因此体现为软件系统之间的集成与互操作。互操作(Interoperability):能够在异构的、分布式的系统之间交换和使用信息的能力;不仅是不同企业之间,甚至一个企业内部的各个部门之间都有可能存在大量的交互。3/29/202432西北工业大学软件与微电子学院企业价值链:多方协调与集成3/29/202433西北工业大学软件与微电子学院案例:供应商-制造商的业务集成3/29/202434西北工业大学软件与微电子学院(2)异构系统的集成与互操作不同企业所应用的软件系统是不同的(异构的):技术平台不同:J2EE-based、.Net-based软件体系结构不同:message-based、、process-based数据格式不同:同样的“订单”对象,不同的属性集合…集成这些分布式的软件系统,在它们之间传递数据和消息,是一件非常困难的事情。EJBCORBACOMCORBA3/29/202435西北工业大学软件与微电子学院3/29/202436西北工业大学软件与微电子学院(3)频繁变化的互操作与集成需求企业的业务是频繁变化的;企业间的协同关系也不是固定的,随着业务流程的变化而随之变化;企业的IT应用系统要能够快速支持这种变化的需求。3/29/202437西北工业大学软件与微电子学院案例:灵活可变的企业流程Change:CustomerOrderEntryChange:SharedService–Marketing,Billing,Receivables3/29/202438西北工业大学软件与微电子学院Change:SupplierManagementsInventory(VMI)Change:ShippingbyFedEx,DHLorUPS3/29/202439西北工业大学软件与微电子学院归纳:SOA所要解决的问题分布式企业间业务的协同。通过Internet连接在一起的异构企业应用软件系统的集成、交互与互操作。当业务(Business)发生变化时,IT系统能够快速响应。3/29/202440西北工业大学软件与微电子学院5.1.5SOA和分布式信息系统体系结构3/29/202441西北工业大学软件与微电子学院信息系统的分层逻辑结构构造一个信息系统会遇到的三类问题:如何把信息系统的功能以图形或字符人机界面的形式呈现给系统用户并接收用户的输入?如何编写实际的应用逻辑以实现系统功能?如何利用已有资源,包括数据库、文件系统等完成对资源的管理和操作?3/29/202442西北工业大学软件与微电子学院信息系统的分层逻辑结构信息系统的分层逻辑体系结构负责界面展示和接收用户输入的部分称为表示层;负责系统应用逻辑的部分称为应用逻辑层;负责资源接入的部分称为资源管理层;
三层之间存在着线性依赖关系。即底层提供功能和服务以支持高层的功能和服务。3/29/202443西北工业大学软件与微电子学院信息系统的分列部署结构单列(1-tier)体系结构两列(2-tier)分布体系结构三列(3-tier)分布体系结构面向服务的分布式体系结构3/29/202444西北工业大学软件与微电子学院信息系统的分列部署结构单列(1-tier)体系结构所有软件功能集中由主机完成,而分布的是仅仅具有输入输出功能的哑终端。优点:所有功能都在一致的系统环境中实现,可以方便地对系统进行调优;由于客户端没有软件,因此不需要对客户端进行开发、部署和维护。缺点:系统组成部分耦合紧密,很难维护和扩展;客户端功能单一,没有提供外部系统接口。3/29/202445西北工业大学软件与微电子学院信息系统的分列部署结构两列(2-tier)分布体系结构即客户-服务器(C/S,Client/Server)体系结构;表示层从集中式的服务器中剥离出来转移给客户端;优点:可以利用客户机的处理能力,降低了服务器的运算负担;使得针对不同用户呈现个性化的界面内容成为可能。缺点:客户端和服务器之间耦合紧密;单一服务器所能支持的客户机数量有限;维护代价高。3/29/202446西北工业大学软件与微电子学院信息系统的分列部署结构三列(3-tier)分布体系结构将服务器端的应用逻辑层和资源管理层分离,把应用逻辑交给单独的应用服务器处理;表示层被一分为二,通用功能由标准应用软件(如web浏览器)承担,非通用功能由特定的分布式计算平台实现(如J2EE的JSP和JavaServlet),浏览器和应用服务器之间的表示层之间通过标准文档形式的规范HTML对话;表示层和应用逻辑层通常部署在一个服务器上,两者直接的关系是紧耦合关系,分开部署并不会带来灵活性。3/29/202447西北工业大学软件与微电子学院信息系统的分列部署结构三列(3-tier)分布体系结构优点:浏览器和应用服务器之间是松耦合关系,两者通过标准HTML语言交互,这样浏览器可以在任意平台上用任意编程语言实现;应用服务器和资源服务器之间是松耦合关系,应用服务器可以通过标准的数据访问接口,如JDBC和ODBC,灵活访问不同厂商、不同平台的数据库;应用逻辑层可以部署在多个服务器节点的集群上,集群可以提供复制、负载平衡、故障切换等功能,保障了应用的可伸缩性、性能和可靠性。缺点:表示层和应用逻辑层之间是紧耦合的,两者在技术平台上耦合紧密。3/29/202448西北工业大学软件与微电子学院信息系统的分列部署结构面向服务的分布式体系结构把应用逻辑层封装为Web服务,这样表示层就可以通过XML/SOAP协议与其实现松耦合交互。3/29/202449西北工业大学软件与微电子学院5.1.6SOA和软件开发3/29/202450西北工业大学软件与微电子学院命令式编程范型ImperativeProgrammingParadigm,又称过程式编程范型,指用程序状态和改变程序状态的语句描述计算的编程范型;包括一系列步骤,这些步骤即所谓的命令,每一步骤会执行一次计算,该计算接收一些输入并产生一些输出;步骤的次序是命令式语言的关键,具有相同语句但不同次序的两个程序的语义会完全不同;典型命令包括赋值、输入输出、过程调用等,计算步骤的执行次序由控制结构(比如顺序、分支、循环等)决定;典型语言包括COBOL、Fortran、Pascal、C等;缺点:过程是对功能的抽象,功能只能片面反映问题空间事物的性质,从而使得单纯用命令式范型开发大型程序时产生的代码往往不易理解和维护。3/29/202451西北工业大学软件与微电子学院面向对象的编程范型Object-orientedProgrammingParadigm,指用封装了数据和对数据操作的对象以及对象之间的消息传递描述计算的编程范型;基于面向对象范型的程序包括一组对象的定义,对象是对数据以及施加在数据上的操作的封装,对象之间通过互相传递消息进行通信;具有相同属性和操作的对象被组织成类,类代表概念,对象代表概念的具体实例;基本特征:封装性、继承性和多态性;典型语言包括:C++、Smalltalk、Eiffel、Java和C#等;3/29/202452西北工业大学软件与微电子学院面向对象的编程范型优点:对象直接对应于现实世界的事物,可以采用与现实世界中相似的方式进行操作;封装提供的模块化和对象之间的低耦合度可以显著降低软件的维护成本,对象仅有公共接口是外部可见的,其内部工作是隐藏的,从而内部修改不会波及其他对象;根据对象之间的“一般-特殊”关系和“整体-部分”关系可以从已有对象出发构造出新的对象;多态性可以形成一种更正规、更一致的对象接口。如果是从零开始编码,采用这种范型语言是一种不错的选择。但是,如果想要进一步构建可复用的软件模块,并在这些可复用模块的基础上搭建应用,基于构件的编程范型可以提供更好的方法和指导。3/29/202453西北工业大学软件与微电子学院基于构件的编程范型构件:模块化的、可部署、可替换的软件系统组成部分,它封装了内部的具体实现并对外提供一组接口;基于构件的编程范型:Component-basedProgrammingParadigm,指以构件的构建,构建的管理以及复用已有的构件组装形成应用为基本活动的编程范型;构件与对象的区别:抽象视角不同;对象是对基本实体的抽象,强调实体的对应及对实体的建模;构件是对实体或实体联合能提供的功能和服务的建模。对象涉及实体的静态属性特征,构件仅关注实体的功能和服务。可复用程度和复用机制;比较而言,构件更强调可复用性。对象通过继承实现复用,构件通过组合实现复用。颗粒不同。一般构件的粒度大于对象的粒度。3/29/202454西北工业大学软件与微电子学院基于构件的编程范型涉及三类基本活动:构件的生产、构件的管理和应用的组装(基于构件的应用开发);(杨芙清,2005)基于构件的编程范型下,软件开发人员可分为三类:构件生产者:采用领域工程方法通过对领域的分析和设计最后总结形成可复用的领域构件;构件库管理者:根据一定的分类指标和特征管理构件,以方便构件的发布和发现;构件复用者:负责进行基于构件的软件开发,包括构件查询、构件理解、适应性修改、构件组装以及系统演化等。3/29/202455西北工业大学软件与微电子学院面向服务的编程范型服务:自治、开放、自描述、与实现无关的网络构件;面向服务的编程范型:Service-orientedProgrammingParadigm,指以服务的创建,服务的管理以及复用已有的服务组装形成应用为基本活动的编程范型;服务区别于构件的新特点:开放性:服务的价值体现于共享与复用,遵循开放标准是其基本特性;自治性;自治性体现在服务顾客发出服务请求后,服务何时开始、在何地执行、如何执行不受请求方控制;自描述性:服务可以公布多样化服务描述,包括自己的能力、访问方式和协作方式;实现无关性:服务本身提供的能力以及服务消费者获得服务的方式是和服务的实现无关的。3/29/202456西北工业大学软件与微电子学院面向服务的编程范型涉及三类基本活动:服务的生产、服务的管理和服务的组装(基于服务的应用组装);服务生产:除了强调领域分析和分解、从零开始识别和制造服务外,还注重对领域内已有已有软件系统的分析;服务管理:即对服务描述的管理,服务库就是服务的描述库,真正的服务实体分布在网络的自治节点上;基于服务的应用组装:由于服务可以提供标准的访问、描述以及发布和发现规范,因此对服务的组装可以基于规范来描述,比如BPEL4WS(BusinessProcessExecutionLanguageforWebServices)已经成为业界组合Web服务的事实标准。3/29/202457西北工业大学软件与微电子学院5.1.7SOA中的基本构件与连接件3/29/202458西北工业大学软件与微电子学院SOA基本构件类型:服务SOA中可用的基本构件是“服务”;从外特性上看,一个服务被定义为显式的、独立于服务具体实现技术细节的接口。从内特性上看,服务封装了可复用的业务功能,这些功能通常是大粒度业务,如业务过程、业务活动等。服务的实现可采用任何技术平台,如J2EE、.Net等。3/29/202459西北工业大学软件与微电子学院SOA基本构件类型:服务ServiceConsumerInterfaceProxyServiceInterfaceServiceImplementationNewServiceWrappedLegacyCompositeService3/29/202460西北工业大学软件与微电子学院服务服务之间的“连接件”通过接口,采用位置透明的、可互操作的协议进行调用,与客户端以“松散耦合”(looselycoupling)的方式绑定在一起。SOA中所有协议均是基于XML的文本文件。Service
ConsumersService
Producers3/29/202461西北工业大学软件与微电子学院5.1.8SOA的典型特征与优势3/29/202462西北工业大学软件与微电子学院(1)分布式异构系统的集成与互操作*.java*.java*.java*.java函数调用(局域网)?(本机)3/29/202463西北工业大学软件与微电子学院(1)分布式异构系统的集成与互操作*.java*.java远程方法调用RMI/RPC.NetRemotingEJBCORBA*.java*.c?(局域网)3/29/202464西北工业大学软件与微电子学院(1)分布式异构系统的集成与互操作*.java*.cCORBA*.java*.cor*.java?(局域网)Internet3/29/202465西北工业大学软件与微电子学院(1)分布式异构系统的集成与互操作*.java*.cor*.javaSOAInternet虽然目前已经存在成熟的远程方法调用机制以实现异构系统的集成与互操作,但在Internet这样的分布式环境下,SOA才能实现这一目标。3/29/202466西北工业大学软件与微电子学院(2)紧密耦合与松散耦合传统的软件体系结构中的各构件,通常都是紧密耦合在一起的。通过函数调用的方式实现互操作;客户端需要了解被调用构件的位置和技术细节;缺陷:构件的维护和重复使用变得非常困难,因为一个构件中的修改就自动意味着其他构件中的修改。SOA则实现了完全的松散耦合:位置透明与具体的实现细节无关(通过接口调用)标准化的通讯协议(XML-based)具体实现机制:服务接口作为与服务实现分离的实体而存在,从而服务实现能够在完全不影响服务使用者的情况下进行修改。3/29/202467西北工业大学软件与微电子学院(3)大数据量低频率访问对于.NET、EJB或者RPC这些传统的分布式计算模型而言,它们的服务提供都是通过函数调用的方式进行的,一个功能的完成往往需要通过客户端和服务器来回很多次函数调用才能完成。在局域网的环境下,这些调用给系统的响应速度和稳定性带来的影响都可以忽略不计,但是在Internet环境下这些因素往往是决定整个系统是否能正常工作的一个关键决定因素。SOA采用大数据量的方式一次性进行数据交换。3/29/202468西北工业大学软件与微电子学院(4)基于文本的消息传递在COM、CORBA这些传统的组件模型中,从服务器端传往客户端的是一个二进制编码的对象,在客户端通过调用这个对象的方法来完成某些功能。在Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的很大困难。由于基于文本的消息本身不包含任何处理逻辑和数据类型,因此服务间只传递文本,双方不存在兼容性问题。3/29/202469西北工业大学软件与微电子学院(5)上下文相关与上下文无关传统的软件体系结构,在设计阶段就要考虑各构件之间如何进行交互,也就是说,一个构件的设计模型可能依赖于其他构件的设计模型,即“上下文相关”。在SOA中,在设计阶段,服务不需要了解它们将来可能被复用的环境,即独立于服务使用者的上下文。3/29/202470西北工业大学软件与微电子学院(6)小粒度复用与大粒度复用传统的软件体系结构中,被复用的软件体通常都是小粒度的,如函数、对象、构件等。在企业级应用环境下,这种小粒度软件体的复用效率过低。SOA中的服务是大粒度复用体,它更多的关注诸如业务过程/业务活动级别的复用,复用效率更高。另外,采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的信息交换。3/29/202471西北工业大学软件与微电子学院SOA的本质特征将“服务”(自治的、平台独立的计算实体,可被描述、发布、发现、动态组装)作为基本的构造单元;任何应用均可看作是一组协同运作的服务;从而,以快速的、低成本的、容易组合的方式去创建高度分布式的、协同的、动态变化的、跨越组织与计算平台边界的服务系统。3/29/202472西北工业大学软件与微电子学院SOA的革命性创造不再是构造新的应用或调用已有的应用来完成特定的业务,而是通过在网络上发现并调用可用的服务来组合成一个系统,且服务的提供者与服务的使用者是“松散耦合”的。这种观点体现了软件开发方式的一种根本性的变化,可使业务环境变得更加灵活和强大:以服务的形式提供独立的、可复用的、自动化的业务过程和功能;通过快速组合与松散耦合来改善效率与生产率;借助于开放的、强壮的、安全的基础平台,使企业能够快速向市场提供新的服务、快速的适应环境的变化。3/29/202473西北工业大学软件与微电子学院协同—交互—异构—
分布式环境—可能频繁变化只要满足了这些条件之一,就可以应用SOA3/29/202474西北工业大学软件与微电子学院本章内容3面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.63/29/202475西北工业大学软件与微电子学院SOA的体系结构模式应用SOA来构造业务系统,既可以通过简单的WebService调用,也可以通过复杂的企业服务总线(ESB)将异构系统集成为业务过程。按照SOA应用场景的复杂度,将其体系结构模式分为10种:硬连线(Hard-wired)点对点的服务发布与调用(P2P)服务适配器(Serviceadaptor)服务代理(Serviceproxy)远程服务策略(Remoteservicestrategy)单点访问(Singlepointofaccess)虚拟服务提供者(Virtualprovider)服务集成器(Serviceintegrator)企业服务总线(Enterpriseservicebus)集成化的服务生态系统(Integratedserviceecosystem)3/29/202476西北工业大学软件与微电子学院SOA的体系结构模式“发布-查询-绑定”模式服务适配器模式远程服务策略服务集成器企业服务总线3/29/202477西北工业大学软件与微电子学院5.2.1“发布-查询-绑定”模式点对点的服务发布与调用(P2P)3/29/202478西北工业大学软件与微电子学院基本模式:发布-访问服务提供者服务注册中心服务客户端(1)注册(2)发现(3)绑定3/29/202479西北工业大学软件与微电子学院该模式中的操作发布(Publish):为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。发现(Find):服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。绑定(Bind)和调用(invoke):在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。3/29/202480西北工业大学软件与微电子学院该模式实现机制:WebServiceWebService提供者WebService注册中心WebService客户端(1)WSDL(2)UDDI(3)SOAP3/29/202481西北工业大学软件与微电子学院Web服务中的相关协议WSDL:Web服务描述语言用于服务接口的描述——Whatcantheservicedo?UDDI:统一描述、发现和集成协议服务使用者通过UDDI发现相应的服务并据此将服务集成在自身的系统中——Whatkindofservicesareneeded?SOAP:简单对象访问协议用户在服务客户端与服务提供者之间传递信息通过HTTP或JMS等各类基于文本的消息传递协议来运输数据3/29/202482西北工业大学软件与微电子学院基本模式:发布-访问WSDLWebService(J2EE,PL/SQL,
.NET,C/C++,
Legacy…)WebServiceClient(J2EE,.NET,
PL/SQL…)PointstodescriptionDescribesServiceFindsServiceInvokeswithXMLMessagesSOAPUDDI
RegistryPointstoservice3/29/202483西北工业大学软件与微电子学院5.2.2服务适配器模式Serviceadaptor或ServiceWrapper3/29/202484西北工业大学软件与微电子学院服务适配器企业中存在若干遗留系统(legacysystem);这些系统采用较传统的技术开发,无法提供清晰的接口(interface);但其他系统仍然需要访问这些遗留系统的功能;——怎么办?通过构造适配器(adaptor),将遗留系统中的功能进行二次包装,从而开放出接口供其他系统使用。典型技术:Java2ConnectorWebSphereBusinessIntegrationAdaptor3/29/202485西北工业大学软件与微电子学院服务适配器3/29/202486西北工业大学软件与微电子学院5.2.3远程服务策略
(Remoteservicestrategy)3/29/202487西北工业大学软件与微电子学院以上几种SOA模式的缺陷客户端为了使用服务,必须在自己的程序中写入调用服务的代码,即通过服务的URI地址来访问服务。这导致客户端与服务之间的耦合度过大,系统的灵活性受到限制。例如,客户端需要在多个候选服务之间进行灵活替换,以获得更好的QoS。——怎么办?将这种绑定关系从代码中抽取出来。3/29/202488西北工业大学软件与微电子学院远程服务策略①客户端直接绑定服务接口(WSDL/URI);②客户端通过“serviceregistry”来访问服务,当希望访问其他服务时,只要手工修改该registry即可——相当于一个配置文件;③客户端通过“servicebroker”来动态决定需访问那个服务;——完全动态的服务选择,很困难,需要用到服务语义的相关技术。3/29/202489西北工业大学软件与微电子学院5.2.4服务集成器
(ServiceIntegrator)3/29/202490西北工业大学软件与微电子学院以上模式存在的问题如果客户端需要同时或连续调用多个服务的功能,它必须在自己的系统中分别写出多个调用;——非常麻烦;而且,对多个服务的调用次序也是容易发生变化的,需要频繁的修改;——难以做到;——怎么办?降低耦合度将remoteservicestrategy的思想进一步发挥,客户端不去逐一调用服务,而是首先将这些被调用的服务按逻辑关系集成起来,形成一个集成的、大粒度的服务;客户端只需调用这一个服务即可;当该服务执行时,集成器(integrator)依靠配置信息来分别调用一个个小粒度的服务;对这些配置信息进行修改,即可方便的做到变更。3/29/202491西北工业大学软件与微电子学院服务集成器(ServiceIntegrator)3/29/202492西北工业大学软件与微电子学院服务集成器(ServiceIntegrator)OperationalSystemsService-OrientedBusinessProcessComponent-basedPresentationQoS,Security,Management&Monitoring(InfrastructureService)IntegrationArchitecture(EnterpriseServiceBus)Object-orientedCICS/COBOLCRM,ERPBusinessIntelligenceProcessChoreographyCompositeServicesPortlets5432167EnterpriseComponents3/29/202493西北工业大学软件与微电子学院5.2.5企业服务总线
(EnterpriseServiceBus,ESB)3/29/202494西北工业大学软件与微电子学院问题SOA的重要目标就是要在分布式环境下实现多组织之间业务的交互与协同;因此独立存在的服务是没有意义的;即使采用上面的serviceintegrator,一个组织中存在的和使用的服务数量仍然是巨大的,它们之间的关系也很复杂。必须提供一种手段,能够将多方提供的服务集成在一起,并试图构造一种通用的服务基础设施来来管理它们。3/29/202495西北工业大学软件与微电子学院服务编排模式:总线服务客户端1服务客户端2服务客户端n服务提供者1服务提供者2服务提供者n总线3/29/202496西北工业大学软件与微电子学院企业服务总线(ESB)企业服务总线(EnterpriseServiceBus)是一个整合应用和服务的灵活的连接基础组织,支持实现多个服务的编排。3/29/202497西北工业大学软件与微电子学院企业服务总线(ESB)转化请求者和服务之间的传输协议转换请求者和服务之间的消息格式路由服务间的消息处理分离资源间的业务事件ESB在请求者和服务之间实现了:3/29/202498西北工业大学软件与微电子学院ESB体系结构ESB网关Internet外部服务请求者外部服务提供者CAD服务PDMERP服务服务路由、中介、转换、日志等企业服务总线ESBHub适配器适配器适配器ESB命名空间ESB管理类服务适配器服务目录服务编排3/29/202499西北工业大学软件与微电子学院ESB在SOA参考体系结构中的位置3/29/2024100西北工业大学软件与微电子学院ESB对异构服务的集成3/29/2024101西北工业大学软件与微电子学院(对比)传统的EAI方式:P2P的集成3/29/2024102西北工业大学软件与微电子学院(对比)基于ESB的集成方式:Hub/Bus3/29/2024103西北工业大学软件与微电子学院两种集成方式的对比:P2PvsESB(对比)3/29/2024104西北工业大学软件与微电子学院本章内容3面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.63/29/2024105西北工业大学软件与微电子学院Web服务与SOASOA模型什么是WebServicesWebServices技术体系架构3/29/2024106西北工业大学软件与微电子学院5.3.1SOA模型3/29/2024107西北工业大学软件与微电子学院作为分布式计算架构,WebServices是SOA最重要的实现技术;SOA模型是WebServices概念架构;SOA没有确切定义服务具体如何交互,仅仅定义了服务如何相互理解以及如何交互;SOA与WebServices的区别可以概括为:定义如何执行流程的战略与如何执行流程的战术的区别;WebServices在交互服务之间如何传递消息有具体的指导原则,从战术上实现SOA模型,是通过HTTP传递的SOAP消息中最常见的SOA模型。SOAModel3/29/2024108西北工业大学软件与微电子学院SomeStandardsWebServicesDescriptionLanguage(WSDL)UniversalDescription,DiscoveryandIntegration(UDDI)SimpleObjectAccessProtocol(SOAP)WebServiceBusinessProcessExecutionLanguage(WSBPEL)……WebServices架构核心标准3/29/2024109西北工业大学软件与微电子学院RoleServicesProviderServicesRequestorServicesRegistryOperationPublishFindBindKeyComponentServicesServicesDescriptionWebServices架构的元素3/29/2024110西北工业大学软件与微电子学院BusinessComponentAnalysisServicesIdentificationServicesSpecificationComponentIdentificationComponentSpecificationServicesRealizationDecisionSOAImplementationSOA开发过程模型3/29/2024111西北工业大学软件与微电子学院SOA开发的层次模型3/29/2024112西北工业大学软件与微电子学院过程模型v.s.层次模型3/29/2024113西北工业大学软件与微电子学院5.3.2什么是WebServices3/29/2024114西北工业大学软件与微电子学院基于开放标准和柔性实现的WebServices,天生适合实现SOAWebservices为创建显式的、独立于具体实现的服务接口描述提供了一个基于开放标准和机器可识别的模型;Webservices提供了一种位置透明、可互操作的通信机制;Webservices通过BPEL4WS,document-styleSOAP、WSDL和其他新兴技术,如WS-ResourceFramework,不断演进。SOA和WebServices的关系3/29/2024115西北工业大学软件与微电子学院TheWeb:Flexiblehuman-machineinteractionWebServices:WebservicesarearecentsetoftechnologyspecificationsthatleverageexistingprovenopenstandardssuchasXML,URL,andHTTPtoprovideanewsystem-to-systemcommunicationstandard.WorkingDefinition:
Network-residentsoftwareServicesaccessibleviastandardizedprotocolsSimpleObjectAccessProtocol(SOAP):veryflexibleremoteprocedurecallLotsofinterestintradepress,academiccommunity,standardsbodies,...Applicationsine-commerce,telecom,science,GRID,government,education,...WebServices3/29/2024116西北工业大学软件与微电子学院W3Cdefinition–AsoftwareapplicationidentifiedbyaURI,whoseinterfacesandbindingarecapableofbeingdefined,described,anddiscoveredbyXMLartifactsandsupportsdirectinteractionswithothersoftwareapplicationsusingXML-basedmessagesviaInternet-basedprotocolsXMLInteractionsMessagesDefinedanddescribedWebServices概念3/29/2024117西北工业大学软件与微电子学院前者是用于建构WebService的技术框架,后者是使用WebServices技术而创建的应用实例.WebServices是描述了一些操作的接口,通过标准化的XML消息传输机制,可以通过网络访问这些操作;WebServices所使用的标准规范是基于XML的WSDL语言描述的,称为服务描述。该描述包括了服务交互的全部细节,包括消息格式、传输协议和位置,但却隐藏了服务实现的细节,允许通过独立与服务实现、独立于软硬件平台、独立于编写服务所用的编程语言的方式使用该服务;基于WebServices的应用程序具有松散耦合、面向组件和跨技术实现的特点;WebServices履行一定的特定业务或任务,可以实现同其他WebServices一起用于实现复杂的商业交易。WebServices与WebService的区别3/29/2024118西北工业大学软件与微电子学院从外部使用者的角度来看,WebService是部署在Web上的对象,具备以下特征:完好的封装性(数据和处理)松散耦合使用协约的规范性标准化高度可集成能力WebService:部署在Web上的对象3/29/2024119西北工业大学软件与微电子学院对象界面描述:WSDL对象访问:SOAP对象界面发现:UDDI对象实现:EJB,COM+,CORBA以及任何可用于对象实现的技术UDDIWSDLSOAPEJB/COM+/CORBAWebService:部署在Web上的对象3/29/2024120西北工业大学软件与微电子学院TighterLooserCouplingGranularityScopeXML/HTTPMOMORBB2BMarket,
GlobalEnterpriseEcosystemsHomogeneous
ApplicationProgram典型的访问方法:WebServicesServicesComponentsObjects“对象”技术的演化3/29/2024121西北工业大学软件与微电子学院WebServices3/29/2024122西北工业大学软件与微电子学院Business-OrientedWebServicesERP,CRM,ApplicationsystemintegrationConsumer-OrientedWebServicesB2Cwebsite,acrossmultiB2CsystemsDevice-OrientedWebServicesSupporttheservicesacrossdifferentkindsofservices.E.gweatherreport,emailserviceSystem-OrientedWebServicesAuthenticationMonitoringQoSCategoriesofWebServices3/29/2024123西北工业大学软件与微电子学院Simplifyand/orautomateWebServicesDiscoveryWhatpropertiesshouldbedescribed?Howtoefficientlyqueryagainstthem?CompositionSpecifyinggoalsofacompositionSpecifyingconstraintsonacompositionBuildingacompositionAnalysisofcompositionsInvocationKeepingenactmentsseparatedProvidingtransactionalguaranteesMonitoringHowtotrackenactmentsRecoveringfromfailed
enactmentsTheProcessesofWebServices3/29/2024124西北工业大学软件与微电子学院5.3.3WebServices技术体系架构3/29/2024125西北工业大学软件与微电子学院Web服务技术体系架构3/29/2024126西北工业大学软件与微电子学院传输协议提供客户端和服务器端基本的数据传输服务;Web服务可以利用多种网络协议实现XML消息的传送;HTTP(HyperTextTransferProtocol)是实现XML消息传送的首选;其他可用的传输协议:FTP(Protocol)SMTP(SimpleMailTransferProtocol)IIOP(InternetInter-ORBProtocol)JMS(JavaMessageService)传输规范3/29/2024127西北工业大学软件与微电子学院保持客户端应用程序和服务器端在格式设置上保持一致;Web服务的通信是通过互相传递符合SOAP协议的XML消息实现;SOAP(SimpleObjectAccessProtocol)简单对象访问协议,定义了服务请求者和服务提供者之间的消息传递规范;SOAP用XML来格式化信息,用HTTP承载消息;消息规范3/29/2024128西北工业大学软件与微电子学院SOAP包括了三部分:SOAP封装:定义了描述消息和如何处理消息的框架的封装;SOAP编码规范:表达应用程序定义的数据类型实例的编码规则;SOAPRPC表示:描述远程过程调用和应答的协议SOAP可以和各种网络协议(如HTTP、SMTP、FTP和IIOP或MQ上的RMI)相结合使用,或者用这些协议重新封装后使用。消息规范3/29/2024129西北工业大学软件与微电子学院为客户端应用程序提供与远程服务交互的描述信息;通过WSDL实现;WSDL为服务提供者提供以XML格式描述Web服务请求的标准格式,将网络服务描述为能将进行消息交互的通信端点集合,以表达一个Web服务的功能、位置和调用方法。WSDL描述两方面内容:抽象接口:What,Web服务提供的功能是什么,具体包括了一系列操作的名称及其输入、输出参数和出错返回信息;抽象接口的绑定:How,如何访问Web服务提供的功能,具体指定了访问抽象接口采用的通信协议以及抽象接口的Internet访问地址。描述规范3/29/2024130西北工业大学软件与微电子学院主要用来帮助客户端应用程序解析远程服务的位置;通过UDDI实现;UDDI(UniversalDescriptionDiscoveryandIntegration),统一描述、发现和集成协议,是Web服务集成的一个体系框架,用来说明一个Web服务的一些信息类型;UDDI定义如何查找Web服务(及其WSDL文件);UDDI规范描述了Web服务的概念,定义了一种编程接口;通过UDDI,企业可以发布自己的Web服务供其他企业查询和调用,也可以查询特定服务的描述信息,动态绑定到该服务上。发布和发现规范3/29/2024131西北工业大学软件与微电子学院WS-Addressing:可以在发给Web服务的SOAP消息的头消息中附加服务实例标识符,实现Web服务实例的定位;WS-ReliableMessaging:可以通过扩展Web服务的SOAP消息的头消息确保消息的可靠传送;WS-Policy:为Web服务提供了一个扩展的策略描述框架,可以描述Web服务的规则、行为、需求和偏好等元信息,从而提高Web服务的互操作性和动态发现能力;WS-Security:通过扩展Web服务的SOAP消息的头消息为Web服务提供消息级的安全保障框架;WS-Coordination和WS-Transaction:为Web服务提供事务处理规范。消息扩展规范3/29/2024132西北工业大学软件与微电子学院Web服务组合语言是Web服务的“编程”语言,这种语言通过定义Web服务之间的逻辑关系和数据依赖形成符合业务过程的符合服务;Web服务业务过程执行语言BPEL4WS(BusinessProcessExecutionLanguageforWebServices)是业界事实上的Web服务组合语言标准。组合规范3/29/2024133西北工业大学软件与微电子学院Web服务的典型工作模式是按对等协作方式进行消息通信;WS-CDL(WebServicesChoreographyDescriptionLanguage)是W3C提出的一种Web服务协作语言,目的是描述Web服务之间在进行协作时需要遵从的消息通信规则。协作规范3/29/2024134西北工业大学软件与微电子学院WS-Manageability规范由OASIS组织的WSDM(WebServicesDistributedManagement)技术委员会颁布和管理;其作用是作为一个Web服务的管理模型去监控和配置Web服务的强健性、性能、可用性和应用。管理规范3/29/2024135西北工业大学软件与微电子学院Web服务的权威标准化组织:W3C:WorldWideWebConsortium,即W3C理事会或万维网联盟,致力于开发Web互操作技术(包括规范、指南、软件和工具),是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制;OASIS:OrganizationfortheAdvancementofStructuredInformationStandards,即结构化信息标准促进组织,是一个推进电子商务标准的发展、融合与采纳的非盈利性国际化组织。OASIS在软件开发领域影响力很大,提交了著名的XML和WebServices标准。WS-I:WebServicesInteroperabilityOrganization,即网络服务协同组织,WS-I为Web服务开发商提供了一系列资源,可以帮助创建可互操作的Web服务并验证其结果是否遵从WS-I的指导方针。WS-I的主要成果包括概要,应用样本和测试工具。Web服务规范和标准3/29/2024136西北工业大学软件与微电子学院W3COASISWS-IEstablished19941993asSGMLOpen,1994asOASIS2002Approximatemembership400600200GoalTofurthertheevolutionoftheWeb,byprovidingfundamentalstandardsthatimproveonlinebusinessandinformationsharing.TopromoteonlinetradeandcommerceviaspecializedWebservicesstandards.TofosterstandardizedinteroperabilityusingWebservicesstandards.DeliverablesXML,XMLSchema,XQuery,XMLEncryption,XMLSignature,XPath,XSLT,WSDL,SOAP,WS-CDL,WS-Addressing,WebServicesArchitectureUDDI,ebXML,SAML,XACML,WS-BPEL,WS-SecurityBasicProfile,BasicSecurityProfile标准化组织3/29/2024137西北工业大学软件与微电子学院本章内容3面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.63/29/2024138西北工业大学软件与微电子学院服务组合服务组合(ServiceComposition)服务编排(ServiceOrchestration)服务协同(ServiceChoreography)编排VS协同服务组合中的协调问题(ServiceCoordination)服务组合方法3/29/2024139西北工业大学软件与微电子学院SOA的哲理:集成集成(Integration)尽可能的集成(Integrationasfaraspossible)尽可能灵活的集成(Integrationasflexiblyaspossible)将小粒度服务集成为大粒度服务(composefine-grainedservicesintocoarse-grainedservice)将硬编码的集成变为动态可配置的集成(transformhard-codedintegrationintodynamicallyreconfigurableintegration)这是SOA的优势所在,也是我们追求的目标所在3/29/2024140西北工业大学软件与微电子学院5.4.1服务组合
(ServiceComposition)3/29/2024141西北工业大学软件与微电子学院集成的方法:CompositionvsHard-coding3/29/2024142西北工业大学软件与微电子学院服务组合(servicecomposition)独立存在的服务具有较低的价值,只有多方提供的多个服务集成在一起,通过协同来完成共同的业务目标,服务和SOA才能体现出其优势。单个Web服务的功能或/和性能有限,难以满足一些业务应用的需求,从而需要解决服务组合问题。服务组合(ServiceComposition)是将已有服务组合为一个新服务的过程,以增加服务的可复用性、功能和性能。3/29/2024143西北工业大学软件与微电子学院案例:“开设银行账户”3/29/2024144西北工业大学软件与微电子学院服务组合的两大概念SOA中提出了两个概念:orchestration和choreography前者定义了如何将小粒度的服务按照特定的流程聚合为大粒度的服务;后者则定义了如何在多方的业务流程之间通过服务实现协同的动作编排。二者的本质上都是用来规划服务之间的协同。3/29/2024145西北工业大学软件与微电子学院5.4.2服务编排
(ServiceOrchestration)3/29/2024146西北工业大学软件与微电子学院OrchestrationOrchestration的本意是“为管弦乐谱曲”:使用五线谱所提供的基本音符,构造一首完整的乐曲。3/29/2024147西北工业大学软件与微电子学院SOA中的Orchestration:服务编排/服务组合Orchestration:将多个小粒度的Web服务按照特定的业务逻辑规则构造为一个可执行的业务过程,同时又可以看作是一个大粒度的复合Web服务。执行时需要有中心控制机制;由一个组织所拥有;侧重点:如何使用已有的服务来构造新的服务。Composition≈Orchestration3/29/2024148西北工业大学软件与微电子学院SOA中的Orchestration:服务编排/服务组合3/29/2024149西北工业大学软件与微电子学院服务编排/服务组合的一个例子SubmitOrderCheckInventoryCheckCreditSend
Resultto
UserPortalSAPJavaWebAppMainframeFormulate
Fulfillment
OfferFormulateRejectionCan
Fulfill?TransformOrder/
CustomerDetermineDiscount3/29/2024150西北工业大学软件与微电子学院示例:“订单管理”的服务流程3/29/2024151西北工业大学软件与微电子学院服务编排的描述方法:BPEL(4WS)针对orchestration,出现了大量的服务协同建模标准,最典型的莫过于BPEL和BPEL4WS,在实践中得到了广泛的应用。BPEL:BusinessProcessExecutionLanguageBPEL4WS:BPELforWebServices面向Web服务的过程建模语言;由IBM、Microsoft和BEA共同提出;BPEL能够实现基于WSDL的WebServices之间的流程编排和服务协同,它提供了一种XML注释和语义,用于指定对WebServices进行编排并确定Web服务之间的业务流程,实现WebServices之间的协同。3/29/2024152西北工业大学软件与微电子学院BPEL的基本结构过程中的基本功能单元:活动<activity>活动之间的次序关系:先后次序<sequence>多分支<switch>循环<while>并发与同步<flow>非确定性选择<pick>过程的相关数据:容器<container>错误处理机制:<catching>、<handlingfaults>补偿机制:<compensationhandler>3/29/2024153西北工业大学软件与微电子学院BPEL的一个例子Determineif
CanFulfill10:00amHandleNegativeCreditExceptionDiscountServicestartendBPELFlow?CreditServiceInventory
ServiceGetDiscountSendCreditApplicationReceiveCreditResult03:00pmSendInventoryRequestReceiveInventoryResult<process></process><switch><variable><partnerLink><partnerLink><partnerLink><faultHandlers><receive><invoke><invoke><flow></flow>3/29/2024154西北工业大学软件与微电子学院3/29/2024155西北工业大学软件与微电子学院服务编排的运行模式(1):集中式的执行引擎CentralizedServiceOrchestration3/29/2024156西北工业大学软件与微电子学院服务编排的执行过程需要有一个中心控制引擎,负责调用各个离散的服务3/29/2024157西北工业大学软件与微电子学院服务编排的运行模式(2):基于Hub的分布式引擎Decentralizedserviceorchestrationwithhubsupport3/29/2024158西北工业大学软件与微电子学院服务编排的运行模式(3):无Hub的分布式引擎Decentralizedorchestrationwithouthub3/29/2024159西北工业大学软件与微电子学院5.4.3服务协同
(ServiceChoreography)3/29/2024160西北工业大学软件与微电子学院Choreography“编舞”:一支舞蹈需要由多个演员来协同完成,编舞者需要将各人的动作编排在一起,形成为一套完整的舞蹈。“交响乐编排”:一支交响乐曲需要整个乐队各乐手之间的配合才能演奏成功,乐团指挥就是起到在不同乐手之间的协调功能。3/29/2024161西北工业大学软件与微电子学院SOA中的Choreography:服务编舞/服务协同Choreography:将多个零散的、分别由多方提供的服务/业务流程按照
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业缝纫机电控项目建议书
- 2025年ITO靶材项目合作计划书
- 血液科患者活动与康复护理
- 护理告知制度与职业道德
- 儿童饮食中的食物营养标签
- 胃癌患者的护理伦理与沟通
- 员工培训内训课件
- 病人评估与护理计划
- 常见病康复护理技巧
- 中职护理课程设计与教学资源开发
- 雨课堂学堂云在线《中国马克思主义与当代(北京化工大学 )》单元测试考核答案
- 贵州省贵阳市2025-2026学年高三上学期11月质量监测化学试卷(含答案)
- 机场设备维修与保养操作手册
- 动脉穿刺法教案(2025-2026学年)
- 2025年《肌肉骨骼康复学》期末考试复习参考题库(含答案)
- 工程勘察设计收费标准
- 2025年中国工业级小苏打行业市场分析及投资价值评估前景预测报告
- 家具生产工艺流程标准手册
- 消防新队员安全培训课件
- 2025玛纳斯县司法局招聘编制外专职人民调解员人笔试备考题库及答案解析
- 德邦物流系统讲解
评论
0/150
提交评论