1. 什么是WS-Security?

WS-Security 是一个 SOAP 的扩展,它提供了对 SOAP 消息的认证和加密。 在介绍 WS-Security 之前,我们有必要了解一下 WS-Security 存在的原因。很多刚刚接触 Web 服务的人都将 SOAP 看作是通过 HTTP 在两个端点之间交换消息的方法。通过 HTTP 可以验证调用方的身份、对消息签名以及对消息内容加密。这可以在以下几方面确保消息的安全性:调用方是已知的,消息接收方可以验证消息在传输过程中没有被 更改,监视网络通信的实体无法识别出所交换的数据。但是如果准备采用 SOAP 消息传递来解决某些复杂问题,则仅仅基于 HTTP 的安全性是不够的。这些复杂问题通常涉及沿着比请求/响应更为复杂的路径发送消息,或者不使用 HTTP 进行传输。调用方以及消息的标识、完整性和安全性需要在多个跃点中保留。沿路由可能需要多个加密密钥。此外还要跨越信任域。HTTP 及其安全机制只面向点到点的安全性。而更复杂的解决方案则需要端到端的安全性。WS-Security 解决的是如何在多点消息路径中维护一个安全的环境。

2. 什么是WS-Addressing?

WS-Addressing 提供了多种与传输无关的机制对 Web 服务和消息进行寻址。 具体来说,此规范定义 XML 元素以标识 Web 服务终结点,并保护消息中的端到端终结点标识。 此规范允许消息处理系统支持通过网络(包含处理节点)以一种与传输无关的方式进行消息处理,而这些处理节点可以是终结点管理器、防火墙和网关。 Web 服务寻址 (WS-Addressing) 定义了两种结构,它们传达的信息一般由传输协议和消息处理系统以一种可互操作的方式提供。 这些结构将该底层信息规格化为一种统一的格式,而对这种格式的处理可以独立于传输或应用程序。 这两种结构就是终结点引用 和消息信息标头。

3. 什么是WS-RM (WS-ReliableMessaging)?

WS-RM 是一个 Web 服务规范,支持在 Web 服务客户机或资源和 Web 服务提供商之间实现 SOAP 消息的可靠传送。目前,有两个层次的规范:1.0 和 1.1,它们在 WebSphere Application Server Version 7(此后简称为 Application Server)中都得到支持。 WS-RM 规范定义了一个线上 (on-the-wire) 协议,旨在解决试图通过 HTTP 之类的连接传送 SOAP 消息时遇到的两个问题: 1. 源或目标端点暂时不可用时(例如,服务器意外重启时),客户机如何确保 SOAP 消息传送? 2. 从源到目标端点的路径跨越几个不同的传输连接(比如通过防火墙)时,客户机如何确保 SOAP 消息传送?这些连接中的任何一个都可能失败;比如,由于超时。客户机如何检测该状况并重新尝试传送消息? WS-RM 协议通过定义如何重新发送它认为没有成功发送的消息,以及防止向目标应用程序发送重复消息解决了以上两个问题。通过 Application Server V7 WS-RM 实现,应用程序开发人员可以集中精力关注具体应用程序逻辑,而不是编码与应用程序无关的重试逻辑。 Application Server 仅支持对 Java™ API for XML (JAX-WS) 应用程序和服务应用 WS-RM。您不能将 WS-RM 应用到 JAX-Remote Procedure Call (RPC) 应用程序或服务内的具体操作。

4. 什么是WS-Policy?

Web服务策略框架规范(Web Services Policy Framework,WS-Policy)提供了一种灵活、可扩展的语法,用于表示基于XML Web services的系统中实体的能力、要求和一般特性。WS-Policy定义了一个框架和一个模型,将这些特性表示为策略。策略表示法既支持简单的声明 式断言,也支持比较复杂的条件式断言。策略断言是要表示行为的个体要求、能力或其他特性。例如,可以创建一个策略断言,定义这样一个要求:必须使用受信任 的X.509证书签名SOAP消息主体。WS-Policy只是一个框架,为特定的域定义一套特定的策略断言则是系统的任务。WebLogic Server 9.0为WS-Security和WS-RM(Reliable Messaging)定义了策略断言。有了策略断言之后,还需要将其与web服务关联。至于如何关联,请看我下一篇关于WS- PolicyAttachment的文章。

