Dataphor - Dataphor

Dataphor
lançamento inicial 2001
Versão estável
3.0 / fevereiro de 2012 ; 9 anos atrás ( 2012-02 )
Escrito em C #
Plataforma .NET Framework
Modelo Servidor de banco de dados
Licença BSD
Local na rede Internet alphora .com / dataphor

O Dataphor é um sistema de gerenciamento de banco de dados verdadeiramente relacional ( RDBMS ) de código aberto e suas tecnologias de interface de usuário que o acompanham, que juntos são projetados para fornecer desenvolvimento de aplicativos de software altamente declarativo. O Dataphor Server possui seu próprio mecanismo de armazenamento ou pode ser um DBMS virtual ou federado, o que significa que ele pode utilizar outros mecanismos de banco de dados para armazenamento.

A Dataphor foi elogiada por sua aderência aos princípios relacionais, mais do que qualquer produto SQL.

Visão geral

O objetivo declarado do Dataphor é tentar elevar o nível de automação ao construir e manter aplicativos de software complexos. Originalmente referido como uma estrutura, o Dataphor fornece mais uma plataforma de desenvolvimento de software, completa com seus próprios paradigmas de programação e interface com o usuário.

O Dataphor é amplamente dividido em dois componentes: o Dataphor Server e o Dataphor Frontend. O objetivo do Dataphor Server é fornecer uma linguagem e tempo de execução padronizados para a definição, manipulação e integridade dos dados do aplicativo. O Frontend se preocupa com a derivação dinâmica de interfaces de usuário e sua apresentação no Windows ou Web thin client.

O Dataphor não emprega SQL como sua linguagem de banco de dados principal, uma vez que o SQL supostamente viola princípios importantes do modelo relacional . De Dataphor D4 linguagem baseia-se nos princípios de Christopher J Data 's e Hugh Darwen ' s Tutorial D , mas com um Pascal -como imperativo sintaxe.

Embora o Dataphor defenda ser verdadeiramente relacional, ele incorpora o conceito de NULLs encontrado em SQL, que muitos afirmam ser contra-indicado pelo Modelo Relacional. NULLs e a questão do gerenciamento de informações ausentes, no entanto, continuam a ser debatidos.

Além do foco de gerenciamento de dados do Dataphor Server, o Dataphor inclui ferramentas que permitem a apresentação de interfaces com o usuário por meio de clientes "thin" do Windows e da Web. O Dataphor aproveita os recursos de inferência relacional do compilador Dataphor para permitir que formulários GUI completos sejam derivados diretamente do modelo de dados. O aspecto único da "derivação" da interface com o usuário do Dataphor é que ela pode ser baseada em qualquer expressão relacional (consulta) em vez de meramente em tabelas de base.

Verdadeiramente relacional

A Dataphor busca a conformidade teórica com os princípios relacionais. Embora tentem aderir aos princípios do Terceiro Manifesto , eles se desviaram em alguns lugares do que o Terceiro Manifesto buscava, mas não em lugares que violavam as 12 regras de Codd . Por exemplo, eles incluíram nulos, mas afirmam ter um tratamento sistemático deles.

Enquanto muitos sistemas construídos em SQL falham miseravelmente em relação à regra 9 de Codd "Independência de dados lógicos", os aplicativos Dataphor podem mudar automaticamente quando a camada lógica muda. Por exemplo, quando uma nova coluna é adicionada ao sistema, nenhum desenvolvimento adicional é necessário para que um novo campo seja visível aos usuários para visualização ou edição.

Opiniões de especialistas sobre Dataphor

Hugh Darwen se referiu a D4, como um projeto notável em sua palestra intitulada The Askew Wall . Chris Date se refere ao Dataphor como um produto que tenta implementar o Terceiro Manifesto. Fabian Pascal chama Dataphor de "Verdadeiramente Relacional" e "superior a SQL"

História

Em 1999, o desenvolvedor de sistemas de ponto de venda Softwise Inc , descobriu que estava escrevendo muito do mesmo código repetidamente e procurou uma ferramenta para automatizar seus aplicativos de banco de dados. Eles não encontraram um aplicativo que fizesse o que eles queriam, então eles criaram uma divisão de sua empresa, chamada Alphora, e colocaram alguns de seus desenvolvedores para construir tal ferramenta. Essa ferramenta se tornou Dataphor. Diz-se que é o primeiro DBMS verdadeiramente relacional desde o IBM Business System 12 . O desenvolvimento do Dataphor começou pouco antes de 2000, com uma versão 1.0 em 2001.

No início de 2008, o nome Alphora e o produto Dataphor foram adquiridos pelo Database Consulting Group , que foi fundado pelos arquitetos originais da Dataphor, que deixaram a Softwise em 2007. Após a aquisição, a Dataphor foi licenciada novamente como código aberto sob a Licença BSD .

Tecnologia

O Dataphor utiliza o Microsoft .NET Framework e é inteiramente escrito em C #. A seguir está um resumo dos vários componentes de tecnologia do Dataphor:

Servidor Dataphor

