GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins



Documentos relacionados
MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

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

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE BANCO DE DADOS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

LINGUAGEM DE BANCO DE DADOS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Figura 1 - Arquitetura multi-camadas do SIE

Sistema para aprendizado de Álgebra Relacional e Linguagem SQL

SISTEMA PARA CONTROLE DE ESTOQUE DOS ALMOXARIFADOS DE AGÊNCIAS DE CORREIOS NO ESTADO DE SANTA CATARINA

SISTEMA DE CONTROLE DE ACESSO, PARA AMBIENTE ACADÊMICO

EDITOR GRÁFICO PARA SEQUENCIAMENTO E NAVEGAÇÃO USANDO REDES DE PETRI. Maicon Mueller prof. Dalton S. dos Reis

Programação com Acesso a Banco de Dados

Aula 03 - Projeto Java Web

Aula 1 Acesso a Banco de Dados

Web Services. Autor: Rômulo Rosa Furtado

PROJECT-TRAN: Ferramenta para gerenciamento de transição de conhecimento de projeto

Percio Alexandre de Oliveira Prof. Maurício Capobianco Lopes - Orientador

WebApps em Java com uso de Frameworks

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java API JDBC

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

Plano de projeto do Sistema de consulta por SMS

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

GUIA RÁPIDO DE UTILIZAÇÃO DO APLICATIVO RDB2LOD

Java para WEB com Hibernate e Struts 2. Duração 52 horas/aula. Objetvo

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Desenvolvimento Web TCC Turma A-1

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados

Ferramentas de Administração. PostgreSQL

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID

Computação II Orientação a Objetos

Universidade da Beira Interior

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Aplicativo Cliente/Servidor multicamadas para controle de uma rede de lojas via web utilizando Java

Curso de Aprendizado Industrial Desenvolvedor WEB

FERRAMENTA PARA GERENCIAMENTO DE ARTEFATOS EM PROJETO DE MELHORIA NO PROCESSO DE TESTES.

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

SISTEMA GERENCIADOR DE BANCO DE DADOS

O uso do gestor de conteúdos plone no suporte a processos de software

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Desenvolvimento de aplicações web com JSP

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Processo de garantia da qualidade baseado no modelo MPS.BR. Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Adriano Reine Bueno Rafael Barros Silva

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI)

Documento de Visão. Sistema de Ponto Eletrônico A2MEPonto. Versão 1.0

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

MVC e Camadas - Fragmental Bliki

Cargo Função Superior CBO. Tarefas / Responsabilidades T/R Como Faz

Documento de Projeto de Sistema

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Conhecendo os usuários de um Sistema de Banco de Dados

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

UFG - Instituto de Informática

SIMULADOR DE FUTEBOL EM AMBIENTE WEB

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos

Daniel Paulo de Assis

Introdução à Linguagem Java

GERADOR DE DOCUMENTAÇÃO PARA LINGUAGEM C, UTILIZANDO TEMPLATES. Acadêmico: Vilmar Orsi Orientadora: Joyce Martins

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Java Server Pages: Apresentação e Instalação

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Produtos da Fábrica de Software

Sistema para Reservas de Veículos de uma Cooperativa de Saúde. Ricardo Hoffmann Orientador: Wilson Pedro Carli

Arquitetura de Banco de Dados

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

GLOBAL SCIENCE AND TECHNOLOGY (ISSN )

Associação Carioca de Ensino Superior Centro Universitário Carioca

CONECTO. Tecnologia Java. Rua Henrique Setter, 85 Itoupava Central Blumenau SC Página - 1

Manual de Instalação, Administração e Uso do Sistema Elétric

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

HIBERNATE EM APLICAÇÃO JAVA WEB

CURSO DESENVOLVEDOR JAVA Edição 2010

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Processo de Desenvolvimento de Sites

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Transcrição:

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins

Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões Você está em: Roteiro

Introdução Processo de desenvolvimento de software demanda tempo e esforço Trabalho repetitivo e dispendioso na implementação de interfaces e acesso ao banco de dados Possível solução: uso de geradores de código Ferramenta para a geração de páginas JSP a partir da definição de uma base de dados em um banco de dados relacional Você está em: Introdução

Objetivos do trabalho Desenvolver uma ferramenta para automatizar o processo de desenvolvimento de software, gerando páginas JSP a partir do dicionário de dados de um SGBD Efetuar a leitura do dicionário de dados dos SGBDs Oracle, Microsoft SQL Server e MySQL, através da API JDBC Utilizar templates na definição do código de saída Gerar páginas JSP com funcionalidades de inclusão, alteração, exclusão e consulta Gerar código no padrão MVC Você está em: Objetivos do trabalho

Fundamentação teórica Conceitos Geradores de código API JDBC Templates Motor de templates Velocity Arquitetura MVC JSP Trabalhos correlatos CodGer EasyCase TechCodeGenerator ClassGenerator Você está em: Fundamentação teórica

Geradores de código Geração de código é a técnica pela qual se constrói código utilizando programas (Herrington, 2003). Auxiliam no processo de desenvolvimento de software Podem gerar um sistema completo ou somente rotinas específicas Etapas para o desenvolvimento de um gerador de código Identificação da saída Definição da entrada e sua análise Interpretação da entrada e formatação da saída Geração da saída a partir das informações de entrada Você está em: Fundamentação teórica Conceitos Geradores de código

