您好,欢迎访问三七文档
deeperAdvancedwebtechnologyWeb高级开发与应用技术服务web与云计算WebTechnologyFudanMSEcourse,byDaikaiyu服务概念的提出SaaSWebTechnologyFudanMSEcourse,byDaikaiyu将软件与服务分离WebTechnologyFudanMSEcourse,byDaikaiyuSOA是什么?W3C:Asetofcomponentswhichcanbeinvoked,andwhoseinterfacedescriptionscanbepublishedanddiscovered.WebTechnologyFudanMSEcourse,byDaikaiyu5什么是服务?Awell-defined,invokableunitofbusinessfunctionAccessesbusinessdataorfacilitatesachangeofbusinessdata-fromonevalidandconsistentstatetoanother.Definedusingexplicitinterfaces-Independentofserviceimplementations-ProvidescontractbetweenservicerequestorsandserviceprovidersInvokablethroughcommoncommunicationprotocols-Providesinteroperabilityandlocationtransparency.WebTechnologyFudanMSEcourse,byDaikaiyu6一个组件模型将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。什么是面向服务的体系架构?WebTechnologyFudanMSEcourse,byDaikaiyu7为什么采用面向服务的体系架构?AServiceOrientedArchitectureenablesflexibleconnectivityofapplicationsorresourcesby-Representingeveryapplicationorresourceasaservicewithastandardizedinterface-Enablingthemtoexchangestructuredinformation(messages,documents,‘businessobjects’)-MediatingthemessageexchangethroughanEnterpriseServiceBusThisflexibilityenablesnewandexistingapplicationstobeeasilyandquicklycombinedtoaddresschangingbusinessneeds.-Theabilitytoeasilycombine/choreographapplicationsallowsITservicestomorereadilyreflectbusinessprocessesTheSOAinfrastructureisalsousedtofacilitatethemanagementofbusinessperformanceandqualityofserviceWebTechnology8SOA的价值:SOA实现可变的IT架构…WebTechnologyFudanMSEcourse,byDaikaiyu面向服务的集成示例传统3层架构WebTechnologyFudanMSEcourse,byDaikaiyuWebServices的产生1999年,HP(惠普)公司成为了第一个引入Web服务概念的软件供应商。2000年6月Microsoft提出了“Web服务”这个术语,并把Web服务作为了它的.NET计划的一个重要组件WebTechnologyFudanMSEcourse,byDaikaiyuWebServicesWebServices的发展原动力-电子商务和企业应用集成的发展,日趋基于Web应用:从局部化发展到全球化从B2C(Bussiness-to-Costumer)发展到B2B(Bussiness-to-Bussiness)从集中式发展到分布式-需要解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成WebTechnologyFudanMSEcourse,byDaikaiyuWebServicesWeb服务介绍-Web服务技术代表了分布式计算的下一个阶段,将大大改变IT结构和伙伴关系。-Web服务包括一系列相关的标准,与DCOM和CORBA不同,Web服务使用了开放的标准,这意味着Web服务理论上可以使任何两个软件组件进行通信(即使它们所采用的编程语言或平台有所不同)-Web服务实现起来相对简单和便宜一些,因为它使用现有的基础架构(网络,比如Web)来交换信息。显著降低企业应用集成(EAI)和B2B通信的成本-Web服务可以通过许多因特网协议交换信息,但大多是使用超文本传输协议(HTTP)WebTechnologyFudanMSEcourse,byDaikaiyuWebServicesWebService概述-WebServices是一个崭新的分布式计算模型-WebServices是一系列标准的集合SOAPWSDLUDDIWSFL…-WebServices架构提供一个松散耦合的分布式计算环境WebTechnologyFudanMSEcourse,byDaikaiyuwebservicesWebServicesDefinitionbyW3C●AWebserviceisasoftwareapplication●identifiedbyaURI,●whoseinterfacesandbindingarecapableofbeingdefined,describedanddiscoveredbyXMLartifactsand●supportsdirectinteractionswithothersoftwareapplications●usingXMLbasedmessages●viainternet-basedprotocolsWebTechnologyFudanMSEcourse,byDaikaiyuwebservicesW3C2004年2月发布的面向服务架构规范中定义单个的Web服务,就是一个支持机器之间通过网络进行交互的软件系统。Web服务使用机器可以处理的格式(特别是WSDL)来描述自己的接口。其他系统则依据该接口描述,使用SOAP报文格式与Web服务通信。典型的SOAP报文是一个利用HTTP传输的XML序列,在传输中通常与其他Web相关的标准结合WebTechnologyFudanMSEcourse,byDaikaiyuServiceWebWebservices架构WebTechnologyFudanMSEcourse,byDaikaiyuWebService架构WebTechnologyFudanMSEcourse,byDaikaiyuWebService架构-三个角色:服务提供者(ServiceProvider)-发布自己的服务,并且对使用自身服务的请求进行响应服务请求者(ServiceRequestor)-利用Servicebroker查找所需的服务,然后使用该服务服务注册中心(Servicebroker)-注册已经发布的Serviceprovider,对其进行分类,并提供搜索服务WebTechnologyFudanMSEcourse,byDaikaiyuWebService架构-三个基本操作发布(Publish)-直接发布:服务提供者直接向服务请求者发送WSDL文档-服务提供者还可以将描述服务的文档发布到主机本地WSDL注册中心、专用UDDI注册中心或UDDI运营商节点查找(Find):对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操作:-在设计时为了程序开发而检索服务的接口描述-在运行时为了调用而检索服务的绑定和位置描述绑定/调用(Bind/Invoke)-服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互WebTechnologyFudanMSEcourse,byDaikaiyuWebService架构Web服务协议栈nowBEPLWebTechnologyFudanMSEcourse,byDaikaiyuWebService架构可互操作的基础协议栈-简单的协议栈将包括网络层的HTTP、XML消息传递层的SOAP协议以及服务描述层的WSDL。-所有企业间或公用Web服务都应该支持这种可互操作的基础协议栈WebTechnologyFudanMSEcourse,byDaikaiyuSOAP简介简单对象访问协议SOAP(SimpleObjectAccessProtocol)是在松散的、分布的环境中使用XML交换结构化的和类型化的信息的一种简单协议。XML的标准化为跨平台之间的交流带来了极大的方便,而SOAP的实质就是把这种交流的方式标准化了SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只定义了一种简单的以模块化的方式包装数据的机制。-将数据/对象打包成XML格式的数据publicclassPerson{Stringname;intage;//方法的定义...}Personnamezhang3/nameage20/age/PersonWebTechnologyFudanMSEcourse,byDaikaiyu使用SOAP的XML消息传递使用SOAP的XML消息传递WebTechnologyFudanMSEcourse,byDaikaiyu一个简单的SOAP请求/响应假设有上述接口定义的服务存在-客户端在远程调用sayHelloTo方法时,提供一个名字,期望返回一个字符串-假设JavaRMI、CORBA、DCOM都不存在,开发者必须负责将方法调用串行化,并把消息发给远程服务器。-一个简单的方式是使用XMLpublicinterfaceHello{publicStringsayHelloTo(Stringname);}WebTechnologyFudanMSEcourse,byDaikaiyu一个简单的SOAP请求/响应用XML打包请求-将接口名作为根结点-方法和参数作为结点将请求发送给服务器-不创建自己的TCP/IP消息,利用HTTP-将请求封装成HTTPPOST请求格式发出?xmlversion=1.0?HellosayHelloTonameJohn/name/sayHelloTo/HelloWebTechnologyFudanMSEcourse,byDaikaiyu一个简单的SOAP请求/响应服务器接收到请求,解码XML,处理请求,然后以XML格式向客户发送响应-与请求比较,方法的结点名字变为请求的方法名后缀Response-客户程序知道自己调用了哪个方法,根据方法名后缀Response寻找调用方法的返回值?xmlversion=1.0?HellosayHelloToResponsemessageHelloJohn,Howareyou?/message/sayHelloToResponse/HelloWebTechnologyFudanMSEcourse,byDaikaiyuSOAP请求实例ParametersMethodnameWebTechn
本文标题:服务web与云计算
链接地址:https://www.777doc.com/doc-7033042 .html