Aplicación web

Patrón arquitectónico de aplicación web
Tabla 3: Componentes de aplicaciones web
Nivel | Componentes |
---|---|
Presentación |
La aplicación frontend es todo contenido estático (HTML, CSS, JavaScript e imágenes) generado por las utilidades de React como create-react-app. Amazon CloudFront aloja todos estos objetos. La aplicación web, cuando se usa, descarga todos los recursos en el navegador y comienza a ejecutarse desde allí. La aplicación web se conecta al backend y llama a las API. |
Lógico |
El nivel lógica se construye con funciones de Lambda encabezadas por las API REST de API Gateway. Esta arquitectura muestra varios servicios expuestos. Hay varias funciones de Lambda diferentes, cada una de las cuales maneja un aspecto diferente de la aplicación. Las funciones de Lambda están detrás de API Gateway y se puede acceder a ellas mediante rutas de URL. La autenticación de usuarios se maneja mediante grupos de usuarios de Amazon Cognito o proveedores de usuarios federados. API Gateway utiliza la integración inmediata con Amazon Cognito. Solo después de autenticar a un usuario, el cliente recibirá un token JSON Web Token (JWT) que debe usar al realizar las llamadas a la API. A cada función de Lambda se le asigna su propio rol de IAM para proporcionar acceso al origen de datos adecuado. |
Datos |
En este ejemplo concreto, DynamoDB se usa para el almacenamiento de datos, pero se pueden usar otros servicios de almacenamiento o bases de datos de Amazon especialmente diseñados según el caso de uso y el escenario de uso. |