服务科学与工程课件:5面向服务架构.ppt

上传人(卖家):罗嗣辉 文档编号:2045690 上传时间:2022-01-21 格式:PPT 页数:246 大小:10.54MB
下载 相关 举报
服务科学与工程课件:5面向服务架构.ppt_第1页
第1页 / 共246页
服务科学与工程课件:5面向服务架构.ppt_第2页
第2页 / 共246页
服务科学与工程课件:5面向服务架构.ppt_第3页
第3页 / 共246页
服务科学与工程课件:5面向服务架构.ppt_第4页
第4页 / 共246页
服务科学与工程课件:5面向服务架构.ppt_第5页
第5页 / 共246页
点击查看更多>>
资源描述

1、第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院1服务科学与工程概论Introduction to Service Science & Engineering第5章 面向服务的架构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院23面向服务与SOA基础SOA的体系结构模式服务组合技术面向服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.6第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院3v软件架构v面向服务的原则vSOA的定义v提出SOA的动机v

2、SOA和分布式信息系统体系结构vSOA和软件开发vSOA中的基本构件与连接件vSOA的典型特征与优势第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院45.1.1 软件架构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院5vThe software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the extern

3、ally visible properties of those elements, and the relationships among them.vThe design of application or system software that incorporates protocols and interfaces for interacting with other programs and for future flexibility and expandability. A self-contained, stand-alone program would have prog

4、ram logic, but not a software architecture.第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院6v架构是系统的组织结构。架构还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。v架构有两个公共元素:一是一个软件系统从整体到部分的最高层次的划分,一个建造一个系统所作出的最高层次的、以后难以更改的、商业的和技术的决定 。Martin Fowler第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北

5、工业大学软件与微电子学院7v在计算的算法和数据结构之外,设计并确定的系统整体结构问题,包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院8第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院9v可靠性(Reliable) v安全性(Secure)v可伸缩性(Scalable) v可定制化(Customizable) v可扩展性(Extensible)v可维护性(Maintainable

6、)v客户体验(Customer Experience)v市场时机(Time to Market) 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院10v逻辑架构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院11v物理架构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院12v系统架构 系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院13v需要有广泛的软件理论知识和

7、相应的经验来实施和管理软件产品的高级设计。v软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。 第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院145.1.2 面向服务的原则第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院15v服务服务是整个SOA实现的核心核心。SOA的基本元素是服务,SOA 指定一组实体(服务提供者、服务消费者、服务注服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约册表、服务条款、服务代理和服务契约)

8、,这些实体详细说明了如何提供和消费服务如何提供和消费服务。这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络查找其地址。vW3C将服务定义为:服务提供者完成一组工作,为服务消费者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院16v从解决方案角度解决方案角度看,SO 是一组模式和实践惯例,用于开发单个服务和解决方案,它们利用了服务模型,因而能够在不同系统之间集成。服务封装其操作系统和专用协议的特性,允许使用标准协议和极

9、传统的接口访问其业务逻辑和信息。在稳定的接口背后,可以持续升级和改进实现,而不会对使用该服务的解决方案产生负面影响;v从资产组合角度资产组合角度看,面向服务的企业是分解、集成和管理组织的技术资产组合的一条途径,它将服务模型用作开发和操作分布式业务系统的基础。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院17业务流程层业务流程层服务接口层应用层应用层业务逻辑业务逻辑应用逻辑应用逻辑服务接口层服务接口层第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院18v服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能

10、够封装应用逻辑和业务流程逻辑。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院19业务流程层业务流程层服务接口层应用层应用层服务接口层服务接口层服务接服务接口表示口表示物理层物理层封装封装第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院20v服务建立了一个介于业务层与应用层之间的高级抽象形态,服务能够封装应用逻辑和业务流程逻辑。v业务逻辑通过服务扩展。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院21v服务可复用v服务有一个正式契约v服务是松散耦合的v服务是底层逻辑抽

11、象的v服务是可组合的v服务是自治的v服务是无状态的v服务是可被发现的第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院225.1.3 SOA的定义第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院23v从字面上看,SOA=Service(服务)+体系结构(Architecture)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院24v一种体系结构风格,它将应用程序的不同功能单元应用程序的不同功能单元服务服务(service),通过服务间定义良好的接口和契约服务间定义良好的接口和

