Apache CXF目前我看的版本是2.0.4-incubator。它仍然属于Apache孵化项目。也就是说,该项目还未成熟。很多内容仍然处于开发阶段。事实上也的确如此,你看过它官方提供的User's Guide就知道,起码他文档那一块就没完成(呵呵...前两天还就官方文档对CXF的开发者Willem同志抱怨过。感谢他提供的帮助)。但是,这并不会影响我学习它兴趣。首先就是因为它的名字CXF, CXF是指Celtix + XFire. XFire对于了解Webservice的朋友来说是无人不知无人不晓的。它提供了非常优秀而又简便的WebService解决方案。而Celtix我不知道有多少朋友了解这个项目(起码之前我不了解)。它是开源组织ObjectWeb的一个ESB解决方案的开源项目。Celtix提供了一个Run-time的Java enterprise service bus (ESB)(Java企业服务总线)以及一组可扩展的API,通过使用一个基于标准的,面向服务的体系来简化商业与技术组件的构建,集成和灵活重复使用 。不过这个项目在2006年1月就停止了官网是http://celtix.objectweb.org/。简而言之,对于CXF的初步想法就是这个项目是ESB+Webservice的解决方案。
初试CXF是根据研究它下载文件中的Sample。因为对于JaxWS不熟悉,所以一开始就理解上有点问题。我一直都以为Webservice必须结合 WebContainer来使用,就算你不用Tomcat这样的容器,也起码使用Jetty来运行吧。可原来使用Jaxws就可以实现不必直接部署 WebService到WebContainer中去。可是我仍然不理解,如果脱离了webContainer,脱离IP地址的绑定,我们怎么实现分布式部署呢?(以后慢慢理解吧)
所以我一开始就尝试了 java_first_spring_support这个Sample,这是一个可以放在webContainer中的一个结合Spring运行的 Example。你也可以直接使用它的Server.java这个类来通过jetty直接运行。不过对于这个Sample的研究很有价值,因为它能够让你结合以前webservice的经验对于CXF有一个初步的认识。也可以由此来尝试CXF中不同的传输方式以及其他不同的功能。
不过在使用时我发现目前CXF所支持的Data bindings方式似乎只有JAXB 2.0。而JAXB不是一个很好的数据binding解决方式。因为就我所了解的Jaxb它是不支持Interface对象的,也就是说你传递参数时只能传递Implementation对象,而当你传输interface对象时它会无法根据interface生成该对象的实例。并且JAXB对于 Object类型支持的也不好。不过官网上说"XMLBeans, Castor and JiBX will be supported in CXF 2.1." 所以,下个版本的CXF我们就可以直接使用Interface对象作为参数以及返回类型了。但目前版本似乎不适合完全的IDD(Interface Drive Design)。
目前我本人还有些地方无法确定,比如我看了差不多所有的CXF中自带的Sample,可是没有发现很明显的ESB(企业服务总线)的Sample。而大多数都是Webservice的多种不同的实现方式。而我之前说过,我对于CXF的第一印象是ESB+Webservice,可EBS部分似乎没有体现出来。当然我目前对于ESB的理解仅停留在Jboss ESB那庞大的实现方式上。可能CXF的ESB实现更轻量级。(以后慢慢深入理解)
以后的文章会随着我的学习进度对CXF中的每个功能都加以详细的分析。To be continue...
分享到:
相关推荐
Apache CXF是一个开源框架,主要用于构建和开发Web服务。它提供了强大的工具和支持,使得开发者能够轻松地创建、部署和管理SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)服务...
通过深入研究提供的资源,开发者不仅可以学习到Web服务的基本概念,还能掌握CXF框架的高级功能,从而提升在企业级应用开发中的能力。无论是新手还是有经验的开发者,都能从这个主题中获益良多。
Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个"apache-cxf-2.7.6.rar"文件包含的是Apache CXF 2.7.6版本的源码、库文件和其他相关资源。CXF这个名字是“Cocoon XML Framework”的缩写,起初它...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented ...对于希望深入理解Web服务技术或者需要构建高效、可扩展服务的开发者来说,Apache CXF是一个值得研究和使用的框架。
通过研究和使用"apache-cxf-3.1.11",开发者可以深入了解Web服务的实现细节,学习如何使用CXF创建高效、安全的分布式应用程序。同时,也可以通过查看源码和示例来学习框架的内部工作原理,提升自身的技术能力。
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。...下载并研究"apache-cxf-3.1.4.zip"的内容,将有助于你掌握Web服务开发的核心技术,并提升在SOA和微服务领域的专业能力。
Apache CXF是一个开源的Java框架,它主要用于...总的来说,Apache CXF是一个强大的Web服务框架,它的3.0.5版本提供了稳定的基础,同时源码的开放性使得开发者有机会深入研究并对其进行定制,以适应各种复杂的业务场景。
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.0.9-src"压缩包包含了CXF框架的源代码,允许开发者深入理解其内部工作原理,进行定制化开发或者贡献代码到开源...
而"apache-cxf-2.1.4.tar.zip"文件则是CXF的源代码或二进制发行版,开发者可以下载并研究其内部结构,或者直接在项目中使用。 总之,Apache CXF 2.1.4是一个强大的工具,提供了丰富的功能来构建和使用Web服务。通过...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构..."apache-cxf-3.1.8-src.zip"源码包是学习和研究CXF的宝贵资源,通过深入源码,我们可以更全面地掌握其工作原理,提升开发效率和应用质量。
Apache CXF是一个开源的Java框架,它主要用于...通过研究源代码,开发者可以深入理解CXF的工作原理,学习如何扩展和优化CXF以满足特定需求。此外,对于想要贡献代码给Apache CXF社区的开发者来说,这是个很好的起点。
- **src**:源代码,如果你有兴趣深入研究CXF的工作原理,这是一个很好的起点。 - **tools**:包含一些辅助工具,如WSDL和XSD处理器。 在实际开发中,你可以通过解压这个压缩包,然后根据项目需求配置相应的环境,...
通过深入研究"apache-cxf-3.1.16-src"源代码,开发者不仅可以了解CXF的工作机制,还可以学习到如何自定义CXF的行为,如编写自己的消息处理器、扩展数据绑定或创建新的传输机制。这对于高级开发者和框架贡献者来说是...
通过深入研究源代码,你可以了解到CXF如何处理请求和响应、如何解析和生成XML、如何实现各种Web服务标准等核心功能。 总的来说,Apache CXF是一个强大的工具,它简化了Web服务的开发过程,提供了丰富的功能和灵活性...
而"apache-cxf-3.1.1-src.zip"则包含了源代码,对于开发者来说,这些源码可以用于研究框架的工作原理,进行自定义修改或参与社区贡献。 总的来说,Apache CXF 3.1.1是一个强大的工具,可以帮助开发者快速构建高质量...
通过解压并编译"apache-cxf-3.2.1-src",开发者可以研究源代码,学习如何实现Web服务的高级特性,或者对框架进行扩展以适应项目需求。此外,源码包还包含了完整的文档和示例,可以帮助初学者快速上手。 总的来说,...
本教程将介绍如何利用Apache CXF 3.0、Spring 4.0和Maven 3.0这三个强大的工具来创建一个简单的RESTful接口。 Apache CXF是一个开源框架,专门用于构建Web服务,包括SOAP和RESTful接口。它提供了丰富的功能,如自动...
Apache CXF 是一个开源的Java框架,主要用于构建和开发...同时,结合源码包进行学习和研究,能够更全面地掌握CXF的使用和扩展技巧。对于Java开发者而言,熟悉并掌握Apache CXF框架是提升Web服务开发能力的重要一步。