Ho cercato di capire come funzionano i servizi web RESTful e ho trovato una serie di dubbi e domande per i quali non sono riuscito a trovare una risposta. Prima di tutto e per assicurarmi di capire correttamente di cosa si tratta, il seguente diagramma riassume come potrebbe essere un'architettura RESTful per un sito Web di piccole dimensioni:
Il primo server contiene fondamentalmente un insieme di servizi identificati dagli URL. Questi servizi ottengono informazioni da diversi database e lo forniscono a qualcuno che chiede tramite un'API REST (JSON) su http o https. Su un altro server, un'applicazione Web in stile MVC interagisce con tali servizi tramite i relativi URL in base alle richieste degli utenti.
- La mia comprensione è corretta?
- In che modo le applicazioni web come Facebook fanno fronte ai ritardi nell'ottenere risposte quando gestiscono più servizi?
- Come ci si assicura che solo determinate entità possano accedere ai servizi (in questo esempio, in che modo Server 1 autentica il Server 2)?
- È comune usare questi tipi di architetture anche per le applicazioni mobili?
- Quando si configura questo tipo di architettura con AJAX, le chiamate AJAX vengono eseguite direttamente ai servizi o passano attraverso il controller dell'applicazione Web principale?