1、Java中的Web Service规范

三种规范:JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。

三要素:soap,wsdl,uddi

1. Jaxws(掌握)

JAX-WS  的全称为 Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范
JAX-RPC(Java API For XML-RemoteProcedure Call)目前已经被JAX-WS 规范取代。从java5开始支持
JAX-WS2.0版本,Jdk1.6.0_13以后的版本支持2.1版本,jdk1.7支持2.2版本。
Jaxws开发的webservice传输soap协议。

2JAXM&SAAJ(了解)

JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需的API,
SAAJ(SOAP With Attachment APIFor Java,JSR 67)是与JAXM 搭配使用的API,
为构建SOAP 包和解析SOAP 包提供了重要的支持,支持附件传输等,JAXM&SAAJ 与JAX-WS
都是基于SOAP 的Web 服务,相比之下JAXM&SAAJ 暴漏了SOAP更多的底层细节,编码比较麻烦,
而JAX-WS 更加抽象,隐藏了更多的细节,更加面向对象,实现起来你基本上不需要关心SOAP 的任何细节

3.  JAX-RS(掌握)

JAX-RS 是JAVA 针对REST(Representation State Transfer)风格制定的一套Web 服务规范,由于推出的较晚,
该规范(JSR 311,目前JAX-RS 的版本为1.0)并未随JDK1.6 一起发行。
Rest定义可以自行搜索
jax-RS可以发布 rest风格webservice,因为rest的webservice不采用soap传输,直接采用http传输,可以返回xml或json,比较轻量。

 2、术语

1、WSDL:web service definition language

直译:Web Service 定义语言

  1、对应的一种类型的文件:.wsdl

  2、定义了web service的服务器与客户端应用交互传递请求和响应数据的合适和方式

  3、一个web service对应一个唯一的wsdl文档

说明书:

  1、通过wsdl说明书,就可以描述web service服务端对外发布的服务

  2、wsdl说明书是一个基于xml文件,通过xml语言描述整个服务

  3、wsdl说明中,描述了”

    对外发布的服务名称(类)

    接口方法名称(方法)

    接口参数(方法参数)

    服务返回的数据类型(方法返回值)

2、SOAP:simple object access protocal

直译:简单对象访问协议

1、是一种简单的基于HTTP和xml的协议,用于在WEB上交换结构化的数据

2、soap消息:请求消息和响应消息

3、http+xml片段

4、SOAP是基于HTTP的

5、用于交换xml编码新的轻量级协议,主要三个主要方面:

  XML-enveloap为描述信息内容和如何处理内容定义了框架

  将程序对象编码成XML对象的规则

  执行远程调用(RPC)的约定

  SOAP可以运行在任何其他传输协议上

6、SOAP的组成如下:

  ENveloap---必须的部分,以xml的根元素出现

  Headers---可选的

  Body---必须的,在body部分,包含了服务器执行的方法,和发送到服务器的数据

3、UDDI

Web服务器提供商如何将自己开发的Web项目发送到因特网上

这里就需要UDDI,WDDI的话是一个跨产业,跨平台的开放性框架,可以 帮助Web

服务提供商在互联网上发布Web服务的信息。

UDDI是一种目录服务,企业可以通过UDDI来注册和搜索web服务。

简单来说:UDDI就是一个目录,只不过在这个目录中存放的是一些关于Web服务的信息而已

并且UDDI通过SOAP进行通信,构建于.net之上

UDDI即Universal Description Discovery andIntegration,也就是是通用的描述发现以及整合。

3、应用场景

可以适用于程序的集成、软件重用、跨防火墙通信等需求,不同的业务要求不同:
-跨防火墙通信
-应用系统集成
-软件和数据重用
 
简单来说,如果一个功能,需要被多个系统使用可以使用webserice开发一个服务
端接口,供不同的客户端应用,主要再企业内部之间的接口调用、面向公网的webservice服务

4、优缺点

优点:

缺点:

5、ApacheCXF框架介绍

关于ApacheCXF:

功能特性:

