WebService相关概念介绍

最近重新拾起WebService,之前用过Axis2开发过服务,但是非常具体的概念还不是很清楚,在此粗略总结一下。

本文重点研究以下几个问题:

    1.WebService以及相关的概念介绍

    2.主要实现技术有哪些?

    3.Axis2和CXF之间的比较

    4.SOAP跟RESTFul服务的问题

一.WebService以及相关的概念介绍

    WebService:应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。

   区别于:浏览器和服务器之间的数据传输,WebService主要用来进行服务器之间的数据 交流传输。

  一个WebService的三个要素:服务生产者,服务请求者,服务代理。他们之间的关系可以通过下图来表示。

其中,这有涉及了几个概念:

     一个基于XML的可扩展消息信封格式,需同时绑定一个网络传输协议。这个协议通常是HTTP或HTTPS,但也可能是SMTPXMPP

    一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。

    一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。

二.WebService主要实现技术有哪些?

   主流的服务实现平台主要有:Axis2,apache CXF,Spring-ws等等

在介绍这几种技术之前,先来了解几个概念:

  • JAX-RPC:

JAX-RPCJava API for XML-based RPC简称JAX-RPC)允许Java应用程序可以通过已知的描述信息调用一个基于Java的Web服务,描述信息与Web服务的WSDL(Web服务描述语言)描述相一致. JAX-RPC可以被看作是Java RMI在Web服务协议上的实现。JAX-RPC 2.0被更名为JAX-WS 2.0 (Java API for XML Web Services).

  • JAX-WS:

Java API for XML Web Services (JAX-WS)Java程序设计语言一个用来创建Web服务API。JAX-WS是sunJava企业平台一部分。和其它Java EE的API一样,JAX-WS使用了Java SE 5引入的Java 标注机制来简化Web服务客户端和服务端的开发和部署。

  • JAX-RS:

Java API for RESTful Web Services是一个Java编程语言应用程序接口,支持按照 表象化状态转变 (REST)架构风格创建Web服务Web服务[1]. JAX-RS使用了Java SE 5引入的Java 标注来简化Web服务客户端和服务端的开发和部署。

  • JAXB:

JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换句话说,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码。

3.Axis2和CXF之间的比较

新一代的 Web Services 框架如 Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的 Axis 1.x 系列演化过来,而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目。

从最基本的WebService的使用上来看:

1.Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合

2.Axis2 支持多种语言,它有 C/C++ 版本。

3.Axis2 支持更多的 data bindings

4.Apache CXF 对JAX-WS规范有完整实现。

5.Axis2更像是一种是WS容器,它要求应用程序以aar包的形式部署到自己里面,当然也可以跟现有的项目进行集成。

从两个项目的实验用力上来看:

  1.两个项目都能与Spring进行集成。

  2.需要发布服务时都需要在xml文件中进行配置,axis2需要在service.xml中配置,CXF需要在spring中进行配置。

  3.CXF支持客户端的xml配置,可以基于相同的接口进行访问。

 

综合建议:由于CXF跟Spring结合更好,而且不需要单独的配置文件,建议使用CXF。

  4.SOAP跟RESTful服务的问题

       REST(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。      REST是设计风格而不是标准。

   参考:http://zh.wikipedia.org/wiki/REST

 

个人理解:

个人理解,RESTful风格更适合互联网企业中对资源的访问和控制,但是对企业应用中的以各种动作来作为服务的时候,不太合适,建议还是采用SOAP的方式。

时间: 2024-07-31 11:45:17

WebService相关概念介绍的相关文章

WebService学习总结(二)——WebService相关概念介绍

一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实际) 二.为什么要用Web service? web service能解决: 跨平台调用 跨语言调用 远程调用 三.什么时候使用web Service? 1. 同一家公司的新旧应用之间 2. 不同公司的应用之间 3. 一些提供数据的内容聚合应用:天气预报.股票行情 四.Web Service中的几个重

webservice学习总结(一)-- WebService相关概念介绍

一.WebService是什么? 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 一个跨语言.跨平台的规范(抽象) 多个跨平台.跨语言的应用间通信整合的方案(实际) 二.为什么要用WebService? web service能解决: 跨平台调用 跨语言调用 远程调用 三.什么时候用WebService? 同一家公司的新旧应用之间 不同公司的应用之间 一些提供数据的内容聚合应用:天气预报.股票行情.号码归属地 四.WebService中的几个重要术语 4.1.WSDL(web

WebService的介绍概念 收藏

WebService学习总结(二)——WebService相关概念介绍 一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实际) 二.为什么要用Web service? web service能解决: 跨平台调用 跨语言调用 远程调用 三.什么时候使用web Service? 1. 同一家公司的新旧应用之间 2. 不同公司的应用之间 3. 一些提供数据

大数据以及Hadoop相关概念介绍

一.大数据的基本概念 1.1.什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据.大数据是以TB级别起步的.在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空间代表的就是该文件的大小,在计算机当中,文件的大小可以采用以下单位来表示,各个单位之间的转换关系如下: 平时我们在我们自己的电脑上面常见的就是Byte.KB.MB.GB这几种,那么究竟什么是大数据呢,大数据的起步是以TB级别开始的,1TB=1024GB,而我们处理的数据可能会到达PB级别,1PB=1

客户相关概念介绍

1.客户几个关系表ER图 Party Anentity that can enter into a business relationship, such as buying and selling,and can be of the type Organization or Person. Party指的能够进行业务往来的实体,例如能够进行采购和销售动作,类型可以是组织或者是个人. 对应的标准表为HZ_PARTIES. Customer Aparty, either an organizati

oracle数据库相关概念介绍

数据库相关概念介绍: 问题: 数据存储:变量(基本类型,引用类型) 基本类型:少量数据 引用类型:保证数据的完整性 数据源: 声明直接赋值 IO流从硬盘中读取 java在处理数据时,需要从硬盘中读取数据.如果硬盘的数据存储得特别凌乱.就会造成数据读取效率低,数据会出现冗余. 解决 使用数据库 使用 数据库存储数据 数据库获取数据 概念 数据 数据是对现实生活事物描述的符号 数据库 用来存储数据的库 存储结构: 网状结构 层次结构 关系结构 二维表结构存储:数据.数据的描述.数据的关系 对象结构

Restful WebService简单介绍

RESTful Web Services已经渐渐开始流行, 主要是用于解决异构系统之间的通信问题.很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较就有Google,现在就来简单的介绍下它. 一. RESTful Web Services是什么? REST(Representation State Transfer)描述了一种设计Web应用的架构风格,它是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful风格的.而符合RESTf

WebService学习总结(1)——WebService相关概念

一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),

大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap介绍

SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap + Maven项目构建绝对开源平台 项目Mave构建,模拟大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供原子化.模块化的方案,将功能模块进行拆分,可以公用到所有的项目中.架构采用分布式部署架构,所有模块进行拆分,使项目做到绝对解