Bases de Back-End

Leonardo Jose Castillo Lacruz
5 min readSep 24, 2022

--

En el área de desarrollo de software estamos siempre oyendo o leyendo términos como Front-End o Back-End. Sabemos realmente a que se refieren y en que se diferencian? En este texto intentaremos explicar de forma simple en que consiste cada una y en donde radican sus diferencias:

Empecemos por entender que comparar los términos: front viene de frente y back de atrás. Cuando decimos Front-End hablamos de la cara visible del software, de su interfaz, de lo que el usuario ve y con lo que interactúa, mientras que cuando hablamos de Back-End, nos referimos a la parte de procesos internos, a lo que aplicación hace por debajo de bastidores.

Analogía del desarrollo de software con la industria automotriz

Como indicabamos anteriormente, y como se ve en la imagen, el Front-end, es la interfaz del sistema, que de acuerdo al tipo de plataforma, tendrá ciertos elementos y se usaran ciertas tecnologías. Actualmente la plataforma Web es la más usada, donde tecnologías como HTML/CSS y JavaScript predominan, también tenemos plataformas móviles donde existen 2 tecnologías bien diferenciadas como lo son: Android y IOs y aún existe la plataforma Cliente/Servidor donde las interfaces estan relacionadas al sistema operativo donde se ejecuta el sistema.

Ahora que hace el back-end y por qué es tan importante?

Es responsabilidad del Back-End, recibir y procesar datos y devolver un resultado. Desde ese punto de vista, el Back-End debe almacenar datos ya sea de forma temporal o permanente, es decir que va a existir una capa de datos que en general se gestiona con otras herramientas de software llamadas Sistemas de Base de Datos.

El procesamiento puede incluir operaciones aritméticas, lógicas, de comunicación con otros sistemas, de generación de reportes.

El Back-End también es responsable de integrar con otros sistemas en caso de ser necesario, para ello existen ya definiciones que permiten realizar esta tarea como lo son: API (RESTFull y GraphQL) o Servicios Web (SOAP).

El protocolo http, la piedra angular de la WWW

Si te haz preguntado como internet se consigue organizar y puede funcionar de la forma actual, tienes que pensar en varios acrónimos, primero TCP/IP, que es un protocolo de red, que permite el transporte de datos entre punto y punto, es el principal responsable de la transmisión de datos en redes actualmente.

Ahora bien, era necesario definir una organización para ese transporte de datos, como definición de nombres de rutas, formas de transportar estos datos, protección de estos datos, etc. Es allí donde entra el protocolo HTTP.

Mediante este protocolo, es realizada toda la transmisión de datos en la Web. Algunos elementos a reconocer cuando trabajamos con HTTP son:

  • La url o dirección web, que define cual sitio web se desea contactar o conectar.
  • La forma de solicitud de conexión, que puede ser GET, donde se indica la dirección y se pueden enviar o no datos, lo cuales serán públicos y POST, donde sólo se ve la url, y los datos viajan ocultos (pero de forma plana), este último es usado cuando se desea hacer recolección o registro de datos desde cliente.

Para solucionar los problemas de seguridad, se implementó más adelante el protocolo HTTPS, que como podrás notas, la S al final está relacionada con la palabra “security”, o seguridad en español. En ese caso los datos viajan criptografados y solo el emisor y destinatario pueden decodificarlos.

Qué es un API ?

API o Application Programming Interface, en español “Interfaz de Programación de Aplicaciones”, es un conjunto de funciones y procedimientos que permite integrar sistemas, permitiendo que sus funcionalidades puedan ser reutilizadas por otras aplicaciones o software.

Una API sirve para intercambiar datos entre diferentes tipos de software y así automatizar procedimientos y desarrollar nuevas funcionalidades.

En el caso del desarrollo Web, una API se construye sobre el protocolo http (más adelante hablamos de él), su definición general es realizar operaciones de transporte de datos para implementar: consulta, inserción, actualización, borrado, que es lo que denominamos una API REST(en inglés representational state transfer), que es transferencia de estado representacional. En general las APIs REST usan notación JSON como sintaxis para representar sus datos.

De igual forma para desarrollo web existe otro tipo de transporte llamado Servicios Web, también basado en protocolo http pero los datos en formato SOAP (que usa xml como sintasis)

Y la capa de datos? Cómo la gestionamos?

Para ello podemos usar archivos en formatos transaccional tal como CSV (Separado por comas), archivo de longitud fija (donde cada información o campo ocupa un espacio fijo), o podemos usar base de datos, que es lo que generalmente usamos por la complejidad de los datos. Los archivos pueden ser usado cuando la información es simple y directa.

Qué es una base de datos?

Es una herramienta de software que permite almacenar datos, de forma estructurada o no, permitiendo realizar sobre estos datos: inserciones, actualizaciones, borrados, consultas, relaciones y hasta operaciones de manipulación para obtener nuevos datos.

Existen 2 tipos de base de datos generalmente usados, las relaciones y las no estructuradas.

Una base de datos relacional define o modelo los datos en tablas y campos que se pueden relacionar entre sí. El lenguaje que se usa para manipular estos datos se llama SQL (Structure Query Language). Existen algunas reglas para validar o definir si una base de datos está correctamente construida, estas reglas se llamas las formas normales.

Una base de datos no estructurada, está basada en documentos y objetos donde cada registro representa un modelo completo. Este tipo de base de datos es ideal cuando tienes una gran cantidad de registros y no hay necesidad relacionarlos para poder representar informaciones.

Ejemplos de sistemas de bases de datos estructuradas son:

Manejadores de base de datos relacionales

En cuanto a sistemas de base de datos no estructurados, tenemos:

Manejadores de base de datos no estructurados o basados en objetos

--

--

Leonardo Jose Castillo Lacruz
Leonardo Jose Castillo Lacruz

Written by Leonardo Jose Castillo Lacruz

Desarrollador de software desde 1998. Apasionado por la tecnología. Descubriendo que cuando enseñas aprendes mucho más

No responses yet