代码之家  ›  专栏  ›  技术社区  ›  Alex

捷达vs CXF/选择哪一个?

  •  0
  • Alex  · 技术社区  · 15 年前

    对于Java世界来说,我是相当新的,并且被数十个相同或不相同的库之间的选择的美丽所淹没。

    所以有了码头和CXF。我正在寻找一个内置支持多种传输和协议的Web服务栈。

    我的印象是,CXF是最新的项目,并且是新软件项目的首选。尤其是当涉及到必须讨论各种不同协议和标准的应用程序时,比如WS-*。

    你能就这些框架之间的区别给出你的看法吗?

    哪一个对不同的协议和标准有更广泛的支持?

    关于它的设计,您更喜欢哪一个,例如,它们如何从应用程序逻辑中隐藏传输、身份验证、授权、序列化方面?

    任何形式的回答都非常欢迎!

    干杯, 亚历克斯

    3 回复  |  直到 15 年前
        1
  •  6
  •   Pascal Thivent    15 年前

    这里有一个误会,杰蒂和CXF就像苹果和桔子,比较它们是没有意义的。一个是轻型servlet引擎,另一个是Web服务堆栈。

    如果你正在寻找一个Web服务栈(这是我的理解),考虑JAX-WS RI或CXF,如果你正在寻找一个JAX-WS兼容的栈(既支持第一个契约或Java第一个),或者SpRunWS(“仅”合同第一),或者AxIS2(我不喜欢它,因为它的开发和部署模型及其性能)。

    如果您不需要特殊的WS-*,我建议使用JAX-WS-RI,它包含在Java 6中,并且符合WS-I基本配置文件1.1(因此它涵盖了一组相当不错的WS-*标准)。如果您需要更高级的东西(如WS-SecureConversation、WS-SecurityPolicy、WS-ReliableMessaging、WS-Trust、WS-AtomicTransactions/Coordination、WS-MetadataExchange、由wsit/Tango提供的TCP上的SOAP),请考虑使用Metro(Metro=jax-ws-ri+wsit/Tango)。

    (编辑:回答OP关于WS-SecureConversation支持的评论。

    实际上,我认为支持大多数WS-*标准的堆栈是Metro。你可能想查一下 Apache Axis2, CXF and Sun JAX-WS RI in comparison 了解更多详细信息。但是,您不太可能需要所有这些内容,而且自文章发表以来,情况可能略有变化。因此,CXF可能确实是一种替代方案。例如,对于WS-SecureConversation,CXF也根据其 documentation 但仅限于“WSDL优先”项目。如果没有关于你将要做什么的更多细节,很难给出一个更准确的答案,关于哪一个最适合你。)

        2
  •  11
  •   Carl    15 年前

    Jetty是一个Web服务器和servlet容器。cxf是一个Web服务库。如果您希望提供类似于Web服务器的内容,请选择Jetty。如果需要连接或提供Web服务,请选择cxf。我不确定这两者之间有没有模糊的区域。

        3
  •  0
  •   anonymous    15 年前

    Jetty是一个服务器(servlet容器),Tomcat和其他一些服务器也是如此。Jetty很不错,Tomcat已经存在一段时间了,有更多的文档和教程。

    cxf看起来是一个有趣的选择。我只使用了直接实现,而cxf是相当新的,我认为它是Xfire项目的延续。

    cxf看起来是个明智的选择 . 当有疑问时,我会说使用基于它们的标准和框架。我会说,浏览文档,对于复杂的问题,您可能想要订阅一些邮件列表。