Articulo de referencia

Dataphor

Dataphor es un sistema de gestión de bases de datos relacionales ( RDBMS ) de código abierto, junto con sus tecnologías de interfaz de usuario, diseñadas para facilitar el desar...

Dataphor es un sistema de gestión de bases de datos relacionales ( RDBMS ) de código abierto, junto con sus tecnologías de interfaz de usuario, diseñadas para facilitar el desarrollo de aplicaciones de software altamente declarativas. El servidor Dataphor cuenta con su propio motor de almacenamiento o puede funcionar como un DBMS virtual o federado, lo que significa que puede utilizar otros motores de bases de datos para el almacenamiento.

Dataphor ha sido elogiado por su adhesión a los principios relacionales, más que cualquier producto SQL. [ 1 ]

Descripción general

El objetivo declarado de Dataphor es elevar el nivel de automatización en la creación y el mantenimiento de aplicaciones de software complejas. Originalmente conocido como un framework, Dataphor ofrece más bien una plataforma de desarrollo de software, con sus propios paradigmas de programación e interfaz de usuario.

Dataphor se divide en dos componentes principales: el servidor Dataphor y la interfaz Dataphor. El servidor Dataphor proporciona un lenguaje y un entorno de ejecución estandarizados para la definición, manipulación e integridad de los datos de la aplicación. La interfaz se encarga de la generación dinámica de interfaces de usuario y su presentación en el cliente ligero Windows o Web.

Dataphor no utiliza SQL como lenguaje principal de base de datos, ya que, supuestamente, SQL viola principios importantes del modelo relacional . El lenguaje D4 de Dataphor se basa en los principios del Tutorial D de Christopher J. Date y Hugh Darwen , pero con una sintaxis imperativa similar a la de Pascal .

Aunque Dataphor se presenta como una solución verdaderamente relacional, incorpora el concepto de valores NULL , propio de SQL, lo que muchos consideran contradictorio con el modelo relacional. Sin embargo, los valores NULL y la gestión de la información faltante siguen siendo objeto de debate.

Además de centrarse en la gestión de datos, Dataphor Server incluye herramientas que permiten la presentación de interfaces de usuario mediante clientes ligeros para Windows y la web. Dataphor aprovecha las capacidades de inferencia relacional de su compilador para generar formularios GUI completos directamente a partir del modelo de datos. La particularidad de la generación de interfaces de usuario de Dataphor reside en que puede basarse en cualquier expresión relacional (consulta), en lugar de utilizar únicamente tablas base.

Verdaderamente relacional

Dataphor se esfuerza por cumplir teóricamente con los principios relacionales. Si bien intentan adherirse a los principios del Tercer Manifiesto, se desviaron en algunos puntos de lo que este propugnaba, pero no en aquellos que violaran las 12 reglas de Codd . Por ejemplo, incluyeron valores nulos, pero afirman haberles dado un tratamiento sistemático. [ 2 ]

Si bien muchos sistemas basados ​​en SQL fallan estrepitosamente con respecto a la regla 9 de Codd, "Independencia lógica de datos", las aplicaciones de Dataphor pueden cambiar automáticamente cuando cambia la capa lógica. Por ejemplo, cuando se agrega una nueva columna al sistema, no se requiere desarrollo adicional para que sea un nuevo campo visible para que los usuarios lo vean o editen.

Opiniones de expertos sobre Dataphor

Hugh Darwen se ha referido a D4 como un proyecto notable en su charla titulada The Askew Wall . [ 3 ] Chris Date se refiere a Dataphor como un producto que intenta implementar el Tercer Manifiesto. [ 4 ] Fabian Pascal llama a Dataphor "Verdaderamente Relacional" [ 5 ] y "superior a SQL" [ 1 ]

Historia

En 1999, Softwise Inc. , desarrollador de sistemas de punto de venta , descubrió que reescribía gran parte del mismo código una y otra vez, por lo que buscó una herramienta para automatizar sus aplicaciones de bases de datos. Al no encontrar ninguna aplicación que cumpliera con sus necesidades, creó una división dentro de la empresa, llamada Alphora, y encargó a algunos de sus desarrolladores la creación de dicha herramienta. Esta herramienta se convirtió en Dataphor. Se considera el primer sistema de gestión de bases de datos relacional desde IBM Business System 12. El desarrollo de Dataphor comenzó poco antes del año 2000, con el lanzamiento de la versión 1.0 en 2001.

A principios de 2008, el nombre Alphora y el producto Dataphor fueron adquiridos por Database Consulting Group , fundada por los arquitectos originales de Dataphor, quienes abandonaron Softwise en 2007. Tras la adquisición, Dataphor fue licenciado nuevamente como software de código abierto bajo la licencia BSD .

Tecnología

Dataphor utiliza el marco de trabajo Microsoft .NET y está escrito completamente en C#. A continuación se presenta un resumen de los diversos componentes tecnológicos de Dataphor:

Servidor Dataphor

El servidor Dataphor tiene varios componentes, entre ellos:

  • Interfaz a nivel de llamada: gestión de sesiones, planificador de procesos, etc.
  • Catálogo del diccionario de datos: contiene todas las tablas, vistas, operadores, restricciones, referencias y demás objetos del esquema.
  • Escáner, analizador, emisor y compilador D4.
  • Entorno de ejecución D4: incluye procesamiento relacional y escalar.
  • Capa de integración de almacenamiento: traducción en tiempo real a varios dialectos de SQL.

Idiomas

