【问题标题】:Is there web service (API) standard or best practice for developer teams?开发团队是否有 Web 服务 (API) 标准或最佳实践?
【发布时间】:2008-12-18 05:29:59
【问题描述】:

如果您要开始为您的 Web 应用程序开发 API。是否有任何类型的指南、最佳实践或标准来构建 Web 服务。我已经看到了有关此主题的一些讨论,我希望获得更多信息。

至少获得有关从何处获取信息的指针。

提前致谢。

【问题讨论】:

  • 你已经决定要一个平台了吗? Java,C#,还有别的吗?您是死心塌地使用 SOAP 还是对 RESTful 持开放态度?

标签: web-services


【解决方案1】:

关于“Web 服务”的种类繁多且范围广泛。我发现明确说明我们正在谈论的内容很有用:

web = transported over HTTP(S)
service = remote procedure call (RPC)

请注意,这里的 HTTP(S) 部分仅指定传输介质,而不是内容。另请注意,其中的 RPC 部分仅指定行为(本质上是远程调用带有返回结果的参数的命名函数),而不是内容。

出现的一个关键问题是您是否控制了沟通的双方。如果是这样,尤其是如果不是,则需要关注互操作性。

SOAP 是一种用于实现 Web 服务的标准,它指定使用特定格式的 XML 作为请求和响应的内容。它非常繁重,而且各种实现之间的互操作性仍然存在问题。

有很多自定义实现,其中大多数更轻量级,但您几乎肯定会遇到互操作性问题。

由于任何形式的内容都可能用于实现 Web 服务,因此我建议选择能够处理复杂内容(在不同程度上)、标准化、轻量级和稳健的内容。

我最近倾向于使用 JSON 作为内容格式。我建议您考虑相同,特别是如果您正在考虑实施 AJAX。

最好的祝愿。

【讨论】:

    【解决方案2】:

    API 101

    我粘贴此 URL 作为可能答案的近似值。由于我没有得到任何其他答案,我认为这是尽可能接近的。

    我希望有更详细的最佳实践大纲,如果有人发现更好的东西,请告诉我将他们的答案标记为已接受。

    【讨论】:

      【解决方案3】:

      如果你能回答其中一些问题,你可能会得到更满意的答案。

      1. 将使用该服务的受众是谁?
      2. 哪些类型的客户端技术将使用该服务
      3. 您可以对它们施加哪些假设/限制(平台、工具、技能 设置)?
      4. 您的 API 有多广泛 - 它会公开多少种方法?
      5. 是否需要考虑安全性 - 您需要有多安全?
      6. 您需要支持交易吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-26
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        相关资源
        最近更新 更多