5. 什么是MTOM(Message Transmission Optimization Mechanism)?

MTOM 全称Message Transmission Optimization Mechanism,即消息传输优化机制。它提出的模型适用于大量数据的交互情况。针对Base64编码情况带来的开销提出的解决方案。当数据量小的时 候,SOAP依然使用XML进行消息的传递。 但是在大量数据情况下,如果数据依然进行Base64编码,会带来33%的额外开销,这样的情况对于大量数据交换的情况是无法容忍的。MTOM 就是针对SOAP 消息传输的基础上提出的改进办法。对于大量数据的传递,不会进行进行Base64编码,而是直接以附件的二进制原始数据的形式封装在SOAP消息的 MIME 部分,进行传输。SOAP 消息通过指向随其发送的 MIME 部分来引用二进制内容,另外包括SOAP基本的XML 数据,这些还是Base64编码。因为此模型与简单邮件协议SMTP 模型基本一致。 MTOM通过简化大量数据的编码过程,从而提高数据的处理效率。因为SOAP消息等必要的信息,MTOM 也有一些必要的开销。MTOM仅在二进制数据元素的大小超过大约 1 KB 时,才能体现出其优势。

MIME表示多用途Internet邮件扩允协议。MIME扩允了基本的面向文本的Internet邮件系统,以便可以在消息中包含二进制附件。 MIME(Multipurpose Internet Mail Extentions),一般译作"多用途的网络邮件扩充协议"。顾名思义,它可以传送多媒体文件。 MIME (Multipurpose Internet Mail Extensions,多目的Internet邮件扩展)是创建用于电子邮件交换,网络文档,及企业网和Internet上的其他应用程序中的文件格式的 规范。

6. 什么是JSR-181?

