Web服务(Web Service)作为一种崭新的分布式计算模型,已经被业界称为继PC(Personal Computer,个人计算机)和Internet之后,计算机技术的第三次革命。它完全基于用于描述的WSDL(Web Service Description Language,Web服务描述语言)、用于注册和发现的UDDI(Universal Description,Discovery and Integration,通用描述、发现与集成)协议、用于保障服务安全的WS-Security(Web服务安全)、用于通信的SOAP(Simple Object Access Protocol,简单对象访问协议)以及其他的一系列相关的开放标准协议,是Web上数据和信息集成的有效机制。
Web服务可以从多个角度来描述。从技术方面讲,Web服务是可以被URI(Universal Resource Identifier,统一资源标识符)识别的应用软件,其接口和绑定由XML描述和发现,并可与其他基于XML消息的应用程序交互;Web服务是基于XML的,采用SOAP的一种软件互操作的基础设施。从功能角度讲,Web服务是一种新型的Web应用程序,具有自包含、自描述及模块化的特点,可以通过Web发布、查找和调用实现网络调用;Web服务是基于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)、HTTP(Hypertext Transfer Protocol,超文本传送协议)、XML等规范而定义的,具备如下功能:Web上链接文档的浏览,事务的自动调用,服务的动态发现和发布。从应用的层面来说,Web服务是用于集成应用的,将原有的面向对象、面向组件的软件系统,改造为基于消息、面向服务的松散耦合系统或者构建新的松散耦合系统的一种协作设施。从组成框架及实现目标的角度讲,Web服务作为一种网络操作,能够利用标准的Web协议及接口进行应用间的交互。从网格计算的角度看,Web服务能用于Web上的资源发现、数据管理,以及网格计算平台上异构系统的协同设计,提出了网格服务的新概念。
目前,不同的组织对Web服务的概念有着不同的理解及认识。
国际标准化组织W3C(World Wide Web Consortium,万维网联盟):Web服务是一个通过URL(Uniform Resource Locater,统一资源定位符)识别的软件应用程序,其界面及绑定能用XML文档来定义、描述和发现,使用基于Internet协议上的消息传递方式与其他应用程序进行直接交互[2]。
Microsoft(微软):Web服务是为其他应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web协议和数据格式获得Web服务,如HTTP、XML和SOAP等,每个Web服务的实现是完全独立的[2]。Web服务具有基于组件的开发和Web开发两者的优点,是Microsoft的.NET程序设计模式的核心。
IBM(International Business Machines Corporation,国际商业机器公司):Web服务是一种自包含、自解释、模块化的应用程序,能够被发布、定位,并从Web上的任何位置进行调用。Web服务可以执行从简单的请求到错综复杂的商业处理过程的任何功能。理论上来讲,一旦对Web服务进行了部署,其他Web服务应用程序就可以发现并调用已部署的服务。(www.xing528.com)
市场研究公司Forrester以一种更加开放的方法将Web服务定义为人、系统和应用之间的自动连接,这种连接能够实现将业务功能元素转变为软件服务,并且创造新的业务价值。Web服务是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web服务能与其他兼容的组件进行互操作[4]。
全球最具权威的信息技术(Information Technology,IT)研究与顾问咨询公司Gartner将Web服务定义为:松散耦合的软件组件,这些组件动态地通过标准的网络技术与另一个组件进行交互[4]。
UDDI规范中提到:所谓Web服务,是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务[5]。
从这些观点我们也可以看出,这些定义各有侧重,但有几点是一致的。首先,Web服务是由企业驱动和应用驱动产生的;其次,它具有分布性、松散耦合、可复用性、开放性以及可交互性等特性;最后,Web服务的最大优点是它基于开放的标准协议,可实现异构平台之间的交互。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。