高级软件工程面向服务的软件工程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高级软件工程面向服务的软件工程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 软件工程 面向 服务 课件
- 资源描述:
-
1、二、面向服务的软件工程二、面向服务的软件工程22.12.1概念和背景概念和背景2.22.2面向服务的架构面向服务的架构SOASOA2.32.3语义互操作语义互操作2.42.4服务案例服务案例2.52.5服务开发方法服务开发方法2.62.6云计算中的服务云计算中的服务2.72.7高级专题高级专题提提 纲纲3什么是服务什么是服务?WebWeb服务的定义服务的定义W3CW3C:Web Web服务(服务(Web serviceWeb service)应当是一个软件)应当是一个软件系统,用以支持网络间不同机器的互动操系统,用以支持网络间不同机器的互动操作。作。Web Web服务是一个用服务是一个用URI
2、(Uniform Resource URI(Uniform Resource Identifier)Identifier)标识的软件实体,其接口和绑定可标识的软件实体,其接口和绑定可以用以用XMLXML协议定义、描述和发现。协议定义、描述和发现。WebWeb服务服务通过通过InternetInternet协议以基于协议以基于XMLXML消息,以松散消息,以松散耦合的方式与其它软件实体或耦合的方式与其它软件实体或WebWeb服务直接服务直接通讯。通讯。4WebWeb服务的兴起服务的兴起 Web服务作为一种新兴起的技术,被称为继PC和Internet之后的第三次计算机革命 Web服务利用标准的In
3、ternet协议(如HTTP,SMTP等),解决了面向Web的分布式计算的通信问题,而传统的分布式模型解决的是特定平台下的通信问题。Web服务具有完全的平台独立性和语言独立性,只要遵守WebService的接口即可进行服务的请求和调用。5WebWeb服务的主要思想服务的主要思想 以后的应用将由一组在线服务组合而成。两个相似的服务使用统一的标准和方法在网络上发布,一个信息应用就可以按照代价或性能的标准,从这两个相互竞争的候选服务中选择一个服务来使用。服务允许在机器间复制,可以通过将特定的服务复制到本地存储库,从而提高位于特定的计算机(群)上的应用程序的性能.6WebWeb服务的本质服务的本质 从
4、表像上看,Web服务就是应用程序,它向外界暴露出一个能够通过Web访问方式进行调用的服务接口。从应用程序的角度上看,Web服务是一种新的Web应用程序,是自包含、自描述、模块化的应用程序,可以通过互联网特别是Web方式来描述、发布、查找和调用。7发展脉络发展脉络前期前期互联网一个以协议为主的交互世界 底层网络协议和简单的内容传输协议:“桶”到“桶”之间的交换,不触及“桶”中的内容很少触及8发展脉络发展脉络当前当前互联网一个以“文档的对象化”形式主导的交互世界O-本体(论域中的标准化概念)Service(instance)-(对象)Service schema-知识模式(类)Controlled
5、-vocabulary受控词集 (人或机器理解的含义)9发展脉络发展脉络当前当前互联网一个以“文档的对象化”形式主导的交互世界O-本体(论域中的标准化概念)Service(instance)-(对象)Service schema-知识模式(类)Controlled-vocabulary受控词集 (人或机器理解的含义)10发展脉络发展脉络今后今后互联网一个以价值为导向的交互世界未经整合、未经整合、低价值的资源低价值的资源经过整合、经过整合、高价值的服务高价值的服务11WebWeb服务特征服务特征 完好的封装性。服务是一种部署在完好的封装性。服务是一种部署在WebWeb上的对象上的对象,自然具备自
6、然具备对象的良好封装性对象的良好封装性,对于使用者而言对于使用者而言,能且仅能看到该对象能且仅能看到该对象提供的功能列表。提供的功能列表。松散耦合松散耦合:当一个当一个WebWeb服务的实现发生变更的时候服务的实现发生变更的时候,调用者调用者是不会感到这一点的是不会感到这一点的,对于调用者来说对于调用者来说,只要服务的调用接只要服务的调用接口不变口不变,服务实现任何变更对他们来说都是透明的。服务实现任何变更对他们来说都是透明的。使用标准协议规范使用标准协议规范:作为作为WebWeb服务服务,其所有公共的协约完全其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标需要使用开放的
7、标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范准协议具有完全免费的规范,以便由任意方进行实现。以便由任意方进行实现。高度可集成能力高度可集成能力:由于服务采取简单的、易理解的标准协议由于服务采取简单的、易理解的标准协议作为组件接口描述规范和协同描述规范作为组件接口描述规范和协同描述规范,完全屏蔽了不同软完全屏蔽了不同软件平台的差异。件平台的差异。12WebWeb服务优势服务优势 高度的通用性和易用性高度的通用性和易用性:Web:Web服务利用标准的工服务利用标准的工InternetInternet协协议议(如如HTTP,SMTPHTTP,SMTP等等),),解决了面向解决了面向W
8、ebWeb的分布式计算模式的分布式计算模式,提提高了系统的开放性、通用性和可扩展性。高了系统的开放性、通用性和可扩展性。完全的平台、语言独立性完全的平台、语言独立性:Web:Web服务进行了更高程度的抽服务进行了更高程度的抽象象,只要遵守只要遵守WebWeb服务的接口即可进行服务的请求与调用。服务的接口即可进行服务的请求与调用。高度的集成性高度的集成性:Web:Web服务实质就是通过服务的组合来完成服务实质就是通过服务的组合来完成业务逻辑的业务逻辑的,因此因此,表现出了高度的组装性和集成性表现出了高度的组装性和集成性.容易发布和部署容易发布和部署:Web:Web服务体系结构方案通过服务体系结构
9、方案通过UDDI,WSDL,UDDI,WSDL,SOAPSOAP等技术协议等技术协议,能够很容易实现系统的部署能够很容易实现系统的部署.13WebWeb服务架构栈服务架构栈(1 1)(2 2)(3 3)(4 4)(2 2)、()、(3 3)将在)将在2.32.3节讨论节讨论142.1概念和背景2.2面向服务的架构SOA2.3语义互操作2.4服务案例2.5服务开发方法2.6云计算中的服务2.7高级专题提提 纲纲15SOA(Service-Oriented Architecture)SOA(Service-Oriented Architecture)起源起源 SOA不是一个新概念,通用对象代理架构
10、CORBA和分布式组件对象模型DCOM被看成是SOA架构的前身。1996年,Gartner Group提出了SOA“预言”(到2008年,超过60%的企业将使用SOA作为一个“指导原则”),因为当时的软件发展水平和信息化程度还不足支撑此概念进入实质性的应用阶段。SOA可以认为是面向对象分析与设计(OOAD)的合理发展;也是电子商务解决方案中,在体系结构、系统设计、实现与部署时所采用的组件化方法的合理发展。16SOASOA兴起原因(计算部件的对象兴起原因(计算部件的对象化趋势)化趋势)分布式系统的自然发展 系统与运算环境的异质性 操作环境的动态性 交流设备细节的透明化 面向过程需要多重服务17G
11、artner Group Gartner Group 关于关于SOASOA的最初概念的最初概念 客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成。SOA 与大多数通用的客户端/服务器模型的不同之处,在于它强调软件组件的松散耦合,并使用独立的标准接口(对象化趋势)18SOA SOA 的当前定义的当前定义 W3C SOA的定义:SOA是组件的集合,这些组件能被调用,并且接口的描述可以发布和发现。维基百科SOA的定义:SOA是构造分布式计算的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其它服务。它采用开放标准、与软件资源进行交互并采用表示的标准方式。19SOA SO
12、A 的当前定义(续)的当前定义(续)当代 SOA 代表一个开放的、敏捷的、可扩展的、可联邦的、可组合的架构,包含了自治的、高服务质量的、厂商多样性的、可互操作的、可发现的和潜在可复用的服务,使用 Web 服务来实现。Thomas ErlSOA 概念、技术与设计20普遍接受的普遍接受的SOASOA架构架构W3C发布的Web服务架构基本两种基本角色(服务提供者和服务请求者)和一个可选的服务注册中心.三种角色交互,涉及发布、发现、绑定操作.UDDIUDDI、WSDLWSDL和和SOAPSOAP将在将在2.32.3节节“语义互操作语义互操作”中讨论中讨论21SOASOA架构中的角色架构中的角色 服务提
13、供者(service provider):发布自己的服务,并且使用自身服务的请求进行响应.服务代理(service broker):可选.注册与发布服务及其提供者,对其进行分类,并提供搜索服务.服务使用者(service requester):利用服务代理来查找所需服务,进而根据需求使用该服务.22SOASOA架构中的操作架构中的操作 发布(publish):使服务提供者可以通过向服务代理注册自己的功能及访问接口.查找(find):服务使用者可以通过服务代理查找特定的服务.绑定(bind):使服务使用者能够调用或激活服务.23SOASOA架构特点架构特点 服务的封装(encapsulation
14、).将服务封装成用于业务流程的可重用组件的应用程序函数.服务的互操作(interoperability).通过服务之间既定的通信协议进行互操作,SOA提供服务的互操作特性更利于其在多种场合被重用(“服务”(组织和交互方式)这种抽象协议).服务是位置透明的(location transparency).服务请求者不需要知道服务的具体位置及是哪一个服务响应了自己的请求.24SOASOA架构特点(续)架构特点(续)服务的重用(reuse).一个服务是一个独立的实体,与底层实现和用户的需求完全无关,极大的方便了服务的重复使用,从而降低了开发成本.服务是自治(autonomous)的功能实体.服务是由组
15、件组成的组合模块,是自包含和模块化的.服务之间的松散耦合(loosely coupled).服务请求者和服务提供者之间只有接口上的往来,至于服务内部如何更改,如何实现都与服务请求者无关25SOASOA与与WebWeb服务(当前服务(当前P7P7和前期和前期P8P8的区别)的的区别)的联系与区别联系与区别 SOA是一套面向服务架构的标准规范;Web服务是一套技术体系,可以用来建立应用解决方案,解决特定的消息通信和应用集成问题。SOA是一种软件架构,不局限于某个技术的组合(例如Web服务)。SOA和Web服务是一对关联技术。262.1概念和背景2.2面向服务的架构SOA2.3语义互操作2.4服务案
16、例2.5服务开发方法2.6云计算中的服务2.7高级专题提 纲27发展脉络发展脉络对象化的文档对象化的文档互联网一个以“文档的对象化”形式主导的交互世界O-本体(论域中的标准化概念)Service(instance)-(对象)Service schema-知识模式(类)Controlled-vocabulary受控词集 (人或机器理解的含义)28 XMLXML建模体系与语义建模体系与语义WebWeb 语义互操作途径之一:当前式,语义互操作途径之一:当前式,RDFRDF、本、本体与语义体与语义WebWeb 语义互操作途径之二:三角架构,语义互操作途径之二:三角架构,UDDIUDDI(开放式的)、(
17、开放式的)、WSDLWSDL(类或者对象)与(类或者对象)与SOAPSOAP(前期(前期-内容传输)内容传输)29适用于网络应用的标签化描述方式适用于网络应用的标签化描述方式XMLXML XML(可扩展标记语言)是SGML的子集,其目标是允许普通的SGML在Web上以HTML的方式被服务、接收和处理。XML被设计成易于实现,且可在SGML和HTML之间互相操作。30XMLXML的基本特点的基本特点 XML是结构化的。XML是自描述的。XML允许自定义标签,并且这些标签可以说明数据的语义,而不是HTML中的格式说明。XML是可扩展的。XML的概念很简单,但是它却有广阔的应用领域,因为任何人都可以
18、按照自己应用的需要定义相应的XML标签来表达信息的结构和类型。独立于平台和应用。文档内容是基于UniCode的文本,适于网络的传输。XML易于设计。XML文档容易编写,设计正式且简洁,可读性强。更精确的搜索。XML标签表达的是内容的含义,从而搜索引擎可以通过搜索XML文档得到更精确的需要的内容。广泛的支持。XML得到了众多的软件厂商比如Microsoft,IBM,Sun,Oracle等几乎所有大公司的支持。31简单的简单的XMLXML文件文件XML声明文档类型声明文档元素!DOCTYPE books SYSTEM“books.dtd”Java超级编程比尔盖茨32格式良好(格式良好(Well-f
19、ormedWell-formed)的)的XMLXML文档文档遵循如下规则的XML文档称为格式良好的XML文档:语法规范必须有XML声明语句必须有且仅有一个根元素标记大小写敏感属性值用引号标记成对空标记关闭元素正确嵌套33有限表达能力的有限表达能力的XML DTDXML DTD 描述XML文档的结构时,文件类型定义(DTD)是一个重要的工具,DTD也是XML1.0的重要组成部分。但DTD存在不少缺陷:DTD是基于正则表达式的,描述能力有限;DTD没有数据类型的支持,在大多数应用环境下能力不足;DTD的约束定义能力不足,无法对XML实例文档作出更细致的语义限制;DTD的结构不够系统化,复用的代价相
20、对比较高;DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行DTD维护。34较强表达能力的较强表达能力的XML SchemaXML Schema XML Schema 是针对DTD的缺点设计的。2001年5月,XML Schema作为W3C的推荐标准正式发布,并迅速取代DTD的地位,成为描述XML文档结构的主流技术。35XML SchemaXML Schema的优点的优点 一致性。一致性。XML SchemaXML Schema本身就是一个本身就是一个XMLXML文档。文档。扩展性。扩展性。XML SchemaXML Schema对对DTDD
21、TD进行扩展,引进了数进行扩展,引进了数据类型、命名空间等,还可以基于标准数据类型据类型、命名空间等,还可以基于标准数据类型创建自己的数据类型。创建自己的数据类型。互换性。利用互换性。利用XML SchemaXML Schema能够书写能够书写XMLXML文档以及文档以及验证文档的合法性。通过映射机制,可以实现验证文档的合法性。通过映射机制,可以实现SchemaSchema的转换。的转换。规范性。规范性。XML SchemaXML Schema更加便于描述文档的内容,更加便于描述文档的内容,对数据的内容、格式进行各种限制,对各种不同对数据的内容、格式进行各种限制,对各种不同的数据进行转换,并验
22、证数据的正确性。的数据进行转换,并验证数据的正确性。36A Simple XML SchemaA Simple XML Schema /XML声明 37XMLXML的自描述体系与语义的自描述体系与语义WebWeb的发展的发展38 XML建模体系与语义Web 语义互操作途径之一:RDF、本体与语义Web 语义互操作途径之二:UDDI、WSDL与SOAP39基于基于XMLXML的语义的语义WebWeb技术技术 传统的Web面向文档,没有提供网页中数据语义信息的表述和处理机制,不便于通过计算机进行判断和推理。2001年,Web创始人Tim Berners-Lee等人正式提出语义Web。语义Web对现
23、在的Web进行了扩展和延伸,通过XML、RDF/RDFS和本体技术,将Web中的信息按照语义层次结构进行组织,并以此为基础构建推理规则,完成语义的知识表达和推理。40RDF(RDF(资源描述框架资源描述框架)Resource Description Framework(RDF)Resource Description Framework(RDF)是是W3CW3C组织于组织于20042004年年2 2月月1010日发布的一个推荐日发布的一个推荐标准。它的功能是利用当前存在着的多种标准。它的功能是利用当前存在着的多种元数据标准来描述各种网络资源,形成人元数据标准来描述各种网络资源,形成人机可读的、
24、可以由计算机自动处理的文件机可读的、可以由计算机自动处理的文件。RDFRDF是采用是采用XMLXML语法格式处理元数据的应语法格式处理元数据的应用,为描述图像、文档和它们之间的相互用,为描述图像、文档和它们之间的相互关系定义了一个简单数据模型。简而言之关系定义了一个简单数据模型。简而言之,RDFRDF用于进行资源描述,但它并不直接用于进行资源描述,但它并不直接用来描述资源,而是定义了描述资源的规用来描述资源,而是定义了描述资源的规则。则。41RDF Schema(RDFS)RDF Schema(RDFS)RDF Schema 是资源描述框架的扩展。RDF模式相对于RDF来说提供了一个更高级别的
25、抽象概念。具体类别的资源具体的属性描述的资源与属性直接的关系RDFS 允许具体资源能被描述成为更加普通的类别的实例。RDFS提供了传统RDF词汇能被发展的机制,同时,RDFS提供了重要的语义功能,即能被增强型的语义语言如 DAML,OIL 和 OWL进行使用。42RDFRDF的的自描述自描述体系与体系与语义语义WebWeb的的发展发展43本体本体“本体”这个术语来自于哲学,它是研究世界上的各种实体以及它们是怎么关联的科学。对于 web,本体则关于对 web 信息及 web 信息之间的关系的精确描述。关于论域中概念的精确描述44Web Ontology Language(OWL)Web Onto
展开阅读全文