web-services - 我应该坚持使用 axis2c 还是转向 apache wink?

标签 web-services rest frameworks axis2c apache-wink

我们在 Axis2/c 中内置了一个 Web 服务,其中的方法依次调用服务器上的内部应用程序。由于 Axis2/c 就性能和稳定性而言被广泛认为是良好的,因此我们坚持使用它。但现在我们正试图让它变得 RESTful [不完全,虽然我更倾向于让它真正 RESTful,但这次我赢不了 :( ]。

我在 axis2/c 中找不到任何关于 RESTful 服务的好的教程。但是在 google 和 stackoverflow 上搜索让我对 apache wink 感到好奇。我应该远离 axis2/c 吗?如果是这样,眨眼是一个不错的选择吗?我是一名 .net 开发人员,所以我对这个世界还很陌生,但是哪一个可以满足需求呢?请推荐其他框架。

我担心的是:

  1. 性能
  2. 安全
  3. 使服务足够简单,以便客户端开发变得非常容易
  4. 要使用的身份验证机制。

PS:我知道我问了很多问题,抱歉,但我只是一个好奇的新手。

最佳答案

我会尽力回答您的疑虑:

  1. 性能:在谈论 REST 时(实际上 SOAP 也是如此),大部分时间都花在对象的序列化/反序列化上(假设实际的应用程序逻辑非常快)。在 SOAP 中,您必须序列化为 xml,而在 Axis2 中,您可以选择使用哪个框架。例如,您可以使用 JiBX,它可能效果最好。
    在 REST 中,您可以决定是否要序列化为 xml,或者可能是其他更快的表示形式(例如 json)。
    大约 1.5 年前,我对 REST 框架做了一些比较,实际上 Wink 在大多数场景下都有最好的性能(我将它与 Jersey、ReSTLet 和 Resteasy 进行了比较)。为了忽略序列化部分,我让它们都使用相同的 JAXB 实现。但还是那句话:大部分时间都花在序列化上。所以框架之间的差异并没有那么大。

  2. 安全性 - Wink 与任何其他 RESTful Web 服务一样基于 HTTP。它不提供任何额外的安全性。您可以使用 SSL/TSL 或基本/摘要式身份验证。您可以使用 SAML 或任何您想要的。只是所有其他 HTTP 调用。

  3. 这是你的设计。如果你让它变得简单,它就会变得简单:)

  4. 再说一次:它是 HTTP。如果您有 SSL/TSL,则可以使用基本身份验证。如果没有,您可能需要使用摘要。

简要总结:就个人而言,我更喜欢 RESTful Web 服务而不是 SOAP。尽管您没有获得所有 WS* 堆栈,但不知何故,它的定义更好、更灵活且更易于理解。
Apache Wink 是一个很棒的框架,有详细的文档和大量示例,并且可能会满足您的所有需求,但说实话,Jersey 也不错。

关于web-services - 我应该坚持使用 axis2c 还是转向 apache wink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889946/

相关文章:

java - WSDL2JAVA 用于简单的 http 获取 php 页面?

ruby-on-rails - 使用 Doorkeeper 使用客户端凭据在 OAuth 中发布

php - 轻量级、基于 PHP 的布局框架……知道吗?

java - Tomcat 和 Web 服务

php - 具有 SSL 的站点是否可以使用不安全的 SOAP 向 Web 服务发出请求?

ASP.NET Web API、Web 服务发现和客户端创建

java - 处理多部分/表单数据输入

node.js - mean.js $resource 调用快速服务器 RESTful API

frameworks - 如何在用户机器上构建不需要框架的软件?

ios - 更新到 iOS 9 错误 : i386 Unsupported architecture