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 protocol
l的
缩写,简单对象访问协议. 它是一种标准化的传输消息的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
服务;
“绑定”则是在提供者与请求者之间建立某种联系。
图1 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的公司(人)信息,比如说名称、地址和联系方
相关推荐
核心概念在于,Webservice提供了一种标准化的方式,让应用程序能够通过互联网互相通信,就像调用本地函数一样。这种服务通常采用SOAP(Simple Object Access Protocol)协议,以XML格式传输数据,确保跨平台的兼容性...
【WebService压缩方法整合】是一个关于如何优化和提升WebService性能的主题,这个主题涵盖了多个关键知识点,包括数据压缩、WebService的基本概念、实例应用以及相关的辅助工具和技术。以下是对这些知识点的详细阐述...
一、WebService 基本概念 WebService 是一种可以接收从 Internet 或者 Intranet 上的其它系统中传递过来的请求,轻量级的独立的通讯技术。WebService 也叫 XML WebService,它通过 SOAP 在 Web 上提供的软件(服务...
本文档将详细介绍C#创建和调用WebService的教程,涵盖WebService的基本概念、特点以及如何使用C#语言来创建和调用WebService。 WebService基本概念 WebService是一种可以接收从Internet或者Intranet上的其他系统中...
本文将引导初学者逐步了解如何创建和调用WebService,涵盖基本概念、特性以及具体步骤。 1. WebService基本概念 WebService是一种基于XML(可扩展标记语言)的轻量级通信技术,它允许不同系统之间通过SOAP(简单...
1. **WebService基础概念**:解释什么是WebService,它的核心理念、工作原理以及与其他通信方式的区别。 2. **SOAP详解**:详细解析SOAP消息结构,包括Envelope、Header、Body等元素的含义,以及如何构造和解析SOAP...
在本实例中,我们将深入探讨WebService的基本概念、实现方式以及如何通过提供的"UserMgrService"文件来理解和应用WebService。 一、WebService基本概念 WebService是一种通过XML(Extensible Markup Language)和...
1. **WebService基本概念** - **接口**:WebService的核心是一个对外的接口,它定义了一组可供外部客户调用的函数。这些函数通常是通过SOAP(Simple Object Access Protocol)协议进行通信。 - **数据序列化**:...
1. **WebService基本概念** - WSDL (Web Services Description Language):定义了服务接口,描述了服务提供的操作、消息格式和通信协议。 - SOAP (Simple Object Access Protocol):用于传输数据,是基于XML的协议...
### WebService基础概念 WebService是一种跨平台、跨语言的远程服务调用标准,它允许不同系统之间的数据交换。WebService使用HTTP协议,通过XML格式的数据进行通信,使得客户端能够调用服务器端的方法并接收返回...
一、WebService基本概念 WebService是一种使用标准XML(Extensible Markup Language)进行通信的网络服务。它通过SOAP(Simple Object Access Protocol)协议进行消息交换,WSDL(Web Services Description Language...
作为入门教材,这本书旨在帮助初学者快速掌握WebService的基本概念和使用方法。它会讲解如何使用Java和JAX-WS(Java API for XML Web Services)来创建和调用Web Services,同时还会涉及客户端和服务器端的配置与...
### WebService 基本概念解析 #### 一、WebService 概述 WebService 是一种跨编程语言和操作系统平台的远程调用技术。它提供了一种标准的方法,使得一个应用程序可以和其他应用程序进行通信与数据交换。WebService...
#### WebService基本概念 WebService,也称为XML Web Service,是一种轻量级的独立通讯技术,旨在接收来自Internet或Intranet其他系统的请求。这种服务通常通过SOAP(简单对象访问协议)进行通信,并使用WSDL(Web ...
一、WebService基础概念 1. SOAP(Simple Object Access Protocol):WebService主要采用SOAP协议进行通信,它是一种XML格式的协议,用于交换结构化和类型化的信息。 2. WSDL(Web Services Description Language...
#### WebService基本概念 WebService,又称为XML Web Service,是一种能够接收来自Internet或Intranet其他系统的请求,并通过特定协议(如SOAP)进行通信的轻量级独立通讯技术。该技术允许不同系统间进行交互,即使...
WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
1. **WebService基本概念** WebService是一种基于XML的开放标准,允许不同平台的应用程序通过网络进行互操作。它定义了服务提供者和服务消费者之间的标准通信协议,主要由WSDL(Web Service Description Language)...