Escolar Documentos
Profissional Documentos
Cultura Documentos
Centro de Informtica
Far and away the best prize that life has to offer is the chance to work hard at work
worth doing.
(Theodore Roosevelt)
Agradecimentos
Primeiramente agradeo aos meus pais por terem me dado a oportunidade de ter
uma educao de excelente qualidade, o que me garantiu uma vaga em um centro de
excelncia, e terem me mostrado o quo importante realizar um trabalho que o faz se
sentir bem. Sou eternamente grato a meus pais e irmo por seus ensinamentos e lies.
So longas conversas que me ajudam a superar momentos difceis e a planejar meu
futuro. Juntamente com minha irm, eles so o meu porto seguro.
Agradeo tambm aos meus amigos do Centro de Informtica, que me
acompanharam durante esses quatro anos estudando muito e desenvolvendo projetos
interessantes (e trabalhando at tarde para conclu-los), contudo sem perder o humor e o
esprito de equipe. Definitivamente fiz amizades que no cessaro aps a formatura.
Por fim, contudo no menos importante, agradeo aos grandes professores que
lecionaram importantes disciplinas durante o curso e que me forneceram uma base slida
para continuar acompanhando a evoluo da tecnologia. Agradeo aos meus colegas de
trabalho da SUATI e ao meu orientador pela idia deste trabalho e pela ajuda que me
deram.
Resumo
Um sistema chamado de sistema legado quando resiste a evolues significativas
[4]. Normalmente, so sistemas que sofreram muitas modificaes ao longo do tempo e
possuem um nvel de entropia to alto, que o esforo e custo necessrios para
desenvolver novas funcionalidades no so compensados pelos benefcios trazidos por
estas novas funcionalidades [18].
Quando refazer o sistema uma opo invivel, uma possvel soluo migr-lo
[15]. Os benefcios da migrao so enormes a longo prazo: ela oferece mais flexibilidade,
um melhor entendimento do sistema, fcil manuteno e custos reduzidos [19], porm a
migrao de dados uma tarefa tipicamente complexa e trabalhosa nos ambientes
computacionais atuais [9].
O principal objetivo deste trabalho detalhar o desenvolvimento de um assistente
de migrao de dados para bancos de dados no SQL Server, o Data Migration Wizard.
Abstract
A system is called legacy system when it resists to significative evolutions [4].
Usually, they are systems that have been modified many times throughout the years and
which levels of entropy are so high, that the effort and cost needed to develop new features
are not compensated by the benefits brought by those new features [18].
When redoing a system is an unfeasible option, one possible solution is to migrate it
[15]. The long-term benefits of a migration are huge: it offers more flexibility, a better
understanding of the system, easy maintenance and reduced costs [19], however a data
migration is a complex task in todays computational environments [9].
The main purpose of the report is to detail the development of a data migration
wizard for SQL Server databases, the Data Migration Wizard.
Sumrio
1.
2.
INTRODUO ................................................................................................. 12
1.1.
CONTEXTO .................................................................................................. 12
1.2.
1.3.
OBJETIVOS .................................................................................................. 15
1.4.
PASSOS ...................................................................................................... 20
3.
2.4.
DESAFIOS ................................................................................................... 23
2.5.
CONCEITOS ................................................................................................. 26
3.2.
3.3.
FUNCIONAMENTO ......................................................................................... 41
5.
TRABALHOS FUTUROS.................................................................................. 59
Referncias Bibliogrficas.........................................................................................61
Lista de Figuras
Figura 3.1 - Dependncia entre tabelas ............................................................. 27
Figura 3.2 - Diagrama de casos de uso do Data Migration Wizard ..................... 31
Figura 3.3 - Diagrama das entidades do Data Migration Wizard ....................... 38
Figura 3.4 - Arquitetura do Data Migration Wizard ............................................. 41
Figura 3.5 - Tela de apresentao ..................................................................... 42
Figura 3.6 - Tela referente ao passo 1 ............................................................... 43
Figura 3.7 - Identificao de dependncias cclicas ........................................... 44
Figura 3.8 - Exibio de erro ao usurio ............................................................ 45
Figura 3.9 - Tela referente ao passo 2 ............................................................... 46
Figura 3.10 - Replicao da tabela de origem ..................................................... 47
Figura 3.11 - Tela de mapeamento de colunas ................................................... 47
Figura 3.12 - Tela referente ao passo 3 ............................................................... 48
Figura 3.13 - Tela referente ao passo 4 ............................................................... 49
Figura 3.14 - Concluso da limpeza da base de dados destino .......................... 50
Figura 3.15 - Tela referente ao passo 5 ............................................................... 51
Figura 3.16 - Tela de configurao de um novo script SQL ................................. 51
Figura 3.17 - Visualizao de novo script ............................................................ 52
Figura 3.18 - Tela referente ao passo 6 ............................................................... 53
Figura 3.19 - Problema relacionado dependncia entre tabelas ....................... 54
Figura 3.20 - Comportamento ideal da migrao diante de relacionamentos entre
tabelas ............................................................................................ 54
Figura 3.21 - Concluso da migrao com sucesso ............................................ 55
10
Lista de Tabelas
Tabela 3.1 - Mapeamento entre valores de identificadores ................................. 55
11
1. INTRODUO
1.1. CONTEXTO
Quando refazer o sistema uma opo invivel, uma soluo migr-lo [15].
Empresas tendem a querer migrar seus sistemas legados para novos ambientes, que
permitem ao sistema de informao uma manuteno mais simples. Os sistemas so
adaptados para satisfazer os novos requisitos de negcio, mas retm as funcionalidades
existentes, no sendo necessrio desenvolv-las novamente [18].
12
13
dos
principais
concorrentes
do
Data
Migration
Wizard
Data
14
1.3. OBJETIVOS
15
2. MIGRAO DE DADOS
Neste caso, nova aplicao entende-se como todo sistema computacional em sua verso inicial ou
resultante da atualizao de um sistema pr-existente.
16
passar por um processo de transformao dos dados, que pode ocorrer na etapa de
extrao ou de carga [23].
2.1.1.
Chicken Little
17
2.1.2.
Butterfly
18
2.2.1.
Big Bang
As migraes que adotam a estratgia Big Bang so realizas de uma s vez. Neste
caso, o sistema original deve ficar fora do ar enquanto os dados so extrados,
transformados e carregados na aplicao destino [5]. Segundo Datanomic Ltd. [5], esta
estratgia tem a vantagem da migrao ser finalizada no menor tempo possvel. Porm,
ela apresenta riscos: algumas organizaes no podem ter o seu sistema fora do ar por
muito tempo, o que aumenta a grande carga de presso sobre a execuo da migrao e
a realizao de seus testes. Datanomic Ltd. [5] ainda afirma que as empresas que adotam
esta estratgia deveriam realizar uma migrao de testes antes da migrao real, mas
poucas o fazem, o que compromete a qualidade dos dados. Normalmente quando esta
estratgia adotada, o processo de execuo da migrao ocorre durante um fim de
semana ou feriado.
19
2.2.2.
Trickle
2.3. PASSOS
2.3.1.
Passo 1 Planejamento
20
sero necessrias e que tipos de dados sero migrados em casa fase. Deve tambm
determinar o responsvel por cada tarefa e seus prazos, alm de descrever o impacto da
migrao no negcio em termos de necessidade de treinamento de pessoal, custos
envolvidos e o tempo de parada do sistema e estabelecer um plano de contingncia,
especificando como lidar com processos de negcio crticos em termos de tempo, como
pagamentos, em caso de atraso no cronograma [10]. Quanto maior a importncia dos
dados para as operaes da empresa e maior a complexidade do ambiente, mais crtico
o planejamento da migrao [13].
O cronograma e o oramento devem levar em considerao todo o material e tempo
necessrios para auditar os dados, desenvolver as especificaes de mapeamento,
escrever o cdigo de migrao, construir as regras de transformaes e limpeza dos
dados, carregar e testar a migrao. O cronograma tambm deve incluir quando o dado
estar pronto para anlise e teste, quando o sistema de origem ficar fora do ar
(dependendo da metodologia adotada) e quando o novo sistema estar pronto para os
usurios [10]. Um projeto de migrao tpico tem uma durao mdia de seis meses a dois
anos com uma equipe de cinco desenvolvedores em tempo integral [5].
2.3.2.
Quando dados so migrados para um novo sistema, pode ficar aparente que eles
contm redundncias e imprecises. Enquanto que estes dados so perfeitamente
adequados para o funcionamento do sistema original, eles podem no ser adequados (em
termos de estrutura e contedo) para a nova aplicao [5]. Sem o entendimento suficiente
de ambos os sistemas, a transferncia de dados de um para o outro pode ampliar o
impacto negativo de qualquer dado incorreto ou irrelevante [5].
Para desenvolver um programa de migrao de dados eficaz importante entender
por completo as fontes de dados antes de especificar o cdigo de migrao. Isto melhor
alcanado atravs da realizao de uma auditoria completa dos dados que fazem parte do
escopo da migrao nos estgios iniciais do projeto. Atravs do uso de ferramentas de
profiling e auditoria, possvel analisar o contedo dos dados e identificar quais valem a
pena serem migrados, j que uma migrao requer tempo, dinheiro e esforo [5, 10]. O
21
Uma auditoria completa dos dados pode reduzir o custo de reparos no cdigo na
etapa de testes em at 80%.
2.3.3.
2.3.4.
Passo 4 Execuo
22
2.3.5.
Apesar dos dados terem sido validados ao longo do processo de migrao, testes
unitrios, de sistema e de carga devem ser feitos para garantir que todos os dados foram
migrados e que o novo sistema se comporta como esperado [10]. Caso os passos 2 e 3
no tenham sido realizados de maneira eficaz, a chance da ocorrncia de erros aumenta,
acarretando em repetio de trabalho, o que leva a um aumento no custo do projeto e um
possvel atraso no cronograma [5].
2.4. DESAFIOS
De acordo com IBM, Manek e Youn [9, 10, 23], os principais desafios impostos por
um projeto de migrao de dados so:
23
A migrao de dados deve ser vista como um projeto completo. Portanto, se faz
necessrio alocar recursos, definir claramente o escopo do projeto, definir um
plano de projeto com um cronograma que leva em considerao a possibilidade
de ocorrncia de problemas inesperados e angariar fundos necessrios para a
execuo do projeto;
24
Enquanto que muitas tarefas podem ser automatizadas, outras devem ser
realizadas manualmente. Realizar estas tarefas com ateno ajuda a manter a
consistncia dos dados.
25
3.1. CONCEITOS
Esta seo tem a finalidade de explicar alguns conceitos e termos que sero
utilizados no decorrer do trabalho e que seu entendimento de fundamental importncia.
Neste trabalho so utilizadas as seguintes abreviaturas:
UCXX para referenciar um caso de uso cujo nmero representado pelo XX;
Quanto s prioridades dos casos de uso, caso ela seja essencial, o caso de uso
deve ser implementado, j que a sua falta impede o funcionamento do sistema. J um
caso de uso de prioridade importante no necessariamente precisa ser implementado,
pois sua falta no impede o funcionamento do sistema, porm o sistema no funcionar de
maneira satisfatria. Quanto a um caso de uso de prioridade desejvel, caso este no
seja implementado, a operacionalizao da aplicao no ser comprometida.
Um conceito que deve ser entendido a dependncia de tabelas. Quando uma
tabela B depende de uma tabela A significa dizer que a tabela B possui uma chave
estrangeira, que a chave primria (ou faz parte da chave primria, caso ela seja
26
27
outras tabelas. J as tabelas de nvel 1 so as tabelas que dependem de tabelas cujo nvel
mximo 0, e assim por diante.
O conceito de iterao foi criado com o intuito de agrupar os mapeamentos e
scripts que possuem o mesmo nvel de modo a tornar possvel a migrao dos dados de
uma nica vez, satisfazendo o RF01, j que executar as iteraes em cadeia no violar a
restrio de integridade referencial da base.
O conceito de anlise de uma base de dados utilizado para indicar a execuo de
uma srie de operaes que tm por finalidade criar um objeto do tipo Database (detalhes
do seu contedo sero vistos na subseo 3.3.3) na memria.
Foi criado para a realizao de migraes de dados entre bases de dados SQL
Server de aplicaes que sofrem atualizaes em suas verses;
28
3.3.1.
Requisitos
[RF02] - O sistema dever ser capaz de identificar as tabelas que fazem parte
de dependncias cclicas;
29
[RF04] - O sistema dever ser capaz de permitir a insero de scripts SQL e que
a escolha do momento de sua execuo fique a cargo do usurio;
[RNF01] - Caso ocorra algum erro durante a migrao dos dados, uma operao
de rollback dever ser executada;
[RNF03] - O sistema deve ser intuitivo, de modo que o usurio saiba exatamente
o que deve ser feito e como faz-lo.
3.3.2.
Casos de Uso
Para a realizao da migrao dos dados, necessrio que o usurio realize certas
atividades, tais quais configurar os dados das conexes com os bancos de dados, realizar
mapeamentos entre tabelas, entre outras. Estas atividades foram agrupadas em casos de
uso (UC). O diagrama de casos de uso do sistema pode ser visualizado na Figura 3.2 e o
detalhamento de cada caso de uso em particular ser abordado logo em seguida.
30
3.3.2.1.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator configure os dados das
conexes com as das bases de dados utilizadas pela ferramenta: a base de origem e a
base destino.
Pr-condies:
31
Ps-condies:
Fluxo Principal:
1. O ator preenche os dados relativos s conexes com as bases de dados a
serem utilizadas pelo Data Migration Wizard:
o os nomes dos servidores;
o os nomes das bases de dados;
o login; e
o senha.
Caso o ator tenha escolhido a opo Windows Authentication, no
ser
Pr-condio:
Algum dos dados do passo 1 no foram preenchidos.
Fluxo:
Caso o dado no preenchido faa parte da string de conexo com a base de
Pr-condio:
32
Fluxo:
Caso o dado preenchido erroneamente faa parte da string de conexo com a
3.3.2.2.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator realize os
mapeamentos entre as tabelas das bases de dados, de modo que o sistema seja capaz
de, dado o mapeamento, realizar a migrao dos dados da tabela de origem para a tabela
destino.
Pr-condies:
Ps-condies:
33
Fluxo Principal:
1. A tabela da base de dados de origem fixada pelo sistema, logo, o ator deve
selecionar uma tabela da base de dados destino cujos dados sero provenientes
da tabela fixada pelo sistema. Caso o mapeamento seja perfeito, ou seja, as
duas tabelas possuem a mesma estrutura interna (quantidade de colunas,
nomes e tipos das colunas), ento um cone indicar tal caracterstica e o
mapeamento foi finalizado com sucesso. Caso contrrio, um cone indicar a
necessidade de realizao do mapeamento entre as colunas das duas tabelas
em questo.
3.3.2.3.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator realize o mapeamento
entre as colunas de duas tabelas: a tabela de origem e a tabela destino.
Pr-condies:
Ps-condies:
34
Fluxo Principal:
1. A coluna da tabela destino fixada pelo sistema, logo, o ator deve selecionar
uma coluna da tabela de origem, cujos dados sero migrados para a coluna
fixada pelo sistema.
3.3.2.4.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator possa escolher quais
tabelas da base de dados destino no deve ter seu contedo apagado antes da migrao
(e.g. uma tabela de permisses recm-criada).
Pr-condies:
Ps-condies:
Fluxo Principal:
1. O ator escolhe as tabelas fixas clicando com o mouse em checkboxes. Caso
alguma tabela escolhida dependa de outras tabelas, estas tabelas sero
marcadas automaticamente, pois caso seus dados sejam apagados, a tabela
35
escolhida ferir a integridade referencial da base, j que ela far referncia a ids
que no existem mais.
3.3.2.5.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator possa criar seus
prprios scripts SQL e escolher quando eles devem ser executados.
Pr-condies:
Ps-condies:
Fluxo Principal:
1. O ator deve selecionar a localizao do novo script;
2. O ator deve clicar no boto Criar Script;
3. O ator deve preencher os dados relativos ao novo script; e
4. O ator deve finalizar a criao do novo script clicando no boto Salvar.
Pr-condio:
36
Fluxo:
A mensagem de erro Preencha todos os campos exibida na barra de status.
3.3.2.6.
Essencial
Prioridade:
Ator:
Importante
Desejvel
DBA
Descrio:
Este caso de uso tem por finalidade permitir com que o ator possa remover scripts
SQL criados previamente.
Pr-condies:
Ps-condies:
Fluxo Principal:
1. O ator deve selecionar o script a ser apagado; e
2. O ator deve clicar no boto Remover Script a fim de apagar o script da
memria.
37
3.3.3.
Esta subseo tem por objetivo detalhar a modelagem dos dados utilizada no
desenvolvimento do Data Migration Wizard. A Figura 3.3 a seguir ilustra as entidades
criadas:
38
2.
3.
4.
5.
6.
classe Iteration
uma lista de
39
8.
9.
3.3.4.
Arquitetura
Durante a etapa de projeto do Data Migration Wizard, foi decidido utilizar uma
arquitetura em camadas, criando-se ento uma camada provedora de servios chamada
Services Provider, uma camada responsvel pelo tratamento das regras de negcio
chamada Business Provider e uma camada responsvel por lidar diretamente com o
cdigo relativo base de dados trabalhada (SQL Server) chamada Data Provider.
O motivo pelo qual foi feita esta escolha est na expansibilidade que este tipo de
arquitetura traz. Apesar de no ser um requisito no-funcional da ferramenta, foi
considerado importante torn-la expansvel, de modo que, caso haja a necessidade de
utilizar algum sistema de gerenciamento de banco de dados diferente do SQL Server, ser
necessrio apenas implementar a camada de dados da ferramenta, j que as camadas
40
so independentes. Esta arquitetura tambm torna possvel fazer com que a interface
grfica possa executar em uma mquina cliente e o resto da aplicao em uma mquina
servidora atravs do uso de web services que se conectam diretamente camada
provedora de servios. A Figura 3.4 ilustra a arquitetura utilizada na ferramenta.
3.4. FUNCIONAMENTO
41
3.4.1.
Neste passo, que corresponde ao UC01, o usurio deve preencher os campos com
os dados que formaro as strings de conexo com as bases de dados utilizadas durante o
processo de migrao. vlido destacar que, sempre que alguma operao executada,
esta informao exibida ao usurio atravs da barra de status localizada na parte inferior
da tela, satisfazendo o RF03. O passo 1 ilustrado pela Figura 3.6 a seguir:
42
interessante atentar para o fato de que possvel fazer uso das credenciais
utilizadas pelo sistema operacional, no havendo a necessidade de informar o nome do
usurio e sua senha. Tal caracterstica obtida ao escolher a opo Windows
Authentication como tipo de autenticao.
Ao clicar no boto Avanar, o sistema realiza a anlise das bases de origem e
destino, define as iteraes das tabelas destino, exibindo as dependncias cclicas
identificadas, e avana para o passo 2 do processo de migrao.
Para implementar as operaes que analisam uma base de dados, foram utilizadas
classes que facilitam a manipulao de informaes de bases de dados SQL Server. Estas
classes
pertencem
aos
namespaces
Microsoft.SqlServer.Management.Smo
43
Enquanto h tabelas com nvel -1 e alguma tabela teve seu nvel definido neste
lao, faa:
o Para cada tabela com nvel -1, faa:
Se as tabelas das quais ela depende tiverem seu nvel definido, o nvel
desta tabela ser o maior dentre os nveis das tabelas das quais ela
depende, acrescido de 1.
Como resultado do algoritmo utilizado, caso haja tabelas que no tiveram o seu
nvel identificado, a migrao de seus dados deve ser tratada manualmente, j que elas
fazem parte de dependncias cclicas. O tratamento automtico de dependncias cclicas
no faz parte do escopo deste trabalho (como afirmado na seo 3.2), mas sua
identificao satisfaz o RF02. A Figura 3.7 a seguir ilustra como as tabelas identificadas
so exibidas ao usurio:
Caso ocorra algum erro durante o uso da ferramenta, este exibido ao usurio na
barra de status, como mostra a Figura 3.8:
44
3.4.2.
45
46
47
3.4.3.
48
Ao selecionar as tabelas fixas, vale atentar para o seguinte fato: caso a tabela
escolhida dependa de outra tabela, esta ser selecionada automaticamente de modo que
a restrio de integridade referencial no ser violada durante a limpeza da base de
dados. Utilizando o exemplo visto na seo 3.1, caso o usurio selecione a tabela
Empresas, automaticamente a tabela TiposEmpresa ser selecionada. Aps selecionar as
tabelas fixas desejadas (caso existam), o usurio deve clicar no boto Avanar para ser
levado tela referente ao passo 4 do assistente.
3.4.4.
49
3.4.5.
Neste passo, o usurio pode visualizar as iteraes criadas pelo Data Migration
Wizard, criar e remover scripts SQL. As aes descritas em cada iterao so resultado
dos mapeamentos elaborados pelo usurio no passo 2 e da criao de scripts SQL. A
Figura 3.15 a seguir ilustra a tela referente ao passo 5 da ferramenta:
50
Para criar um novo script (UC05, RF04), basta que o usurio escolha o momento no
qual ele ser executado e clique no boto Criar Script, o qual abrir uma tela de
configurao dos dados do script, como mostra a Figura 3.16:
51
Caso o usurio deseje remover algum script criado por ele (UC06), basta selecionlo e clicar no boto Remover Script. Clicando no boto Avanar, o usurio levado para
a tela referente ao ltimo passo da ferramenta.
3.4.6.
52
53
54
55
4. ESTUDO DE CASO
56
automaticamente,
personalizadas
para
permite
atualizao
dos
criao
dados
de
consultas
ainda
realiza
mapeamentos automticos.
3. Quais so os pontos fortes e fracos do assistente de migrao de dados?
R. Pontos fortes: a facilidade com que bancos de dados grandes e
complexos podem ser migrados sem que o usurio precise analisar
minuciosamente cada diferena entre os bancos de dados, possibilitando
uma maior eficincia devido reduo do esforo/tempo gasto no
processo e diminuindo substancialmente o risco de falha humana e
perda de dados no processo de migrao.
Ponto fracos: o assistente exige o uso de um computador com
disponibilidade de memria e processamento elevados.
4. No que o assistente supera a ferramenta da Microsoft?
R. Automao - A ferramenta da Microsoft faz uma anlise superficial das
estruturas
dos
bancos
de
dados
envolvidos,
sem
considerar
57
usurio
58
5. CONSIDERAES FINAIS
Empresas gastam milhes de dlares migrando dados entre aplicaes que lidam
com informao em massa e, ainda com todo esse investimento, 75% dos novos sistemas
falham em satisfazer as expectativas [5]. Muita pesquisa vem sendo conduzida na
tentativa de desenvolver uma maneira segura e barata de guiar a migrao de um sistema
legado como um todo [2, 3, 4, 6, 7, 8, 12, 16, 17, 18, 19, 20, 21, 22] .
Ao longo deste trabalho, foram vistas duas metodologias de migrao de sistemas
legados, duas estratgias de migrao de dados, os passos envolvidos neste processo,
seus desafios e fatores de sucesso. Foi mostrada a ferramenta que representa o estado da
arte acerca de projetos de migrao de dados e a principal concorrente do assistente
desenvolvido neste trabalho. Tambm foram mostradas com detalhes as especificaes
tcnicas do Data Migration Wizard, suas caractersticas gerais e seu funcionamento. O
trabalho foi finalizado com a realizao de um estudo de caso, a fim de verificar se o
assistente supera os pontos fracos identificados no seu principal concorrente.
Na prxima seo so sugeridas melhorias no Data Migration Wizard a fim de tornar
a ferramenta mais sofisticada.
Como foi mostrado na seo 4.1 deste trabalho, o Data Migration Wizard pode ser
considerado um exemplo de projeto de sucesso, pois ele satisfez todos os seus requisitos.
Porm, o trabalho no est completo. Existem funcionalidades e caractersticas que
podem ser agregadas ao assistente de modo que ele se torne uma ferramenta mais
sofisticada e capaz de resolver outras necessidades de negcio. Estas sugestes so
enumeradas a seguir:
1. Tornar possvel que o usurio escolha qual tipo de SGBD utilizar, no se
restringindo apenas ao SQL Server (e.g. a base de origem pode ser em um
banco Oracle e a base destino pode ser um banco MySQL);
59
2. Dar suporte possibilidade dos dados que compem uma tabela destino serem
provenientes de mais de uma tabela da base de origem;
3. Migrar automaticamente dados de tabelas que fazem parte de dependncias
cclicas; e
4. Desenvolver o algoritmo de transferncia de dados utilizando stored procedures,
a fim de otimizar a performance e o uso de memria do servidor.
60
Referncias Bibliogrficas
[1]
[2]
[3]
[4]
[5]
[6]
Dayal, U.; Hwang H.; View Definition and Generalization for Database
Integration in a Multidatabase System, IEEE Transactions on Software
Engineering, Volume 10, Nmero 6, Novembro 1984.
[7]
[8]
[9]
[10] Manek, P.; Microsoft CRM Data Migration Framework, Abril 2003.
[11] March, S. T.; Special Issue on Heterogeneous Databases, Relatrios de
Computao da ACM, Volume 22, Nmero 3, 1990.
61
[12] Navathe, S. B.; Gadgil S. G.; A Methodology for View Integration in Logical
Database Design, 8th International Conference on Very Large Databases,
Cidade do Mxico, Mxico, Setembro 1992.
[13] Softek; Best Practices for Data Migration.
http://www.cio.co.uk/whitepapers/index.cfm?whitepaperid=1744
ltimo acesso em 6 de outubro de 2007.
[14] Softek Survey; Softeks Worldwide Data Migration Survey, 2005.
[15] Sommerville, I.; Software Engineering Environments, 5 Edio, AddisonWesley.
[16] SUATI; http://www.suati.com.br ltimo acesso em 20 de janeiro de 2008.
[17] Tilley, S. R.; Smith D. B.; Perspectives on Legacy System Reengineering,
Novembro 1996.
[18] Wu, B.; Lawless, D.; Bisbal, J.; Richardson, R.; Grimson, J.; Wade, V.;
O'Sullivan, D.; An Overview of Legacy Information System Migration, Asia
Pacific Software Engineering Conference e International Computer Science
Conference, Pginas: 529 530, Dezembro 1997.
[19] Wu, B.; Lawless, D.; Bisbal, J.; Grimson, J.; Legacy Information Systems:
Issues and Directions, IEEE Software, Volume 16, Nmero 5, Pginas: 103 111, Setembro/Outubro 1999.
[20] Wu, B.; Lawless, D.; Bisbal, J.; Grimson, J.; Wade, V.; O'Sullivan, D.;
Richardson, R.; Legacy Systems Migration - A Method and its Tool-Kit
Framework, Asia Pacific Software Engineering Conference e International
Computer Science Conference. Pginas: 312 320, Dezembro 1997.
[21] Wu, B.; Lawless, D.; Bisbal, J.; Richardson, R.; Grimson, J.; Wade, V.;
O'Sullivan, D.; The Butterfly Methodology: A Gateway-free Approach for
Migration Legacy Information Systems, 3rd IEEE International Conference
on Engineering of Complex Computer Systems, Pginas 200 - 205, Setembro
1997.
62
[22] Wu, L.; Sahraoui, H.; Valtchev, P.; Coping with Legacy System Migration
Complexity, 10th IEEE International Conference on Engineering of Complex
Computer Systems, Pginas: 600 - 609, Junho 2005.
[23]
63
Orientador
____________________________________
Prof. Ph.D. Fernando da Fonseca de Souza
Aluno
____________________________________
Rodrigo Lumack do Monte Barretto
64