2、Web Service-术语的更多相关文章

  1. Web Service中的几个重要术语

    WSDL:web service definition language 直译:WebService定义语言 1.对应一种该类型的文件.WSDL 2.定义了Web Service的服务器与客户端应用交 ...

  2. Java RESTful Web Service相关概念

    原文地址:http://1.liangtao.sinaapp.com/?p=647 接上一篇文章REST|RESTful初步认识:p=639">http://1.liangtao.si ...

  3. web service接口测试工具选型

    1  简介 1.1   范围 1.2   目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...

  4. Web Service进阶(一)运行原理

    利用清明小假期,温习了一遍Web Service的相关内容,对其工作原理进行了简要总结.以供有需求的朋友和自己日后参考.文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉. Web服务中,我们应该首先 ...

  5. Web Service简介(一)

    这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门.在学习之前,你需要对HTML和XML有基本的了解,Web Service并不难,而且非常的简单. 什么 ...

  6. SAP Web Service简介与配置方法

    [版权声明]本文为博主原创文章,转载请在明显位置注明出处. 一. SAP Web Service简介 二. SAP Web Service配置准备工作 1. 通过RZ10配置服务器名称和其他参数 2. ...

  7. .NET基础拾遗(7)Web Service的开发与应用基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  8. Web Service概念梳理

    计算机技术难理解的很多,Web Service 对我来说就是一个很难理解的概念:为了弄清它到底是什么,我花费了两周的时间,总算有了一些收获,参考了不少网上的资料,但有些概念说法不一.我以w3c和 一些 ...

  9. Web Service随笔

    什么是Web Service? WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络 ...

  10. 应用Apache Axis进行Web Service开发

    转自(http://tscjsj.blog.51cto.com/412451/84813) 一.概述 SOAP原意为Simple Object Access Protocol(简单对象访问协议),是一 ...

随机推荐

  1. 二进制之Java中的进制(二)

    1. jdk中的进制转换 十进制转十六进制 Integer.toHexString(int i); 十进制转八进制 Integer.toOctalString(int i); 十进制转二进制 Inte ...

  2. 深入理解LinkedBlockingQueue

      说明 通过阅读源码,了解LinkedBlockingQueue的特性.本文基于JDK1.7源码 正文 通过查询API对LinkedBlockingQueue特点进行简单的了解: LinkedBlo ...

  3. Java:反射与代理

    Java世界的繁荣反射这一特性有很大功劳,可以获取全面的类型信息. /** * */ package ref; import java.lang.reflect.Field; import java. ...

  4. css 样式加载次序

    一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权(本人理解为:先加载1的样式,然后用2的样式覆盖1中的样式,3.4同理) 浏览器缺省设置(浏览器默认的样式 ...

  5. css控制一个元素点击后, 改变另外一个元素的状态

    1.点击后改变子元素.myclass:active span{ color:#00f;} 此方式在ios下不生效,chrome下正常  2.改变下一个兄弟元素.myclass:active +span ...

  6. CSS属性之padding

    0.inline元素中的padding 大家都知道padding对于block元素和inline-block元素的影响,而对于inline元素,padding只会在水平方向产生影响,垂直方向不会产生影 ...

  7. vue2 入门 教程 单页应用最佳实战[*****]

    推荐 vue2 入门 教程 -------- 看过其他的,再看作者的,很赞 vue2 入门 教程 单页应用最佳实战 :  具体在 https://github.com/MeCKodo/vue-tuto ...

  8. Kali 防火墙配置

    Kali操作系统安装时默认已经安装了"iptables",配置前先检查有没有安装,命令如下:iptables -L显示如下(图1),则表示已经安装了,如果没有安装,使用命令:apt ...

  9. python学习笔记之——正则表达式

    1.re模块 Python通过re模块提供对正则表达式的支持,re 模块使 Python 语言拥有全部的正则表达式功能.使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用 ...

  10. Linux扩展根目录下的空间

    自己通过root创建了一个新用户,然而当我使用这个新用户时发现,/home/my中的空间只有几十M,完全不能满足我的使用,所以通过下面的方法扩展根下的空间. 我的本次操作,参考于 http://www ...