`

webservice的原理及概念

 
阅读更多

1 webservice

所谓webservice就是定义了一套标准的调用过程:

a 服务器首先用一套标准的方法向外界描述它所提供的服务的内容,就属于WSDL

b 客户端需要以一种标准的协议来调用此服务,这属于SOAP.

c 服务提供者将服务内容放在一个公共的网址让大家查询,就属于UDDI.

 

2 命名空间

命名空间其主要目的通过加一个命名属性,使名称保持唯一性。WSDL有大量的使用

命名空间的地方。本质上WSDL是一个XML文件,作为一个XML文件,为了区别同名的元素,就需要采用命名空间的概念。

 

3 WSDL的本质:服务内容的标准化描述

WSDL的全称是web service Description Language,是一种基于XML格式的关于web服务

的描述语言。其主要目的在于web service的提供者将自己的web服务的所有相关内

容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应

的完全文档,发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求消息

,通过HTTP传递给webservice提供者;web服务在完成服务请求后,将SOAP返回消息

传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。

 

4 SOAP的本质:标准的传输协议

SOAP是web service的标准通信协议,SOAP为simple object access protocoll的

缩写,简单对象访问协议. 它是一种标准化的传输消息的XML消息格式。

 

5 UDDI的本质:服务的公共网址

将web service进行UDDI注册发布,UDDI是一种创建注册表服务的规范,以便大家将自己的

web service进行注册发布供使用者查找.

然而当服务提供者想将自己的web service向全世界公布,以便外部找到其服务时,那么

服务提供者可以将自己的web service注册到相应的UDDI商用注册网站,目前全球有

IBM等4家UDDI商用注册网站。

因为WSDL文件中已经给定了web service的地址URI,外部可以直接通过WSDL提供的

URI进行相应的web service调用。所以UDDI并不是一个必需的web service组件,服务

方完全可以不进行UDDI的注册。

 

Web 服务有两层含义:1、是指封装成单个实体并发布到网络上的功能集合体;2、是指功能集合体被调用后所提供的服务。

Web Service 是为其它应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web 协议和数据格式获得Web Service,如HTTP 、XML 和SOAP 等,每个Web Service 的实现是完全独立的。

简单地讲,Web 服务是一个URL 资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。

Web 服务的体系结构是基于Web 服务提供者、Web 服务请求者、Web 服务中介者三个角色和发布、发现、绑定三个动作构建的。简单地说,Web 服务提供者就是Web 服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;Web 服务请求者就是Web 服务功能的使用者,它利用SOAP 消息向Web 服务提供者发送请求以获得服务;Web 服务中介者的作用是把一个Web 服务请求者与合适的Web 服务提供者联系在一起,它充当管理者的角色,一般是UDDI 。这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个Web 服务既可以是Web 服务提供者,也可以是Web 服务请求者,或者二者兼而有之。显示了Web 服务角色之间的关系: 其中,“发布”是为了让用户或其他服务知道某个Web 服务的存在和相关信息; “查找(发现)”是为了找到合适的Web 服务; “绑定”则是在提供者与请求者之间建立某种联系。

 

实现一个完整的Web 服务包括以下步骤:

◆ Web 服务提供者设计实现Web 服务,并将调试正确后的Web 服务通过Web 服务中介者发布,并在UDDI 注册中心注册 ; (发布)

◆ Web 服务请求者向Web 服务中介者请求特定的服务,中介者根据请求查询 UDDI 注册中心,为请求者寻找满足请求的服务; (发现)

◆ Web 服务中介者向Web 服务请求者返回满足条件的Web 服务描述信息,该描述信息用WSDL 写成,各种支持Web 服务的机器都能阅读;(发现)

◆ 利用从Web 服务中介者返回的描述信息生成相应的SOAP 消息,发送给Web 服务提供者,以实现Web 服务的调用;(绑定)

◆ Web 服务提供者按SOAP 消息执行相应的Web 服务,并将服务结果返回给Web 服务请求者。(绑定)

一、webservice概述 
  简单的说webservice就是一些站点开放一些服务出来,也可以是你自己开发的service,也就是一些方法,通过URL,指定某一个方法名,发出请求,站点的这个服务(方法),接收请求后,根据传入的参数做一些处理,然后将处理后的结果以XML形式返回给你,你的程序就解析这些XML参数,然后显示出来或做其他操作。 
例如:很多大的站点提供有天气预报的webservice、查询某网站的数据的webservice,只要你发送请求过来,它就返回天气预报、某网站的数据,然后你把结果显示处来。
二、webservice的用途和好处 
  实际上,webservice的主要目标是跨平台的可互操作性,为了达到这个目标,webservice完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作行、分布式应用程序的新平台,由此可以看出,在以下三种情况下,使用webservice会带来极大的好处。
三、Web Service的几个很重要的概念 
1、SOAP
 
   2、SOAP是Web Service的基本通信协议。因为SOAP与DCOM和CORBA在概念上有相同之处,所以很多人在问:“SOAP是怎样激活对象的?”或“SOAP在使用什么命名服务(Naming Service)?”。或许在执行SOAP的过程当中会用到这些,但这些并不在SOAP规范要考虑的范畴之内。SOAP只是定义SOAP消息的XML格式(XML Format),如果你用一对SOAP标记(SOAP Elements)把XML文档括起来,那么这个就是一个SOAP消息,这不是很简单吗? 
         SOAP规范还定义了怎样用XML来描述程序数据(Program Data),怎样执行RPC(Remote Procedure Call)。这些可选的规范是为了构建RPC-style的应用程序(客户端SOAP消息包含函数名和在函数中用到的参数,而服务器端SOAP消息包含执行函数之后的结果)。大多数SOAP解决方案都支持RPC-style应用程序,因为很多程序员已对DCOM或CORBA熟悉。SOAP还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。 
        最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。 
        很多大公司根据SOAP规范,都开发出了自己的SOAP解决方案。这些解决方案都是相对于某种语言。比如说Microsoft SOAP toolkit2.0把COM函数转换成SOAP消息,而Apache toolkit把JAVA函数转换成SOAP消息。这样难免带来一些兼容性问题。 
        现在SOAP的很多另人瞩目的特性已成为现实(SOAP已经运行于不同的硬件和软件平台),而且有70多个解决方案。之所以SOAP被人们所爱戴,是因为SOAP比其他同类技术(CORBA、DCE)简单易用。 
        安全性对于应用程序来说是很重要的。那么SOAP的安全性如何呢?对于把HTTP作为传输协议的SOAP来说是没有问题的,因为HTTP协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?不是的,你不必担心,因为已经有这方面的规范了。
2、WSDL 
WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language)是用于COM和CORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。 
举个例子,你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类型是integer,而供应商使用的数据类型是string.。WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。 
3、 UDDI 
  UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。你可以不把Web Service注册到UDDI。但如果要让全球的人知道你的Web Service,最好还是注册到UDDI。 
UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Paper)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接口(Web Service 提供的)的详细信息。UDDI提供多种查询方式,来帮助你找到需要的Web Service。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。

分享到:
评论

相关推荐

    webservice.概念架设webservice简单实例

    核心概念在于,Webservice提供了一种标准化的方式,让应用程序能够通过互联网互相通信,就像调用本地函数一样。这种服务通常采用SOAP(Simple Object Access Protocol)协议,以XML格式传输数据,确保跨平台的兼容性...

    WebService原理

    ### WebService原理深入解析 #### 一、WebService概念与历史 WebService是一种标准的跨平台通信方式,它允许不同操作系统上的应用程序通过HTTP协议进行交互。WebService的出现,解决了异构系统间的数据交换问题,...

    xfire java webservice(cxf前身框架了解webservice原理很好的入门框架)

    ### xfire Java WebService (CXF前身框架了解WebService原理很好的入门框架) #### 一、XFire框架简介 XFire是一个轻量级的Java WebService框架,它被设计为易于使用且具有高性能。XFire最初由Matt Stevenson和...

    WebService应用实例及教程

    在本文中,我们将深入探讨WebService的核心概念、工作原理以及如何创建和使用WebService的实际案例。 1. WebService核心概念 - WSDL(Web Services Description Language):用于定义服务接口的XML格式规范,描述...

    一个简单的WEBSERVICE 例子

    总的来说,这个示例为我们提供了一个很好的起点,可以帮助初学者理解 WebService 的基本工作原理及其与数据库交互的方式。对于进一步的学习和发展,还可以探索更多高级特性,比如异常处理、安全性增强等。

    webservice测试

    总的来说,这个项目提供了实践WebService开发和测试的宝贵机会,通过运行和分析这三个示例,我们可以深入理解WebService的工作原理以及如何进行有效的测试。在实际的IT工作中,掌握WebService的相关知识是至关重要的...

    RI Webservice TEST

    WebService 测试的基本概念 - **WebService**:一种开放的、跨平台的标准协议,它允许应用程序之间通过网络进行通信和数据交换。WebService 使用标准的互联网协议(如HTTP)和格式(如XML),因此能够实现不同操作...

    WebService实例解析.doc

    本实例将深入解析WebService的工作原理和使用方法,特别是XML数据的传输。 首先,理解WebService的核心概念:WebService作为一个对外的接口,提供了可供外部客户调用的函数。这些函数是服务端实现的功能,客户端只...

    jdk 6.0 自带webservice实现 实例

    "JDK 6.0 自带 Webservice 实现实例" JDK 6.0 自带 Webservice 实现实例是使用 JDK 自带的功能来实现 ...这些知识点都是 Webservice 的基础概念,读者可以通过这个示例来了解 Webservice 的基本原理和实现方法。

    VC++中WebService服务的调用

    首先,理解WebService的基本概念至关重要。WebService是一种通过网络提供可互操作的、标准化的服务。它使用SOAP(Simple Object Access Protocol)作为传输协议,WSDL(Web Services Description Language)用于定义...

    深入浅出WebService

    【深入浅出WebService】这篇文章是面向初学者的指南,旨在帮助读者理解并熟悉WebService的基本概念和技术。...对于初学者,文章推荐的CXF框架是一个很好的起点,可以深入理解WebService的工作原理和实现方式。

    WebService

    在本例中,Web服务使用了Java语言进行开发,这表明我们将探讨Java中的WebService技术,包括其原理、实现方式以及如何通过提供的Ws_Client和Ws_server两个文件进行交互。 1. WebService的基本概念: WebService是一...

    WebService课件

    这是一套非常适合教学与自我学习的资源,旨在帮助用户理解并掌握WebService的基本概念、工作原理以及实际应用。 一、WebService基础 WebService是一种基于XML(可扩展标记语言)的开放标准,其核心规范包括SOAP...

    WebService服务的天气预报系统及网页

    下面将详细介绍WebService的核心概念、工作原理以及如何构建和使用这样的天气预报系统。 首先,WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的接口,使得不同平台的应用程序可以互相通信。SOAP(Simple ...

    Eclipse下WebService学习.doc

    在开始学习之前,你需要收集相关资料,例如《Tomcat5.0.28下AXIS完全安装手册》、《详解怎样使用Axis开发Web Service的实例》等,以便理解WebService的工作原理。此外,安装必要的工具,如Java JDK1.5、Apache ...

    WebService源码和笔记.zip

    1. **WebService基础概念**:解释什么是WebService,它的核心理念、工作原理以及与其他通信方式的区别。 2. **SOAP详解**:详细解析SOAP消息结构,包括Envelope、Header、Body等元素的含义,以及如何构造和解析SOAP...

Global site tag (gtag.js) - Google Analytics