12、契约(contract)联系起来。接口采用中立中立的方式定义,独立于具体实现服务独立于具体实现服务的硬件平台、操作系统和编程语言的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立的接口定义的特征称为服务之间的松耦合服务之间的松耦合。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院25 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院26vW3C将服务定义为:服务提供者完成一组工作,为服务使用者交付所需的最终结果。第第5 5章章 面向服务的架构面向服务的架构202

13、2-1-20西北工业大学软件与微电子学院27v三种角色:l服务提供者(Service Provider)l服务请求者(Service Requestor)l服务目录 (Service Registry)v三个操作l发布(Publish)l查找(Find)l绑定(Bind)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院28v一个组件模型;v将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来;v接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言;v构建在各种这样的系统中的服务可以以一种统一和通用的

14、方式进行交互。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院29v系统(程序) = 算法 + 数据结构 (1960s )v系统 = 子程序 + 子程序 (1970s )v系统 = 对象 + 对象关联机制 (1980s )v系统 = 软构件 + 连接件 (1990s )v系统 = 服务 + 服务连接件 (2000s)简单复杂系统规模与复杂度封闭开放系统开放度细粗构件粒度构件连接件关注层面 IT技术技术 商务过程商务过程 封闭封闭 开放开放 个人个人企业内企业内企业间企业间全球全球第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大

15、学软件与微电子学院30v一般来说,SOA实现平台包含的组件可以分为两类:一类面向系统功能,另一类面向系统功能的质量属性,或称为非功能属性。包括:l服务发布和发现:服务提供者可以把服务描述以及其他服务元信息发布到服务注册中心,服务消费者通过服务注册中心发现需要的服务;l服务协作:管理服务之间的协作通信;l服务组合:提供编排基本服务组成复合服务的语言;并提供执行这种语言的引擎;l服务通信:实现服务之间基于消息的通信;l服务描述:提供定义服务描述的语言;l服务安全:保障SOA应用的安全性, 比如身份识别、数字签名、消息的加 密解密、访问授权、信任联盟管理等;l服务事务:保障SOA应用的状态一致性;l

16、服务管理:实现服务运行时的监控和管理。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院315.1.4 提出SOA的动机第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院32v现代企业已经不再是封闭的企业,市场分工的日益专业化使得企业之间可能存在大量频繁的交互行为企业之间可能存在大量频繁的交互行为,以发挥各自的竞争优势:l供应链:供应商-制造商;l客户关系管理:制造商-物流商-客户v这种业务上的交互体现为企业业务流程的交互企业业务流程的交互/互操作互操作,同时一定需要企业信息系统的支持,因此体现为软件系统软件系统之间的

17、集成与互操作之间的集成与互操作。l互操作(Interoperability):能够在异构的、分布式的系统之间交换和使用信息的能力;l不仅是不同企业之间,甚至一个企业内部的各个部门之间都有可能存在大量的交互。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院33第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院34第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院35v不同企业所应用的软件系统是不同的(异构的异构的):l技术平台不同技术平台不同:J2EE-based、.Net-

18、basedl软件体系结构不同软件体系结构不同:message-based、file-based、process-basedl数据格式不同数据格式不同:同样的“订单”对象,不同的属性集合lv集成这些分布式的软件系统,在它们之间传递数据和消息,是一件非常困难的事情。EJBCORBACOMCORBA第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院36第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院37v企业的业务是频繁变化的频繁变化的;v企业间的协同关系也不是固定的,随着业务流程的变化而随之变化;v企业的IT应用系统

19、要能够快速支持这种变化的需求快速支持这种变化的需求。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院38Change: Customer Order EntryChange: Shared Service Marketing, Billing, Receivables第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院39Change: Supplier Managements Inventory (VMI)Change: Shipping by FedEx, DHL or UPS第第5 5章章 面向服务的架构面向