O Dataphor Server possui vários componentes, incluindo:

  • Interface de nível de chamada - gerenciamento de sessão, agendador de processo, etc.
  • Catálogo de dicionário de dados - contendo todas as tabelas, exibições, operadores, restrições, referências e outros objetos de esquema.
  • D4 Scanner, Parser, Emitter e Compiler.
  • Tempo de execução D4 - incluindo processamento relacional e escalar
  • Camada de integração de armazenamento - tradução em tempo real para vários dialetos do SQL

línguas

Enquanto o Dataphor suporta um tipo de SQL que eles chamam de "RealSQL", D4 é a linguagem preferida para uso dentro do Dataphor, D4 suporta instruções DDL e DML . As consultas D4 tendem a se parecer com expressões de álgebra relacional com nomes de operadores escritos. Por exemplo:

Instrução SQL Declaração D4 equivalente
SELECT * FROM User select User
SELECT * FROM User NATURAL JOIN Department select User [[natural join|join]] Department
SELECT DISTINCT Name FROM User select User over { Name}
Sintaxe

D4 tem uma sintaxe semelhante a Pascal . O código de amostra D4 é geralmente escrito em UpperCamelCase , que também é amplamente usado em sistemas Pascal e Delphi .

Como a maioria das linguagens de consulta, o D4 tem uma linguagem de definição de dados (DDL) e uma linguagem de manipulação de dados (DML). D4 também possui uma linguagem imperativa para código procedural.

Linguagem de definição de dados

O DDL para Dataphor tem muitas semelhanças com outros DBMSs, mas com uma torção obviamente semelhante ao Pascal. Muitas das operações DDL permitidas, como restrições, permitem o uso de instruções declarativas relacionais , que muitos acreditam ser superior às operações de estilo procedural usadas em SQL .

Linguagem de manipulação de dados

A sintaxe DML à primeira vista pode parecer semelhante à sintaxe SQLs , mas por causa dos laços mais próximos do D4 com a álgebra relacional , a sintaxe tem uma definição mais limpa e a maioria dos usuários a prefere muito em vez de SQL.

Linguagem imperativa

A linguagem imperativa em D4 é notavelmente semelhante a Pascal em muitos aspectos. A maior diferença é que D4 também permite que instruções DDL e DML sejam executadas em código procedural regular.

História

O D4 foi nomeado após o Dataphor de som semelhante, o sistema que usa a linguagem. Foi algum tempo depois que esses nomes foram decididos que seus criadores descobriram o Tutorial D , e a coincidência que ele tinha com esse nome. Desde que descobriram o Tutorial D e o Terceiro Manifesto , os criadores usaram O Terceiro Manifesto como um guia para fazer Dataphor e D4. Desde então, Hugh Darwen se referiu a D4, como um projeto notável em sua palestra intitulada The Askew Wall .

Federated Storage Engine

Embora o Dataphor tenha um mecanismo de armazenamento próprio, ele também pode se conectar a outros RDBMSes e usá-los como um mecanismo de armazenamento. O Dataphor pode usar os seguintes SGBDs como mecanismos de armazenamento:

O Dataphor pode acessar Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL e qualquer outro mecanismo de armazenamento com uma única linguagem unificada.

Biblioteca de front-end

A biblioteca Dataphor Frontend fornece a entrega de formas estáticas derivadas dinamicamente ou pré-projetadas. A biblioteca é exposta como um conjunto padrão de funções D4 (chamados de operadores em D4), como Formulário ('<biblioteca>', '<nome>') e Derivar ('<expressão D4>', '<tipo de formulário>') . Os formulários resultantes são descritos em um dialeto XML chamado Dataphor Form Document (DFD). A descrição do formulário é de alto nível, consistindo em uma descrição geral dos aspectos da interface do usuário conforme se aplicam independentemente da plataforma do cliente.

IDE Dataphoria

Dataphoria é um ambiente de desenvolvimento integrado para:

  • Editando D4
  • Execução ad hoc de D4
  • Criação, edição e personalização de formulários (herdados)
  • Gerenciando bibliotecas
  • Analisando planos de execução

Cliente Windows

O Dataphor Windows Client é um thin client no sentido de que não é pré-programado para um aplicativo específico. O cliente Windows estabelece uma conexão com um Dataphor Server, a partir do qual (por meio de D4) solicita definições de formulário e coordena a manipulação de dados do aplicativo. Os documentos DFD são interpretados em controles Windows Forms concretos , mas mantendo o DOM conceitual do DFD.

Cliente da web

O Dataphor Web Client é uma implementação básica de um cliente Dataphor, que se manifesta como um aplicativo da web ASP.NET. Como o Windows Client, o Web Client se conecta e solicita formulários e dados de uma instância do Dataphor Server. Em vez de sincronizar um DFD com os controles do Windows, no entanto, o Web Client renderiza o HTML que é exibido em um navegador. Dessa forma, o "Cliente" da web é um cliente relativo ao Dataphor Server, mas um servidor relativo ao navegador da web final.

links externos

Referências