stringtranslate.com

Dataforo

Dataphor es un sistema de gestión de bases de datos verdaderamente relacionales ( RDBMS ) de código abierto y las tecnologías de interfaz de usuario que lo acompañan, que en conjunto están diseñados para proporcionar un desarrollo de aplicaciones de software altamente declarativo. El servidor Dataphor tiene su propio motor de almacenamiento o puede ser 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 adherencia a principios relacionales, más estrechamente que cualquier producto SQL. [1]

Descripción general

El propósito declarado de Dataphor es intentar elevar el nivel de la automatización al crear y mantener aplicaciones de software complejas. Originalmente denominado marco, Dataphor proporciona más bien una plataforma de desarrollo de software, completa con sus propios paradigmas de programación e interfaz de usuario.

Dataphor se divide en términos generales en dos componentes: el servidor Dataphor y el frontend Dataphor. El propósito del servidor Dataphor es proporcionar un lenguaje y un tiempo de ejecución estandarizados para la definición, manipulación e integridad de los datos de la aplicación. El Frontend se ocupa de la derivación dinámica de interfaces de usuario y la presentación de las mismas en el cliente ligero Windows o Web.

Dataphor no emplea SQL como lenguaje principal de base de datos ya que SQL supuestamente 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 pretende ser verdaderamente relacional, incorpora el concepto de NULL tal como se encuentra en SQL, que muchos afirman que está contraindicado por el modelo relacional. Sin embargo, los NULL y la cuestión de la gestión de la información faltante siguen siendo objeto de debate.

Además del enfoque de gestión de datos del servidor Dataphor, Dataphor incluye herramientas que permiten la presentación de interfaces de usuario a través de clientes "ligeros" Windows y Web. Dataphor aprovecha las capacidades de inferencia relacional del compilador Dataphor para permitir que se deriven formularios GUI completos directamente del modelo de datos. El aspecto único de la "derivación" de la interfaz de usuario de Dataphor es que puede basarse en cualquier expresión relacional (consulta) en lugar de simplemente tablas base.

Verdaderamente relacional

Dataphor se esfuerza por lograr el cumplimiento teórico de los principios relacionales. Si bien intentaron adherirse a los principios del Tercer Manifiesto, se desviaron en algunos lugares de lo que buscaba el Tercer Manifiesto, pero no en lugares que constituían violaciones de las 12 reglas de Codd . Por ejemplo, incluyeron nulos, pero afirman tener un tratamiento sistemático de ellos. [2]

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

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, el desarrollador de sistemas de punto de venta Softwise Inc, descubrió que escribían gran parte del mismo código una y otra vez y buscó una herramienta para automatizar sus aplicaciones de bases de datos. No encontraron una aplicación que hiciera lo que querían, por lo que crearon una división de su empresa, la llamaron Alphora y pidieron a algunos de sus desarrolladores que construyeran dicha herramienta. Esa herramienta se convirtió en Dataphor. Se dice que es el primer DBMS verdaderamente relacional desde IBM Business System 12 . El desarrollo de Dataphor comenzó poco antes del año 2000, con una versión 1.0 en 2001.

A principios de 2008, el nombre Alphora y el producto Dataphor fueron adquiridos por Database Consulting Group, fundado por los arquitectos originales de Dataphor, quienes abandonaron Softwise en 2007. Después de la adquisición, Dataphor volvió a obtener la licencia de código abierto bajo la licencia BSD. .

Tecnología

Dataphor utiliza Microsoft .NET Framework y está escrito completamente en C#. El siguiente es un resumen de los diversos componentes tecnológicos de Dataphor:

Servidor de datos

El servidor Dataphor tiene varios componentes que incluyen:

Idiomas

Si bien Dataphor admite una versión de SQL que llaman "RealSQL", [6] D4 es el lenguaje preferido para usar dentro de Dataphor, D4 admite declaraciones DDL y DML . Las consultas D4 tienden a parecerse a expresiones de álgebra relacional con nombres de operadores escritos. Por ejemplo:

