Estilos de Arquitectura de Software Centrada en Datos
Clase 17 de 24 • Fundamentos de Arquitectura de Software (2018)
Resumen
¿Qué son los estilos de arquitectura centrados en datos?
La arquitectura centrada en datos es un enfoque en el desarrollo de software donde los datos se convierten en el centro de atención. Este tipo de arquitectura implica múltiples componentes enfocados en almacenar, gestionar y validar la pertinencia de la información. En este contexto, observaremos tres estilos de arquitectura centrados en datos: el estilo de pizarrón, la arquitectura centrada en bases de datos compartidas, y el estilo de sistema experto o basado en reglas. Cada estilo tiene su propia manera de manejar, procesar y comunicar los datos.
¿Qué es el estilo de arquitectura de pizarrón?
Este estilo se caracteriza por la centralización de la información a través de un componente específico conocido como "pizarrón". Los componentes interactúan con el pizarrón donde escriben los datos procesados o recibidos. Este pizarrón no solo centraliza la información, sino que también puede realizar tareas lógicas adicionales una vez que recoge todos los datos necesarios.
Un ejemplo típico sería un sistema fiscal en el que múltiples partes ingresan datos al pizarrón. Estos sistemas pueden incluir revisiones automatizadas que detectan anomalías al comparar entradas del pizarrón con registros históricos. El pizarrón también permite la intervención manual de un operador que valida los datos antes de autorizar cualquier acción relacionada con los datos fiscales.
¿Cómo funciona la arquitectura de bases de datos compartidas?
Esta es una práctica común en aplicaciones que utilizan bases de datos, siendo accesible para múltiples componentes. Aquí, los componentes no se comunican directamente entre sí; en su lugar, se comunican a través de una base de datos compartida. Este método es muy conocido en aplicaciones que operan en redes, como aquellas que utilizan REST APIs.
Al principio, un componente puede manejar la API REST, mientras que otro se ocupa de la aplicación web. Aunque inicialmente estos componentes podrían ser parte de un único monolito, el crecimiento de la aplicación podría requerir una separación para desplegarlos por separado sin dejar de compartir la misma base de datos.
¿En qué cosiste el sistema experto o estilo basado en reglas?
Este estilo se centra en la inferencia de reglas a partir de datos ingresados por un componente cliente. Allí, un componente interpreta las reglas implícitas o consultas y se comunica con una base de datos de conocimiento, también conocida como knowledge base (KB). Esta base de datos recopila las reglas necesarias para la aplicación.
Un ejemplo de aplicabilidad es en sistemas de inteligencia artificial, donde el esquema de datos puede no estar predefinido. A través de interacciones, el sistema genera una base de datos de conocimiento a partir de datos desestructurados. Esto permite realizar consultas llevando a un proceso de aprendizaje más autónomo y adaptable.
Consideraciones generales sobre los estilos de arquitectura centrados en datos
Los estilos de arquitectura centrados en datos enfatizan la importancia de la gestión y consulta de información. Dependiendo del contexto, los datos pueden servir para centralizar la comunicación o para procesos más detallados de análisis y almacenamiento. En algunos casos, los datos no son conocidos de antemano, lo que requiere sistemas flexibles que puedan evolucionar y adaptarse conforme a los requerimientos reales y descubiertos del sistema.
La arquitectura de software centrada en datos ofrece posibilidades variadas para el manejo eficiente de datos, impulsando la flexibilidad y escalabilidad en el desarrollo de sistemas complejos. Estos enfoques aseguran que las aplicaciones sean tanto robustas como adaptables a las necesidades de datos cambiantes.