Web服务体系结构

导读:

  Web服务体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。这样,因特网上的任何分布式系统就有可能被整合到一个用户定制的应用程序中。 由于Web服务不需要人工干预,自动进行系统绑定和数据交换,因此它被称为Web应用的一场革命。为了支持Web服务,WorldWideWebConsortium和一些有影响的大公司联合,制定了一系列和Web服务相关的标准,它们是:XML(eXtensible Markup Language),即Web服务的基础语言。它是WorldWideWebConsortium制订的用于进行数据交换和表示的标准语言,在Web服务中用来表示服务请求和应答的内容。UDDI(Universal Description Discovery and Integration),用于Web服务注册和查找。WSDL(WebService Description Language),用于描述Web服务的接口和功能。SOAP(Simple Object Access Protocol),用于构建Web服务和服务请求之间的通讯.下面简单说明这几种标准在Web服务中的作用。

  1) 作为Web服务基础的XML

  XML是WorldWideWebConsortium制订的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记语言的元语言。XML语言的主要特性体现在4个方面,即结构化、自描述性、可扩展性和浏览器自适应性[15]。

  ①结构化。XML是一个极端标准化的语言规范,它一般利用DTD(Document Type Definition)规范来定义XML文件的语法、句法和数据结构。

  ②自描述性。在XML文档中,自描述性是可选的,但使用自描述性可以增强Web的检索功能。

  ③可扩展性。XML的一个中心特性就体现在它的可扩展性中。在XML中,标签(Tag)是由DTD定义的,标签定义了文档中数据的属性。

  ④浏览器自适应性。一个结构化的文档能够适应各种不同的浏览模式。XML在Web浏览器上得到了广泛的支持。

  Web服务所提供的服务接口、对Web服务的请求、Web服务的应答数据都是通过XML描述的。而且,UDDI、SOAP、WSDL等标准也都是通过XML来描述的。所以, XML构成了整个Web服务的基础。

  2) UDDI提供了注册和检索Web服务的机制

  UDDI的目标是建立标准的注册中心(Registry)来加速互联网环境下电子商务应用中企业应用系统之间的集成,它是一个面向基础架构的标准。UDDI使用一个共享的目录来存储企业用于彼此集成的系统界面及服务功能的描述,这些描述都是通过XML完成的。

  UDDIv1的注册中心在所支持的UDDI商业注册中,使用一个XML文档来描述企业及其提供的Web服务。从概念上来说,UDDI注册中所提供的信息包含3个部分:白页(WhitePage)包括了地址,联系方法和企业标识;黄页(Yellowpage)包括了基于标准分类法的行业类别;绿页(GreenPage)则包括了该企业所提供的Web服务的技术信息,可能是一些指向文件或是URL的指针,而这些文件或URL是为Web服务发现机制服务的。

  UDDI主要由UDDI概要(UDDISchema)和UDDI应用程序接口(UDDIAPI)两部分构成。UDDI概要构成了Web服务的注册入口(RegistryEntry),UDDIAPI描述了用于发布注册入口或查找注册入口所需的SOAP消息[16]。

  3) WSDL提供了对Web服务接口的描述

  WSDL通过定义一套XML语法来描述Web服务,WSDL把Web服务定义成一个能交换消息的通讯端点集(CommunicationCollection)。WSDL提供了Web服务的帮助文档,同时也可作为自动实现应用间通讯的解决方案。

  在WSDL中,作为一个网络端点的集合,Web服务的端点及消息的抽象定义与它们具体的实现和数据格式绑定是分离的,这样就可以重用这些抽象定义。一个WSDL文档在定义Web服务时使用如下的元素和抽象定义[17]:

  ① 类型。使用某种类型的系统来定义数据类型的容器;

  ② 消息。通讯数据的抽象类型定义;

  ③ 操作。服务支持的动作的抽象描述;

  ④ 端点类型。一个操作的抽象集合,该操作由一个或多个端点支持;

  ⑤ 绑定。针对一个特定端点类型的具体协议规范和数据格式规范;

  ⑥ 端点。一个绑定和一个网络地址的联接;

  ⑦ 服务。相关的端点的集合。

  在WSDL中并没有引入新的类型语言。为了描述消息的结构,需要具有丰富类型的系统,因此WSDL把XML的Schema规范作为自己的类型系统。

  4) 作为Web服务的核心的SOAP

  SOAP提供了一个基于XML的形式在分布式环境中交换结构化信息的机制。它通过提供一个有标准组件的包模型和通过在模块中对数据编码的机制,来定义一个简单的表示应用程序语义的机制。这使SOAP能够应用于从消息传递到RPC(RemoteProcedureCall)的各种系统中。SOAP包括3个部分,这3个部分在功能上是相互交叉的[18]。

  ① SOAP封装结构:定义了一个整体框架,用来表示消息中包含什么内容、谁来处理这些内容以及这些内容是可选的或是必需的;

  ② SOAP编码规则:定义了一系列用来交换应用程序的数据的机制;

  ③ SOAPRPC表示:定义了一个用来表示远程过程调用和应答的协议。

  SOAP消息从发送方到接收方是单向传送,但经常以请求/应答的方式实现。SOAP的实现可以通过使用特定网络系统的特性来优化。例如,HTTP可以使SOAP应答消息以HTTP应答的方式传输,并使用同一个连接返回请求。由于SOAP实现了Web服务中系统之间的绑定和请求/应答机制,使应用程序可以通过Internet和Web服务进行数据交换,完成数据交换工作,所以SOAP构成了Web服务的核心。

  Web服务的概念推出之后,得到了业界的广泛关注,IBM、HP、Micrpsoft、Sun、BEA等大公司纷纷推出了自己的Web服务开发工具。IBM的WebSphere,Microsoft的.NET,Sun公司推出的SunOne,BEA公司的WebLogic等产品都把实现Web服务列为自己的目标。目前Web服务的应用主要集中在以下几个方面[19]。

  ① 基于商业的Web服务。该类服务针对的是企业应用服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。

  ② 基于消费者的Web服务。此类服务针对的是原来的B2C网站的改造,为这些基于浏览器的Web应用增加了Web服务的界面,使得用户使用Internet更为方便,能够获得更加便捷的服务。

  ③ 基于传统系统的Web服务。一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果迁移到全球范围的Internet上或者企业内部Intranet上,其作用范围将从单个系统或局部网络拓展到整个企业网络或整个Internet。这样,在同一系统服务中的不同应用将可以在整个Internet环境中部署。

  ④ 实现网格计算的Web服务。目前网格计算是把互联网中的计算机集合起来,共同协作完成大规模的计算任务。Web服务及其发展是构建网格计算环境的一个途径,使用Web服务,异构的计算机软件和硬件系统可以通过Internet联结起来,共同完成一些计算。



