Arquitectura Data-Centric
INFO
A partir de la versión 3.1.0 en el Control Panel se ha pasado a denominar Entidades a las Ontologías. Esto no altera ninguna funcionalidad, simplemente se ha cambiado la nomenclatura para un mejor entendimiento del concepto.
Intro
Una Arquitectura Data-Centric se refiere a una arquitectura donde los datos son el activo principal y permanente, mientras que las aplicaciones van y vienen. En estas arquitecturas el modelo de datos precede a la implementación de cualquier aplicación dada y será válido mucho después de que se reemplacen.
A priori nos puede parecer una arquitectura típica pero la realidad es que rara vez construimos aplicaciones así. Normalmente las empresas que buscan una funcionalidad concreta compran o construyen aplicaciones que le dan soporte. Cada aplicación tiene su propio modelo de datos y su código está vinculado a ese modelo de datos. Esto hace extremadamente difícil cambiar el modelo de datos de un sistema implementado, ya que puede haber millones de líneas de código dependiendo de este modelo existente. Además, esta aplicación es solo uno de los cientos de sistemas en una empresa. Cada aplicación puede tener decenas o cientos de tablas y miles de atributos. Estas aplicaciones están interconectadas de forma muy parcial a través de un middleware que transporta periódicamente datos de una base de datos a otra.
El enfoque Data-Centric convierte todo esto en su núcleo. Hay un modelo de datos, un modelo de datos semánticos y cada funcionalidad de la aplicación lee y escribe a través del modelo compartido. Si hay una funcionalidad de la aplicación que calcula los KPI, se agregará a la base de datos compartida, utilizando los conceptos básicos comunes.
Cualquier otro sistema puede acceder a los KPI y saber qué significan. Si la funcionalidad desaparece mañana, los KPI seguirán ahí.
Data-Centric: la Ontología
En la plataforma la arquitectura Data-Centric se soporta a través del concepto de Ontología (a partir de versión 3.1.0 denominado Entidad), y toda la funcionalidad de la plataforma se basa en este concepto.
Las Ontologías son las entidades que gestiona el sistema y que se comparten con otros sistemas.
En el caso más simple, podemos comparar una ontología con una tabla en una base de datos relacional, pero una ontología puede contener un modelo de dominio completo, lo que requeriría un conjunto de tablas relacionadas en una base de datos relacional.
La ontología puede persistir en diferentes repositorios y aísla al usuario del repositorio subyacente, de modo que el resto de los componentes no necesitan saber dónde están almacenadas las ontologías.
Los otros conceptos y componentes de la órbita de la plataforma alrededor de la Ontología incluyen, entre otros, estos:
El creador de la ontología asignará seguridad de acceso a la ontología al resto de usuarios.
La ontología se puede representar a través de los dashboards de la plataforma
Las reglas están definidas y asociadas con la llegada de una ontología dada al sistema.
Las API se crean sobre una ontología.
...