Web Service循序渐进学习

1.Web service 是什么?  

(WebService 是可以通过互联网远程访问调用的应用程序,实现数据传输共享。这种应用程序理解为不同服务提供帮助。能够支撑实现应用程序发布访问的技术可以称为WebService核心技术),webservice也是SOA的基石。

  WebService 本来是个通用的词汇代表所有基于web的服务(应用程序),后来似乎变成SOAP专用词汇。

  SOAP协议与RPC协议:

     SOAP (Simple Object Access Protocol)是基于XML的简易协议,可使应用程序在HTTP之上进行信息交换。(简单说:SOAP是用于访问网络服务(webservice)的协议.)

     SOAP指 简易对象发问协议,是一种通讯协议,是一种用于发送消息的格式。用于应用程序之间的通讯,被设计用来通过Internet进行通信。

     SOAP独立于平台、语言,基于XML,很简单并可扩展,允许你绕过防火墙,将被作为W3C标准 来发展。

     SOAP 由来:

     对于应用程序开发来说,使程序之间进行因特网通信是很重要的。

     目前的应用程序通过使用远程过程调用(RPC)在诸如DCOM与CORBA等对象之间进行通信,但是HTTP不是为此设计的。RPC会产生兼用性以及安全问题:防火窗和代理服务器通常会阻止此类流量。

      通过HTTP在应用程序间通信是更好的方法,因为HTTP得到所有的因特网浏览器及服务器的支持。SOAP就是被创造出来完成这个任务的。

      SOAP提供了一种标准的方法,使得运行在不同操作系统并使用不同的技术和编程语言的应用程序可以相互进行通信。

      简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息

soap用来描述传递信息的格式,SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象

 相关定义:

    基于类对象的传输协议

    SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;

    SOAP编码规则(encoding rules),它定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例;

    SOAP RPC表示(RPC representation),它定了一个协定,用于表示远程过程调用和应答;

    SOAP绑定(binding),它定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。

   把SOAP绑定到HTTP提供了同时利用SOAP的样式和分散的灵活性的特点以及HTTP的丰富的特征库的优点。在HTTP上传送SOAP并不是说SOAP会覆盖现有的HTTP语义,而是HTTP上的SOAP语义会自然的映射到HTTP语义。在使用HTTP作为协议绑定的场合中,RPC请求映射到HTTP请求上,而RPC应答映射到HTTP应答。然而,在RPC上使用SOAP并不仅限于HTTP协议绑定。SOAP也可以绑定到TCP和UDP协议上

  核心技术:

     SOAP采用了已经广泛使用的两个协议:HTTP 和XML标准通用标记语言下的一个子集)。HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。

     采用几行代码和一个XML 解析器, HTTP 服务器( MS 的 IIS 或 Apache) 立刻成为SOAP 的 ORBS。SOAP 通讯协议使用 HTTP 来发送XML 格式的信息。HTTP与RPC 的协议很相似,它简单、 配置广泛,并且对防火墙比其它协议更容易发挥作用。

     SOAP 把 XML 的使用代码化为请求和响应参数编码模式, 并用HTTP 作传输。

 (ORB 对象请求处理是在对象间建立客户/服务器联系的一种中间件。)

      RPC(Remote Procedure Call Protocol)远程过程调用协议    核心思想:信息传输协议      研究方向:分布式

   在Web服务发展的初期,XML格式化消息的第一个主要用途是,应用于XML-RPC协议,其中RPC代表远程过程调用。在XML远程过程调用 (XML-RPC)中,客户端发送一条特定消息,该消息中必须包括名称、运行服务的程序以及输入参数。

 目前webservice开发主要有以下两种开发模式:一是传统基于SOAP模式的webservice开发;二是基于rest模式的webservice开发。

2.基于SOAP模式的webservice开发(java开发中)

   1. JAX-WS(Java6引进) 是SOAP协议的一个Java的实现规范,这个新规范是为了简化基于SOAP的Java开发

       在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议,比如SOAP。在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。

       实现一个基于JWS的webservice项目(直接使用JWS api 实现,不借助任何webservice框架)

       从JDK6.0开始,Java引入了对Web Service的支持。
      我们只需要简单的使用Java的Annotation标签即可将标准的Java方法发布成Web Service。

 

posted @ 2017-01-15 11:14  javactoceo  阅读(185)  评论(0编辑  收藏  举报