WSDL/WebService/SOAP/REST/AXIS/CXF 开放式服务

时间:2023-03-09 02:40:08
WSDL/WebService/SOAP/REST/AXIS/CXF 开放式服务

WebService是一种数据交换标准。通过WebService标准,你可以把项目中的方法作为接口提供给其他项目使用。

有时候我们习惯性地将具体提供服务的某个方法称为WebService。比如图书系统里有一个查询所有有超期图书的同学名单的方法 getDelayNameList(),并且我们将其作为接口暴露出来了,我们会说getDelayNameList()是一个WebService。

实现WebService标准可以通过SOAP或REST方式来实现。

SOAP:Simple Object Access Protocol,简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。

SOAP 基于XML 和 HTTP ,其通过XML 来实现消息描述,然后再通过 HTTP 实现消息传输。

REST:REpresentational State Transfer,表述性状态传递。是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

REST风格的软件架构简单地说可以理解成将系统的所有方法作为接口暴露出来,所有其他系统都可以通过HTTP协议来调用这些接口。REST架构方式的应用程序,我们说这个应用程序是RESTful的。

AXIS框架:AXIS是一个SOAP引擎,提供了创建服务器端、客户端和网关SOAP操作的基本框架,使用AXIS框架可以方便地用SOAP方式实现WebService服务。

CXF框架:CXF是rest实现webservice的Apache框架,是对rest进行了封装,使用CXF框架可以方便地用REST方式实现WebService服务。

应该说SOAP/REST是实现WebService标准的两种不同方式,而AXIS/CXF则是SOAP/REST两种实现方式对应的框架。

当我们用SOAP或REST实现了一个WebService的时候,我们还需要跟别人说这个方法怎么调用,这时候就需要用WSDL来描述如何访问这个服务了。

WSDL:Web Services Description Language,网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言。

为用户提供详细的接口说明书。是基于 XML的用于描述 Web 服务以及如何访问 Web 服务的语言。

Jersey是一个RESTFUL请求服务JAVA框架,其实也就是使用REST方式实现WebService的一个框架。