WEB服务是什么

什么是WEB服务

Web服务(Web service)是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

根据W3C的定义,Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们通过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。

尽管W3C的定义涵盖诸多相异且无法介分的系统,不过通常我们指有关于主从式架构(Client-server)之间根据SOAP协议进行传递XML格式消息。无论定义还是实现,WEB服务过程中会由服务器提供一个机器可读的描述(通常基于WSDL)以辨识服务器所提供的WEB服务。另外,虽然WSDL不是SOAP服务端点的必要条件,但目前基于Java的主流WEB服务开发框架往往需要WSDL实现客户端的源代码生成。一些工业标准化组织,比如WS-I,就在WEB服务定义中强制包含SOAP和WSDL。

WEB服务的产生

为了实施电子商务,无论自身的IT部门还是外包的解决方案提供商,其给出的实施计划都是应用正式运营前的。一旦应用被部署之后,由于商务环境和商务需求的不断改进和不断变化,这些电子商务应用不可避免地需要被修订、需要被更新,以符合新的电子商务流程。

传统的解决方案是为每个需要的企业资源或外部资源编写连接代码,以使得应用得以运行。这些资源包括传统系统(legacy systems)和数据库、Web应用及Web资源。

传统解决方案的缺点:

1、 代码很难再定制;

2、由于每个应用都有其自己特有的基础架构,这些应用在部署、更改和维护上的代价都异常高昂;

3、不能被方便地继承;

4、不能随着企业商务的规模扩展而方便地实现应用的规模扩展。

Web服务的使用将改变目前的开发模式和应用部署的费用规模。各种Web服务构件实现了一定的电子商务功能,通过将各种电子商务的Web服务进行组合和集成以创建动态电子商务应用。Web服务能够统一地封装信息、行为、数据表现以及商务流程,而无需考虑应用所在的环境是使用何种系统和设备。

WEB服务特点

Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。

Web服务就像Web上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序,就像调用本地服务一样。

从外部用户看,Web服务是一种部署在Web上的对象/组件,具备完好的封装性、松散耦合、自包含、互操作、动态、独立于实现技术、构建于成熟技术、高度可集成、使用标准协议等特征。从实施对象看,把资源、计算能力提供给用户,需要以服务的形式完成。

Web服务通过WSDL来描述,通过SOAP作访问,在商业注册中心(UDDI)发布,从而使开发者和电子商务应用程序可以搜索并定位到该服务。在Web服务开发的过程中有三个清晰的角色定义,它们是服务的提供者(Service provider),服务的请求者(Service request)和服务的代理(Service broker),下图显示了它们之间的关系。

WEB服务体系结构的优势

(一)WEB服务的高度通用性

Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表,而不必考虑web服务对象的内部组成,因此有易用性。Web服务对象内封装都是一些通用功能,因此也具有高度的复用性。

(二)完全的平台、语言独立性

Web服务对象具有松散耦合的特性,这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无所知。其实现的核心在于使用XML/SOAP作为消息交换协议,也就是说web服务因此具有语言的独立性。

作为Web服务,其协约必须使用开放的标准协议(比如HTTP、SMTP等)进行描述、传输和交换。这些标准协议应该完全免费,以便由任意平台都能够实现。一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方,因此web服务也拥有了平台独立性。

(三)高度可集成性

由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。

WEB服务的协议架构

WEB服务的协议架构大致可以描述成如下表:

服务发现层UDDI

服务发布层UDDI

服务描述层WSDL

消息传输层SOAP

数据表现协议层XML

网络传输层HTTP,FTP,MQ,IIOP

表格自底向上,每一层协议都为上一层提供服务。

(一)UDDI

UDDI是统一描述、发现和集成(Universal Description, Discovery, and Integration)的缩写。它是一个基于XML的跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务。

UDDI是OASIS发起的一个开放项目,它使企业在互联网上可以互相发现并且定义业务之间的交互。UDDI业务注册包括三个元件:

0、白页:有关企业的基本信息,如地址、联系方式以及已知的标识;

1、黄页:基于标准分类的目录;

2、绿页:与服务相关联的绑定信息,及指向这些服务所实现的技术规范的引用。

UDDI是核心的Web服务标准之一。它通过简单对象存取协议进行消息传输,用Web服务描述语言描述Web服务及其接口使用。

(二)WSDL

WSDL(Web服务描述语言,Web Services Description Language)是为描述Web服务发布的XML格式。W3C组织(World Wide Web Consortium)没有批准1.1版的WSDL,但是2.0版本已经在制订中,2.0版将被作为推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。

WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

(三)SOAP

SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包

括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

WEB服务的技术体系

一个Web服务被分为数据层(Data Layer)、数据访问层Data Access Layer)、业务层Business Layer)、业务面Business Facade)和监听者Listener)五个逻辑层。

在Web服务中,通信是基于Internet协议(例如HTTP、SMTP、FTP等)互相传递XML消息的通信协议规范,描述采用一种基于XML的语言描述和定义接口与绑定,发布和发现把Web服务提交到注册中心而让用户通过中介发现Web服务。

WEB服务的发现和定制

首先,服务发现功能在Internet上搜寻已有的程序和数据。若满足用户需求功能的Web服务,则调用需求分析功能分解用户的服务需求,进入服务定制过程。

其次,需求分析功能在用户参与下准确定位用户需要的服务。

第三,把服务组装方案提交到执行用户具体服务的环境,对组装链接的计算资源进行验证与一致性测试。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注