Web Service 是在 Internet 上进行分布式计算的基本构造块,是组件对象技术在 Internet 中的延伸,是一种部署在Web 上的组件。它融合了以组件为基础的开发模式和 Web 的出色性能。 Web Service和组件一样,能提供重用功能,同一时候能够把基于不同平台开发的不同类型的功能块集成在一起,提供相互之间的互操作。从这点看, Web Service既是软件又是应用程序集成的平台。应用程序是通过使用多个不同来源的 WebService构造而成的,这些服务相互协同工作,不管它们位于何处或者怎样实现。基于Web Service所开发的应用程序具有组件的优异性能,因此被普遍觉得是下一代分布式系统开发的模型。Web服务(WebService)是近年内兴起的还有一种基于Internet的技术,在近几年受到了极大的关注(陈博等,2002;岳小婷等,2003;Ambroszkiewicz, S. et al,2002;WernerVogels,2003)。有些文献甚至觉得该技术的出现标志着人类已经迈入应用程序开发技术的新纪元,它使得Internet不仅是数据传输的平台,也变成了传递服务的平台。
  
        Web Service定义      
        简单的说,一个Web服务(图2‑4)就是一个可以使用XML消息通过网络来訪问的接口,这个接口描写叙述了一组可訪问的操作。一个Web服务的特征是:由SOAP和WSDL包装的对象;适应松散耦合的网络环境,可通过Web服务,手段是SOAP消息;服务的行为、输入、输出都可以使用WSDL描写叙述。

图 2‑4 Web服务示意图

Web 服务能够从多个角度来描写叙述。从技术方面讲,一个Web Services是能够被URI识别的应用软件,其接口和绑定由XML描写叙述和发现,并可与其它基于XML消息的应用程序交互(Castro,2004;杨 涛等,2004);Web 服务是基于XML的、採用SOAP 协议的一种软件互操作的基础设施(廖军等,2004)。从功能角度讲,Web Service是一种新型的Web应用程序,具有自包括、自描写叙述以及模块化的特点,能够通过Web公布、查找和调用实现网络调用(Tsalgatidou etal, 2002;杨涛等,2004)。Web服务是基于TCP/IP、HTTP、XML等规范而定义,具备例如以下功能:Web上链接文档的浏览、事务的自己主动调用、 服务的动态发现和公布(TSur S,2001)。从应用的层面来说,Web服务是用于集成应用的,将原有的面向对象、面向组件的软件系统改造为基于消息面向服务的松散耦合系统或者构建新 的松散耦合系统的一种协作设施(廖军等,2004)。从组成框架及实现目标的角度讲,Web服务作为一种网络操作,能够利用标准的Web协议及接口进行应 用间的交互(W3C,2002)。从网格计算(grid computing)的角度看,Web服务能用于Web上的资源发现、数据管理及网格计算平台上异构系统的协同设计,提出了网格服务的新概念 (Globus OGSA)。

眼下,对Web Service的概念并没有一个严格的定义,不同的组织和部门对Web Service的定义都有微小的差异。

关于Web Service 的定义,有几种不同的描写叙述:

Ø 国际标准化组织W3C :Web Service 是一个通过URL 识别的软件应用程序,其界面及绑定能用XML 文档来定义、描写叙述和发现,使用基于Internet 协议上的消息传递方式与其它应用程序进行直接交互。

Ø Microsoft :Web Service 是为其他应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web 协议和数据格式获得Web Service,如HTTP 、XML 和SOAP 等,每一个Web Service 的实现是全然独立的。Web Service 具有基于组件的开发和Web 开发两者的长处,是Microsoft 的.Net 程序设计模式的核心。

Ø IBM觉得,Web服务是一种自包括、自解释、模块化的应用程序,能够被公布、定位、而且从Web上的不论什么位置进行调用。Web服务能够运行从简单的请求 到错综复杂的商业处理过程的不论什么功能。理论上来讲,一旦对Web服务进行了部署,其他Web服务应用程序就能够发现并调用已部署的服务。

Ø 市场研究公司Forrester以一种更加开放的方法将Web Service定义为人、系统和应用之间的自己主动连接,这样的连接可以实现将业务功能元素转变为软件服务,而且创造新的业务价值。Web Services是基于网络的、分布式的模块化组件,它运行特定的任务,遵守详细的技术规范,这些规范使得Web Service能与其它兼容的组件进行互操作。

Ø Gartner将Web Service定义为:松散耦合的软件组件,这些组件动态地通过标准的网络技术与还有一个组件进行交互。

UDDI规范中提到:所谓Web服务,它是指由企业公布的完毕其特别商务需求的在线应用服务,其他公司或应用软件可以通过Internet来訪问并使用这项应用服务。

Ø Web Service的另外一个概念就是:全部东西都是服务,这些服务公布一个API供网络中的其他服务使用,而且封装了实现细节。

