Este trabalho visa mostrar a importância da adoção e implementação de um procedimento de desenvolvimento onde haja atenção com o principal ativo de um software, a informação. Como esta em sua maioria das vezes é armazenada em um banco de dados toda e qualquer alteração que deva ser realizada no banco de dados deve ser efetuada em conjunto com a evolução do software. Para facilitar a adoção desse processo no ciclo de desenvolvimento foi selecionada a utilização da ferramenta Flyway, cuja ferramenta objetiva realizar a gestão de aplicação das alterações necessárias no ambiente em questão, assim garantindo que uma determinada alteração seja executada uma única vez no sistema. Para isso foi criado um estudo de caso através da documentação da ferramenta para gerar um projeto que utiliza a mesma para aplicar scripts de atualização ao banco de dados.
Artigo disponível em: http://blog.endrigoantonini.com.br/2014/06/17/artigo-sobre-flyway/
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Utilização da ferramenta FlyWay para gerir e aplicar atualizações de Banco de Dados
1. SOCIEDADE EDUCACIONAL DE SANTA CATARINA
INSTITUTO SUPERIOR TUPY
PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
ARTIGO: UTILIZAÇÃO DA FERRAMENTA FLYWAY PARA
GERIR E APLICAR ATUALIZAÇÕES DE BANCO DE DADOS
Endrigo Antonini
Orientador: Prof. Luiz C. Camargo, Me.
Joinville, Março de 2014.
2. TEMA: UTILIZAÇÃO DA FERRAMENTA FLYWAY PARA
GERIR E APLICAR ATUALIZAÇÕES DE BANCO DE DADOS.
PROBLEMA: Gerir e aplicar scripts de atualizações de
banco de dados são tarefas complexas e que envolvem
grande quantidade de esforço. Como controlar a criação
dos scripts e automatizar o processo de aplicação?
3. OBJETIVOS ESPECÍFICOS:
• Explicar a problemática de gerir a evolução do banco de
dados;
• Apresentar migrations;
• Apresentar a ferramenta FlyWay;
• Realizar experimentos com a ferramenta;
• Apresentar os resultados obtidos com o experimento;
OBJETIVO: Implementação da ferramenta FlyWay para
gerenciar e efetuar a evolução do banco de dados.
4. FUNDAMENTAÇÃO TEÓRICA
A primeira release do produto não é o fim do projeto,
mas sim o início da vida do projeto e que a
qualidade de vida das pessoas envolvidas no
projeto depende das escolhas que fez antes desse
marco. Também é importante lembrar que esse
projeto pode carregar / alavancar seus negócios e
por isso essa deve ser feita com cuidado e de forma
organizada (Nygard, 2011)
5. FUNDAMENTAÇÃO TEÓRICA
Janssen (2014) define Data Migration como sendo o
processo de transportar dados entre computadores,
dispositivos de armazenagem ou formato dos dados.
Também destaca que esse processo é algo
primordial para ser considerado na implementação,
durante sua atualização e consolidação do mesmo.
6. FUNDAMENTAÇÃO TEÓRICA
Maven é uma ferramenta que prima a construção
(compilação e empacotamento), distribuição e
principalmente a utilização de uma escrita universal
para gerir dependências através de uma linguagem
de marcação chamada POM (Project Object Model).
9. ESTUDO DE CASO
Contextualização:
• Era da informação mas e a preocupação com os dados?
• Ciclos de desenvolvimento mais curtos;
• Equipes trabalhando em diferentes funcionalidades
simultaneamente;
10. ESTUDO DE CASO
Implementação:
Ferramentas utilizadas
• Java 7 (1.7.0_45);
• Maven 3.2.1;
• GIT client 1.8 (apenas para publicação dos fontes);
Fontes disponível em: http://bit.ly/1md3poU
11. ESTUDO DE CASO
Implementação:
Etapas:
• Criação de um projeto Maven;
• Adicionar o FlyWay como dependência;
• Criação de classe principal para execução;
• Criação dos scripts de teste;
• Execução da ferramenta;
Fontes disponível em: http://bit.ly/1md3poU
12. Resultados Obtidos
• Ferramenta efetuou todas as alterações
necessárias no banco de dados de forma síncrona
e ordenada;
• Fácil configuração e preparação do ambiente para
que a mesma possa ser utilizada em um projeto;
• Fontes disponíveis em: http://bit.ly/1md3poU
13. CONCLUSÃO
• Ferramenta atende os requisitos a que se propõe;
• Utiliza Maven;
• Controle dos scripts se dá através do mesmo
repositório de fontes (facilidade);
• Facilidade de utilização nos vários ciclos
(desenvolvimento, QA, produção…)
• Documentação somente em inglês:
• Em conversa com o criador da ferramenta ele irá
adicionar esse artigo como referência para o
português.
14. REFERÊNCIAS
FLYWAY. Flyway - The agile database migration framework for Java.
Disponível em: <http://www.flywaydb.org/>. Acesso em: 11 fev. 2014.
JANSSEN, Cory. What is Data Migration - Definition from Technopedia.
Disponível em: <http://www.techopedia.com/definition/1180/data-
migration>. Acesso em: 10 fev. 2014.
MAVEN. Maven - What is Maven?. Disponível em:
<http://maven.apache.org/what-is-maven.html>. Acesso em: 11 fev. 2014.
NYGARD, Michael T.. Release It!: Design and Deploy Production-Ready
Software. Estados Unidos da América: Pragmatic Bookshelf, abr 2007.
PRESSMAN, Roger S. Engenharia de Software: Uma abordagem
profissional. 7. ed Porto Alegre: AMGH, 2011.