Si bien Dataphor admite una variante de SQL que denominan "RealSQL" [ 6 ] , D4 es el lenguaje preferido para su uso dentro de Dataphor. D4 admite sentencias DDL y DML . Las consultas D4 tienden a parecerse a expresiones de álgebra relacional con los nombres escritos de los operadores. Por ejemplo:

Sintaxis

D4 tiene una sintaxis similar a la de Pascal . El código de ejemplo de D4 suele escribirse en UpperCamelCase , que también se usa ampliamente en los sistemas Pascal y Delphi .

Al igual que la mayoría de los lenguajes de consulta, D4 cuenta con un lenguaje de definición de datos (DDL) y un lenguaje de manipulación de datos (DML). D4 también dispone de un lenguaje imperativo para código procedimental.

Lenguaje de definición de datos

El DDL de Dataphor guarda muchas similitudes con otros sistemas de gestión de bases de datos (DBMS), pero con un toque claramente inspirado en Pascal. Muchas de las operaciones DDL permitidas, como las restricciones, permiten el uso de sentencias declarativas relacionales , lo que muchos consideran superior a las operaciones de estilo procedimental utilizadas en SQL .

Lenguaje de manipulación de datos

A primera vista, la sintaxis de DML puede parecer similar a la de SQL , pero debido a la mayor vinculación de D4 con el álgebra relacional , la sintaxis tiene una definición más clara y la mayoría de los usuarios la prefieren con creces a SQL.

Lenguaje imperativo

El lenguaje imperativo de D4 es notablemente similar a Pascal en muchos aspectos. La principal diferencia radica en que D4 también permite ejecutar sentencias DDL y DML en código procedimental convencional.

Historia

D4 recibió su nombre del sistema Dataphor, que utiliza el lenguaje y tiene un sonido similar. Tiempo después de que se decidieran estos nombres, sus creadores descubrieron Tutorial D y la coincidencia que guardaba con dicho nombre. Desde el descubrimiento de Tutorial D y El Tercer Manifiesto, los creadores han utilizado este último como guía para la creación de Dataphor y D4. Desde entonces, Hugh Darwen se ha referido a D4 como un proyecto notable en su charla titulada The Askew Wall . [ 3 ]

Motor de almacenamiento federado

Aunque Dataphor cuenta con su propio motor de almacenamiento, también puede conectarse a otros sistemas de gestión de bases de datos relacionales (RDBMS) y utilizarlos como motor de almacenamiento. Dataphor puede utilizar los siguientes sistemas de gestión de bases de datos como motores de almacenamiento:

Dataphor puede acceder a Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL y cualquier otro motor de almacenamiento con un único lenguaje unificado. [ 8 ]

Biblioteca de interfaz de usuario

La biblioteca Dataphor Frontend permite la entrega de formularios estáticos prediseñados o generados dinámicamente. La biblioteca se expone como un conjunto estándar de funciones D4 (denominadas operadores en D4), como Form (' biblioteca ', ' nombre ') y Derive (' expresión D4 ', ' tipo de formulario '). Los formularios resultantes se describen en un dialecto XML llamado Documento de Formulario Dataphor (DFD). La descripción del formulario es de alto nivel y consiste en una descripción general de los aspectos de la interfaz de usuario, independientemente de la plataforma del cliente.

IDE Dataphoria

Dataphoria es un entorno de desarrollo integrado para:

  • Edición D4
  • Ejecución ad hoc de D4
  • Creación, edición y personalización de formularios (heredados)
  • Gestión de bibliotecas
  • Análisis de los planes de ejecución

Cliente de Windows

El cliente Dataphor para Windows es un cliente ligero, ya que no está preprogramado para una aplicación específica. Este cliente establece una conexión con un servidor Dataphor, desde el cual solicita (a través de D4) las definiciones de formulario y coordina la manipulación de los datos de la aplicación. Los documentos DFD se interpretan como controles concretos de Windows Forms , manteniendo la estructura conceptual del DOM .

Cliente web

El cliente web de Dataphor es una implementación básica de un cliente Dataphor, que se manifiesta como una aplicación web ASP.NET. Al igual que el cliente de Windows, el cliente web se conecta a una instancia del servidor Dataphor y solicita formularios y datos a dicha instancia. Sin embargo, en lugar de sincronizar un diagrama de flujo de datos (DFD) con controles de Windows, el cliente web genera HTML que se muestra en un navegador. De esta forma, el cliente web actúa como cliente con respecto al servidor Dataphor, pero como servidor con respecto al navegador web final.

  • Sitio web del proyecto Dataphor de código abierto .
  • Database Consulting Group, propietario de Alphora/Dataphor .
  • Sitio web de Alphora .
  • Sistema de reducción de falsas alarmas (FARS, por sus siglas en inglés) desarrollado por Purvis Gray Technology Group, LLC (purvisgraytechnology.com) utilizando el producto Dataphor de Alphora.

Referencias

  1. 1 2 Fabian Pascal sobre la teoría de los sistemas de gestión de bases de datos
  2. "Reflexiones de los implementadores" .
  3. 1 2 El muro inclinado
  4. Chris Date sobre bases de datos relacionales
  5. Fabian Pascal afirma: "Dataphor, un sistema de gestión de bases de datos verdaderamente relacional".
  6. "Alphora Dataphor" . wiki.c2.com . 22 de mayo de 2008. Consultado el 11 de mayo de 2026 .
  7. "Acerca de Dataphor" . Archivado del original el 30 de septiembre de 2013. Consultado el 24 de septiembre de 2013 .
  8. "Declaración de Alphora a la comunidad de desarrolladores sobre Dataphor - Dataphor.org" . www.dataphor.org . Archivado del original el 19 de mayo de 2009.