WebService描述

什么是webservice

webservice是SOA面向服务编程的一种实现;
主要是用来实现易购平台通信,也就是不同平台不同项目之间的数据传输,从而避免信息孤岛的问题,它之所以能够进行易购平台通信是因为它完全是基于xml的,所以说,webservice是跨平台的,跨语言,跨框架的~
在java中通常有三种技术框架分别是xfire,cxf,axis2,为了保证webservice的安全性我们采用了基于ws-Security标准的安全验证(使用回调函数)

webservice的三要素
  1. wsdl (webservice description language):用来描述发布的接口(服务)
  2. soap(simple object access protocol) :xml和http的结合,是webservice的数据通信协议
  3. uddi:用来管理,查询webservice的服务
webservice三种实现方式

三种技术框架的区别
[注]:jdk1.6 自带的webservice jws

  1. Axis2: 可以用多种语言开发,是一个重量级的框架,功能非常强大,但是它的性能比较低
  2. xfire: 它相比于Axis2来说是一个轻量级的框架,它的性能要比Axis2高
  3. cxf:是xfire的升级版,就好比是,struts是webwork的升级,然后cxf和spring集成非常方便,简易,性能方面也要比xfire高
webservice服务端配置流程
  1. 首先在web.xml中引入cxfServlet核心类
  2. 指定以/cxf开头的url路径提供webservice服务
  3. 在要发布的webservice接口添加@webservice注解
  4. 在实现类添加同样的webservice注解并且说明实现那个接口
  5. 在spring-webservice.xml中发布webservice服务
  6. 通过jaxws:endpoint这个标签,在标签配置implementor和address来表明实现服务的类以及发布的地址
  7. 最后在浏览器中输入相关的webservice地址?wsdl来验证服务是否发布成功
webservice客户端的配置
  1. 首先通过wsdl2java根据发布的webservice服务端地址的wsdl生成客户端调用的中间桥梁Java类
  2. 将生成的java类拷贝到客户端项目中
  3. 配置spring-client.xml文件
  4. 通过jaxws:client定义一个bean
  5. 通过address属性指明要访问的webservice的服务地址
  6. 通过serviceClass指明充当中间桥梁的服务类,
  7. 之后获取该bean,就可以通过它来访问发布的webservice接口的方法
webservice的业务场景

例如:我之前做项目时候,遇到一个功能是需要进行两个项目之间的数据的传输
我们老大让我去完成这个任务,我根据以往的项目经验想要两种解决方案:第一种就是开放另外一个项目的数据库权限给我,然后我直接通过访问另外一个项目的数据库,来得到需要的信息,但后来进过分析,觉得这种方式不安全,而且当时这个项目是另外一家公司负责在做,所以数据库里边的表结构,以及以后牵涉到的责任问题有很多,所以我最终采用第二种方案,就是通过webservice的方式,进行易购系统之间的数据的传递,webservice的具体事项,有xfire,cxf,axis2,我根据以往的项目经验,了解到cxf是xfire的升级版本,适用于java语言,xfire/cxf性能要比axis2高,并且和spring整合起来比较方便,而axis2支持更多的原因,性能相对于cxf要低,通过上面的分析,综合我们目前的两个项目都是基于java语言,所以我采用cxf方式实现两个项目之间数据的传递,我们为了保证webservice的安全性我们采用了基于ws-Security标准的安全验证(使用CXF回调函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫A建仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值