张志刚


摘 要:REST(RepresentationalStateTransfer)表述性状态转移是目前比较流行的WebService架构风格,为软件设计定义了一组架构约束和原则。REST的Java实现框架众多,CXF集成了Celtix和XFire两个开源框架,使得开发Webservice的工作变得更加简单,灵活。文章介绍了CXF的基本概念,系统架构,并对CXF的功能模块和实现原理进行了较为详细的介绍。
关键词:REST;CXF;RESTfulWebService;SpringMVC
REST是Roy Thomas Fielding博士于2000年在他的博士毕业论文中首次提出,中文翻译为表述性状态转移,它是一种简单,灵活的架构风格,主要思想是基于Http构建数据访问接口。REST的所有操作均是无状态的,针对不同的访问请求,数据提供统一的接口,返回Json,XML等格式的数据。
目前,有多种基于Java的restful web servie实现方式,比较流行的包括Rails,Axis2,JAX-RS,Restlet,CXF等。其中CXF是一种轻量级的Restful实现框架,该框架已经成为Apache的顶级项目,它可以方便的与各种MVC框架结合使用,为企业级应用系统提供安全,可靠的数据支持。
一、CXF框架
1.概述
CXF是Apache下的一個顶级SOA简单架构,它实现了企业服务总线ESB框架和设计模式。CXF是两个开源项目Celtix和XFire结合的产物,极大的融合了二者的优点。CXF提供多种技术支持,包括web Servivce架构JAX-WS的支持,并支持Binding,DataBing等功能模块的实现,CXF可以与Spring mvc等系统开发架构实现无缝集成使用。
CXF支持SOAP1.1,1.2和XML/HTTP等多种协议规则,通常使用JAX-WS规范作为Apache CXF webservice的实现规范。采用代码优先(Code First)或者 WSDL 优先(WSDL First)可以非常轻松的实现 Web Services 的发布和使用。
2.CXF体系结构
CXF是基于REST架构风格实现的开源技术框架,提供了创建服务的编程模型。它包括七个主要的组成部分,分别是BUS,消息传递和拦截器(Messaging and Interceptors),前端(Front End),服务模型(Service Model), 数据绑定(Data Binding),端口绑定(Protocl Binding),传输(Transports)。……