QFDB Web PHP Framework

Quick Form DataBase (QFDB) é um framework escrito em PHP 5, implementado usando-se o paradigma de Orientação a Objetos com o objetivo de prover ferramentas para agilizar o Desenvolvimento Web permitindo o desenvolvimento de Aplicações Web de maneira rápida e fácil ao automatizar tarefas de geração de código HTML e JavaScript, rotinas de Banco de dados, implementações de segurança e validação dos dados. Essas práticas permitem ao desenvolvedor preocupar-se apenas com as regras de negócio da aplicação.

A concepção da idéia do framework foi inspirada pelas peças do brinquedo Lego, que permitem a criação de uma variedade gigantesca de Objetos com um conjunto básico de peças. Seguindo esse ponto de vista, o framework possui várias peças (Objetos QFDB) que ao serem "montadas" na aplicação desempenham as tarefas requeridas pelo desenvolvedor. Algumas peças especiais do framework (Objetos QFDB de formulário) permitem a associação de outras peças (Regras QFDB) que farão a validação dos dados manipulados pelos "Objetos Especiais".

Em síntese, o framework objetiva facilitar o desenvolvimento de Aplicações Web facilitando as interações entre formulários e banco de dados. O próprio foi escolhido para transmitir essa essência.

Como funciona

Após "montar as peças do framework", elas necessitam de um 'status' para serem executadas. Os Status do QFDB definem como os Objetos QFDB serão processados. O QFDB possui ao todo nove status de funcionamento:

  • 1: constrói formulário para inserção de dados;
  • 2: valida os dados inserindo-os no banco de dados;
  • 3: constrói formulário para edição de dados;
  • 4: valida os dados atualizando-os no banco de dados
  • 5: gera relatórios ou páginas com conteúdo;
  • 6-9: status livre, definidos pelo desenvolvedor;

Esse método garante que uma mesma definição pode ser executada em status diferente para a realização de tarefas complementares.

Objetivo

O framework foi desenvolvido tendo em vista os seguintes objetivos:

  • Geração automatizada de Código HTML de acordo com a W3C;
  • Geração automatizada de Código JavaScript;
  • Automatização das rotinas de Banco de Dados;
  • Automatização das rotinas de validação dos dados;
  • Automatização das rotinas de segurança;
  • Reduzir os arquivos que compõem a Aplicação;

No entanto, o objetivo guia (e o mais desafiador) é o de permitir que uma alteração ou nova implementação seja realizadas com a alteração de uma única linha.

Histórico

O projeto iniciou-se em Agosto de 2006 e surgiu devido a necessidade de agrupar funcionalidades que pudessem ser usadas para construir sistemas razoavelmente complexos em pouquíssimo tempo a partir de um protótipo. Na época trabalhava com Desenvolvimento Web na Câmara de Dirigentes Lojistas de Santa Maria e na Universidade Federal de Santa Maria, na primeira trabalhando na migração de sistemas para a plataforma web e na segunda com Desenvolvimento de Sistemas Web no Portal UFSM. Em 2007 o projeto passou a ter orientação do Professor Marcos Luís Cassal da UNIFRA, sendo imposto um perfil acadêmico.

Para as versões futuras do framework (a partir de 0.5) será seguido o padrão do Kernel Linux, ou seja, as versões ímpares serão versões instáveis e as pares as estáveis. Atualmente o framework encontra-se na versão 0.5 (instável) e não há uma versão estável disponível. O cronograma de lançamento das versões podem ser vistos no cronograma abaixo:

  • 0.1: versão inicial, somente usada como teste;
  • 0.2: versão 0.1 modificada para permitir adição de plugins;
  • 0.3: versão usada em produção, embora não tenha sido lançada ao público;
  • 0.4: versão de teste resultante do projeto de pesquisa;
  • 0.5: versão 0.4 reescrita para PHP 5;
  • 0.6: versão estável com previsão de lançamento para março de 2009;

Atualmente as implementações estão visando contemplar a revisão do código e sua documentação e o ajuste de todos @todo (tarefas para serem feitas). A pesquisa atual refere-se às Regras QFDB, responsáveis pela validação dos dados submetidos pelos formulários.

Até o momento o atual projeto está sendo desenvolvido por Everaldo Wanderlei Uavniczak < everaldouav [at] gmail.com >com a orientação do Professor Marcos Luís Cassal da UNIFRA.

@Changelog

Até o momento, por estar em fase de teste, as mudanças não serão reportadas, somente sendo enumeradas diferenças de versões a partir da versão estável 0.6.

Contato

Everaldo Wanderlei Uavniczak < everaldouav [at] gmail.com >

 
start.txt · Última modificação: 2010/07/08 23:45 (edição externa)
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki