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. 用DOS命令获取文件列表

    其实就是两个命令:dir 跟 tree 在C:盘根目录下生成了一个名为“filelist.txt”的文本文件,该文件中即包含D:盘的文件夹列表. dir d:\ >c:\filelist.txt ...

  2. ListView 实现多选/无线电

    ListView本身与无线电.多选模式.由listview.setChoiceMode设置: listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE) ...

  3. SVM算法实现(一)

    关键字(keywords):SVM 支持向量机 SMO算法 实现 机器学习 假设对SVM原理不是非常懂的,能够先看一下入门的视频,对帮助理解非常实用的,然后再深入一点能够看看这几篇入门文章,作者写得挺 ...

  4. 重写TextBox实现显示提示信息

    /// <summary> /// TextBox提示信息 /// </summary> /// <author>Tim_et</author> /// ...

  5. [Python学习] 模块三.基本字符串

            于Python最重要的数据类型包含字符串.名单.元组和字典.本文重点介绍Python基础知识. 一.字符串基础         字符串指一有序的字符序列集合,用单引號.双引號.三重(单 ...

  6. Java并发编程之ConcurrentHashMap(转)

    ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法.Concurrent ...

  7. Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)

    本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力. 首先看一下效果图吧, 原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label ...

  8. 不同版本的SQL Server之间数据导出导入的方法及性能比较

    原文:不同版本的SQL Server之间数据导出导入的方法及性能比较 工作中有段时间常常涉及到不同版本的数据库间导出导入数据的问题,索性整理一下,并简单比较下性能,有所遗漏的方法也欢迎讨论.补充. 0 ...

  9. [ACM] HDU 2295 Radar (二分法+DLX 重复覆盖)

    Radar Problem Description N cities of the Java Kingdom need to be covered by radars for being in a s ...

  10. ACdream 1427 Nice Sequence

    主题链接:http://115.28.76.232/problem? pid=1427 Nice Sequence Time Limit: 12000/6000MS (Java/Others)Memo ...