JSR181与JSR175介绍 我们先来看一段典型的使用JSR175特征的代码。 ```java package webservices.jsr181.pojo;

import javax.jws.WebMethod;
import javax.jws.WebService; @WebService(name="StringChangerPort", targetNamespace="http://wwtt.bea.com")
public class StringChanger { @WebMethod()
public String toUpper(String upperReqString)
{

这 个类的源代码和普通的JAVA代码没太多区别,但和普通JAVA代码不同的是这里面还包含了很多以@开头的代码,或者称为注释,也就是在Java 5中的新语法,JSR-175。JSR-175规范只是定义这种语法规则,而用这种语法来如何将这个类生成一个Web Service接口,则需要由JSR-181规范来决定。所以这些JSR-175的注释才真正决定了这个Web Service的行为和外观。

也许你会觉得这种语法比较奇怪,有些像普通java方法的语法,只是前面多了一个@。实际在JSR175规范的早期,该语法并不是像现在这样的。如果按早期写法,@WebService()会该写为:

事实上JSR 181是BEA提出的用于加速Web Services开发的一种基于注释驱动的编程模式,并被批准纳入到J2EE 1.5标准。JSR181提供了一种简单的Web Service开发编程模型和标准的编译及部署方式。只需要编写JSR-175风格的注释就可以制定WSDL,消息产生属性,安全认证方式,以及特定的消 息头。

7. 什么是 SAAJ?

SAAJ(SOAP with Attachments API for JAVA) SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。 SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。 选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。

转载于:https://www.cnblogs.com/hesejiaoshi/p/3828800.html

WS-*协议栈及相关概念相关推荐

  1. jax ws ri 生成java类_JAX-WS(一)之使用wsgen从Java创建简单的WebService

    概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...

  2. Docker相关概念与安装(Docker-CE)

    Docker相关概念与安装 一.背景 二.那如何实现应用和应用的隔离 三.Docker是什么? 四.Docker有哪些优势?和虚拟化比有什么优势 五.Docker的使用场景 六.Docker引擎(Do ...

  3. LwIP协议栈之ICMP(Internet Message Protocal)协议

    在之前主要讲到LWIP了IP层的相关概念(详见本人另外一篇文章:LwIP协议栈之IP协议),其中主要讲解了网络接口(链路层)与IP层(网络层)的数据交互,而数据包是如何从IP层向上级(传输层)传输的并 ...

  4. 计算机网络知识复习-计算机网络相关概念及网络分层架构模型

    1.计算机网络相关概念 1.计算机网络: 计算机网络是将分散在不同地点且具有独立功能的多个计算机系统,利用通信设备和通信线路相互连接起来,在网络协议和软件的支持下进行数据通信,实现信息传递和资源共享的 ...

  5. 计算机网络知识复习(day01)--计算机网络相关概念及网络分层架构模型

    参考书籍:<图解TCP/IP>.<计算机网络-谢希仁> 1.计算机网络相关概念 1.计算机网络: 计算机网络是将分散在不同地点且具有独立功能的多个计算机系统,利用通信设备和通信 ...

  6. 【车载开发系列】CAN总线通信---PDU相关概念

    [车载开发系列]CAN总线通信-PDU相关概念 总线通信---PDU相关概念 [车载开发系列]CAN总线通信---PDU相关概念 一.PDU(协议数据单元) 二.帧(frame)的概念 三.数据包(p ...

  7. 2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.简介 二.ELK 协议栈介绍及体系结构 三.集中式日志协议栈 ...

  8. 2021年大数据Flink(三十三):​​​​​​​Table与SQL相关概念

    目录 相关概念 Dynamic Tables & Continuous Queries ​​​​​​​Table to Stream Conversion ​​​​​​​ ​​​​​​​相关概 ...

  9. 2021年大数据Flink(十):流处理相关概念

    目录 流处理相关概念 数据的时效性 ​​​​​​​流处理和批处理 ​​​​​​​流批一体API DataStream API 支持批执行模式 API 编程模型 ​​​​​​​流处理相关概念 数据的时效 ...

  10. mac 思科 链路聚合_TCP/IP协议栈-之-数据链路层分析

    数据链路层 一.数据链路层的概述 1.1 概述 数据链路层是TCP/IP协议栈的第二层! 数据链路层的传输单元:帧(也就是传输单位) 1.2 帧结构 帧结构分析如下: 帧结构的构成:MAC子层 + 上 ...

最新文章

  1. mysql根据两列去重复_mysql对两列去重复数据库
  2. libcurl库的使用(通过libcurl库下载url图像)
  3. CGContextSaveGState与CGContextRestoreGState的作用
  4. 阿里云 mysql 无缘无故挂掉
  5. mysql创建与更新时间字段
  6. java jvm调优面试题_【Java面试题第一期】有没有jvm调优经验?调优方案有哪些?...
  7. C-Lodop回调函数的触发
  8. c语言中stdbool.h的使用
  9. service zookeeper does not support chkconfig解决办法
  10. 牛客网【每日一题】4月30日题目精讲 换个角度思考
  11. LeetCode 303. 区域和检索 - 数组不可变(前缀和)
  12. 微信红包随机生成算法(PHP版)
  13. 【NIPS2018】Spotlight及Oral论文汇总
  14. NGINX和NGINX Plus的速率限制
  15. 这个顶级AI赛事总奖池100W+!CV 、NLP赛题等你来战!
  16. “3D字体”素材|让你的设计脱颖而出,看起来与众不同
  17. WebRTC 将一统实时音视频天下?
  18. php删除英文链接词,英语写作词汇大全:转折连接词
  19. socket.io html5 聊天,socket.io实现在线聊天页面
  20. tuple list 结构结合record的应用实例

热门文章

  1. 网站部署后Parser Error Message: Could not load type 的解决方案
  2. ubutnu 下SVN 提交时忽略某些文件或文件夹
  3. 转: SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092...
  4. Unity3d查找游戏对象
  5. iot开源_Android ROM开源,新的IoT应用程序以及更多新闻
  6. 微软拥抱开源_如何拥抱开源劳动力
  7. dreamhost 优惠码_DreamHost如何通过OpenStack重塑自己
  8. Java一年,面试总结
  9. Bootstrap3 插件的事件
  10. es6 实例:消除魔术字符串