本文转自

http://soa.5d6d.com/redirect.php?fid=4&tid=78&goto=nextnewset
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WSDL (Web Services Description Language) 是一种用于描述 Web 服务的语言。它使用 XML 格式来描述 Web 服务和如何访问它们。 Web 服务体系结构中的 WSDL 实现可以提供以下信息: - 服务所在的位置 (URL) - 服务所提供的功能 (例如,查询数据库、检查天气预报等) - 调用服务所需的输入参数 - 服务返回的输出结果 通常,WSDL 文件会包含一个描述 Web 服务的接口的 XML 文档,以及如何访问该接口的详细信息。有了 WSDL 文件,客户端程序就可以使用特定的工具生成代码来调用 Web 服务。 ### 回答2: Web服务体系结构是一种基于网络的架构,它允许不同平台和应用程序之间进行通信和交互。其中,WSDL(Web Services Description Language)是一种用于描述Web服务XML格式语言。 WSDL可以被用来描述一个Web服务的功能、输入输出等细节。一般来说,一个简单的Web服务体系结构的WSDL实现会包含以下几个部分: 1. 服务接口(Service Interface):描述Web服务可提供的功能和操作,包括输入参数、输出参数和返回类型等。例如,一个简单的Web服务可能提供一个计算两个数相加的功能。 2. 绑定(Binding):将服务接口与具体的协议和传输机制绑定在一起。例如,绑定可以指定该Web服务使用SOAP协议进行通信,并通过HTTP协议进行传输。 3. 服务地址(Service Address):指定Web服务的网络地址,客户端可以通过该地址访问并调用服务。例如,一个Web服务的地址可以是一个URL(Uniform Resource Locator)。 4. 数据类型(Data Types):定义服务接口中所使用的数据类型。例如,对于前述计算两个数相加的功能,可能需要定义整数类型作为输入参数和返回值的数据类型。 通过这些部分的描述,WSDL实现可以为Web服务提供者和消费者提供一个统一的规范和约定,使得它们之间能够理解和相互协作。同时,WSDL实现还可以被用来生成客户端代码,使得客户端可以轻松地调用Web服务。 总而言之,WSDL实现是描述Web服务体系结构的一种XML格式语言,它定义了服务接口、绑定、服务地址和数据类型等方面的细节。通过WSDL实现,Web服务的提供者和消费者可以共同遵守一套标准和约定,实现不同平台和应用程序之间的互操作性。 ### 回答3: Web服务描述语言(WSDL)是一种用于描述和定义Web服务体系结构XML语言。它允许开发人员描述一个Web服务的接口、访问地址、操作和消息格式等细节。以下是一个简单的描述Web服务体系结构的WSDL实现: ``` <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="MyWebService" targetNamespace="http://www.example.com/webservice" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.com/webservice" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema targetNamespace="http://www.example.com/webservice"> <xsd:element name="GetEmployeeRequest"> <xsd:complexType> <xsd:sequence> <xsd:element name="EmployeeID" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="GetEmployeeResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="EmployeeName" type="xsd:string"/> <xsd:element name="EmployeeEmail" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="GetEmployeeRequestMessage"> <wsdl:part name="parameters" element="tns:GetEmployeeRequest"/> </wsdl:message> <wsdl:message name="GetEmployeeResponseMessage"> <wsdl:part name="parameters" element="tns:GetEmployeeResponse"/> </wsdl:message> <wsdl:portType name="MyWebServicePortType"> <wsdl:operation name="GetEmployee"> <wsdl:input message="tns:GetEmployeeRequestMessage"/> <wsdl:output message="tns:GetEmployeeResponseMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="MyWebServiceSoapBinding" type="tns:MyWebServicePortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/> <wsdl:operation name="GetEmployee"> <soap:operation soapAction="http://www.example.com/webservice/GetEmployee" style="rpc"/> <wsdl:input> <soap:body use="literal" namespace="http://www.example.com/webservice"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://www.example.com/webservice"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="MyWebService"> <wsdl:port name="MyWebServicePort" binding="tns:MyWebServiceSoapBinding"> <soap:address location="http://www.example.com/webservice"/> </wsdl:port> </wsdl:service> </wsdl:definitions> ``` 在上述WSDL实现中,我们定义了一个名为"MyWebService"的Web服务,它包含一个名为"GetEmployee"的操作。该操作接收一个名为"EmployeeID"的整数输入参数,并返回一个包含"EmployeeName"和"EmployeeEmail"的响应。WSDL还定义了消息、端口类型、绑定和服务等相关细节。 这段WSDL实现描述了Web服务的接口、访问地址和操作等信息,使得服务的使用者能够了解如何与该服务进行交互,并正确构造请求和解析响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值