【发布时间】:2010-10-01 05:45:17
【问题描述】:
我正计划建立一个网络服务,或通过互联网公开的一些其他服务。我想为应用程序创建一个 API 以与此服务交互。我希望 API 可以在不同的语言中使用,例如 Java、C++、C# 或 PHP。如何为我的 API 维护一个代码库,同时为所有这些语言分发漂亮的打包二进制文件?另外,我可能想考虑这也可以是跨平台的。
更新 1
我还处于 Web 服务的早期阶段,但我 认为关键点之一是 许多工具支持 基于客户端的实现 WDSL 等服务的描述。 我还没有交付任何客户端 软件与我所做的任何事情,我 期望任何用户都能够构建 他们自己的客户适合他们的 需要。 --Brabster 的回答
我不反对将其作为一个直接的 Web 服务,然后提供一个 WSDL 文件。但是如果我想让客户端 API 做一些逻辑、加密、错误检查等等呢?
更新 2
就期望客户而言 使用你的 API 做任何事情,你 不能!你将一无所有 能够做到确保消费者 API 将做任何正确的事情。 这就是为什么强大的错误处理如此 重要的。你必须检查并加倍 检查所有来的 从客户端。你必须永远是 怀疑它,甚至假设 这是恶意的。真的没有 解决这个事实的好方法。 --Ryan Guill 的回答
我最初的想法是在 .NET 中创建一个 DLL 或程序集,然后客户端调用运行客户端的代码。该代码可以通过任何通信协议与服务器通信,但我的 API 将在他们的机器上运行。我猜 REST 并没有真正做到这一点。似乎在 REST 中,一切仍然是 HTTP 帖子。它几乎是没有肥皂的网络服务。
更新 3
我已接受 Ryan Guill 的回答。我认为一般的想法是我需要公开某种网络服务,对客户端的障碍最低。这样任何人都可以连接。然后让我所有的代码在服务器上运行。这似乎被认为是真正实现我所追求的平台和语言独立性的唯一愿望。
感谢大家的意见。
【问题讨论】:
标签: api