2

我们在 Axis2/c 中构建了一个 Web 服务,其中的方法依次调用服务器上的内部应用程序。由于 Axis2/c 在性能和稳定性方面被广泛接受,因此我们坚持使用它。但是现在我们正试图让它成为 RESTful [不完全,虽然我更倾向于让它成为真正的 RESTful,但这次我无法获胜 :( ]。

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

我的担忧是:

  1. 表现
  2. 安全
  3. 使服务足够简单,使客户端开发变得相当容易
  4. 要使用的身份验证机制。

PS:我知道我已经问了很多问题,对不起,我只是一个好奇的新手。

4

1 回答 1

3

我将尝试回答这些问题:

  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 也不错。

于 2011-02-04T08:59:43.713 回答