什么是Web Service?
Web Service是构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。
目前流行的Web Service有Cordys,Websphere,WebLogic,对于IBM的产品并没有很多感性的认识,不过估计也就是基于Websphere的J2EE架构的重量级实现;BEA应当也大体相似,只不过换成了WebLogic;而Cordys的产品则从上至下完全使用XML将AJAX技术、BPMS与ESB集成在一起,结合Web Service Application Server、XForm快速应用开发特性和全面的后端应用与数据集成能力,配以世界最为快速的专有XML Parser和开放的LDAP Server,以及对包括WS-I Basic Profile在内的Web Service Stack的广泛支持,提供了完全B/S架构的应用集成与开发平台,其前瞻性和创新性是无与伦比的,需要的只是面向开发人员的易用性和高效性,以及不断积累的Install base。
Web Service 三个基本技术
Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来做通信协议。
Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Deion Language)。通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Deion 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 里注册了这两个方法,并且这两个方法可以重用)。在未来,会出现更有趣的Web Service(现在做不到的),来帮助我们构建应用程序。
SOAP
SOAP(simple object access protocol)是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(Web Service Deion Language)是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Deion 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会提供详细的信息。
优点:
1. 重用API,几个项目可以一起用相同的API
2. 因为是拼成XML发soap请求,所以不需要关心用什么语言,跨语言,不用关心API是用什么语言写的
文章转自: http://www.roboticfan.com/blog/user_2005/104/archives/2008/200814105941.shtml
分享到:
相关推荐
这个简单的C#调用Web Service实例展示了如何在Visual Studio环境中创建、发布和消费Web Service。实际开发中,Web Service可能会处理更复杂的业务逻辑,并使用XML或JSON等格式交换数据。理解这些基本概念和步骤对于...
在这个"用Delphi实现Web Service的简单示例"中,我们将探讨如何使用Delphi这一强大的Windows应用开发工具来创建和消费Web Service。 首先,理解Delphi:Delphi是Embarcadero Technologies开发的一款集成开发环境...
### Service Now Web Service知识点 #### 一、简介与概述 **Service Now Web Service**是一种集成解决方案,它允许不同应用程序之间通过网络进行通信。Service Now 支持多种类型的 Web 服务,包括作为提供者...
【Web Service简单示例】 Web服务是一种通过网络提供和消费功能的方法,它允许不同系统间的交互,不受平台或编程语言的限制。本示例将基于XFire库来创建一个简单的Web服务,展示如何在MyEclipse集成开发环境中快速...
在本文中,我们将深入探讨如何使用ASP.NET Web Service来创建一个简单的星座测试应用程序,并了解如何使用C#作为客户端与该Web Service进行交互。这个实例代码是Web开发领域的一个基础示例,它展示了服务端和客户端...
ASP.NET Web Service是一种基于.NET Framework的简单方法,用于构建可跨平台、跨语言通信的Web应用程序。这个例子是为初学者设计的,旨在演示如何创建和使用Web Service,以及如何在ASP.NET环境中调用这些服务。 ...
2. **基础概念**:介绍SOAP和Web Service的概念,以及它们如何在分布式系统中工作。 3. **SOAP编程**:讲解如何在Delphi6和Kylix2中创建、发送和接收SOAP消息,包括XML的使用和解析。 4. **Web Service开发**:...
Web Service是一种基于互联网的标准,允许不同应用程序之间进行通信和数据交换。它的核心在于利用XML(Extensible Markup Language)作为数据交换格式,确保不同系统间的数据兼容性。Web Service的出现解决了分布式...
"PB11 開發Web Service 應用.pdf"文档很可能会包含具体的实例,指导开发者如何从头开始创建一个简单的Web Service,包括定义服务接口、实现业务逻辑、发布服务以及在PB11中创建客户端进行调用等步骤。 五、学习资源...
总结来说,这个"web service简单实例"涵盖了Web服务的基础知识,包括JAX-WS的使用、接口定义、服务实现、部署以及客户端调用。初学者可以通过这个实例学习如何在Java中构建和使用Web服务,为更复杂的分布式系统开发...
Web Service是一种能够通过互联网提供功能的应用程序,它使用XML(可扩展标记语言)进行数据交换,并通过SOAP(简单对象访问协议)进行通信。WSDL(Web服务描述语言)则用来定义Web Service的接口,UDDI(统一描述、...
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
这是我自己经过琢磨在工作中使用了一段时间Web Service后,自己学习Xfire的Web Service后编写的,随后发现Web Service其实就是这样简单。包中油服务器端代码,也有客户端代码,也有一个使用说明。要是你也想学习接触...
ASMX允许开发者快速创建简单的Web Service,而WCF则支持多种传输协议、消息格式和绑定方式,提供更高的灵活性和安全性。 1. **创建Web Service**: 使用C#创建Web Service,首先需要创建一个新的ASP.NET Web ...
2-WS--WebService-Developing Web Service with Visual Web Developer Express 2005.ppt详细讲解了如何使用微软的Visual Web Developer Express 2005工具创建Web服务。这个IDE提供了一个直观的环境,使得开发者能够...
Web Service则是基于XML的网络服务,通过SOAP(简单对象访问协议)将XML消息封装并发送,接收方同样解析SOAP消息进行处理。 二、SOAP协议 SOAP是XML Web Service的通信协议,它定义了如何将业务逻辑封装成XML消息,...
JavaScript Web Service调用是Web开发中的一个重要概念,它允许客户端的JavaScript代码与服务器端的服务进行交互,从而实现数据的获取和发送。这种交互通常基于HTTP协议,可以是RESTful API或者传统的SOAP服务。在本...
在现代信息技术领域,Web Service接口开发扮演着至关重要的角色,它使得不同系统之间的数据交换和功能调用变得简单而高效。本文将深入探讨T100 Web Service接口开发的最新版本v1.5版,以及其在实际应用中的相关知识...
【标题】:MyEclipse REST Web Service 简单实现案例 在当今互联网技术日新月异的时代,REST(Representational State Transfer)架构风格已成为构建Web服务的重要方式,它强调资源的表述和状态转换,简单易用且...
简单地说,Web Service就是一个应用向其他应用提供的接口。 #### 二、Web Service的作用 Web Service主要作用包括: - **实现应用间的集成**:通过Web Service,不同平台、不同语言编写的程序可以进行交互。 - **...