API JDBC Facilita e padroniza a comunicação de aplicações Java com o banco de dados Possibilita a manipulação das informações no banco de dados Drivers JDBC implementam as interfaces da API JDBC A API JDBC suporta quatro tipos de drivers: driver JDBC-ODBC (driver tipo 1) driver de acesso nativo (driver tipo 2) driver de acesso por middleware (driver tipo 3) driver de acesso direto ao servidor (driver tipo 4) Você está em: Fundamentação teórica Conceitos API JDBC

Templates São arquivos utilizados para a geração de outros arquivos Utilizados em geração de código para permitir a padronização do código gerado Permitem que a formatação do código gerado esteja externa ao código da aplicação que o gera São formados por códigos estáticos e códigos dinâmicos Você está em: Fundamentação teórica Conceitos Templates

Motor de Templates Velocity Não é uma aplicação, mas um conjunto de classes Java Através da VTL, permite a inserção de informações de maneira dinâmica dentro do template A VTL possui recursos que permitem: Referenciar variáveis dentro do template Utilizar controles de fluxo de execução Definir e invocar macros Efetuar a chamada de métodos de objetos Java Você está em: Fundamentação teórica Conceitos Motor de Templates Velocity

Arquitetura MVC Separa os dados, o fluxo da aplicação e a interface com usuário em camadas distintas Possibilita a substituição inteira de uma camada sem que as demais sejam afetas Fonte: adaptado de Sun Microsystems (2002). Você está em: Fundamentação teórica Conceitos Arquitetura MVC

JSP Tecnologia para o desenvolvimento de aplicações web Permite criar conteúdo dinâmico reutilizando componentes predefinidos Multiplataforma Você está em: Fundamentação teórica Conceitos JSP

Desenvolvimento do trabalho Especificação dos requisitos funcionais e não funcionais Definição dos bancos de dados Estudo da API JDBC Interpretação das informações de entrada Especificação da saída Definição do Tomcat como servidor de aplicações Especificação da ferramenta através da UML Implementação Elaboração dos templates Definição de uma base de dados para testes Você está em: Desenvolvimento do trabalho

Requisitos funcionais Manter configurações do projeto Manter configurações de acesso ao banco de dados Manter configurações dos templates Manter configurações de formulários Manter configurações de grupos de formulários Manter configurações de relatórios Efetuar a geração de código Você está em: Desenvolvimento do trabalho Requisitos funcionais

Requisitos não funcionais Gerar páginas na linguagem JSP e no padrão MVC Utilizar a linguagem Java 5.0 Utilizar o ambiente de desenvolvimento Eclipse 3.2 Utilizar templates para a geração do código de saída Utilizar o motor de templates Velocity para formatação dos templates Utilizar a API JDBC para a extração das informações do metadados dos SGBDs Utilizar drivers JDBCs específicos para cada SGDB definido Gerar os arquivos de configuração no formato XML Você está em: Desenvolvimento do trabalho Requisitos não funcionais

Especificação Casos de uso: Você está em: Desenvolvimento do trabalho Especificação

Especificação Diagrama de pacotes mostrando a aplicação do padrão MVC: Você está em: Desenvolvimento do trabalho Especificação

Especificação Diagrama de classes do pacote model.metadata: Você está em: Desenvolvimento do trabalho Especificação

Especificação Diagrama de classes do pacote model.project: Você está em: Desenvolvimento do trabalho Especificação

Especificação Diagrama de classes do pacote controller: Você está em: Desenvolvimento do trabalho Especificação

Especificação Diagrama de classes do pacote view: Você está em: Desenvolvimento do trabalho Especificação

Implementação Técnicas e ferramentas utilizadas: Arquitetura MVC Java 5.0 Eclipse 3.2 API JDBC Drivers JDBC apropriados SWT Velocity Templates JSP Você está em: Desenvolvimento do trabalho Implementação

Implementação Método que obtém as colunas de uma tabela do banco de dados: Você está em: Desenvolvimento do trabalho Implementação

Implementação Método que efetua a geração de código: Você está em: Desenvolvimento do trabalho Implementação

Implementação Template utilizado na geração da tela de menu da aplicação JSP: Você está em: Desenvolvimento do trabalho Implementação

Implementação Estrutura de diretórios gerada pela ferramenta: Você está em: Desenvolvimento do trabalho Implementação

Operacionalidade Você está em: Desenvolvimento do trabalho Operacionalidade

Resultados e discussão Atendimento dos requisitos propostos Mantidas funcionalidades do CodGer (Menin, 2005) Código gerado totalmente externo ao código da ferramenta Comparativo entre as ferramentas: CARACTERÍSTICAS desenvolvimento utilizando o conceito de orientação a objetos desenvolvimento utilizando o padrão MVC uso de templates para geração de código utilização de driver JDBC para a conexão com o banco de dados permite conexão com vários SGDBs utilização do motor de templates Velocity geração de código utilizando o padrão MVC CodGer sim não não sim não não sim FormGenerate sim sim sim sim sim sim sim Você está em: Desenvolvimento do trabalho Resultados e discussão

Conclusão Acesso ao banco de dados: Utilização de drivers JDBC Forma de conexão padronizada Conexão com vários bancos de dados Flexibilidade Configuração dos formulários efetuada pelo desenvolvedor Código gerado definido em templates Geração de código Velocity Templates Limitações Tipos de dados do banco de dados Formulários mestre-detalhe Você está em: Conclusão

Extensões Disponibilizar acesso a mais bancos de dados Possibilitar informar o componente gráfico do campo do formulário no momento da configuração Gerar versão para outro sistema operacional Você está em: Extensões

Obrigado!!!