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。

Web Service循序渐进学习的更多相关文章

  1. web service && WCF 学习小结

    Web Service和WCF技术都提供了应用程序与应用程序之间的通信.它们都是基于soap消息在客户端和服务端之间进行通信,由于soap消息是一种xml格式,因此传输的数据格式为XML.每次客户端向 ...

  2. Web service的学习资源

    看了半天的Web service,总算是对它有了一点眉目,不枉此行:)那就整理一下吧,来日还需要用到呢! 1.什么是Web service(请看这儿). 2.Web service的开发        ...

  3. Web Service学习笔记(webservice、soap、wsdl、jws详细分析)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  4. Web Service学习文旦下载

    Web Service的学习暂且告一段落,因为毕竟只是对它作简要了解,至于其原理什么并不打算涉及. 在这里我提供下我之前文档的整理版本: http://kuai.xunlei.com/d/YlzvAG ...

  5. Web Service学习笔记

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  6. Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  7. Web Service概述 及 应用案例

    Web Service的定义  W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用 ...

  8. Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能

    前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现 ...

  9. Web Service学习笔记:动态调用WebService

    原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...

随机推荐

  1. Machine Learning/Introducing Logistic Function

    Machine Learning/Introducing Logistic Function 打算写点关于Machine Learning的东西, 正好也在cnBlogs上新开了这个博客, 也就更新在 ...

  2. SQL Server 性能优化之——系统化方法提高性能

    SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...

  3. 本地数据jqGrid分页

    var mydata=''; $(function() { var str = ''; str += "<span>共<span id='p_total'></ ...

  4. window与linux互相拷贝文件

    借助 PSCP 命令可以实现文件的互拷: 1.下载pscp.exe 文件 (我的资源文件中有) http://download.csdn.net/detail/trassion/5689189 2.如 ...

  5. 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。

    横瓜执导众程序员开展大讨论关于C.JAVA及其它主流IT技术使用情况和优点缺点. 遥执乾坤(44758121)  18:21:23 mysql据说只能使用一个索引,我这里几乎所有字段都有索引. 但每个 ...

  6. CPU内存管理和linux内存分页机制

    一.概念 物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应.——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理 ...

  7. jps 命令使用

    jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简 ...

  8. 用C++实现的八皇后问题

    我是一个C++初学者,控制台实现了一个八皇后问题. 代码如下: //"八皇后问题"V1.0 //李国良于2017年1月11日编写完成 #include <iostream&g ...

  9. css修改滚动条默认样式

    之前因为公司项目需要,在网上找到的: 直接上代码了 html代码 <div class="inner"> <div class="innerbox&qu ...

  10. go CD 用虚拟机快速增加一个新agent

    背景 最近项目在用go CD做持续交付.为了最大化利用硬件,所有的agent都是用的vbox的虚拟机.随着pipelines的增加,就需要增加更多的agent. 步骤 为了快速增加新的agent,最简 ...