`

什么是Web服务

阅读更多

1.两种典型的应用:天气预报,支付宝。
2.Web服务是为实现“基于Web无缝集成”的目标而提出的全新概念。
希望通过Web服务能实现不同的系统之间的相互调用,
从而实现系统集成的平台无关性,语言无关性
3.Web服务是一个应用程序,它为调用者提供一个能够通过Web进行调用的API,
使调用者能够用编程的方式通过Web调用来开发应用程序。
4.Web服务是在Internet上提供的服务,所以Web服务也遵循Web协议,如HTTP,
TCP/IP、SMTP等。XML是Web Service技术中表示数据的基本格式,从而实现Web
服务的语言无关性和平台无关性,这是因为XML本身是语言无关和平台无关的。
5.提供服务的服务器称为服务提供者,而使用和调用Web服务的称为客户端应用程序。

为了实现Web服务的平台无关性,软件行业需要遵循如下一些标准的技术:
1.XML
在Web服务环境中各层之间进行数据传递的默认格式为XML
2.SOAP
封装和交换信息的默认协议是SOAP(Simple Object Access Protocol,简单对象协议)
SOAP是用于交换XML编码信息的轻量级协议,它可以运行在任何其他的协议上。
3.WSDL
Web服务描述语言(WSDL)采用XML格式描述Web服务的用途和调用方式,以方便其他人调用
自己的Web服务。

Web服务使我们能够在网络上建立分布式系统,应用程序组件可以通过任何平台,任何
语言和任何方式访问。无论应用程序如何开发,使用了什么语言,以及运行在什么操作
系统平台,只要它作为Web服务,并且为协同解决问题而设计,那么用户的应用程序,
无论以何种语言开发或何种平台上,都可以利用它的服务。

 

什么是Web Service?

Web Service是构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。

Web Service 三个基本技术

Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来作通信协议。

Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Description Language)。

通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Description and Integration)来完成的。


为什么要用Web Service?

Web Servcie最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。现在很多人在问:“不是CORBA和DCE也有那些优点吗?跟它们有什么不同呢?”。第一个不同点是,SOAP作为Web Service的基本通信协议,比它们简单地多,所以投入和使用的代价也是小的。现在不仅有很多大公司发布的Web Service,也有个人发布的。另一个不同点是,Web Service使用标准的互联网协议-XML、HTTP和TCP/IP。很多公司已经从实践当中对这些协议积累了丰富的经验,所以相比CORBA和DCE要交的学费要少地多。

如果把现有的应用程序以Web Service部件形式发布,可以帮助其他的公司(人)构件功能强大的应用程序。举个例子,你要开发一个采购系统,可以自动地获得供应商的报价,而且可以实时追踪送货过程。如果供应商已经发布了报价和送货这两个Web Service,那么你就可以直接使用它们,而不必自己开发这些功能了。

在未来,会出现更有趣的Web Service(现在做不到的),来帮助我们构建应用程序。

SOAP

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协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?不是的,你不必担心,因为已经有这方面的规范了(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-security.asp )。

WSDL

WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language)是用于COM和CORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。

举个例子,你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类型是integer,而供应商使用的数据类型是string.。WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。

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会提供详细的信息。
分享到:
评论

相关推荐

    Web服务体系结构论文

    2.1 什么是Web服务 Web服务是一种基于HTTP协议的、面向业务逻辑的服务,它可以通过XML(Extensible Markup Language)进行数据交换,使得不同系统之间可以共享功能和数据。Web服务的核心理念是实现分布式计算和信息...

    Java Web服务:构建与运行(第2版)1-3-4章源代码

    第1章通常会介绍Web服务的基础概念,包括什么是Web服务,Web服务的工作原理,以及为何选择Java作为开发Web服务的平台。这一章可能会涉及SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现和...

    增加对Web服务的引用.rar

    1. **什么是Web服务**: Web服务是一种基于互联网的、标准化的方式,允许两个或多个应用程序之间进行数据交换和功能调用。常见的Web服务协议有SOAP(简单对象访问协议)、REST(表述性状态转移)和XML-RPC(XML远程...

    第12章Web服务.ppt

    12.1.1 什么是Web服务 Web服务是一种分布式应用程序,它通过标准的XML数据格式(如SOAP - Simple Object Access Protocol)和通用的Web协议(如HTTP)为其他应用提供功能。它独立于平台,可以在不同操作系统和编程...

    Web服务和ASP.NET

    首先,让我们理解什么是Web服务。Web服务是一种通过互联网提供功能或数据的软件应用。它允许不同的应用程序之间进行通信,无视它们的编程语言、操作系统或硬件平台。Web服务基于开放标准,如简单对象访问协议(SOAP...

    《PHP Web Services (English)》是一本关于使用 PHP 构建 Web 服务的书籍 在这本书中,你可以学习

    Web 服务概述: 介绍什么是 Web 服务以及它们在现代 Web 开发中的作用和应用场景。 PHP 简介: 介绍 PHP 编程语言的基础知识和语法,以及如何在 PHP 中编写 Web 服务。 RESTful API 设计: 深入探讨如何设计和实现...

    计算机百科\web服务电子书

    #### 什么是Web服务? Web服务是指通过Web协议提供的一种服务,它可以被其他程序通过网络调用。Web服务的核心在于其开放性,即任何系统只要遵循一定的协议标准,就可以访问并使用这些服务。Web服务的应用非常广泛,...

    Java Web服务构建与运行(高清中文版).part3.rar

     1.1 什么是Web服务  1.2 第一个例子  1.3 由Perl和Ruby语言实现的Web服务客户端  1.4 了解SOAP  1.5 Java语言实现Web服务请求  1.6 基于通信层的HTTP和SOAP消息跟踪  1.7 目前为止还有什么不清楚  ...

    通过Web服务连接Oracle数据库.rar

    首先,让我们了解什么是Web服务。Web服务基于开放标准,如XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问协议)。它们提供了一种平台和语言无关的方式来交换数据,使得不同系统间的交互变得...

    基于LSTM的WEB服务响应时间大数据预测方法.pdf

    知识点1:什么是WEB服务响应时间? WEB服务响应时间是衡量WEB服务端性能的重要指标,合理的响应时间是用户接受网站的必要条件。WEB服务响应时间的预测对WEB服务提供方保障服务质量有着重要的指导意义。 知识点2:...

    programming web service with soap

    - **2.1 什么是Web服务?** - Web服务是一种用于实现不同应用程序之间通信的技术。它提供了一种标准的方法来实现不同平台上的应用程序之间的交互。 - **2.2 Web服务基础** - Web服务的基础在于它们能够跨越不同的...

    Java Web服务构建与运行(高清中文版).part5.rar

     1.1 什么是Web服务  1.2 第一个例子  1.3 由Perl和Ruby语言实现的Web服务客户端  1.4 了解SOAP  1.5 Java语言实现Web服务请求  1.6 基于通信层的HTTP和SOAP消息跟踪  1.7 目前为止还有什么不清楚  ...

    C#建立最简单的Web服务,无需IIS

    在IT行业中,C#是一种广泛使用的编程语言,尤其在构建Windows应用程序和Web服务方面表现出色。本主题将探讨如何利用C#创建一个简单的Web服务,而无需依赖于Internet Information Services (IIS)这样的传统Web服务器...

    NET精髓Web服务原理与开发.pdf

    Web服务允许应用程序通过网络共享功能,使得分布式系统能够协同工作。 【描述】"NET精髓Web服务原理与开发"的内容可能涵盖了以下几个关键知识点: 1. **SOAP(Simple Object Access Protocol)**:SOAP是Web服务的...

    VC++实现基于MFC的Web服务器程序

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库在Visual C++ 6.0环境下实现一个简单的Web服务器程序。MFC是微软为C++开发人员提供的一套面向对象的类库,它封装了Windows API,使得Windows...

    WebServices

    **1.2 什么是Web服务?** Web服务是一种开放的网络协议集合,用于在网络上(通常是互联网)进行数据交换和服务的提供。它定义了一套标准,允许运行在不同操作系统上的不同编程语言的应用程序相互沟通。Web服务的...

    简单易用的web服务程序

    【标题】"简单易用的web服务程序"指的是一个轻量级且用户友好的Web服务器应用程序,设计用于帮助用户快速地在本地计算机上搭建Web服务环境。这种类型的程序通常简化了传统的Web服务器配置过程,使得非专业人员也能...

    SOA与Web服务SOA与Web服务

    SOA与Web服务SOA与Web服务SOA与Web服务SOA与Web服务

Global site tag (gtag.js) - Google Analytics