20、服务的架构2022-1-20西北工业大学软件与微电子学院40v分布式企业间业务的协同。分布式企业间业务的协同。v通过通过InternetInternet连接在一起的异构连接在一起的异构企业应用软件系统的集成、交互企业应用软件系统的集成、交互与互操作。与互操作。v当业务当业务(Business)(Business)发生变化时,发生变化时,ITIT系统能够快速响应。系统能够快速响应。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院415.1.5 SOA和分布式信息系统体系结构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子

21、学院42v构造一个信息系统会遇到的三类问题:l如何把信息系统的功能以图形或字符人机界面的形式呈现给系统用户并接收用户的输入?l如何编写实际的应用逻辑以实现系统功能?l如何利用已有资源,包括数据库、文件系统等完成对资源的管理和操作?第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院43v信息系统的分层逻辑体系结构l负责界面展示和接收用户输入的部分称为表示层表示层;l负责系统应用逻辑的部分称为应用逻辑层应用逻辑层;l负责资源接入的部分称为资源管理层资源管理层; l三层之间存在着线性依赖线性依赖关系。 v即底层提供功能和服务以支持高层的 功能和服务。 第第5

22、5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院44v单列(1-tier)体系结构v两列(2-tier)分布体系结构v三列(3-tier)分布体系结构v面向服务的分布式体系结构第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院45v单列(1-tier)体系结构l所有软件功能集中由主机完成,而分布的是仅仅具有输入输出功能的哑终端。l优点:v所有功能都在一致的系统环境中实现, 可以方便地对系统进行调优;v由于客户端没有软件,因此不需要对 客户端进行开发、部署和维护。 l缺点:v系统组成部分耦合紧密,很难维护和扩展;v客户端功

23、能单一,没有提供外部系统接口 。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院46v两列(2-tier)分布体系结构l即客户-服务器(C/S,Client/Server)体系结构;l表示层从集中式的服务器中剥离出来转移给客户端;l优点:v可以利用客户机的处理能力,降低 了服务器的运算负担;v使得针对不同用户呈现个性化的界 面内容成为可能。l缺点:v客户端和服务器之间耦合紧密;v单一服务器所能支持的客户机数量有限;v维护代价高。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院47v三列(3-tier)分布体

24、系结构l将服务器端的应用逻辑层和资源管理层分离,把应用逻辑交给单独的应用服务器处理;l表示层被一分为二,通用功能由标准应用软件(如web浏览器)承担,非通用功能由特定的分布式计算平台实现(如J2EE的JSP和Java Servlet),浏览器和应用服务器之间的表示层之间通过标准文档形式的规范HTML对话;l表示层和应用逻辑层通常部署在一个 服务器上,两者直接的关系是紧耦合 关系,分开部署并不会带来灵活性。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院48v三列(3-tier)分布体系结构l优点:v浏览器和应用服务器之间是松耦合关系,两者通过标准HTM

25、L语言交互,这样浏览器可以在任意平台上用任意编程语言实现;v应用服务器和资源服务器之间是松耦合关系,应用服务器可以通过标准的数据访问接口,如JDBC和ODBC,灵活访问不同厂商、不同平台的数据库;v应用逻辑层可以部署在多个服务器节点的集群上,集群可以提供复制、负载平衡、故障切换等功能,保障了应用的可伸缩性、性能和可靠性。l缺点:v表示层和应用逻辑层之间是紧耦合的,两者在技术平台上耦合紧密。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院49v面向服务的分布式体系结构l把应用逻辑层封装为Web服务,这样表示层就可以通过XML/SOAP协议与其实现松耦合交

26、互。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院505.1.6 SOA和软件开发第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院51vImperative Programming Paradigm,又称过程式编程范型,指用程序状态和改变程序状态的语句描述计算的编程范型;v包括一系列步骤,这些步骤即所谓的命令,每一步骤会执行一次计算,该计算接收一些输入并产生一些输出;v步骤的次序是命令式语言的关键,具有相同语句但不同次序的两个程序的语义会完全不同;v典型命令包括赋值、输入输出、过程调用等,计算步骤的执行次序由控制

27、结构(比如顺序、分支、循环等)决定;v典型语言包括COBOL、Fortran、Pascal、C等;v缺点:l过程是对功能的抽象,功能只能片面反映问题空间事物的性质,从而使得单纯用命令式范型开发大型程序时产生的代码往往不易理解和维护。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院52vObject-oriented Programming Paradigm,指用封装了数据和对数据操作的对象以及对象之间的消息传递描述计算的编程范型;v基于面向对象范型的程序包括一组对象的定义,对象是对数据以及施加在数据上的操作的封装,对象之间通过互相传递消息进行通信;v具