总之,Web服务是在互联网上的一种服务协议,採用XML作为主要的标记语言,SOAP(Simple Object Access Protocol)作为互操作协议,WSDL(Web Service Description Language)作为服务描写叙述语言,通过UDDI(Universal Description Discovery & Integration)能够把服务注冊到互联网以便搜索,为很多其它的用户使用其服务。能够看出,这些定义各有側重,但有几点是一致的。首先,它是由企业驱 动和应用驱动而产生的;其次,它具有分布性、松散藕合、可复用性、开放性以及可交互性等特性。

【转】简述什么是Web服务(Web Service)技术?的更多相关文章

  1. WCF入门(三)---WCF与Web服务/Web Service

    下面列出了WCF和Web服务之间存在一些重大差异. 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMet ...

  2. 服务--web服务

    .面向对象和面向组件 .什么是Web服务 Web Service "Stack" .Web服务的应用分类 Web服务都是对象/组件技术在Internet中的延伸 面向对象和面向组件 ...

  3. EJB_开发EJB容器模型的WEB服务

    开发EJB容器模型的WEB服务 WEB服务 Web服务也是一种分布式技术,它与EJB最大的不同是,Web服务属于行业规范,可以跨平台及语言.而EJB属于Java平台的规范,尽管理论上可以跨平台,但实现 ...

  4. 如何测试Web服务.1

    一.什么是web服务  web服务在简单术语中可被定义为通过安装了特定设备或服务器到另一装置或客户端应用程序通过WWW彼此通信后的应用程序(万维网)提供的服务. Web服务通常在计算机网络的应用层上使 ...

  5. web服务之nginx部署

    本期内容概要 了解web服务 Nginx和Apache的对比 部署Nginx 内容详细 1.什么是web服务 Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用 ...

  6. 框架5--nginx安装部署 上(web服务)

    目录 框架5--nginx安装部署(web服务) 1.练习 2.昨日问题 3.今日内容 4.什么是web服务 5.web服务器软件 6.部署Nginx 7.平滑增加Nginx模块 8.Nginx的命令 ...

  7. Web 服务编程,REST 与 SOAP(转)

    原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...

  8. 初识Web 服务(即Web Service)

    一.什么是Web服务 简单来说就是在Internet上提供的这种服务,我们称这种服务为Web服务. 二.Web服务的主要目标? 是支持跨平台的可互操作性. 三.Web服务的优势 四.Web服务提供了一 ...

  9. Rest风格WEB服务(Rest Style Web Service)的真相

    http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2E ...

随机推荐

  1. Vertica: 基于DBMS架构的列存储数据仓库

    介绍 Vertica(属于HP公司),是一个基于DBMS架构的数据库系统,适合读密集的分析型数据库应用,比方数据仓库,白皮书中全名称为VerticaAnalytic Database.从命名中也可以看 ...

  2. centos 彻底删除nodejs默认的安装文件

    1> yum remove nodejs npm -y 2> cd  /usr/local/lib 移除所有 node 和 node_modules目录 cd  /usr/local/in ...

  3. php 无错误提示 的解决方法

    问:我在win7安装了PHP,浏览器是IE9.我代码写错了,浏览器一点错误提示都没有,一片空白.如果写对了,就能正常运行显示出来.请问这是怎么回事,应该怎么弄?你们两个的方法都试过,但都没有提示(注: ...

  4. ZOJ3629 Treasure Hunt IV(找到规律,按公式)

    Treasure Hunt IV Time Limit: 2 Seconds      Memory Limit: 65536 KB Alice is exploring the wonderland ...

  5. 买面包和IoC

    今天上午准备去一个阿姨,在那里买面包.这可能是由于小尺寸她的,因此,管理不规范,所以,当你买面包.没有人行.即使所有的大学生,似几乎没有这种意识.. . 但让我感到震惊的是.尽管没有排队,但阿姨似乎能 ...

  6. Android studio 中国的垃圾问题解决

    为了获得良好的刚安装Android studio, 实例importproject时刻,你会发现很多中国的文件夹显示异常.例如下面的附图: 为什么会出现这个问题呢,事实上原因非常easy,由于Andr ...

  7. Java Web整合开发(16) -- Struts 2.x 概述

    Struts2与Spring的整合 •Struts2框架为配合与Spring3框架进行整合,提供了相应的拦截器. •该组件名为StrutsSpringObjectFactory,位于struts2-s ...

  8. sqlserver缓存程序-只能使用一次清除缓存计划

    plan cache非常大.将仅仅使用一次的缓存计划清除,而不用清除整个cache. declare @sid varbinary(64) declare cur01 cursor for selec ...

  9. WPF学习(7)命令

    在上一篇中,我们学习了WPF的路由事件,而在本节将学习一个更为抽象且松耦合的事件版本,即命令.最明显的区别是,事件是与用户动作相关联的,而命令是那些与用户界面想分离的动作,例如我们最熟悉的剪切(Cut ...

  10. Shell 文字 顶替tomcat星团war包裹

    执行前server造成免费ssh登陆. 修改配置文件不是太大 您可以覆盖原有的配置 profile 简介 bak=/home/wsm/bak webapps=/home/wsm/webapps/WSM ...