Sintaxis

D4 tiene una sintaxis similar a Pascal . El código de muestra D4 generalmente está escrito en UpperCamelCase , que también se usa ampliamente en los sistemas Pascal y Delphi .

Como la mayoría de los lenguajes de consulta, D4 tiene un lenguaje de definición de datos (DDL) y un lenguaje de manipulación de datos (DML). D4 también tiene un lenguaje imperativo para el código procesal.

Lenguaje de definición de datos

El DDL de Dataphor tiene muchas similitudes con otros DBMS, pero con un giro obviamente similar al de Pascal. Muchas de las operaciones DDL permitidas, como las restricciones, permiten el uso de declaraciones declarativas relacionales , que muchos creen que son superiores a las operaciones de estilo procedimental utilizadas en SQL .

Lenguaje de manipulación de datos

La sintaxis DML a primera vista puede parecer similar a la sintaxis SQL , pero debido a los vínculos más estrechos de D4 con el álgebra relacional , la sintaxis tiene una definición más limpia y la mayoría de los usuarios la prefieren a SQL. [ cita necesaria ]

lenguaje imperativo

El lenguaje imperativo en D4 es notablemente similar al de Pascal en muchos aspectos. La mayor distinción es que D4 también permite ejecutar declaraciones DDL y DML en código de procedimiento normal.

Historia

D4 lleva el nombre de Dataphor, que suena similar, el sistema que utiliza el lenguaje. Fue un tiempo después de que se decidieron estos nombres que sus creadores descubrieron el Tutorial D, y la coincidencia que tenía con ese nombre. Desde que descubrieron el Tutorial D y el Tercer Manifiesto, los creadores han utilizado el Tercer Manifiesto como guía para crear 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

Si bien Dataphor tiene su propio motor de almacenamiento, también puede conectarse a otros RDBMS y utilizarlos como motor de almacenamiento. Dataphor puede utilizar los siguientes DBMS 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 frontal

La biblioteca Dataphor Frontend permite la entrega de formularios estáticos prediseñados o derivados dinámicamente. La biblioteca se expone como un conjunto estándar de funciones D4 (llamadas operadores en D4) como Formulario (' 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 que se aplican independientemente de la plataforma del cliente.

IDE de Dataforia

Dataphoria es un entorno de desarrollo integrado para:

Cliente de Windows

El cliente Dataphor Windows es un cliente ligero en el sentido de que no está preprogramado para una aplicación en particular. El cliente de Windows establece una conexión con un servidor Dataphor, desde el cual (a través de D4) solicita definiciones de formularios y coordina la manipulación de los datos de la aplicación. Los documentos DFD se interpretan en controles concretos de Windows Forms , pero manteniendo el DOM conceptual del DFD.

Cliente web

El cliente web 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 y solicita formularios y datos de una instancia del Servidor Dataphor. Sin embargo, en lugar de sincronizar un DFD con los controles de Windows, el cliente web genera HTML que se muestra en un navegador. De esta manera, el "Cliente" Web es un cliente relativo al Servidor Dataphor, pero un servidor relativo al navegador web final.

enlaces externos

Referencias

  1. ^ ab Fabian Pascal sobre la teoría DBMS
  2. ^ "Reflexiones de los implementadores".
  3. ^ ab La pared torcida
  4. ^ Chris Date sobre bases de datos relacionales
  5. ^ Fabian Pascal afirma "Dataphor, un DBMS verdaderamente relacional"
  6. ^ http://c2.com/cgi/wiki?AlphoraDataphor [ URL básica ]
  7. ^ Acerca de Datafor
  8. ^ "Declaración sobre Dataphor a la comunidad de desarrollo de Alphora - Dataphor.org". www.dataphor.org . Archivado desde el original el 19 de mayo de 2009.