28、有相同属性和操作的对象被组织成类,类代表概念,对象代表概念的具体实例;v基本特征:封装性、继承性和多态性;v典型语言包括:C+、Smalltalk、Eiffel、Java和C#等;第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院53v优点:l对象直接对应于现实世界的事物,可以采用与现实世界中相似的方式进行操作;l封装提供的模块化和对象之间的低耦合度可以显著降低软件的维护成本,对象仅有公共接口是外部可见的,其内部工作是隐藏的,从而内部修改不会波及其他对象;l根据对象之间的“一般-特殊”关系和“整体-部分”关系可以从已有对象出发构造出新的对象;l多态性可以

29、形成一种更正规、更一致的对象接口。v如果是从零开始编码,采用这种范型语言是一种不错的选择。但是,如果想要进一步构建可复用的软件模块,并在这些可复用模块的基础上搭建应用,基于构件的编程范型可以提供更好的方法和指导。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院54v构件:模块化的、可部署、可替换的软件系统组成部分,它封装了内部的具体实现并对外提供一组接口;v基于构件的编程范型:Component-based Programming Paradigm,指以构件的构建,构建的管理以及复用已有的构件组装形成应用为基本活动的编程范型;v构件与对象的区别:l抽

30、象视角不同;对象是对基本实体的抽象,强调实体的对应及对实体的建模;构件是对实体或实体联合能提供的功能和服务的建模。对象涉及实体的静态属性特征,构件仅关注实体的功能和服务。l可复用程度和复用机制;比较而言,构件更强调可复用性。对象通过继承实现复用,构件通过组合实现复用。l颗粒不同。一般构件的粒度大于对象的粒度。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院55v涉及三类基本活动:构件的生产、构件的管理和应用的组装(基于构件的应用开发);v(杨芙清,2005)基于构件的编程范型下,软件开发人员可分为三类:l构件生产者:采用领域工程方法通过对领域的分析和设

31、计最后总结形成可复用的领域构件;l构件库管理者:根据一定的分类指标和特征管理构件,以方便构件的发布和发现;l构件复用者:负责进行基于构件的软件开发,包括构件查询、构件理解、适应性修改、构件组装以及系统演化等。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院56v服务:自治、开放、自描述、与实现无关的网络构件;v面向服务的编程范型:Service-oriented Programming Paradigm,指以服务的创建,服务的管理以及复用已有的服务组装形成应用为基本活动的编程范型;v服务区别于构件的新特点:l开放性:服务的价值体现于共享与复用,遵循开放

32、标准是其基本特性;l自治性;自治性体现在服务顾客发出服务请求后,服务何时开始、在何地执行、如何执行不受请求方控制;l自描述性:服务可以公布多样化服务描述,包括自己的能力、访问方式和协作方式;l实现无关性:服务本身提供的能力以及服务消费者获得服务的方式是和服务的实现无关的。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院57v涉及三类基本活动:服务的生产、服务的管理和服务的组装(基于服务的应用组装);l服务生产:除了强调领域分析和分解、从零开始识别和制造服务外,还注重对领域内已有已有软件系统的分析;l服务管理:即对服务描述的管理,服务库就是服务的描述库,

33、真正的服务实体分布在网络的自治节点上;l基于服务的应用组装:由于服务可以提供标准的访问、描述以及发布和发现规范,因此对服务的组装可以基于规范来描述,比如BPEL4WS(Business Process Execution Language for Web Services)已经成为业界组合Web服务的事实标准。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院585.1.7 SOA中的基本构件与连接件第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院59vSOA中可用的基本构件是“服务服务”;l从外特性上看,一个服务被

34、定义为显式的、独立于服务具体实现一个服务被定义为显式的、独立于服务具体实现技术细节的接口技术细节的接口。l从内特性上看,服务封装了可复用的业务功能服务封装了可复用的业务功能,这些功能通常是大粒度业务大粒度业务,如业务过程、业务活动等。服务的实现可采用任何技术平台,如J2EE、.Net等。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院60第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院61v通过接口,采用位置透明的、可互操作的协议进行调用,与客户端以“松散耦合”(loosely coupling)的方式绑定在一

