我们在Axis2 / c中构建了一个Web服务,其中的方法依次调用服务器上的内部应用程序。由于Axis2 / c在性能和稳定性方面被广泛接受,因此我们坚持使用它。但是现在我们正在努力使它成为RESTful [不完全,虽然我更倾向于让它真正成为RESTful,但这次我无法获胜:(]。
我在axis2 / c上找不到任何关于RESTful服务的好教程。但搜索google& stackoverflow让我对apache wink感到好奇。我应该离开axis2 / c吗?如果是这样,那就是一个不错的选择?我是一名网络开发人员,所以我对这个世界还很陌生,但哪一个能满足需求呢?请建议其他框架。
我担心的是:
答案 0 :(得分:3)
我会尽力回答这些问题:
性能:在谈论REST时(实际上它与SOAP相同),大部分时间都用于对象的序列化/反序列化(假设实际应用程序逻辑非常快)。在SOAP中,您必须序列化为xml,在Axis2中,您可以选择使用哪个框架。例如,您可以使用JiBX,这可能是最好的
在REST中,您可以决定是否要序列化为xml,或者可能是更快的另一种表示形式(例如json)。
大约1。5年前,我做了一些REST框架的比较,实际上Wink在大多数场景中都有最好的表现(我将它与Jersey,Restlet和Resteasy进行了比较)。要忽略序列化部分,我使它们都使用相同的JAXB实现。但同样:大部分时间都用于序列化。所以框架之间的区别并不是那么大。
安全性 - Wink,因为任何其他RESTful Web服务都基于HTTP。它不提供任何额外的安全性。您可以使用SSL / TSL或基本/摘要身份验证。您可以使用SAML或任何您想要的。只是每个其他HTTP调用。
这是你的设计。如果你简单,那就很简单:)
再次:它是HTTP。如果您有SSL / TSL,则可以使用基本身份验证。如果没有,您可能想要使用摘要。
简要总结:我个人更喜欢RESTful webservices到SOAP。虽然你没有得到所有的WS *堆栈,但它的定义更好,更灵活,更容易理解 Apache Wink是一个很棒的框架,有很多样本记录,可能会满足您的所有需求,但说实话,Jersey也不错。