A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes.

Apresentações semelhantes


Apresentação em tema: "DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes."— Transcrição da apresentação:

1 DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes Gomes Orientador: Fernando Macedo

2 Objetivos Demonstrar diversas tecnologias de acesso e captura de metadados estruturais de bancos de dados relacionais; Desenvolver uma ferramenta Free e Open Source utilizando a linguagem Java; Criar uma alternativa além das de soluções proprietárias quando se trata de um problema de falta de sincronia estrutural entre bancos de dados de produção e desenvolvimento. Promover a conscientização da importância da gestão de configuração.

3 O que são metadados? São dados sobre outros dados. Um item de um metadado pode dizer do que se trata aquele dado. O que é a API JDBC? A API JDBC é uma biblioteca Java para acesso virtual de qualquer tipo de dados tabulares. Essa API consiste em um conjunto de classes e interfaces escrito na linguagem de programação Java. O que é o Schema Crawler? API que utiliza internamente o JDBC e efetua a captura dos metadados dos bancos de dados relacionais. Conceitos Importantes

4 Cenários Software em constante evolução; Não ter controle sobre as mudanças; Falta de controle em todos os sub-processos; Problema a ser solucionado Mapear e sincronizar diferenças estruturais entre duas bases;

5 Problematização Como sincronizar as bases de dados de um projeto já em andamento que não possui a estrutura desejada de controle de mudanças? Como minimizar o esforço para sincronizar bases em produção e desenvolvimento? Como mapear as diferenças estruturais entre duas bases de dados?

6 Problematização Como abstrair essas diferenças na estrutura em uma saída com um formato amigável e de fácil compreensão para o desenvolvedor? Que benefícios à solução proposta neste trabalho provê aos envolvidos no projeto? Que custo terá a solução proposta neste trabalho?

7 Pontos Analisados CDBS Comparator PRO 6.0 APEXSQL DiffSQLCompare DescriçãoComparação de estruturas e dados Servidor de base de comparação de dados Comparação e sincronização de esquemas Bancos Suportados Executa comparação entre fabricantes diferentes Suporta comparação de dados e estruturas de bases SQL Server Somente Servidor SQL Forma de Conexão ODBCAutenticação Windows ou SQL SQL Client Custo$595$399Não identificado Ferramentas Disponíveis no Mercado

8 Visão Geral DBSync4J

9 Tecnologias / Ferramentas utilizadas Eclipse 3.3 Europa; Plugin JUnit; API Schema Crawler e JDBC; API BeanDiff; Orientação a Objeto; Design Patterns; Funcionalidades Extração de metadados; Abstração de metadados; Comparação. Visão Geral DBSync4J

10 Escopo - Dbsync4J Schema Nome do Schema Coluna Nome da Coluna Quantidade de TabelasPermissão de Nulo Tabela Nome da TabelaValor Default Nome da Chave PrimariaTamanho da Coluna Nome da Chave EstrangeiraTipo do Dado Nome de ÍndiceParte de uma Chave Primaria Chave Primaria Nome da ChaveParte de uma Chave Estrangeira Tabelas a que pertencemParte de um Índice Colunas a que pertencemPrecisão SeqüênciaUnsigned Tipo do DadoAutoincrementavel Página Chave Estrangeira Nome da Chave Campo ÚnicoTabelas / Colunas a que pertencem Visão Geral DBSync4J

11 Testes Unitários na Ferramenta DBsync4J Definição Teste específico para uma funcionalidade atômica de um método dentro de uma classe; A importância dos testes para a Ferramenta Garantir que todas as entidades serão carregadas atualizadas no Banco de Dados; Credibilidade / Integridade da aplicação; Redução considerável de erros pós - entrega ao cliente.

12 Testando o carregamento do Schema... Testes Unitários na Ferramenta DBsync4J

13 Testando o carregamento de Chaves Primárias / Estrangeiras... Testes Unitários na Ferramenta DBsync4J

14 Schema Crawler X JDBC O erro...Carregamento de Colunas Testes Unitários na Ferramenta DBsync4J

15 Schema Crawler X JDBC A solução...Carregamento de Colunas

16 Trabalhos Futuros Suporte a sincronização de forma transparente; Remoção da dependência do Schema Crawler; Implementação de rotinas de geração de scripts DDL; Melhorar suporte a internacionalização; Aumentar escopo suportado pela ferramenta;

17 Extração de metadados localmente do computador de um desenvolvedor; Suportar outras bases de dados; Melhora na performance durante o carregamento dos metadados; Criar um plugin para que a ferramenta DBsyn4J se integre com o Eclipse; Criação/Persistência/Comparação de Snapshot dos metadados estruturais da base. Trabalhos Futuros

18 Análise dos Resultados Motivação: conhecer profissionais que em algum momento se depararam com problemas de comparação de bancos de dados; Considerações importantes: A comparação estrutural de banco de dados uma vez executada manualmente é considerada uma tarefa de grande consumo de tempo. Desafio alcançado: suavizar grandes diferenças entre SGBD, pois cada um possui sua forma de lidar, armazenar e recuperar seus metadados. Resultado do Trabalho: ferramenta genérica em fase funcional e open source que realize a tarefa de comparação estrutural entre bancos de dados como contribuição a comunidade.

19 Onde encontrar a Ferramenta? http://code.google.com/p/dbsync4j/


Carregar ppt "DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes."

Apresentações semelhantes


Anúncios Google