Web Service定义
简单的说,一个Web服务(图2‑4)就是一个可以使用XML消息通过网络来訪问的接口,这个接口描写叙述了一组可訪问的操作。一个Web服务的特征是:由SOAP和WSDL包装的对象;适应松散耦合的网络环境,可通过Web服务,手段是SOAP消息;服务的行为、输入、输出都可以使用WSDL描写叙述。
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)能够把服务注冊到互联网以便搜索,为很多其它的用户使用其服务。能够看出,这些定义各有側重,但有几点是一致的。首先,它是由企业驱 动和应用驱动而产生的;其次,它具有分布性、松散藕合、可复用性、开放性以及可交互性等特性。