第1篇:CXF理论篇
在Java领域,WebService的框架很多,例如:AXIS,XFire,CXF等。AXIS,XFire相对照较成熟。
Axis全程Apache Extensible Interaction System即Apache可扩大交互系统。是第3代Apache SOAP。本质上就是1个SOAP引擎,但不完全是1个SOAP引擎,它还是1个独立的SOAP服务器和1个嵌入Servlet引擎的服务器。
XFire是新1代的Java Web服务引擎,可以非常容易地和Spring集成。是codeHaus组织提供的1个开源框架,构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务。
Apache CXF项目是由ObjectWeb Celtix和CodeHaus合并成立。 CXF框架是1种基于Servlet技术的SOA利用开发框架,要正常运行基于CXF利用框架开发的企业利用,除CXF框架本身以外,还需要JDK和Servlet容器的支持。
Apache CXF= Celtix + Xfire支持多种协议:
1)SOAP1.1,1.2
2)XML/HTTP
3)CORBA(Common Object Request BrokerArchitecture公共对象要求代理体系结构,初期语言使用的C,c++,C#)并可以与Spring进行快速无缝的整合
4)灵活的部署:可以运行在Tomcat,Jboss,Jetty,IBMWwbSphera,BeaWebLogic上面。
CXF的结构
BUS:是CXF的主干,为同享资源提供了1个可配置的场所,类似于Spring的ApplicationContext.默许Bus是基于Spring的。
Interceptor:CXF建立于1个通用的消息层之上,主要由消息,拦截器和拦截器链组成。
Service Model服务模型,有ServiceInfo和服务本身。ServiceInfo作用类似于WSDL,包括接口信息,绑定,端点等信息;服务包括ServiceInfo,数据绑定,拦截器和服务属性等。可以使用Java类和WSDL来创建服务。1般是由前端负责服务的创建,通过ServiceFactory来完成。
Bindings:停工在传输之上映照的具体格式和协议方法。BindingFactory负责创建Binding。
Transports:向绑定和前端屏蔽传输细节。
总结
CXF其实不是Web Service,CXF只是发布调用Web Service的工具而已。Web Service是1种标准,规范。