Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de...

31
Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de dados Oracle banco de dados Oracle Wagner da Silva Orientando Prof. Alexander Roberto Valdameri Orientador

Transcript of Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de...

Page 1: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Gerador de aplicativos Oracle PL/SQL WEBbaseado na estrutura das tabelas dobanco de dados Oraclebanco de dados Oracle

Wagner da SilvaOrientando

Prof. Alexander Roberto ValdameriOrientador

Page 2: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Roteiro

� Introdução e Objetivos;� Fundamentação Teórica;� Especificação;� Especificação;� Implementação;� Apresentação da Ferramenta;� Conclusão;� Extensões.

Page 3: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Introdução

� Banco de Dados;� Modelo de Dados;� Linguagem SQL;

Introdução e Objetivos

� Linguagem SQL;� HTML;� Geração de Código;� Oracle Form Builder e PL/SQL.

Page 4: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Objetivos

� Desenvolver uma ferramenta para ageração de código para tecnologia OraclePL/SQL WEB, a partir da estrutura das

Introdução e Objetivos

PL/SQL WEB, a partir da estrutura dastabelas do banco de dados Oraclejuntamente com as configurações feitaspelo usuário.

Page 5: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Motivação

� Auxiliar e agilizar os programadores; � Diminuir a necessidade de programação;� Evitar código inconsistente.

Introdução e Objetivos

� Evitar código inconsistente.

Page 6: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Banco de Dados

� Oracle 10g Express Edition;� Rápido;� Gratuito;

Fundamentação Teórica

� Gratuito;� Disponibiliza a linguagem PL/SQL WEB.

Page 7: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Modelo de Dados

� Modelo Relacional;� Surgimento do SGBD;� Definição das estruturas das tabelas.

Fundamentação Teórica

� Definição das estruturas das tabelas.

Page 8: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Linguagem SQLFundamentação Teórica

� Utilizada para manipulação e consulta aobanco de dados;

� A Oracle disponibiliza diversas funções� A Oracle disponibiliza diversas funçõesque facilitam o trabalho;

� Todas informações de uma tabela dobanco de dados podem ser obtidasatravés de consultas SQL.

Page 9: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

HTML

� Fácil aprendizagem;� Amplamente divulgado e conhecido;� Permite a utilização de folhas de estilos

Fundamentação Teórica

� Permite a utilização de folhas de estilos(CSS);

� Permite a utilização de JavaScript para avalidação dos formulários.

Page 10: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Geração de Código

� Qualidade;� Consistências geradas automaticamente;� Mais tempo para customizações.

Fundamentação Teórica

O Código gerado não possui erro de sintaxe

O código gerado já possuí a � Mais tempo para customizações.O código gerado já possuí a validação dos tipos de dados

Não consome muito tempo com tarefas repetitivas de programação

Page 11: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Trabalhos CorrelatosEspecificação

� Menin (2005), foi desenvolvida umaferramenta de geração de código emlinguagem JSP utilizando banco de dadosMySQL (Furb);MySQL (Furb);

� Schvepe (2006), foi desenvolvida umaferramenta para migração de aplicaçõesem Oracle Forms 6i para código Java(Furb).

Page 12: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Visão Geral da FerramentaEspecificação

Page 13: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Requisitos FuncionaisRequisitos

� Permitir a escolha de uma tabela;� Possibilitar a personalização dos tipos de

campos;� Possibilitar a personalização de listas de valores;� Possibilitar a personalização de listas de valores;� Possibilitar a personalização das validações dos

formulários;� Possibilitar a personalização da ordem de

apresentação dos campos;

Page 14: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Requisitos não FuncionaisRequisitos

� Deverá ser desenvolvido em ambiente deprogramação Oracle Forms 6i;

� Deverá gerar os aplicativos em linguagemOracle PL/SQL Web;Oracle PL/SQL Web;

� Deverá utilizar o banco de dados Oracle10g Express Edition.

Page 15: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Casos de usoEspecificação

Page 16: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Modelo Relacional Especificação

Page 17: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Técnicas e Ferramentas

� Oracle Forms 6i;� Oracle 10g Express Edition;� Microsoft Internet Explorer;

Implementação

� Microsoft Internet Explorer;� Enterprise Architect;� PL/SQL Developer.

Page 18: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

ArquiteturaImplementação

Page 19: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Conexão com o Banco Implementação

Page 20: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

ImplementaçãoTela Principal

Page 21: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Implementação

Leitura da Estrutura das Tabelas

Page 22: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

ImplementaçãoConfigurações Adicionais

Page 23: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

ImplementaçãoFunções JavaScript

Folhas de Estilos (CSS)

Page 24: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

ImplementaçãoConfigurações por Empresa

Page 25: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Regras para o Formulário

� Se tamanho do campo <= 50 = caixa de texto,senão textArea;

� Se campo MAX+1 (auto-incremento) então gerao código automático;

Implementação

o código automático;� Se campo não permite alteração então seta o

campo para ser apenas leitura;� Se campo possuir lista de valores então gera

função para chamar a lista e apresenta osdados retornados da consulta informada pelousuário.

Page 26: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Operacionalidade

Estudo de caso

Page 27: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Conclusões

O objetivo foi alcançado gerando os aplicativosem PL/SQL WEB que permitem:

Inclusão, exclusão, alteração e consulta.

Conclusões

Inclusão, exclusão, alteração e consulta.

O tempo gasto no desenvolvimento deaplicações foi reduzido em relação à formatradicional de construção das mesmas.

Page 28: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Conclusões

Como adicionais, foram feitos algunsfacilitadores para a ferramenta conformelistados a seguir:

� Ordenação: ordenar qualquer coluna no

Conclusões

� Ordenação: ordenar qualquer coluna noaplicativo Web gerado;

� Apresentação: permitir a utilização de folhas deestilos (CSS).

Page 29: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Extensões

� Criação de uma pré-visualização do layoutque será gerado para o aplicativo.

Extensões

Page 30: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Relevância

Este trabalho foi muito importante paramim pois:

� Para a sua realização tive que utilizarconhecimentos adquiridos desde o

Relevância

Para a sua realização tive que utilizarconhecimentos adquiridos desde oprimeiro semestre da faculdade até oúltimo, mostrando com isto, a necessidadede cada matéria do curso para minhaformação.

Page 31: Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2007-2-13... · 2011-03-03 · Gerador de aplicativos

Obrigado a todos!