Applicazione Web
![Cloud AWS architecture diagram showing client interaction with various AWS servizi.](images/web-application.png)
Pattern di architettura per applicazioni Web
Tabella 3 - Componenti dell'applicazione Web
Livello | Componenti |
---|---|
Presentazione |
L'applicazione front-end è costituita da tutti i contenuti statici (HTML, CSS, JavaScript e immagini) generati dalle utility React, come create-react-app. Amazon CloudFront ospita tutti questi oggetti. Quando viene utilizzata, l'applicazione Web scarica tutte le risorse sul browser e inizia ad essere eseguita da lì. L'applicazione Web si connette al back-end che esegue la chiamata alle API. |
Logic (Logica) |
Il livello logico è composto dalle funzioni Lambda con le API REST di API Gateway come front-end. In questa architettura sono presenti più servizi esposti. Vi sono diverse funzioni Lambda, ognuna delle quali gestisce un aspetto diverso dell'applicazione. Le funzioni Lambda si trovano dietro API Gateway e sono accessibili tramite percorsi URL dell'API. L'autenticazione degli utenti viene gestita tramite i pool di utenti di Amazon Cognito o i provider di utenti federati. API Gateway utilizza l'integrazione pronta all'uso con Amazon Cognito. Solo dopo che un utente è stato autenticato, il client riceverà un token JSON Web Token (JWT) che dovrà quindi utilizzare quando effettua le chiamate API. A ciascuna funzione Lambda viene assegnato un ruolo IAM per fornire l'accesso all'origine dati appropriata. |
Dati |
In questo particolare esempio, DynamoDB viene utilizzato per l'archiviazione dati, ma è possibile utilizzare altri database o servizi di archiviazione Amazon appositamente creati a seconda del caso d'uso e dello scenario di utilizzo. |