35、起。vSOA中所有协议均是基于XML的文本文件。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院625.1.8 SOA的典型特征与优势第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院63*.java*.java*.java*.java函数调用(局域网)?(本机)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院64*.java*.java远程方法调用RMI/RPC.Net RemotingEJBCORBA*.java*.c?(局域网)第第5 5章章 面向服务的架构面向服务的架

36、构2022-1-20西北工业大学软件与微电子学院65*.java*.cCORBA*.java*.c or *.java?(局域网)Internet第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院66*.java*.c or *.javaSOAInternet虽然目前已经存在成熟的远程方法调用机制以实现异构系统的集成与互操作,但在Internet这样的分布式环境下,SOA才能实现这一目标。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院67v传统的软件体系结构中的各构件,通常都是紧密耦合在一起的。l通过函数调用的

37、方式实现互操作;通过函数调用的方式实现互操作;l客户端需要了解被调用构件的位置和技术细节;客户端需要了解被调用构件的位置和技术细节;l缺陷:构件的维护和重复使用变得非常困难,因为一个构件中的修改就自动意味着其他构件中的修改。vSOA则实现了完全的松散耦合:l位置透明位置透明l与具体的实现细节无关(通过接口调用)与具体的实现细节无关(通过接口调用)l标准化的通讯协议(标准化的通讯协议(XML-based)v具体实现机制:l服务接口作为与服务实现分离的实体而存在,从而服务实现能够在完全不影响服务使用者的情况下进行修改。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件

38、与微电子学院68v对于.NET、EJB或者RPC这些传统的分布式计算模型而言,它们的服务提供都是通过函数调用的方式进行的,一个功能的完成往往需要通过客户端和服务器来回很多次函数调很多次函数调用用才能完成。l在局域网的环境下,这些调用给系统的响应速度和稳定性带来的给系统的响应速度和稳定性带来的影响影响都可以忽略不计,但是在Internet环境下这些因素往往是决定整个系统是否能正常工作的一个关键决定因素。vSOA采用大数据量的方式一次性进行数据交换大数据量的方式一次性进行数据交换。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院69v在COM、CORBA这

39、些传统的组件模型中,从服务器端传往客户端的是一个二进制编码的对象二进制编码的对象,在客户端通过调用这个对象的方法来完成某些功能。l在Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的很大困难不同的服务之间传递对象带来的很大困难。v由于基于文本的消息本身不包含任何处理逻辑和数据类型,因此服务间只传递文本服务间只传递文本,双方不存在兼容性问题。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院70v传统的软件体系结构,在设计阶段就要考虑各构件之间如何进行交互,也就是说,一个构件的设计模型可能依赖于

40、其他构件的设计模型,即“上下文相关上下文相关”。v在SOA中,在设计阶段,服务不需要了解它们将来可能被复用的环境,即独立于服务使用者的上下文独立于服务使用者的上下文。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院71v传统的软件体系结构中,被复用的软件体通常都是小粒度小粒度的,如函数、对象、构件等。v在企业级应用环境下,这种小粒度软件体的复用效率过低复用效率过低。vSOA中的服务是大粒度复用体大粒度复用体,它更多的关注诸如业务过程/业务活动级别的复用,复用效率更高复用效率更高。v另外,采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的信息

41、交换。 第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院72v将“服务”(自治的、平台独立的计算实体,可被描述、发布、发现、动态组装)作为基本的构造单元;v任何应用均可看作是一组协同运作的服务;v从而,以快速的、低成本的、容易组合的方式去创建高度分布式的、协同的、动态变化的、跨越组织与计算平台边界的服务系统。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院73v不再是构造新的应用或调用已有的应用来完成特定的业务,而是通过在网络上发现并调用可用的服务来组合成一个系统,且服务的提供者与服务的使用者是“松散耦合”的。

42、v这种观点体现了软件开发方式的一种根本性的变化,可使业务环境变得更加灵活和强大:l以服务的形式提供独立的、可复用的、自动化的业务过程和功能;l通过快速组合与松散耦合来改善效率与生产率;l借助于开放的、强壮的、安全的基础平台,使企业能够快速向市场提供新的服务、快速的适应环境的变化。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院74协同交互异构分布式环境可能频繁变化只要满足了这些条件之一,就可以应用SOA第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院753面向服务与SOA基础SOA的体系结构模式服务组合技术面向

43、服务的建模与分析5.15.25.35.45.5Web服务与SOASOA治理5.6第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院76v应用SOA来构造业务系统,既可以通过简单的Web Service调用,也可以通过复杂的企业服务总线(ESB)将异构系统集成为业务过程。v按照SOA应用场景的复杂度,将其体系结构模式分为10种:l硬连线(Hard-wired)l点对点的服务发布与调用(P2P)l服务适配器(Service adaptor)l服务代理(Service proxy)l远程服务策略(Remote service strategy)l单点访问(Si

44、ngle point of access)l虚拟服务提供者(Virtual provider)l服务集成器(Service integrator)l企业服务总线(Enterprise service bus)l集成化的服务生态系统(Integrated service ecosystem)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院77v“发布-查询-绑定”模式v服务适配器模式v远程服务策略v服务集成器v企业服务总线第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院785.2.1 “发布-查询-绑定”模式点对点的

45、服务发布与调用(P2P)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院79服务提供者服务注册中心服务客户端(1)注册(2)发现(3)绑定第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院80v发布(Publish):为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。v发现(Find):服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。v绑定(Bind)和调用(invoke):在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。第第5 5章章 面向服务的架构面向服务的架构

46、2022-1-20西北工业大学软件与微电子学院81Web Service提供者Web Service注册中心Web Service客户端(1)WSDL(2)UDDI(3)SOAP第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院82vWSDL:Web服务描述语言l用于服务接口的描述What can the service do?vUDDI:统一描述、发现和集成协议l服务使用者通过UDDI发现相应的服务并据此将服务集成在自身的系统中What kind of services are needed?vSOAP:简单对象访问协议l用户在服务客户端与服务提供者之

47、间传递信息l通过HTTP或JMS等各类基于文本的消息传递协议来运输数据第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院83WSDL Web Service(J2EE, PL/SQL,.NET,C/C+,Legacy )Web ServiceClient(J2EE, .NET,PL/SQL )Points to descriptionDescribesServiceFindsServiceInvokes withXML MessagesSOAPUDDI RegistryPoints to service第第5 5章章 面向服务架构面向服务架构2022-1

48、-20西北工业大学软件与微电子学院845.2.2 服务适配器模式Service adaptor或Service Wrapper第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院85v企业中存在若干遗留系统(legacy system);v这些系统采用较传统的技术开发,无法提供清晰的接口(interface);v但其他系统仍然需要访问这些遗留系统的功能;v怎么办?v通过构造适配器(adaptor),将遗留系统中的功能进行二次包装,从而开放出接口供其他系统使用。v典型技术:lJava 2 ConnectorlWebSphere Business Integr

49、ation Adaptor第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院86第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院875.2.3 远程服务策略 (Remote service strategy)第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院88v客户端为了使用服务,必须在自己的程序中写入调用服务的代码,即通过服务的URI地址来访问服务。v这导致客户端与服务之间的耦合度过大,系统的灵活性受到限制。l例如,客户端需要在多个候选服务之间进行灵活替换,以获得更好的Qo

50、S。v怎么办?v将这种绑定关系从代码中抽取出来。第第5 5章章 面向服务的架构面向服务的架构2022-1-20西北工业大学软件与微电子学院89v 客户端直接绑定服务接口(WSDL/URI);v 客户端通过“service registry”来访问服务,当希望访问其他服务时,只要手工修改该registry即可相当于一个配置文件;v 客户端通过“service broker”来动态决定需访问那个服务;完全动态的服务选择,很困难,需要用到服务语义的相关技术。第第5 5章章 面向服务架构面向服务架构2022-1-20西北工业大学软件与微电子学院905.2.4 服务集成器 (Service Integr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(服务科学与工程课件:5面向服务架构.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|