`

Web Service概述

    博客分类:
  • JAVA
阅读更多

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 Service概述及应用

    Web Service、CXF框架是解决跨平台和跨语言的通信技术

    Web Service学习

    Web Service概述,SOAP协议简介 WSDL简介 JavaSE6.0下的Web Service

    C#邮件收发系统代码下载

    Web Service是一种基于...9.1 Web Service概述  随着互联网的不断发展,计算机之间的共享数据变得越来越重要。企业与个人为了获得更高的交互性和便利性也提供给分布式应用程序一个产生的背景。 9.1.1 Web服务基本概念

    创建和访问Web Service

    创建和访问Web Service 1 1. 概述 2 2. 创建Java Web Service 2 3. 访问Java Web Service 9 4. 访问.NET Web Service 20

    基于Delphi的Web Service 客户端调用

    概述了Web Service的特点和核心要素, 依据Delphi和Java对Web Service 的支持,给出了基于Java ,Delphi开发Web Service的流程, 并用一个Delphi调用Java开发Web Service应用程序来说明跨平台Web Service应用程序的步骤...

    Web Service实现天气预报 在线客服实现 循环播放广告 广告位轮换管理页面设计 浏览循环播放广告页面设计

    30.1.1 Web Service天气预报功能概述 657 30.1.2 介绍Web Service 657 30.1.3 创建一个简单Web Service 658 30.1.4 使用Web Service获取天气预报 661 30.2 社会标签(Tags)技术 663 30.2.1 社会标签简介 ...

    web service学习笔记

    web service的概述,包括定义,基本架构,使用的主要技术以及常用框架的简单介绍

    XML与WEB Service技术(微软):第01章 概述.ppt

    XML与WEB Service技术(微软):第01章 概述.ppt

    Visual C#网络编程技术与实践源代码

     9.1 Web Service概述  9.1.1 Web服务基本概念  9.1.2 Web服务的优势  9.1.3 Web服务的架构  9.2 需求分析与设计  9.2.1 需求分析  9.2.2 文件功能设计  9.2.3 数据库设计  9.3 编写Web Service...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.1 经典Java EE应用概述 10 1.1.1 Java EE 6相关规范 10 1.1.2 经典Java EE应用的分层模型 11 1.1.3 经典Java EE应用的组件 13 1.1.4 经典Java EE应用架构的优势 13 1.1.5 常用的企业服务器 14 1.2 经典Java EE应用...

    JAVA程序开发大全---上半部分

    14.1 Web Service概述 244 14.2 使用MyEclipse创建Web Service项目 245 14.2.1 创建Web Service项目 245 14.2.2 开发Web Service服务器端 247 14.2.3 发布和运行Web Service 249 14.2.4 使用Web Services Explorer...

    面向.NET的WEB应用程序设计课件

    第13章 使用和创建 XML Web Service 第14章 状态管理 第15章 配置、优化和部署 Microsoft ASP.NET Web 应用程序 第16章 Web 安全性介绍 第17章 Web 应用程序安全性规划 第18章 验证用户输入 第19章 Internet 信息...

    JAX-WS自学笔记

    2、创建Web Service 2.1 从java开始 2.1.1 运行wsgen 2.1.2 生成的WSDL和XSD 2.1.3 目录结构 2.2 从WSDL开始 2.2.1 运行wsimport 2.2.2 生成的java代码 2.3发布Web Service 2.3.1在应用程序中发布 ...

    WebService之JAX-WS自学笔记

    2、创建Web Service 2.1 从java开始 2.1.1 运行wsgen 2.1.2 生成的WSDL和XSD 2.1.3 目录结构 2.2 从WSDL开始 2.2.1 运行wsimport 2.2.2 生成的java代码 2.3发布Web Service 2.3.1在应用程序...

    毕业文论:远程无线粮库实时监控管理系统的设计与实现.docx

    第三章详尽分析了基于Web Service 的远程无线粮库监控系统的需求,主要有需求概述、主要功能的需求分析、系统设计原则。 第四章详细叙述了系统的详细设计,包括总体设计、详细功能设计、通信 协议设计、数据库设计...

    PHP采用XML-RPC构造Web Service实例教程

    目前进行Web Service通信有两种协议标准,一种是XML-RPC,另外一种是SOAP。XML-RPC比较简单,出现时间比较早,SOAP比较复杂,主要是一些需要稳定、健壮、安全并且复杂交互的时候使用。 PHP自身就集成了XML-RPC和SOAP...

    Sybase ASE 15.7 开发文档:Web 服务用户指南

    概述 .......... 3 Adaptive Server Enterprise Web 服务 .......... 4 ASE Web 服务的优点 .......... 4 存储过程和函数 .......... 4 SQL .......... 4 安全性 .......... 5 LDAP .......... 5 用户定义的 Web ...

    CXF概述和开发WebService服务端

    Web Service、CXF跨平台和跨语言的通信

Global site tag (gtag.js) - Google Analytics