CXF:几点认识

1、为什么是CXF:

话说没有最好最牛B的框架,只有适合的框架。当然这是大家都这么说的,在实际的生产环节中可能更复杂:历史问题、团队对框架的熟悉程度等都可能成为原因。好吧我们来看看CXF官网怎么说:

1、实现JAX-WS规范

2、Spring一等公民、天然集成

3、多种数据绑定(貌似特别推崇自己的实现Aegis Databinding)

4、支持RESTful

5、WS-* Support

 

2、如何与系统集成

CXF提供了一些列的特性,但是在我们自己的应用中如何使用,也许我们需要先解决如下问题

1、Transports:我们开发的webservice基于什么样传输协议:http、jms、local

2、Bindings:绑定完成的是服务消息和具体协议的映射,具体支持的绑定有soap、pure xml、http

3、Message Interception and Modification:比如我们需要对消息的header校验、对消息加密传输、流的传播等。比如常见的Interceptors或JAX-WS handler

4、Transmitting Binary Data:传输二进制数据

5、WS-*规范

或者我们可以简单点来说明这个问题:我们开发的webservice采用什么样的协议、什么前端、采用何种数据绑定、是否需要采取安全的策略,比如(SOAP/JAX-WS/JAXB或RESTfull(HTTP)/JAX-WS/JAXB)

 

3、如何处理依赖

打开CXF的二进制文件,解压如版本apache-cxf-2.7.0,在modules下我们可以见到许多jar包,到底我们在实际开发中需要哪些?

观察jar包的命名我们可以大致区分为以下几类:

1、cxf-rt-bindings-xxx-version.jar

2、cxf-rt-databinding-xxx-version.jar

3、cxf-rt-frontend-xxx-version.jar

4、cxf-rt-transports-xxx-version.jar

5、cxf-rt-ws-xxx-version.jar

这几个模块与我们前一篇讲述的模块很好的迎合,比如我们采用SOAP/JAX-WS/JAXB这种方法,那么我们需要加入

cxf-rt-bindings-soap-2.7.0.jar

cxf-rt-databinding-jaxb-2.7.0.jar

cxf-rt-frontend-jaxws-2.7.0.jar

cxf-rt-transports-http-2.7.0.jar

这里http://cxf.apache.org/docs/cxf-dependency-graphs.html有各个模块之间的依赖,不怕晕的话就仔细看看吧,好在有maven,我们看好上面几点就可以干活了

你可能感兴趣的:(maven,CXF)