2008-12-18 47 views
6

如果您要开始为您的Web应用程序开发API。有什么样的指导方针,最佳实践或标准来构建Web服务。我已经在这个主题上看到了一些讨论,我想获得更多信息。开发人员团队是否有Web服务(API)标准或最佳实践?

至少得到哪里获取信息的指针。

在此先感谢。

+0

您是否决定使用平台? Java,C#,别的东西?您是否在使用SOAP时遇到困难,或者您是否愿意使用RESTful? – 2008-12-18 06:34:55

回答

1

API 101

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

我希望有更多的细节最佳实践大纲,如果有人找到更好的东西,让我知道标记他们的答案被接受。

1

关于“网络服务”存在广泛的范围和宽容度。我发现它有用做什么,我们正在谈论的明确注:

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

注意,这样做的HTTP(S)部分仅规定了传输介质,而不是内容。还要注意,这个RPC部分仅仅指定了行为(实质上是远程调用一个带有返回结果的参数的命名函数)而不是内容。

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

SOAP是实现Web服务的标准,该服务为请求和响应的内容指定了使用特定格式的XML。这是非常沉重的,并且跨各种实现的互操作性仍然存在问题。

有很多自定义实现,其中大部分更轻,但几乎肯定会有互操作性问题。由于任何形式的内容都可能用于实现Web服务,因此我建议您选择能够处理复杂内容(不同程度),标准化,轻量级和强大的内容。

我最近倾向于JSON的内容格式。我建议考虑一样,特别是如果你正在考虑实施AJAX。

祝福。

0

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

  1. 谁将会消费该服务的观众?
  2. 什么类型的客户端技术将消耗服务
  3. 你可以对他们设置什么假设/限制(平台,工具,技能 集)?
  4. 你的API有多广泛 - 它会暴露多少种方法?
  5. 安全是一个考虑因素 - 您需要保持多少安全?
  6. 您是否需要支持交易?