`

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

相关推荐

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

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

    Java Web服务构建与运行(高清中文版).part2.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服务相关发展趋势

    ##### 1.1 什么是Web服务 Web服务是一种新兴的开发模式,旨在解决跨网络应用集成的问题,支持“软件即服务”的理念。这一理念允许软件服务在网络上公开其编程接口,以便用户能够利用这些接口共享并调用网站提供的...

    第12章Web服务.ppt

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

    Java Web服务构建与运行(高清中文版).part1.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服务实用培训教程.pptx

    - **什么是Web服务**:Web服务是一种基于XML数据格式和HTTP协议的应用程序,可为其他应用程序提供服务。在.NET平台上,开发人员可以通过简单的步骤创建和调用Web服务。 - **技术支持**:Web服务利用了Web服务器...

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

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

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

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

    基于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 目前为止还有什么不清楚  ...

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

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

    JAVA WEB服务 构建与运行 JAVA WEB服务构建与运行

    从所提供的文件内容来看,内容片段较为混乱,其中包含了许多无关字符和重复片段,但我们可以识别出一些关键信息,并据此整理出关于“Java Web服务 构建与运行”的知识点。 ### 知识点一:Java Web服务概念 Java ...

    Webserver开发指南

    - **什么是Web服务**:Web服务是一种通过互联网进行通信的应用程序,它提供了一种标准化的方式来交换数据,使得不同平台的应用程序能够协同工作。 - **什么是SOAP**:SOAP是一种轻量级的消息协议,用于在Web服务中...

    Web服务器安全设置

    对Web服务器构成威胁的不仅有系统漏洞,还有特定类型的Web服务。例如,邮件中继服务在处理电子邮件时可能会受到垃圾邮件和恶意邮件的攻击。通过配置和调整相关服务,例如IIS的SMTP服务,能够有效地阻止垃圾邮件直接...

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

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

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

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

    C#Web服务高级编程

    在深入探讨C#Web服务的高级编程之前,有必要先了解Web服务的基本概念及其在分布式计算中的发展历史。Web服务是一种能够通过网络进行通信的软件应用程序,它允许不同系统间的信息交互。在Web服务的体系结构中,组件...

Global site tag (gtag.js) - Google Analytics