El backend es una de las partes más importantes de una aplicación moderna.
Mientras el frontend se encarga de lo que el usuario ve e interactúa, el backend se encarga de procesar información, manejar reglas de negocio, conectarse a bases de datos y exponer servicios para que otras aplicaciones puedan utilizarlos.
En esta guía veremos qué es una aplicación backend, qué es una API y cuáles son los componentes principales que suelen tener los frameworks backend.
Qué es una aplicación backend
Una aplicación backend es un servicio que se ejecuta en un servidor y está disponible a través de internet o de una red.
Normalmente, este servicio corre en una URL, un dominio o un puerto específico.
Su trabajo es recibir peticiones, procesarlas y devolver respuestas a los clientes que lo solicitan.
Estos clientes pueden ser:
- Una aplicación web.
- Una aplicación móvil.
- Un programa de escritorio.
- Otro servicio backend.
Para qué sirve el backend
El backend puede encargarse de muchas tareas importantes dentro de una aplicación.
Por ejemplo:
- Registrar usuarios.
- Iniciar sesión.
- Guardar información en una base de datos.
- Consultar datos.
- Eliminar registros.
- Procesar pagos.
- Enviar notificaciones.
- Validar permisos.
Todo esto normalmente se expone mediante una API.
Qué es una API
API significa Application Programming Interface, o interfaz de programación de aplicaciones.
Una API permite que una aplicación cliente pueda comunicarse con un backend y usar los servicios que este ofrece.
Por ejemplo, una aplicación móvil puede enviar una petición al backend para crear un usuario, obtener una lista de amigos o eliminar un registro.
Tipos comunes de API
Existen diferentes formas de construir APIs.
Entre las más conocidas están:
- API REST.
- GraphQL.
- gRPC.
Cada una tiene una forma distinta de comunicar el cliente con el servidor.
Qué es una API REST
REST significa Representational State Transfer.
Una API REST permite que el cliente y el servidor se comuniquen mediante peticiones HTTP.
En este tipo de API, cada funcionalidad suele estar asociada a una ruta o endpoint.
Por ejemplo:
POST /users
DELETE /users/1
GET /friends
GET /users/1
Cada ruta representa una acción o recurso dentro del backend.
Qué es JSON
En muchas APIs REST, los datos se envían y reciben en formato JSON.
JSON significa JavaScript Object Notation.
Es un formato de texto que permite representar información de forma estructurada.
{
"email": "usuario@example.com",
"password": "123456"
}
El cliente puede enviar datos en JSON al servidor, y el servidor puede responder también con datos en JSON.
Qué es un endpoint
Un endpoint es una ruta específica dentro de una API.
Por ejemplo, si tenemos una funcionalidad para crear usuarios, podríamos exponerla en:
POST /users
Si queremos eliminar un usuario por su identificador, podríamos usar:
DELETE /users/1
En este caso, /users/1 indica que se quiere trabajar con el usuario cuyo ID es 1.
Métodos HTTP comunes
Las APIs REST suelen usar métodos HTTP para indicar la acción que se quiere realizar.
GET: obtener información.POST: crear información.PUToPATCH: actualizar información.DELETE: eliminar información.
Por ejemplo, crear un usuario normalmente se hace con POST, mientras que eliminarlo se hace con DELETE.
Qué es GraphQL
GraphQL es otra forma de construir APIs.
Fue creado para resolver algunos problemas comunes de REST, especialmente cuando el cliente recibe más datos de los que realmente necesita.
Por ejemplo, si una aplicación solo necesita la foto de perfil de los amigos de un usuario, en una API REST podría recibir muchos datos adicionales.
Con GraphQL, el cliente puede pedir exactamente los campos que necesita.
{
friends {
profilePhoto
}
}
El servidor procesa esa consulta y devuelve solo los datos solicitados.
Diferencia entre REST y GraphQL
En REST normalmente trabajamos con múltiples endpoints.
En GraphQL, muchas veces se trabaja con un único endpoint que recibe consultas.
La diferencia principal es que en GraphQL el cliente tiene más control sobre los datos que quiere recibir.
Qué es gRPC
gRPC es una tecnología creada por Google basada en llamadas a procedimientos remotos.
RPC significa Remote Procedure Call, o llamada a procedimiento remoto.
La idea es que el cliente pueda llamar una función que realmente se ejecuta en el servidor, pero se siente como si estuviera llamando una función local.
gRPC utiliza HTTP/2 y Protocol Buffers para hacer la comunicación más eficiente.
Por qué REST sigue siendo tan usado
Aunque existen opciones como GraphQL y gRPC, REST sigue siendo una de las formas más populares de construir APIs.
Es fácil de entender, tiene mucha documentación, funciona bien con HTTP y es compatible con muchas herramientas, lenguajes y frameworks.
Por eso suele ser una buena opción para empezar a aprender backend.
Qué es un backend framework
Un backend framework es una herramienta que facilita la creación de aplicaciones backend.
En lugar de construir todo desde cero, el framework ofrece componentes ya preparados para manejar rutas, peticiones, respuestas, controladores, middlewares, acceso a datos y otros elementos comunes.
La mayoría de frameworks backend comparten conceptos parecidos, aunque cambie el lenguaje de programación.
Componentes principales de un backend framework
Los frameworks backend suelen incluir varios componentes fundamentales.
- Router.
- Controller.
- DTO.
- Serializer.
- Acceso a datos.
- ORM.
- Middleware.
Estos componentes ayudan a organizar el código y mantener la aplicación más limpia.
Qué es un router
El router es el componente encargado de asociar una ruta con una funcionalidad.
Cuando llega una petición al backend, el router revisa la URL y el método HTTP para decidir qué parte del código debe ejecutarse.
Por ejemplo:
POST /users
El router puede enviar esa petición al controlador encargado de crear usuarios.
Sin un router, el código sería mucho más difícil de organizar, porque todas las peticiones tendrían que manejarse de forma manual.
Qué es un controller
Un controller, o controlador, es la función o clase que maneja una petición específica.
El controlador recibe los datos de la petición, ejecuta la lógica necesaria y construye una respuesta para el cliente.
Por ejemplo, un controlador para crear usuarios podría:
- Leer el correo y la contraseña enviados por el cliente.
- Validar los datos.
- Guardar el usuario en la base de datos.
- Devolver una respuesta con el ID del usuario creado.
Qué es una request y una response
En backend se trabaja mucho con los conceptos de request y response.
La request es la petición que llega desde el cliente.
La response es la respuesta que el servidor envía de vuelta.
Una response normalmente incluye:
- Un status code.
- Headers.
- Un body, muchas veces en formato JSON.
Qué son los status codes
Los status codes indican el resultado de una petición HTTP.
Algunos códigos comunes son:
200: petición correcta.201: recurso creado correctamente.400: error en la petición.401: usuario no autenticado.403: usuario sin permisos.404: recurso no encontrado.500: error interno del servidor.
Qué es un DTO
DTO significa Data Transfer Object.
Un DTO es una estructura que representa los datos que entran o salen de la aplicación.
Por ejemplo, si un cliente envía un JSON para crear un usuario, el backend puede convertir esos datos en un DTO.
{
"email": "usuario@example.com",
"password": "123456"
}
Ese JSON puede convertirse en una estructura como:
class CreateUserDto {
email: string;
password: string;
}
Esto permite trabajar con los datos de una forma más clara dentro del lenguaje de programación.
Qué es un serializer
Un serializer se encarga de convertir datos de un formato a otro.
Por ejemplo, puede convertir un JSON recibido desde el cliente en un objeto que el backend pueda usar.
También puede convertir un objeto del backend en JSON para enviarlo como respuesta.
Por ejemplo, si después de crear un usuario queremos responder con su ID, podríamos tener un DTO de respuesta:
class UserCreatedResponseDto {
id: number;
}
Luego el serializer convertiría ese objeto en JSON:
{
"id": 1
}
Qué es la persistencia de datos
Cuando una aplicación crea un usuario, publica un mensaje o guarda una configuración, esos datos deben permanecer almacenados aunque el servidor se apague o se reinicie.
A eso se le llama persistencia.
Para lograrlo, el backend suele conectarse a una base de datos.
Acceso a datos en backend
El acceso a datos es la parte de la aplicación que permite conectarse con la base de datos.
Puede hacerse mediante un driver, una configuración directa o una herramienta como un ORM.
Esta capa permite crear, leer, actualizar y eliminar información persistente.
Qué es un ORM
ORM significa Object Relational Mapping.
Un ORM permite trabajar con la base de datos usando objetos o clases del lenguaje de programación.
Por ejemplo, podríamos tener una clase User y usarla para crear registros en una tabla de usuarios.
El ORM se encarga de traducir las operaciones del código a instrucciones para la base de datos.
Qué es un modelo
Un modelo representa una entidad dentro de la aplicación.
Por ejemplo, un modelo User puede representar a los usuarios del sistema.
Ese modelo puede estar conectado a una tabla o colección en la base de datos.
Cuando se crea un usuario, el backend puede guardar un nuevo registro usando ese modelo.
Qué es un DAO
DAO significa Data Access Object.
Es un patrón que organiza el acceso a la base de datos mediante objetos especializados.
Aunque en muchos proyectos modernos los ORM han reemplazado parte de este uso, el concepto sigue siendo importante para entender cómo se separa la lógica de acceso a datos del resto de la aplicación.
Qué es un middleware
Un middleware es una pieza de código que se ejecuta antes o después de llegar al controlador.
Funciona como un filtro que puede revisar, modificar o detener una petición.
Por ejemplo, un middleware puede verificar si un usuario está autenticado antes de permitirle borrar información.
Ejemplo de middleware de autorización
Supongamos que tenemos una ruta para eliminar un usuario:
DELETE /users/1
No cualquier persona debería poder ejecutar esa acción.
Un middleware de autorización puede revisar si la petición tiene un header válido de autenticación.
Si el usuario está autorizado, la petición continúa hacia el controlador.
Si no está autorizado, el middleware devuelve una respuesta de error.
Middleware global y middleware por controlador
Un middleware puede aplicarse de diferentes formas.
Un middleware global se ejecuta en todas las peticiones.
Por ejemplo, un middleware de logging puede registrar todas las peticiones que entran al servidor.
En cambio, un middleware por controlador o por ruta se aplica solo a ciertas partes de la API.
Por ejemplo, una ruta pública como crear usuario puede no necesitar autorización, pero una ruta para borrar usuario sí puede requerirla.
Qué es el pipeline de middlewares
Cuando se ejecutan varios middlewares en orden, se forma un pipeline.
Cada middleware puede revisar la petición, modificarla o pasarla al siguiente middleware.
También puede intervenir en la respuesta antes de que vuelva al cliente.
Esto permite crear procesos como:
- Registrar la petición.
- Validar autenticación.
- Revisar permisos.
- Modificar datos.
- Manejar errores.
- Enviar la respuesta final.
Cómo fluye una petición en el backend
Una petición típica puede seguir este flujo:
- El cliente envía una petición HTTP.
- La petición llega al backend.
- El router identifica la ruta y el método.
- La petición pasa por middlewares si existen.
- El controlador recibe la petición.
- El controlador usa DTOs o serializers para leer datos.
- La lógica de negocio procesa la información.
- La capa de acceso a datos guarda o consulta información.
- Se construye una respuesta.
- La respuesta pasa de vuelta al cliente.
Resumen de conceptos importantes
- El backend es un servicio que corre en un servidor.
- Una API permite que clientes externos usen funcionalidades del backend.
- REST usa endpoints y métodos HTTP.
- JSON es un formato común para enviar y recibir datos.
- GraphQL permite pedir solo los datos necesarios.
- gRPC permite llamadas remotas más eficientes.
- El router conecta rutas con controladores.
- El controller procesa la petición y crea una respuesta.
- Los DTO ayudan a representar datos de entrada y salida.
- Los serializers convierten datos entre formatos.
- El ORM permite trabajar con bases de datos usando objetos.
- Los middlewares funcionan como filtros antes o después del controlador.
Conclusión
Un backend framework ofrece las herramientas necesarias para construir APIs de forma ordenada.
Conceptos como router, controller, DTO, serializer, acceso a datos, ORM y middleware aparecen en muchos frameworks, aunque cambien los nombres o la sintaxis según el lenguaje.
Entender estos componentes ayuda a comprender cómo funciona una aplicación backend por dentro y facilita aprender cualquier framework moderno.
Una vez que dominas estos conceptos, resulta más sencillo crear APIs REST, conectar una base de datos, manejar autenticación y construir servicios backend más profesionales.



