高级Meb技术 Web services
高级Web技术 Web Services
本次课程内容 SOAP
本次课程内容 ◼ SOAP
What is SoAP ■简单对象访问协议SOAP( Simple object Access Protocol) 是在松散的、分布的环境中使用XML交换结构化的和类型 化的信息的一种简单协议。 XML的标准化为跨平台之间的交流带来了极大的方便,而 SOAP的实质就是把这种交流的方式标准化了 sOAP本身并不定义任何应用语义,如编程模型或特定语义 实现,它只定义了一种简单的以模块化的方式包装数据的机 制 将数据对象打包成XML格式的数据 public class Person String name zhangs int age; 20
What is SOAP ◼ 简单对象访问协议 SOAP(Simple Object Access Protocol) 是在松散的、分布的环境中使用XML交换结构化的和类型 化的信息的一种简单协议。 ◼ XML的标准化为跨平台之间的交流带来了极大的方便,而 SOAP的实质就是把这种交流的方式标准化了 ◼ SOAP本身并不定义任何应用语义,如编程模型或特定语义 实现,它只定义了一种简单的以模块化的方式包装数据的机 制。 ◼ 将数据/对象打包成XML格式的数据 public class Person{ String name; int age; //方法的定义... } zhang3 20
What is soAP ■SOAP没有定义任何底层的传输协议 n可以使用HTTP、FTP、SMTP或者JMs,甚至是自定义协议 来传输SOAP报文 一般使用HTTP协议 一种协议,类似于: lOP for corBa JRMP for rmi 与上述协议的区别: 采用XML进行数据编码 基于文本的协议vs.基于二进制的协议 SOAP的调用效率比较低 ■HTTP不是有效率的通信协议 XML需要额外的文件解析
What is SOAP ◼ SOAP没有定义任何底层的传输协议 ◼ 可以使用HTTP、FTP、SMTP或者JMS,甚至是自定义协议 来传输SOAP报文 ◼ 一般使用HTTP协议 ◼ 一种协议,类似于: ◼ IIOP for CORBA ◼ JRMP for RMI ◼ 与上述协议的区别: ◼ 采用XML进行数据编码 ◼ 基于文本的协议 vs. 基于二进制的协议 ◼ SOAP的调用效率比较低 ◼ HTTP不是有效率的通信协议 ◼ XML需要额外的文件解析
选择SOAP的原因 它的提出主要源于处理分布式计算中的RPc(远 程过程调用) 已有的分布式计算的解决方案,包括DcE, DcOM, CORBA等 ■上述解决方案的缺点: n实现复杂 它们必须使用自己特定的协议,这样造成混乱 不能跨越防火墙,基本上是局域网技术
选择 SOAP 的原因 ◼ 它的提出主要源于处理分布式计算中的RPC(远 程过程调用) ◼ 已有的分布式计算的解决方案,包括DCE, DCOM , CORBA等 ◼ 上述解决方案的缺点: ◼ 实现复杂 ◼ 它们必须使用自己特定的协议,这样造成混乱 ◼ 不能跨越防火墙,基本上是局域网技术
选择SOAP的原因 它是使用XML传送以文档为中心的消息以及远程 过程调用的标准化封装机制 SOAP很简单;它基本上是一个用XML信封作为 有效负载的 Http Post sOAP定义了一个标准机制,使用SOAP报头和 对操作或函数进行标准编码的消息。 SOAP消息支持Web服务体系结构中的发布、查 找和绑定操作
选择 SOAP 的原因 ◼ 它是使用 XML 传送以文档为中心的消息以及远程 过程调用的标准化封装机制。 ◼ SOAP 很简单;它基本上是一个用 XML 信封作为 有效负载的 HTTP POST。 ◼ SOAP 定义了一个标准机制,使用 SOAP 报头和 对操作或函数进行标准编码的消息。 ◼ SOAP 消息支持 Web 服务体系结构中的发布、查 找和绑定操作
SOAP规范定义的两种通信方式 ■SOAP规范定义了两种通信方式 SOAP消息的格式是 document style的 文档样式的Web服务对提供者如何处理服务调用并不做 假定 这就留给服务消费和创建消息的定义更多的灵活性 可以利用XML的全部能力来描述和验证高级业务文档 构建文档样式Web服务所需的工作量比构建一个RPC样 式Web服务所需的工作量大
SOAP 规范定义的两种通信方式 ◼ SOAP 规范定义了两种通信方式 ◼ SOAP 消息的格式是document style的 ◼ 文档样式的Web 服务对提供者如何处理服务调用并不做 假定 ◼ 这就留给服务消费和创建消息的定义更多的灵活性 ◼ 可以利用XML 的全部能力来描述和验证高级业务文档 ◼ 构建文档样式Web 服务所需的工作量比构建一个RPC 样 式Web 服务所需的工作量大
SOAP规范定义的两种通信方式 SOAP规范定义了两种通信方式 RPc样式 ■要求嵌套的ⅪML文档遵循远程过程调用(RPC)语义。 RPC样式的Web服务假定提供者是一个过程,调用服 务是一个远程过程调用。 必须将XML文档作为字符串参数并且在被调用的方 法中隐藏验证 RPC样式的Web服务只需要设计方法的接口,通过 方法的接口,RPC消息就可以自动地编组和解组参数。 有内存约束
SOAP 规范定义的两种通信方式 ◼ SOAP 规范定义了两种通信方式 ◼ RPC 样式 ◼ 要求嵌套的XML文档遵循远程过程调用(RPC)语义。 ◼ RPC 样式的Web 服务假定提供者是一个过程,调用服 务是一个远程过程调用。 ◼ 必须将XML 文档作为字符串参数并且在被调用的方 法中隐藏验证 ◼ RPC 样式的Web 服务只需要设计方法的接口,通过 方法的接口,RPC消息就可以自动地编组和解组参数。 有内存约束
SOAP不具有的内容 ■整个技术标准基于文本,“简单和扩展并重”,但 是有很多重要的事项没有被包括进来: 分布式垃圾回收 消息的批处理 对象引用 对象的激活
SOAP不具有的内容 ◼ 整个技术标准基于文本,“简单和扩展并重”,但 是有很多重要的事项没有被包括进来: ◼ 分布式垃圾回收 ◼ 消息的批处理 ◼ 对象引用 ◼ 对象的激活
使用SOAP的XML消息传递 使用SOAP的XML消息传递 Application Application web service ④ SOAP SOAP Network Protocol Network Protocol R sponse
使用 SOAP 的 XML 消息传递 ◼ 使用 SOAP 的 XML 消息传递