image

编辑人: 长安花落尽

calendar2025-04-23

message5

visits676

为何说基于 SOAP 的服务是重量级的服务,Rest是轻量级的?

Restful Web服务是一种基于 REST 和 HTTP 协议的轻量级Web 服务,它把Web应用系统中的一切都当作是资源,它利用标准的HTTP请求方法(GET、POST、PUT 和 DELETE等),以URL的形式访问(功能调用)Web资源。

JAVA中共有三种Web Service规范,分别JAX-WS(JAX-RPC)、JAX-RS、JAXM&SAAJ。其中有两种SOAP Web Service规范:JAX-WS和SAAJ。JAX-RS是Rest服务定义。使用最多的是JAX-WS和JAX-RS。

  JAX-RS (JSR 311) JAX-WS (JSR 224)
适用范围 适用于简单的远程数据访问 适用于复杂的数据交互模式
消息传输 请求和响应通过 HTTP 消息正文来传输 请求和响应被放在 SOAP 消息,作为传输层(HTTP, JMS, SMTP 等)消息正文进行传输
客户端调用 只需要一个 URL就能调用 Web 服务 需要编写标准的客户端代码,对 Web Services进行访问
安全性 简单的认证和授权机制 丰富的安全策略,可实现各种安全需求
访问终端 桌面浏览器或移动终端浏览器 桌面、浏览器

Java EE6引入了对JSR-311的支持。JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可以使用一套固定的接口来开发 REST 应用,避免了依赖于第三方框架。同时,JAX-RS使用POJO编程模型和基于标注的配置,并集成JAXB,从而可以有效缩短 REST 应用的开发周期。

JAX-RS定义的API位于javax.ws.rs包中。

JAX-RS的具体实现由第三方提供,例如Sun的参考实现 Jersey、Apache 的 CXF以及JBoss的RESTEasy等。

SOAP比较复杂,基于XML,有对应规范;REST利用HTTP请请求方式GET,POST,PUT约定事务操作。简单的说,SOAP通过传输XML,XML定义了请求和响应的具体数据,要进行的操作等等;而REST则是另一种约定,比如请求/user/1001这个RUL,GET方式返回id为1001的user信息,POST方式则是更新id为1001的user信息,DELETE删除等。

 

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:为何说基于 SOAP 的服务是重量级的服务,Rest是轻量级的?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share