我打算建立一個網絡服務或其他一些通過互聯網公開的服務。我想爲應用程序創建一個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