Java Jetty vs CXF/选择哪一种?

Java Jetty vs CXF/选择哪一种?,java,web-services,jetty,cxf,Java,Web Services,Jetty,Cxf,我对Java世界是相当陌生的,对于在几十个库中做或多或少相同的事情,或者不做相同的事情,我感到非常惊讶 Jetty和CXF也是如此。我正在寻找一个web服务堆栈,它内置了对各种传输和协议的支持 我的印象是,CXF是较新的项目,将是新软件项目的首选。特别是当应用程序需要讨论各种不同的协议和标准时,比如WS-* 您能否就这些框架之间的差异给出您的看法 哪一个对不同的协议和标准有更广泛的支持 关于它的设计,您更喜欢哪一个?例如,它们对应用程序逻辑隐藏传输、身份验证、授权和序列化方面的效果如何 欢迎任何

我对Java世界是相当陌生的,对于在几十个库中做或多或少相同的事情,或者不做相同的事情,我感到非常惊讶

Jetty和CXF也是如此。我正在寻找一个web服务堆栈,它内置了对各种传输和协议的支持

我的印象是,CXF是较新的项目,将是新软件项目的首选。特别是当应用程序需要讨论各种不同的协议和标准时,比如WS-*

您能否就这些框架之间的差异给出您的看法

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

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

欢迎任何回答

干杯,
Alex

Jetty是一个web服务器和servlet容器。CXF是一个web服务库。如果您想提供类似web服务器的内容,请选择Jetty。如果需要连接或提供web服务,请选择CXF。我不确定两者之间是否有任何模糊区域。

Jetty是一个web服务器和servlet容器。CXF是一个web服务库。如果您想提供类似web服务器的内容,请选择Jetty。如果需要连接或提供web服务,请选择CXF。我不确定两者之间是否有任何模糊区域。

Jetty是一个servlet容器,Tomcat和其他一些容器也是。Jetty很不错,Tomcat已经出现了一段时间,有更多的文档和教程

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


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

Jetty是一个servera servlet容器,Tomcat和其他一些容器也是。Jetty很不错,Tomcat已经出现了一段时间,有更多的文档和教程

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


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

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

如果您正在寻找一个Web服务栈,这是我的理解,如果您想寻找JAX-WS兼容的堆栈,则考虑JAX-WS RI或CXF,它首先支持合同第一或java,或者SpRunWS只先签合同,或者AxIS2我不喜欢它,因为它的开发和部署模型及其性能。 如果您不需要花哨的WS-*内容,我建议使用JAX-WSRI,它包含在Java6中,并且与WS-IBasicProfile1.1兼容,因此它涵盖了大量WS-*标准。如果需要更先进的东西,比如WS-SecurCudio、WS SecurityPolicy、WS-RelabelMeMeLe老化、WS-Type、WS原子事务/协调、WS-Meta数据交换、WSIT/Tango提供的TCP上的SOAP,考虑使用Metro Metrase= JAX-WS-Ri+WSt/Tango。 编辑:回答OP关于WS-SecureConversation支持的评论


实际上,我认为支持大多数WS-*标准的堆栈是Metro。您可能需要查看更多详细信息。但是,您不太可能需要所有这些功能,而且自文章发表以来,情况可能略有变化。因此,CXF可能确实是一种替代方案。例如,关于WS-SecureConversation,CXF也支持它,但只支持wsdl优先项目。如果没有更多关于你将要做什么的细节,就很难给你一个更准确的答案,哪一个对你来说是最好的。

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

如果您正在寻找一个Web服务栈,这是我的理解,如果您想寻找JAX-WS兼容的堆栈,则考虑JAX-WS RI或CXF,它首先支持合同第一或java,或者SpRunWS只先签合同,或者AxIS2我不喜欢它,因为它的开发和部署模型及其性能。 如果您不需要花哨的WS-*功能,我建议您使用JAX-WSRI,它包含在Java6中,并且与WS-IBasicProfile1.1兼容,因此它涵盖了一个不错的应用程序 一堆WS-*标准。如果需要更先进的东西,比如WS-SecurCudio、WS SecurityPolicy、WS-RelabelMeMeLe老化、WS-Type、WS原子事务/协调、WS-Meta数据交换、WSIT/Tango提供的TCP上的SOAP,考虑使用Metro Metrase= JAX-WS-Ri+WSt/Tango。 编辑:回答OP关于WS-SecureConversation支持的评论


实际上,我认为支持大多数WS-*标准的堆栈是Metro。您可能需要查看更多详细信息。但是,您不太可能需要所有这些功能,而且自文章发表以来,情况可能略有变化。因此,CXF可能确实是一种替代方案。例如,关于WS-SecureConversation,CXF也支持它,但只支持wsdl优先项目。如果没有关于你将要做什么的更多细节,就很难给你一个更准确的答案,哪一个最适合你。

CXF CeltiXfire是Celtix IONA和Xfire Codehaus的合并。CXF CeltiXfire是Celtix IONA和Xfire Codehaus的合并。很好,这正是我想要的澄清!假设我有一个类似OSGi的容器框架,并希望公开一个web服务。说我将作为OSGi捆绑包托管基于CXF的组件是否正确?正如我现在所理解的:Jetty=embeddedablewebserver,CXF=webservicesframework,它支持内置HTTP之类的传输。所以它不依赖于Jetty这样的主机?是的,您可以将CXF组件作为OSGi捆绑包托管。如果只连接到http端点,则不需要Jetty或OSGi HttpService,因为CXF可以使用各种http客户端库进行连接。不过,如果您希望通过HTTP接收连接,CXF似乎使用Jetty,如此文档条目所示[1]。如果还部署了OSGi HttpService,则需要确保它和CXF Jetty实例位于不同的端口上。[1] 回答得很好,伙计们!我想这会让我走上正确的方向。太好了,这正是我想要的澄清!假设我有一个类似OSGi的容器框架,并希望公开一个web服务。说我将作为OSGi捆绑包托管基于CXF的组件是否正确?正如我现在所理解的:Jetty=embeddedablewebserver,CXF=webservicesframework,它支持内置HTTP之类的传输。所以它不依赖于Jetty这样的主机?是的,您可以将CXF组件作为OSGi捆绑包托管。如果只连接到http端点,则不需要Jetty或OSGi HttpService,因为CXF可以使用各种http客户端库进行连接。不过,如果您希望通过HTTP接收连接,CXF似乎使用Jetty,如此文档条目所示[1]。如果还部署了OSGi HttpService,则需要确保它和CXF Jetty实例位于不同的端口上。[1] 回答得很好,伙计们!我想这会让我走上正确的方向。非常有趣!WS-SecureConversation,是的,我需要它。据我所知,CXF会支持它吗?回答得很好,伙计们!我想这会让我朝着正确的方向前进。这个比较链接已经很旧了。CXF现在支持WS-SecurityPolicy、WS-SecureConversation和大部分WS-Trust。我们还在CXF主干上对Metro中的soap/tcp东西提供了实验性支持!WS-SecureConversation,是的,我需要它。据我所知,CXF会支持它吗?回答得很好,伙计们!我想这会让我朝着正确的方向前进。这个比较链接已经很旧了。CXF现在支持WS-SecurityPolicy、WS-SecureConversation和大部分WS-Trust。我们还在CXF主干上对Metro中的soap/tcp东西提供了实验性支持。正如我所写的,自从文章发表以来,情况可能已经发生了变化: