Web Service一词似乎一夜之间就热了起来。所谓的Web Service是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
Web Service是下一代的WWW,它允许在Web站点上放置可编程的元素,能进行基于Web的分布式计算和处理。Web Service的发展非常迅速,这个新规范(SOAP、WSDL 和 UDDI)的构建模块仅仅才出现了几个月,就已经对设计、开发和部署基于 Web 的应用产生了巨大的影响,软件产业的巨头和Internet时代的软件新贵们已经开始了在这个领域新一轮的竞争。
Web Service
的特点
Web Service是封装成单个实体并发布到网络上供其他程序使用的功能集合。Web Service是用于创建开放分布式系统的构件,可以使公司和个人迅速且廉价地向全世界提供其数据服务。
Web Service是下一代分布式系统的核心,它具有如下特点:
● 互操作性:任何的 Web Service都可以与其他 Web Service进行交互。由于有了SOAP(Simple Object Access Protocol)这个所有主要供应商都支持的新标准协议,因而避免了在CORBA、DCOM 和其他协议之间转换的麻烦。还因为可以使用任何语言来编写 Web Service,因此开发者无需更改其开发环境,就可生产和使用 Web Service。
● 普遍性:Web Service使用 HTTP 和 XML 进行通信。因此,任何支持这些技术的设备都可以拥有和访问 Web Service。
● 易于使用:Web Service背后的概念易于理解,并且有来自 IBM 和微软这样的供应商的免费工具箱能够让开发者快速创建和部署 Web Service。此外,其中的某些工具箱还可以让已有的 COM组件和 JavaBean 方便地成为 Web Service。
● 行业支持:所有主要的供应商都支持 SOAP 和周边 Web Service技术。例如,微软的 .Net 平台就基于 Web Service,因此用 Visual Basic 编写的组件很容易作为Web Service部署,并可以被IBM VisualAge 编写的 Web Service使用。
Web Service
的体系结构
Web Service是独立的、模块化的应用,能够通过网络,特别是WWW来描述、发布、定位以及调用。Web Service的体系结构描述了三个角色(服务提供者、服务请求者、服务代理者)以及三个操作(发布、查找、绑定)。
服务提供者通过在服务代理者那里注册来配置和发布服务,服务请求者通过查找服务代理者那里的被发布服务的登记记录来找到服务,服务请求者绑定服务提供者并使用可用的服务。
在Web Service的世界里,三个操作都包含三个受到称赞却又截然不同的技术。发布服务使用UDDI(统一描述、发现和集成),查找服务使用 UDDI 和 WSDL(Web Service描述语言)的组合,绑定服务使用WSDL 和SOAP。 在三个操作中,绑定操作是最重要的,它包含了服务的实际使用,这也是容易发生互操作性问题的地方。正是由于服务提供者和服务请求者对 SOAP 规范的全力支持才解决了这些问题,并实现了无缝互操作性。
当开发人员开发新的应用时,可以通过UDDI Operator或UDDI Search Engine的Web界面在UDDI Registry上找到需要的Web Service;然后在UDDI Registry内,或通过UDDI Registry中的连接找到该Web Service的调用规范,该调用规范一般使用WSDL描述。开发人员可以使用开发工具或通过手动方式调用该规范,然后在自己的应用中加上该调用规范定义的Web Service调用。这样开发出的应用就可以通过SOAP来调用指定的Web Service了。
而对于具有自动集成相关应用的服务(Service)或应用(Application),用户应用通过SOAP协议访问UDDI Operator或UDDI Registry,找到需要的Web Service,UDDI Operator和UDDI Registry会通过SOAP协议响应Web Service的调用规范和调用规范的链接,应用程序得到使用WSDL描述的服务调用规范文本,通过解析该描述文本,自动生成本地调用接口绑定,并将所需的调用参数适当绑定并完成调用。
简单对象
访问协议SOAP
SOAP是一种基于XML的不依赖传输协议的表示层协议,用来在应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。
SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上,它通过提供一个有标准组件的包模型和在模块中进行数据编码的机制,定义了一个简单的表示应用程序语义的机制,这使SOAP能够用于从消息传递到RPC的各种系统。
SOAP包括三个部分:
● SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。
● SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。
● SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。
在SOAP封装、SOAP编码规则和SOAP RPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或没有HTTP扩展框架的情况下,SOAP消息如何包含在HTTP消息中被传送。
统一描述、
发现和集成协议UDDI
UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web Service。从概念上来说,UDDI商业注册所提供的信息包含三个部分:
● 白页(White Page): 包括了地址、联系方法和已知的企业标识。
● 黄页(Yellow page):包括了基于标准分类法的行业类别。
● 绿页(Green Page):包括了关于该企业所提供的Web Service的技术信息,其形式可能是一些指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。
所有的UDDI商业注册信息都存储在UDDI商业注册中心。通过使用UDDI的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的Web Service。企业可以通过UDDI商业注册中心的Web界面,或使用实现了“UDDI Programmer's API标准”所描述的编程接口的工具,将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其他UDDI 根节点,于是就能被任何希望发现这些Web Service的人所发现。
Web服务
描述语言WSDL
随着通信协议和消息格式在Web中的标准化,以某种格式化的方法描述通信变得越来越重要,其实现的可能性也越来越大。用WSDL定义的一套XML语法描述的网络服务方式满足了这种需求。WSDL把网络服务定义成一个能交换消息的通信端点集。WSDL服务为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间通信的解决方案。
一个WSDL文档将服务定义为一个网络端点的集合,或者端口的集合。在WSDL里,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。因此,一个WSDL文档在定义网络服务时使用如下的元素:
● 类型:使用某种类型系统(如XSD)定义数据类型。
● 消息:通信数据抽象的有类型的定义 。
● 操作:服务支持的动作的抽象描述。
● 端口类型:一个操作的抽象集合,该操作由一个或多个端点支持。
● 绑定:针对一个特定端口类型的具体的协议规范和数据格式规范。
● 端口:一个单一的端点,定义成一个绑定和一个网络地址的联接。
● 服务:相关的端点的集合。
分享到:
相关推荐
C# Web Service是一种基于.NET Framework的开发技术,用于创建分布式应用程序,使得不同系统间能够通过互联网进行通信。这种服务提供了一种标准化的方式,允许应用程序通过HTTP协议交换数据,因此,即使它们是由不同...
在《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》这本书中,作者李维精心编撰了一套系统而全面的教程,针对的是Delphi6和Kylix2这两个经典的Visual Basic derivative (VBD) 编程环境,尤其是针对SOAP(Simple ...
ASP.NET Web Service是一种基于.NET Framework的简单方法,用于构建可跨平台、跨语言通信的Web应用程序。这个例子是为初学者设计的,旨在演示如何创建和使用Web Service,以及如何在ASP.NET环境中调用这些服务。 ...
《T100 Web Service 接口开发v1.5版》 在现代信息技术领域,Web Service接口开发扮演着至关重要的角色,它使得不同系统之间的数据交换和功能调用变得简单而高效。本文将深入探讨T100 Web Service接口开发的最新版本...
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
### Service Now Web Service知识点 #### 一、简介与概述 **Service Now Web Service**是一种集成解决方案,它允许不同应用程序之间通过网络进行通信。Service Now 支持多种类型的 Web 服务,包括作为提供者...
web service在第一次启动时出现启动缓慢的问题,通常是指在运行或访问web service时遇到的启动延迟现象。这种问题可能会在不同的web service应用中出现,尤其是在首次连接或部署新服务时更为常见。web service是一种...
本示例代码将帮助你理解和实现一个完整的Web Service程序。 首先,我们来看"xfire-client"部分。XFire是早先的一个Java Web Service框架,它简化了客户端和服务端的开发。在Java中,创建Web Service客户端通常涉及...
### Web Service应用实例详解 #### 一、IIS安装与配置 在开发Web Service之前,首先需要确保服务器上已正确安装并配置了Internet Information Services (IIS)。无论是Windows Server 2003还是Windows XP,IIS都是...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...
Web Service Proxy Wizard 是一个工具,它为Visual Studio 6.0的开发者提供了一种方法,可以将Web服务封装成一个代理组件(.dll),这个组件可以在设计时通过早期绑定(Early Binding)像其他COM组件一样使用。...
Web Service编程是现代软件开发中的一个重要领域,尤其是在分布式系统和跨平台通信中。C#作为.NET框架的主要编程语言,提供了强大的工具和库来创建和消费Web Service。本篇将深入探讨C#环境下开发Web Service的相关...
本篇内容将深入探讨如何利用PB11来开发Web Service应用,这对于初学者来说是一份宝贵的资源。 一、Web Service基础 Web Service是一种基于开放标准的、平台无关的通信协议,它允许不同系统之间的数据交换。在PB11中...
1.Web service經典開發文檔! 2.它是一個軟件系統﹐為了支持跨網絡的機器間相相互交互而設計。Web Service服務通常被定義為一組模塊化的API﹐它們可以通過網絡進行調用﹐來執行遠程系統的請求服務。 3.XFire 是 ...
VMware vSphere Web Service SDK开发指南是一份指导开发者如何使用VMware vSphere SDK进行开发的文档。VMware vSphere是VMware公司推出的业界领先虚拟化解决方案,它通过提供高级抽象层来管理和控制计算资源,为用户...
**Yahoo Web Service 2.11** Yahoo Web Service 2.11 是一个重要的API接口,它允许开发者利用Yahoo的在线资源和服务进行程序开发。这个版本可能是对之前版本的升级,可能包含了性能优化、新功能的添加以及已知问题...
### T100 Web Service 开发、调试及整合重启检查说明 #### 文件概述 本文件主要针对T100 Web Service的开发、调试以及在遇到问题时如何进行整合重启检查进行了详细说明。适用于T100项目的工程师和服务人员,帮助...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...