基于Apache CXF构建SOA应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 Apache CXF框架简介

Apache CXF框架是一个开源的Web Services框架。它来源于两个著名的开源项目——ObjectWeb Celtix和Codehaus XFire。其中,ObjectWeb Celtix是一款著名的开源ESB产品,Codehaus XFire则是闻名遐迩的SOAP堆栈软件。这两个开源项目在2006年合并后诞生了Apache CXF开源项目。强强联手之后生成的Apache CXF自然集两者的长处于一身。Apache CXF的诞生给开源SOA工具领域带来很大的冲击。Apache CXF是开源社区中继JAX-WS R1之后第一个通过JAX-WS TCK的SOAP堆栈,同时它还支持众多的标准、数据绑定、传输协议。

Apache CXF提供了对JAX-WS规范的全面支持,一方面提供了对多种绑定(Binding)、数据绑定(DataBinding)、传输协议(Transport)以及数据格式(Format)的支持,另一方面,可以根据实际项目的需要,采用代码优先(Code First)或者WSDL文档优先(WSDL First)来轻松地实现Web Services的发布和使用。Apache CXF利用前端编程(Frontend API)模式来构建和开发Services,这与JAX-WS类似。这些Services可以支持多种协议,如SOAP、XML/HTTP、RESTful HTTP或者CORBA,并且可以在多种传输协议上运行,如HTTP、JMS或者JBI。CXF大大简化了Services的创建,同时它继承了XFire的传统,一样可以无缝地与Spring进行集成和整合。

选择Apache CXF框架的理由很多,主要体现在它良好的特性上。这些特性主要表现在:①简单易用,支持众多编程模型;②与Spring紧密集成;③提供了对RESTful服务的支持;④可插拔的框架结构设计,可自适应地支持其他多种数据绑定、协议标准和遗留系统;⑤具有轻量级Web Services框架;⑥友好的商业Apache许可证。

目前,Apache CXF有很好的用户基础,这主要是因为Apache CXF传承了XFire和Spring的优良“基因”,这两个平台的使用者可继续沿用以前的知识。加上对JAX-WS、数据绑定、多传输协议、多数据格式和RESTful的支持,Apache CXF框架的未来一直都被看好,关注其进展是非常有意义的。