Web Service——下一代的WWW[转]

web

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进行交互。由于有了SOAPSimple 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 ServiceUDDI 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定义数据类型。  
● 消息通信数据抽象的有类型的定义 。
● 操作服务支持的动作的抽象描述。  
● 端口类型一个操作的抽象集合该操作由一个或多个端点支持。  
● 绑定针对一个特定端口类型的具体的协议规范和数据格式规范。
● 端口一个单一的端点定义成一个绑定和一个网络地址的联接。  
● 服务相关的端点的集合。  

时间: 2024-12-31 16:28:59

Web Service——下一代的WWW[转]的相关文章

Web Service——下一代的WWW

web Web Service一词似乎一夜之间就热了起来.所谓的Web Service是指由企业发布的完成其特别商务需求的在线应用服务其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service是下一代的WWW它允许在Web站点上放置可编程的元素能进行基于Web的分布式计算和处理.Web Service的发展非常迅速这个新规范SOAP.WSDL 和 UDDI的构建模块仅仅才出现了几个月就已经对设计.开发和部署基于 Web 的应用产生了巨大的影响软件产业的巨头和In

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]

web|详解 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Servic

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]-Web_Serv

像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Service的提供商和用

.NET调PHP Web Service的典型例子

最近一个项目由"WinForm直接访问DB2"移植到"WinForm通过PHP Web Service来访问DB2". (优点是php可以架在Linux上,而Linux是免费的) 这个命题的难点不是访问DB2,而是.NET调用PHP的Web Service.对于我这个长期作.NET,之前一直以为只有.NET才可以做Web Service--的人来说,真是有点强"聪"所难了. 但是问题还是要解决的,期限就摆在眼前呢.经过一番调查,终于有了眉目,现在

[译]从形式到功能,设计思维的改变

本文讲的是[译]从形式到功能,设计思维的改变, 设计作为用户参与的基本驱动力,对商业而言比以往任何时候都更加重要.留意一下最近的用户界面设计趋势,这可能让你感受到用户的期望是如何发生改变的,以及未来的趋势.但在我们深入讨论之前,有个重要的问题需要回答--设计是什么? 设计是什么? 大多数人(甚至包括一些设计师)都将设计视作在产品完成之后所添加的视觉点缀.在产品开发结束之后的工艺流程,就像是设计师们强加在工程师的真实工作之上的.设计的确是视觉美学,但不仅如此.就像史蒂夫·乔布斯曾经说过的:"设计不

可靠的 XML Web Service (1)

web|xml 可靠的 XML Web Service Eric SchmidtMicrosoft Corporation,XML Core Services 组,项目经理 2001 年 12 月 11 日 下载此专栏的示例代码. 注意:要下载与本文相关的代码,您需要:Visual Studio .NET Release Candidate(英文) SQL Server 2000(英文) 在 PDC 上,我谈论了有关可靠的 XML Web Service(Web 服务)的话题,这个话题源于过去一

Web service是什么?

我认为,下一代互联网软件将建立在Web service(也就是"云")的基础上. 我把学习笔记和学习心得,放到网志上,欢迎指正. 今天先写一个最基本的问题,Web service到底是什么? 一.Web service的概念 想要理解Web service,必须先理解什么是Service(服务). 传统上,我们把计算机后台程序(Daemon)提供的功能,称为"服务"(service).比如,让一个杀毒软件在后台运行,它会自动监控系统,那么这种自动监控就是一个&quo

[Java] 利用Axis库调用C#的Web Service

[Java] 利用Axis库调用C#的Web Service 编写者 日期 关键词 郑昀@ultrapower 2005-8-2 Java Web Service Axis C#   概述 试图从Java调用C#编写的Web Service,借用了王咏刚的wsCaller源代码中DynamicInvoker类. 开始不清楚DynamicInvoker类的portName的含义,望文生义,以为是8080之类的端口号,实际上是下面wsdl中的wsdl:port 节点的"name"属性值&q

一张图看懂阿里云网络产品[五]负载均衡SLB

负载均衡SLB是对多台云服务器进行流量分发的服务.它可以通过流量分发扩展应用系统的服务能力,通过消除单点故障提升应用系统的可用性.通过设置虚拟IP,将位于同一地域的多台云服务器虚拟成一个高性能.高可用的应用服务池.根据指定的方式,将来自客户端的网络请求分发到云服务器池中. 系列文章持续更新中,敬请关注 [一]网络产品概览 [二]VPC [三]EIP [四]NAT网关 [五]负载均衡SLB [六]共享带宽 [七]共享流量包 [八]高速通道 [九]VPN网关 [十]云托付 [十一]全球加速