Apache最近宣布了Apache CXF 2.0的发布。Apache CXF提供了一套创建SOA服务的基础设施框架,用户由此可以按照自己喜欢的编程模式,利用Apache CXF提供的简单易用工具(包括Maven插件),创建适合SOA环境的任何WEB服务,包括SOAP/HTTP服务及REST/HTTP服务。Apache CXF可扩展的插拔式架构不但支持XML消息格式和HTTP通信协议,而且还支持基于其他通信协议如IIOP和非XML消息格式如CORBA CDL或JSON。
Apache CXF项目是由Objectweb Celtix和Codehaus XFire在一年前合并成立的。Objectweb Celtix是由IONA公司赞助、于2005年成立的开源Java ESB产品,XFire则是业界知名的SOAP堆栈。合并后的Apache CXF融合该两个开源项目的功能精华,提供了实现SOA所需要的核心ESB功能框架,包括SOA服务创建,服务路由,及一系列企业级QoS功能。此次发布代表了Apache CXF开发人员及社区用户一年的努力结果,并标志 Apache CXF软件的进一步成熟,成为实现SOA的优秀技术解决方案之一。
Apache CXF实现了JCP及Web服务的主要技术标准,大大方便了用户使用不同编程模式进行SOA服务开发,并为企业遗留系统的集成提供了可扩展性。Apache CXF支持的主要技术标准及功能包括:
多种技术标准:Apache CXF完全实现了多个JSR标准,包括JAX-WS 2.0(JSR-224) 、Java Web服务元数据(JSR-181)、和SAAJ (JSR-67)。Apache CXF 2.0发布还通过了JAX-WS 2.0 TCK,成为开源社区继JAX-WS RI之后的第一个通过JAX-WS TCK的SOAP堆栈。Apache CXF还实现了多个Web服务标准,为用户实现企业级的Web服务提供了广泛的支持,这些 Web服务标准包括SOAP 1.1、SOAP1.2、MTOM/XOP 、WSDL 1.0、WS-Addressing、WS-ReliableMessaging 、WS-Policy,WS-Security及WS-I Basic Profile。
多种编程模式:为方便用户按照自己喜欢的方式创建web服务,Apache CXF 2.0提供了多种web服务开发模式。除了完全支持JAX-WS 各种编程模式如client/server、同步、异步 、单程及动态调用接口,Apache CXF 2.0还支持JavaScript及ECMAScript 4 XML(E4X) 编程。Spring用户可以很容易地按照 Spring编程方式快速创建并部署web服务。传统的Java开发人员则可以通过注释(Annotation)方便地进行web服务开发,喜欢POJOs 的Java开发人员更可直接配置并部署基于POJOs的web服务。更值得一提的是,通过Apache Yoko,用户不需要任何CORBA编程知识就可以轻松地把现有CORBA 应用转化为web服务,或开发客户端与现有CORBA应用直接交互。
多种通信协议及消息格式:Apache CXF支持多种通信传输协议,包括HTTP/HTTPS、JMS、 Servlet及同一JVM内通信,并提供了SOAP或纯XML通信消息格式(payload) 支持。同时,Apache CXF具有创新意义的REST/HTTP支持也大大方便了用户创建真正符合REST风格的web服务。对于那些需要重用IT遗留系统的用户来说,Apache CXF 2.0可扩展的插拔式架构允许定制开发并混合使用任何类型的通信协议及通信消息格式。
支持多种容器部署:基于Apache CXF的web服务可以单独运行,也可部署在多种容器里,包括轻量级容器如Tomcat及Spring ,JEE容器如Geronimo, JBOSS, WebLogic等。同时,Apache CXF web服务还可以服务引擎方式部署于JBI容器如ServiceMix或OpenESB 。SCA容器如Apache Tuscany的支持也在计划之中。
目前,与Apache CXF类似的开源项目有Apache Axis2,JBOSS ESB和Sun的Metro项目。据Apache CXF社区宣称,Apache CXF 2.0以其性能和插拔式架构的优势正与其他开源项目区别开来,引起许多SOA编程高级用户的注意。
【编辑推荐】