WebService学习系列之基础理论知识
WebService学习系列之基础理论知识
Webservice脑图
本系列⽂章将介绍WebService是什么、 WebService的应⽤场景、WebService的标准规范、WebService的分类、WebService的落地实现框架、WebService怎么玩
是什么
是什么?
webservice就是web服务,其本质是远程调⽤技术的⼀套标准或规范
应⽤场景
应⽤场景
webservice应⽤于需要进⾏远程过程调⽤的场景中,⽐如获取天⽓预报的服务等
调⽤过程
1.服务端暴露服务
2.客户端调⽤服务端提供的服务
webservice标准规范
WebService是⼀套标准规范,它制定了webservice开发的套路,只有按照这套标准玩才能开发webservice。有过三种标准,分别是JAX-WS、JAX-RS、JAXM&SAAJ,下⾯是各种规范的概念性东西,⾮常枯燥,但是也需要了解⼀下。
2.JAX-RS
JAX-RS 是JAVA 针对REST(Representation State Transfer)风格制定的⼀套Web 服务规范,由于推出的较晚,该规范(JSR 311,⽬前JAX-RS 的版本为1.0)并未随JDK1.6 ⼀起发⾏。
jax-RS可以发布 rest风格webservice,因为rest的webservice不采⽤soap传输,直接采⽤http传输,可以返回xml或json,⽐较轻量。听说以后会流⾏这种规范,不过我现在还暂时在实际项⽬中没有应⽤到,暂时没有学习该系列知识。
3.JAXM&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 的任何细节)
分类
Webservice分类web服务器主要提供什么服务
根据其规范的不同,产⽣了不同风格的webservice
1、SOAP WebService,采⽤JAX-WS规范。⼀般如果不特殊说明,平时我们听说的Webservice就是指的SOAP WebService,后⾯讨论的也都是这种。
2、RESTful WebService,采⽤ JAX-RS规范。听说以后会流⾏这种。后⾯补讨论这种。
落地实现框架
天上飞的理论,必须要有落地的实现,webservice指定了⼀套标准规范,就必须要有⼀套实现了它规范的实现,落地实现框架有如下⼏种
落地实现框架
cxf和axis2最为常⽤,Axis与XFire已随着技术不断的更替慢慢落幕,⽽⽬前也只有axis2和cxf官⽅有更新,Axis与XFire都已不再更新。
那些落伍的框架本⼈认为只需要知道有这么回事就⾏,毕竟就怕有些姥姥级别的项⽬⾥⾯还有⽤这些框架开发webservice服务端的,如果这些落后的框架⽀持⼀些被废弃的webservice规范,如果⽤其他流⾏框架根据wsdl⽣成客户端代码时,有可能不⽀持,本⼈就遇到过⽤JAX-RPC这种被废弃的规范开发的webservice服务端的,我根据它⽣成的wsdl⽂件,⽤cxf去⽣成webservice客户端代码时失败了。但是⽤AXIS2框架提供的⼯具可以⽣成,我估计是AXIS2框架还是⽀持JAX-RPC这种被废弃的规范。
怎么玩

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。