Pregunta 1¿Cuál de los cuatro componentes de una aplicación web usas en lugar de desarrollarlo tú?
Los componentes de un sistema — qué desarrollas tú y qué delegas en servicios externos
Este artículo forma parte del curso Fundamentos de informática, que construye desde cero los conocimientos prácticos de informática que necesitas como mínimo para programar y hacer vibe coding.
Una aplicación web se divide en cuatro partes: frontend, backend, base de datos y servicios externos. Con diagramas comprobamos hasta dónde construyes tú y a partir de dónde usas un servicio ajeno.
Este artículo trata los cuatro componentes que forman una aplicación web.
Tres de ellos los desarrollas tú mismo (los construyes y los preparas por tu cuenta) y el restante lo usas como servicio externo.
- Pantalla donde se escribe la fecha de reserva y el nombre
- Se ejecuta en el dispositivo del usuario
- Procesa los datos de reserva que recibe
- Aquí también se verifica la identidad
- Guarda los datos de reservas y socios
- Se pueden buscar y actualizar después
- Envío de correos de confirmación, pagos y mapas
- Llama a funciones que opera otra empresa
El límite entre desarrollar tú mismo y usar un servicio está justo donde se tocan estos dos marcos.
Una aplicación web se divide en cuatro componentes
Los cuatro componentes son el frontend, el backend, la base de datos (database) y los servicios externos (external service).
Es el backend el que se conecta con la base de datos y con los servicios externos, y la pantalla no se conecta con ellos directamente.
El servidor (server: una computadora que permanece encendida y puede aceptar en cualquier momento solicitudes de otras computadoras) donde se ejecutan estos dos es una computadora distinta del dispositivo del usuario.
Solo el cuarto, el servicio externo, no lo desarrollas tú: usas lo que opera otra empresa.
Los tres de la rama superior tienen la implementación en tu lado, así que también eres tú quien los arregla.
La base de datos es un producto que eliges y operas, pero cuando deja de funcionar es tu lado el que interviene.
Solo el servicio externo no lo puedes arreglar tú cuando falla, y te toca esperar a que otra empresa lo restablezca.
Decidir qué delegas es también decidir qué no vas a poder arreglar tú.
Cuatro componentes, un límite
Una aplicación web se divide en cuatro: frontend, backend, base de datos y servicios externos.
Los tres primeros los desarrollas tú y solo en los servicios externos usas funciones que opera otra empresa, así que quién aporta la implementación y quién responde ante un fallo cambian en este límite.
Los servicios externos no los desarrollas tú: los usas mediante API
Las funciones que cuesta mucho preparar por tu cuenta, como enviar correos de confirmación o cobrar pagos, se delegan en servicios externos.
Las reglas que sigues al llamar a un servicio externo son la API (Application Programming Interface: las reglas acordadas para que los programas intercambien datos entre sí).
Al servicio externo solo pasa la parte central: pedir y comprobar se quedan en tu lado.
En tu lado solo quedan el punto en que mandas la solicitud y el punto en que compruebas el resultado que vuelve.
Si lo desarrollas tú, además de la función en sí, mantenerla también pasa a ser tarea tuya.
Aunque lo delegues, mandar la solicitud y comprobar el resultado siguen siendo tuyos.
Lo único que pasa al servicio externo es la implementación.
Servicio externo y API externa
A veces se escriben por separado: servicio externo para aquello a lo que llamas y API externa para el punto por el que lo llamas.
Señalan lo mismo, y la diferencia está en si lo miras como servicio o como punto de llamada.
El éxito o el fallo se decide de forma independiente en cada componente
Una misma acción puede abarcar varios componentes.
Que la reserva quede confirmada lo decide la escritura en la base de datos, y que salga el correo de confirmación lo decide la solicitud al servicio externo.
La reserva queda confirmada en el momento en que se escribe en la base de datos.
El envío del correo de confirmación viene después, como una solicitud aparte al servicio externo.
Aunque el correo no llegue, la reserva confirmada permanece.
Esta separación te sirve tal cual para investigar un fallo.
«No aparece la reserva» y «no llega el correo de confirmación» te llevan a componentes distintos.
En el primer caso revisas el backend y la base de datos, y en el segundo la solicitud al servicio externo.
La rama de arriba es la confirmación y la de abajo el aviso, y si una falla, la otra se queda tal cual.
El éxito se decide componente a componente
Cuando una acción abarca varios componentes, el éxito y el fallo no se deciden en bloque.
La reserva queda confirmada con la escritura en la base de datos y el correo de confirmación lo decide la solicitud al servicio externo, así que, ante un aviso de fallo, primero separa cuál de los dos procesos falló.
Verificación de conocimientos
Responde cada pregunta una a una.
Pregunta 2¿Qué pasa si el correo de confirmación no llega después de que la reserva se haya escrito en la base de datos?
Pregunta 3Cuando delegas el envío del correo de confirmación en un servicio externo, ¿qué se queda en tu lado?