WSDL : Stand per il linguaggio di descrizione del servizio Web
In SOAP (semplice protocollo di accesso agli oggetti), quando si utilizza un servizio Web e si aggiunge un servizio Web al progetto, le applicazioni client non conoscono le funzioni del servizio Web. Oggi è in qualche modo vecchio stile e per ogni tipo di client diverso è necessario implementare WSDL
file diversi . Ad esempio, non è possibile utilizzare lo stesso file per .Net
e php
client. Il WSDL
file contiene alcune descrizioni relative alle funzioni del servizio Web. Il tipo di questo file è XML
. SOAP
è un'alternativa a REST
.
REST : Supporti per il trasferimento di stato rappresentativo
È un altro tipo di servizio API, è davvero facile da usare per i clienti. Non hanno bisogno di avere un'estensione speciale come i WSDL
file. L'operazione CRUD può essere implementata in diversi HTTP Verbs
modi (GET per lettura, POST per creazione, PUT o PATCH per aggiornamento e ELIMINA per l'eliminazione del documento desiderato), si basano sul HTTP
protocollo e il più delle volte la risposta è nel formato JSON
o nel XML
formato. D'altra parte, l'applicazione client deve chiamare esattamente i relativi HTTP Verb
tramite nomi e tipi di parametri esatti. A causa della mancanza di un file speciale per la definizione, ad esempio WSDL
, è un lavoro manuale che utilizza l'endpoint. Ma non è un grosso problema perché ora abbiamo molti plugin per diversi IDE per generare l'implementazione sul lato client.
SOA : Stand per l'architettura orientata ai servizi
Include tutta la programmazione con concetti e architettura dei servizi web. Immagina di voler implementare un'applicazione su larga scala. Una pratica può essere avere alcuni servizi diversi, chiamati micro-servizi e l'intero meccanismo applicativo chiamerebbe il servizio web necessario al momento giusto. Entrambi REST
e SOAP
servizi web sono un po ' SOA
.
JSON : sta perjavascript Object Notation
quando si serializza un oggetto per JavaScript il tipo di formato oggetto è JSON. immagina di avere la classe umana:
class Human{
string Name;
string Family;
int Age;
}
e hai alcune istanze di questa classe:
Human h1 = new Human(){
Name='Saman',
Family='Gholami',
Age=26
}
quando si serializza l'oggetto h1 su JSON il risultato è:
[h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]
javascript
può valutare questo formato per eval()
funzione e creare una matrice associativa da questa JSON
stringa. Questo è un concetto diverso rispetto ad altri concetti che ho descritto in precedenza.