我已經看到了圍繞這個主題的幾個問題,但沒有真正滿足我的答案。面向服務與面向API的服務
我試圖把我感覺到的東西放在話上,但沒有總能夠清楚地表達它們來說服周圍的人。可能是我錯了。可能是因爲我的理解力不夠深,無法找到合適的論點。
您會如何根據「面向服務的方法」而不是「傳統的」API方法來對比開發中的應用程序?
讓我們在這裏完全清楚,通過服務,我不一定是指Web服務。
以下是我看到的一些差異。請糾正我,如果我錯了:
- 服務是一個「living thing」,您可以根據給定和明確的協議談話。服務具有自己的運行時,而庫使用應用程序的運行時。您可以將「生物」移動到任意位置
- 庫允許基於代碼的集成,而服務傳統上使用基於消息的集成(但是,沒有什麼能真正阻止您基於交換消息編寫庫)
- 服務發現
- 合同明確,並表示「外」運行代碼
- 服務是自治的(但在這裏,你可以寫自治的API,你能不能?)
- 邊界是明確
我在這裏錯過了什麼?還有什麼區別服務和高級API?