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 WSDLfile diversi . Ad esempio, non è possibile utilizzare lo stesso file per .Nete phpclient. Il WSDLfile 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 WSDLfile. L'operazione CRUD può essere implementata in diversi HTTP Verbsmodi (GET per lettura, POST per creazione, PUT o PATCH per aggiornamento e ELIMINA per l'eliminazione del documento desiderato), si basano sul HTTPprotocollo e il più delle volte la risposta è nel formato JSONo nel XMLformato. D'altra parte, l'applicazione client deve chiamare esattamente i relativi HTTP Verbtramite 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 RESTe SOAPservizi 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'}, ...]
javascriptpuò valutare questo formato per eval()funzione e creare una matrice associativa da questa JSONstringa. Questo è un concetto diverso rispetto ad altri concetti che ho descritto in precedenza.