我打算建立一个网络服务或其他一些通过互联网公开的服务。我想为应用程序创建一个API来与此服务交互。我希望API能够用于不同的语言,如Java,C++,C#或PHP。我如何为我的API维护一个代码库,但是为所有这些语言分发好的打包二进制文件?另外,我可能想考虑这也可能是跨平台的。语言不可知的API
更新1
我对Web服务的初期,但我 认为,关键点之一是 大量的模具支持基于的 描述 实施客户像WDSL这样的服务。 我没有交付任何客户端 软件与我所做的任何事情,我 期望任何用户能够建立自己的客户 适合其 需要。 --Brabster的答案
我不反对使它成为一个直接的Web服务,然后发出一个WSDL文件。但是,如果我想让客户端API执行一些逻辑,加密,错误检查等操作呢?
更新2
至于期待客户使用自己的API做任何事,你 不能是 !没有什么东西可以做 ,以确保API的消费者 能够做任何事。 这就是为什么健壮的错误处理很重要的原因。你必须检查并加倍 检查任何和所有来自客户端的 。您一定对 怀疑它,甚至认为 它是恶意的。这个事实确实没有什么好办法。 --Ryan Guill的答案
我最初的想法是在.NET中创建一个DLL或程序集,然后客户端正在调用此代码运行客户端。这段代码可以通过任何通信协议回到服务器,但是我的API将会在他们的盒子上运行。我猜REST并没有真正做到这一点。看起来在REST中,一切仍然是一个HTTP帖子。这是几乎没有肥皂的Web服务。
更新3
我已经接受了瑞安纪廉的答案。我认为总的想法是我需要公开某种网络服务,而对客户端来说是最低的障碍。这样任何人都可以连接。然后让我的所有代码在服务器上运行。这似乎被认为是唯一真正想实现我所追求的平台和语言独立性的人。
感谢您的所有输入。
看到这个问题:http://programmers.stackexchange.com/questions/157536/how-can-i-write-a-set-of-functions-that-can-be-invoked-from-almost-any - 程序 – 2012-07-21 20:54:29