Dataphor - Dataphor
lançamento inicial | 2001 |
---|---|
Versão estável | 3.0 / fevereiro de 2012
|
Escrito em | C # |
Plataforma | .NET Framework |
Modelo | Servidor de banco de dados |
Licença | BSD |
Local na rede Internet | alphora |
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:
- Microsoft SQL Server
- Oráculo
- DB2
- e outros
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
- Site do projeto Dataphor de código aberto .
- Grupo de Consultoria de Banco de Dados, proprietário da Alphora / Dataphor .
- Site da Alphora .
- Sistema de redução de alarmes falsos (FARS) desenvolvido pelo Purvis Gray Technology Group, LLC (purvisgraytechnology.com) usando o produto Alphora Dataphor.