面向服务的软件开发技术.ppt
《面向服务的软件开发技术.ppt》由会员分享,可在线阅读,更多相关《面向服务的软件开发技术.ppt(69页珍藏版)》请在三一办公上搜索。
1、软件工程国家重点实验室(武汉大学)State Key Lab of Software Engineering,面向服务的软件开发技术,贾向阳jxy,2010年10月7日,提纲,什么是SOA,什么是SOA由Gartner Group于1996年提出 SOA is a software architecture that starts with an interface definition and builds the entire application topology as a topology of interfaces,interface implementations and int
2、erface calls.SOA would be better-named interface-oriented architecture.,Service Oriented Architectures,Part 1,SSA Research Note SPA-401-068,12 April 1996 Service Oriented Architectures,Part 2,SSA Research Note SPA-401-069,12 April 1996,什么是SOA,OASIS的观点 SOAs support thinking and organizing in terms of
3、 services with distributed capabilities which may be under the control of different ownership domainsis an architectural style as well as a paradigm for business and IT architecture.,面向服务软件体系结构的特征,1)特殊的构造单元服务服务的抽象性(基于接口的编程)服务是实际程序、数据库、业务过程等软件实体的抽象了的逻辑视图。实现平台透明性服务的自治性(实现分布式应用)You dont“new”a service i
4、ts just there.服务的自描述性(支持动态发现与延迟绑定)服务具有可发布、可发现、机器可处理的接口契约服务的粗粒度(支持基于业务逻辑的积木式装配),面向服务软件体系结构的特征,2)连接与交互方式松耦合式绑定,基于标准化消息进行通信松耦合式绑定通过接口和契约进行绑定,服务提供者组件的变化不影响服务的使用者组件。可以动态发现服务,实现延迟绑定基于标准化消息进行通信标准化的通信协议,一般是基于XML的,如Web服务调用时的SOAP消息,ESB内部使用的NM消息等。实现高度的互操作性,Service Requester,Service Broker,Service Provider,面向服务
5、软件体系结构的特征,3)拓扑结构,Service,service description,service description,service description,publish,find,bind,面向服务软件系统的层次结构,面向服务的软件开发方法,开发范型的变迁结构化程序设计面向对象的软件开发基于组件的软件开发面向服务的软件开发从单机系统、分布式系统、异构分布式系统,软件的规模和复杂度逐步提高,模块耦合度逐步降低,面向服务的软件开发方法,面向服务软件开发的特点两个视图:服务提供者视图:关心服务如何实现、封装、发布、管理服务消费者视图:关心服务如何组合满足业务需求面向重用的开发Deve
6、lopment for reuseReuse-based Development业务敏捷的开发快速构建适应变化,面向服务的软件开发方法,面向服务的软件开发方法,已有的面向服务软件开发方法IBM:Service-Oriented Analysis and Design(SOAD)IBM:Service Oriented Modeling and Architecture(SOMA)SUN:SOA Repeatable Quality(RQ)CBDI:CBDI-SAE ProcessKunal:Service Oriented Unified Process(SOUP)Abdelkarim Err
7、adi:Service Oriented Architecture Framework(SOAF),4.面向服务的软件开发范型,提纲,3.Web服务编程技术,已有的SOA实现方案CORBA早期的实现技术,因过于复杂,应用较少。Web Service应用范围:EAI、面向网络的分布式应用OSGI应用范围:基于Java的单虚拟机内的应用JINI应用范围:网络设备的嵌入式应用,Web服务,W3C的“Web Service”定义a software system designed to support interoperable machine-to-machine interaction over
8、a network.It has an interface described in a machine-processable format(specifically Web Services Description Language WSDL).Other systems interact with the Web service in a manner prescribed by its description using SOAP messages,typically conveyed using HTTP with an XML serialization in conjunctio
9、n with other Web-related standards,Web服务技术的基本协议,SOAP(Simple Object Access Protocol)Lightweight(XML-based)protocol for exchange of information in a decentralized,distributed environmentWSDL(Web Service Description Language)XML format that describes the web serviceUDDI(Universal Description Discovery
10、and Integration)Like yellow pages of Web services,Web服务几个相关概念,WSDL协议,WSDL 是服务提供者和服务请求者之间的契约WSDL 文档描述了What the service can doWhere it residesHow to invoke it,Types,Message,Operation,Port Type,Binding,Port,Service,WSDL,WSDL elements,SOAP协议,SOAP 是一种基于XML的一个轻量级(XML-based)协议,用以在非集中的分布式环境中交换信息.SOAP 定义了消息格
11、式SOAP 与具体的传输协议无关,SOAP消息示例,Luqman,Hello Luqman,Request,Response,UDDI协议,UDDI 是一系列规范,用来发布Web服务的描述信息,并支持服务的发现。UDDI Registry 是存放Web服务相关信息的目录库UDDI 使用SOAP 协议进行通信.,公司的名称和相关属性,业务相关信息,Web服务的相关信息,3 levels of information in UDDI,White Pages,Yellow Pages,Green Pages,UDDI协议,RESTful web services,REST(Representatio
12、nal State Transfer)从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表形。获得这些表形致使这些应用程序转变了其状态。随着不断获取资源的表形,客户端应用不断地在转变着其状态,所谓表形化的状态转变-wikipediaREST是一种设计风格,其主要特征为:资源是由URI来指定。对资源的获取、创建、修改和删除正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。通过操作资源的表形来操作资源。资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。
13、,RESTful web services,RequestGET/india/hyd/employees/1234 HTTP/1.1Host:Accept:application/xmlResponseHTTP/1.1 200 OKDate:Tue,09 Feb 2010 11:41:20 GMTContent-Type:application/xml;charset=UTF-8,Method,Resource,RESTful web services,REST的优势可以利用缓存Cache来提高响应速度通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性浏览器即
14、可作为客户端,简化软件需求相对与其他叠加在HTTP协议之上的机制,REST的软件依赖性更小不需要额外的资源发现机制在软件技术演进中的长期的兼容性更好,Web Service 标准和技术体系,Web Service 标准和技术体系,CBDI的Web Service 协议栈,已有的Web服务容器,已有的Web服务容器Apache Axis 1.x(java)Apache Axis 2.x(java,C+)Apache CXF(java).NetgSoap(C/C+),提纲,信息集成的层次,数据层集成集中的数据视图、统一的数据管理服务层集成实现异构系统接口的虚拟化实现资源共享、以及系统的互联互通流程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 服务 软件 开发 技术
链接地址:https://www.31ppt.com/p-6034448.html