WSDL:代表Web服務描述語言
在SOAP(簡單對象訪問協議),當您使用Web服務,並添加Web服務到您的項目,您的客戶端應用程序(一個或多個)不瞭解Web服務功能。現在,它不知何故是老式的,對於每種不同的客戶端,你必須實現不同的WSDL
文件。例如,對於.Net
和php
客戶端,您不能使用相同的文件。 WSDL
文件對Web服務功能有一些描述。這個文件的類型是XML
。 SOAP
是REST
的替代品。
REST:代表具象狀態傳輸
這是另一種API服務,這是很容易使用的客戶端。它們不需要像WSDL
文件那樣的特殊文件擴展名。 CRUD操作可以通過不同的HTTP Verbs
(讀取GET,創建POST,更新PUT或PATCH和刪除所需文檔的DELETE)實現,它們基於HTML
協議,並且響應的大部分時間爲JSON
或XML
格式。另一方面,客戶端應用程序必須通過確切的參數名稱和類型完全調用相關的HTTP Verb
。由於沒有用於定義的特殊文件,如WSDL
,它是使用端點的手動作業。但是這不是什麼大問題,因爲現在我們有很多插件用於不同的IDE來生成客戶端實現。
SOA:代表面向服務架構
包括所有與Web服務的概念和架構的編程。想象一下你想要實現一個大規模的應用程序。一種做法可能有一些不同的服務,稱爲微服務,整個應用程序機制將在正確的時間調用所需的Web服務。 REST
和SOAP
網絡服務都是SOA
。
JSON:代表javascript Object Notation
時序列化對象的JavaScript對象格式的類型是JSON。 假設你有人類的類:
class Human{
string Name;
string Family;
int Age;
}
,你必須從這個類中的一些實例:
Human h1 = new Human(){
Name='Saman',
Family='Gholami',
Age=26
}
時序列化H1對象JSON結果是:
[h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]
javascript
可以通過eval()
函數來評估此格式並從此JSON
字符串中創建關聯數組。與以前描述的其他概念相比,這是一個不同的概念。
優秀的答案一直到上JSON的虎頭蛇尾VS XML。更平衡的版本將是:XML和JSON是串行化數據的方式。 XML更靈活,並且圍繞它設計了許多標準,但有些人認爲它太複雜和冗長。 JSON是一種更簡單的格式,它以簡潔的方式定義了幾個基本結構,這對於非正式的數據結構很容易使用;一些人正在制定標準來複制那些存在於XML之上的標準。 – IMSoP