BKPML: Uma Proposta para Padronização e
Interoperabilidade de Backup de Dados
Namedin P. T. Júnior
Roberto S. M. Barros
CIN - Universidade Federal de Pernambuco
Recife, Brasil
Email: [email protected]
CIN - Universidade Federal de Pernambuco
Recife, Brasil
Email: [email protected]
Resumo—O Atual modelo de negócios de uma empresa
moderna está cada vez mais dependente das tecnologias de
informação. Com isso, é necessário manter os dados protegidos
através de uma cópia segurança (backup). Esta dependência
gera grandes concorrências entre fornecedores de sistemas, que,
a cada dia, lançam novidades propondo inúmeras vantagens
competitivas. Por esse motivo, é cada dia mais comum presenciar
empresas que adotam mais de um SGBD para armazenamento
dos dados, gerando ambientes heterogêneos e dificultando a
interoperabilidade dos dados. SGBDS de mercado utilizam
arquivos de backup em formatos proprietários impossibilitando
que outros SGBDS possam manipular esses arquivos. Esse artigo
propõe o desenvolvimento de uma estrutura, baseada em XML,
para padronizar arquivos de backup, denominada BKPML. Seu
objetivo é remover a dependência dos arquivos de backup de seu
ambiente de origem, possibilitando que qualquer SGBD possa
utilizar esses arquivos para manipulação dos dados, mantendo
a integração entre os sistemas e a interoperabilidade dos dados.
Palavras chave - ambientes heterogêneos, interoperabilidade,
padronização, XML, SGBD, backup de dados.
I. I NTRODUÇ ÃO
Os Sistemas de Informação estão se tornando o elemento
central do processo inovador, capaz de diminuir, unir e eliminar várias de suas etapas, e trazer a interação com clientes para um patamar mais elevado de qualidade, serviço e
padronização, além de permitir a detecção de macro tendências
com extrema velocidade [18] [21]. De acordo com [23], as
constantes necessidades das empresas para adoção de sistemas
podem ocorrer de acordo com as suas necessidades ou até
mesmo sob a crescente demanda de novos produtos apoiados
por tecnologias mais modernas que oferecem inúmeras vantagens competitivas em relação ao mercado.
Neste cenário de crescentes evoluções tecnológicas e necessidades empresarias, é cada vez mais comum presenciar
empresas que adotam diversos sistemas de informação para
atender um ou mais setores como administrativo, financeiro,
contábil entre outros. Sistemas muitas vezes apoiados por diferentes Sistemas Gerenciadores de Banco de Dados (SGBDS),
desenvolvidos por diferentes fornecedores e sob diferentes
tecnologias. De acordo com [16], os arquivos gerados por esses
sistemas são destinados a bloquear a informação, evitando o
acesso aos dados por outros sistemas, dificultado ou até mesmo
impossibilitando a interoperabilidade entre os dados, levando
ao caótico cenário dos ambientes heterogêneos.
De uma forma geral, os problemas relacionados à interoperabilidade de dados estão fortemente relacionados aos arquivos
em formatos proprietários. Em contrapartida, temos os formatos abertos destinados a manter a transparência dos dados e
suas especificações disponı́veis publicamente, assim como os
formatos Java Script Object Notation (JSON) [9] e Commaseparated values (CSV) [2]. Extensible Markup Language
(XML) [25] neste contexto é utilizada para desenvolvimento
de padrões/formatos abertos de acordo com as necessidades
existentes.
Tendo em vista as dificuldades enfrentadas para interoperabilidade de dados de diferentes SGBDS e os problemas
oriundos de formatos proprietários, este artigo apresenta a backup Markup Language (BKPML), uma proposta de formato
aberto para backup de dados de SGBD, baseada na linguagem
XML. Esse padrão tem por objetivo desvincular a dependência
dos dados e objetos mantidos nos SGBD de seu ambiente de
origem, possibilitando que os mesmos possam ser manipulados
por diversos SGBD, ou até mesmo serem transferidos para
formatos secundários como CSV, JSON, XML, YAML Ain’t
Markup Language (YAML) [28] e XLS.
Para implementação desta proposta, foi necessário o desenvolvimento de uma ferramenta denominada BKPML Manager, responsável pela configuração, geração, restauração e
migração de backups de dados e objetos em formato BKPML
para diversos SGBDS. Para evitar incompatibilidade entre
sistemas, a BKPML Manager foi desenvolvida para ser acessada pela Internet, utilizando para isso um navegador como
Internet Explorer [8] ou Mozilla Firefox [5]. No final do
desenvolvimento, foram realizados testes em um ambiente
real para testar as funcionalidades da ferramenta, o tempo
levado para backup, restauração e migração de dados neste
formato, bem como verificar a aceitabilidade deste formato
por terceiros.
O restante deste artigo está dividido em quatro seções.
A seção 2 destina-se a apresentar os padrões e frameworks
utilizados para desenvolvimento, manipulação e validação
do padrão BKPML. Na seção 3 será apresentado o padrão
BKPML bem como a taxonomia desenvolvida para o mesmo.
A seção 4 destina-se a apresentar a ferramenta BKPML Manager e os resultados obtidos dos testes realizados em um
ambiente real. Por fim, a seção 5 apresenta as conclusões.
II. PADR ÕES E frameworks UTILIZADOS
Esta seção destina-se a apresentar os padrões e frameworks
utilizados para desenvolvimento, manipulação e validação do
formato BKPML. A BKPML é baseada na linguagem XML,
no entanto, foram utilizados alguns padrões para facilitar o uso
deste novo formato. O padrão utilizado para desenvolvimento
da taxonomia da BKPML foi o XML Schema, que é uma
linguagem baseada em XML para definição de regras de
validação de documentos. A utilização deste padrão garante
que os documentos gerados sigam as regras necessárias para
desenvolvimento dos mesmos [26].
O padrão Document Object Model (DOM) [24] é uma
interface que provê uma série de objetos para manipulação de
documentos XML. DOM foi utilizado para geração e leitura
dos arquivos BKPML, para isso, foi utilizado o framework
DOM4J [4] que é uma Aplication Program Interface (API) que
implementa o padrão DOM em Java. A validação da estrutura
BKPML ficou sob responsabilidade do Xerces [27], que é
um framework desenvolvido pela APACHE que implementa
os padrões DOM e SAX [19] para manipulação e validação
de arquivos XML. A grande vantagem da utilização deste
framework é que este implementa métodos que possibilitam a
validação de um documento XML a partir do seu XML Schema
sem grandes esforços.
A. Taxonomia da BKPML
A taxonomia define as regras utilizadas para formação dos
documentos BKPML, assim como os elementos e tipos de dados obrigatórios para representação dos objetos que compõem
essa estrutura, bem como as relações entre cada elemento que
resultam no objeto final. A taxonomia da BKPML é composta
de um dicionário, que fornece as definições padrões para
representação dos objetos e dados, construı́dos através de uma
estrutura hierárquica.
O desenvolvimento da estrutura geral da BKPML e o grau
de relação entre cada um dos objetos, foram baseados na
organização utilizada pelos SGBDS. O primeiro elemento
desta estrutura, ou elemento raiz, foi denominado como
BKPML. Este elemento contém as informações gerais dos
arquivos de backup em formato BKPML como nome do
arquivo e a data de geração.
SchemaDB é o segundo elemento que compõe a estrutura
BKPML, ele é responsável por guardar as informações referentes ao SGBD e ao esquema onde se encontram os objetos
a serem recuperados. As informações/atributos que compõem
esse elemento são: nome do esquema e nome do SGBD de
origem.
O elemento Objects é responsável por manter todos os
objetos suportados pela BKPML. A Figura 1 apresenta a
estrutura hierárquica da BKPML.
III. O PADR ÃO BKPML
A BKPML é uma linguagem eletrônica, baseada em XML,
que objetiva desvincular a dependência dos dados mantidos
em arquivos de backup de formato proprietário. A BKPML,
com o apoio de uma aplicação, possibilita que os arquivos em
formato BKPML possam ser restaurados em qualquer SGBD.
Outra vantagem é a possibilidade de transformar os arquivos
BKPML em arquivos secundários. De uma forma geral, a
BKPML facilita a manipulação dos dados de acordo com as
necessidades do usuário.
SGBDS proprietários como oracle [15], sqlserver [20],
mysql [13], entre outros, realizam as operações de armazenamento e restauração dos dados em plataformas proprietárias.
Esses dados, quando transferidos para arquivos de backup em
formato fechado, só poderão ser restaurados no seu ambiente
de origem, não podendo ser manipulados em outros ambientes.
Com arquivos em formato BKPML, esses dados tornamse independentes de aplicação, o que facilita a manipulação
dos dados por outros sistemas. É importante ressaltar que as
vantagens propostas pela BKPML serão obtidas a partir do
uso da ferramenta BKPML Manager, a ser vista mais adiante.
Restaurar ou migrar dados para diversos SGBDS a partir dos
arquivos de backup possibilita a redução dos custos envolvidos
em tais processos, pois, com a padronização desses arquivos,
os dados poderão ser restaurados diretamente para o SGBD de
destino. Além disso, é importante ressaltar que as propostas
existentes para padronização de dados, como em [16], limitamse apenas a objetos do tipo tabela. Já a BKPML suporta, além
de objetos de tipo tabela, objetos como: view, grant, index,
trigger e method.
Figura 1.
Estrutural da BKPML
A estrutura da BKPML é composta por nove elementos
principais. Além dos elementos supracitados, os elementos que
representam os objetos suportados pela estrutura são: TableObject, IndexObject, ViewObject, GrantObject, TriggerObject
e MethodObject.
O elemento TableObject é responsável por manter as
informações referentes aos dados e metadados de um objeto
tabela. Este elemento é composto por um atributo e dois elementos principais. O atributo name é responsável por manter
o nome da tabela copiada, o elemento Columns é responsável
por manter as informações referentes à estrutura da tabela
como: nome da coluna, tipo de dados, tamanho da coluna,
entre outras, e o elemento Records é responsável por manter
os dados pertencentes a tabela copiada. É importante ressaltar
que, para melhor organização dos dados, os mesmos são
representados utilizando o padrão JSON, ou seja, cada linha de
registro é representada nesta estrutura como um objeto JSON.
Isso facilita a recuperação e processamento das informações
de forma rápida e simples.
O elemento IndexObject é responsável por manter os dados
básicos que compõem a estrutura padrão deste objeto. A
sintaxe deste tipo de objeto pode variar de SGBD para SGBD,
por esse motivo, os elementos que compõe essa estrutura
foram baseados em sua sintaxe básica, comum a qualquer
banco de dados. Este elemento é composto por dois atributos
e três elementos. Os atributos kind e type referem-se a que
tipo de ı́ndice (index, primary, unique) se deseja criar, e qual
o método de indexação do ı́ndice (Btree, Hash, Rtree). Já os
elementos index name, index table e index field mantêm as
informações básicas que compõem esse objeto.
O elemento ViewObject possui a sintaxe mais simples da
estrutura, esta estrutura é composta por dois elementos. O
primeiro é o elemento name, que representa o nome da visão
copiada, e o elemento query, que se refere à consulta a ser
apresentada pela visão quando executada.
O elemento GrantObject define privilégios para acesso de
um objeto a um usuário ou grupo. A estrutura deste objeto é
composta de três elementos, são eles: privilege, object e user.
O elemento privilege mantém os privilégios concedidos, esse
elemento pode suportar mais de um privilégio. O elemento
object refere-se ao objeto a ser concedido o privilégio. O
elemento user mantém o nome do usuário ou grupo que
receberá o privilégio.
O elemento TriggerObject mantém os dados básicos para
criação de um gatilho a ser associado a uma tabela, que
será disparado antes ou depois de um determinado evento.
A estrutura deste objeto é composta por cinco elementos que
a definem, são eles: name, que representa o nome do gatilho,
time, que é o tempo em que o gatilho será executado, event,
que define qual evento está relacionado a este gatilho, object,
que se refere à tabela a qual o gatilho será armado, e body, que
se refere ao bloco de comandos a ser executado pelo gatilho
quando disparado.
O elemento MethodObject consiste em unificar duas estruturas: função e procedimento. Esta estrutura é composta por
quatro elementos name, parameter, result e body. O elemento
name representa o nome do objeto a ser mantido pela estrutura.
O elemento parameter refere-se aos parâmetros pertencentes a
esse objeto. O elemento result, refere-se ao retorno de valores
e o elemento body, refere-se ao bloco de comando a ser
executado pelo método. Além desses elementos, esta estrutura
possui o atributo type, responsável por definir o tipo de objeto
mantido, procedimento ou função. A Figura 2 apresenta o
exemplo de um documento em formato BKPML.
Maiores detalhes sobre o desenvolvimento da taxonomia da
BKPML, bem como de todos os objetos que a constituem,
estão disponı́veis em [14]. Além disso, o código completo da
taxonomia da BKPML também está disponı́vel [1].
Figura 2.
Documento em formato BKPML
IV. E STUDO DE CASO - BKPML Manager
Para melhor usufruir das vantagens oferecidas pela BKPML,
foi necessário o desenvolvimento de uma ferramenta responsável por gerenciar as principais funcionalidades propostas
pela BKPML. Tais funcionalidades são: gerar backups de
dados em formato BKPML, restaurar/migrar esses arquivos
para diversos SGBDS, e transformar os arquivos BKPML para
arquivos secundários. Além disso, esta ferramenta facilita o
uso destas funcionalidades através de uma interface simples e
de fácil utilização.
Para permitir a implementação destas funcionalidades, foi
necessário o desenvolvimento de um módulo de cadastros
de todas as informações básicas necessárias para geração da
estrutura da BKPML e dos objetos suportados por ela. Esta
seção se dispõe a apresentar de forma sucinta os principais
cadastros necessários para se utilizar as principais funcionalidades, conforme descritas acima. Tais cadastros foram
divididos em SGBDS, armazenamento, mapeamento, tipos por
SGBD e objetos por SGBD.
O cadastro de SGBDS destina-se a relacionar todos os
SGBDS que serão utilizados nas funcionalidades de backup, restauração e migração. O cadastro de armazenamento
é utilizado para listar todos os repositórios de dados que
serão utilizados para armazenar os arquivos BKPML. Esses
repositórios são classificados em local ou em nuvens. No
tipo local os dados são armazenados em servidores locais.
Já ô tipo em nuvens é utilizado o serviço Simple Storage
Service (S3) da Amazon Webservices para armazenamento dos
dados. O cadastro de mapeamento é utilizado para informar
à ferramenta onde buscar os metadados dos objetos em um
determinado SGBD. Os cadastros de tipos e objetos por SGBD
são utilizados apenas para validação dos dados da BKPML.
A. arquitetura
A BKPML Manager é baseada em uma arquitetura Web,
composta por um cliente web gráfico responsável por enviar
requisições para o servidor de aplicação (Servlet Container) TOMCAT6.0 [22], e se comunicar com um banco de
dados MYSQL5.0 através do framework hibernate3.0 [7],
responsável pelo gerenciamento das requisições de acesso aos
dados da BKPML Manager.
Por utilizar uma arquitetura Web, foi utilizado o padrão
Model View Controller (MVC) [7] para dividir a arquitetura
do projeto em camadas, facilitando o uso e manutenção dos
mesmos. A camada modelo é responsável por manter todos os
modelos dos objetos (classes bean) utilizados pela BKPML.
Como a BKPML Manager utiliza o framework hibernate3.0,
estes modelos passam a ser conhecidos como classes de
entidade.
A camada de visão é responsável por manter e gerenciar
as telas de entrada e saı́da de dados. Nesta camada, foram
utilizadas as tecnologias Java Server Page (JSP) [10], Hipertext Markup Language (HTML) [12] para formatação e
apresentação dos dados, e a JavaServer Pages Standard Tag
Library (JSTL) [11] para comunicação entre as camadas de
visão e controle.
A camada de controle mantém toda a lógica utilizada
nas funcionalidades de backup, restauração, transformação e
migração de dados. Para desenvolvimento deste módulo, foram
utilizados os padrões de projeto Decorator [6], Strategy [6] e
Data Access Object (DAO) [3] para organizar os processos e
facilitar e reutilização das funcionalidades quando necessário.
O padrão Decorator foi utilizado para facilitar a utilização
do processo de geração dos arquivos de backup em formato
BKPML, o padrão Strategy foi utilizado no processo de
transformação dos dados para arquivos secundários, e o padrão
DAO foi utilizado para organizar o acesso aos dados de forma
padronizada. A arquitetura da BKPML Manager é dividida em
três camadas, conforme Figura 3.
possui todas as informações necessárias para isso. Para o
cadastro das ações, deve-se informar o SGBD e o objeto a ser
copiado, o repositório dos dados, a data e hora de execução, e
a frequência de execução do backup. No caso do objeto ser do
tipo tabela, faze-se necessário informar também a query para
extração dos dados. Após isso, o cadastro dos dados poderá
ser confirmado. A Figura 4 apresenta a tela de cadastro de
ações.
Figura 4.
tela de cadastro de ações de backup
A tela de cadastro de ações não é responsável pela execução
dos backups de dados, mas sim pelo cadastro dos mesmos.
Quando o cadastro de uma ação é finalizado, o mesmo é
enviado para uma lista de backups a serem executados pela
funcionalidade de backup de dados. A tela de execução de
backup é constituı́da apenas de uma lista de ações que poderão
ser executadas mediante o clique no botão de execução,
disponı́vel para cada elemento da lista. Quando executadas,
essas ações são submetidas ao ciclo de processamento de
backup, composto pelos seguintes passos. O processo gerar
BKPML solicita as informações de dados e metadados de um
objeto, e gera a estrutura BKPML de acordo com a taxonomia
definida. Após isso, o processo de criptografia e compactação
dos dados são executados. E por fim, o hash do arquivo final
é extraı́do e o arquivo enviado para o local de armazenamento
selecionado.
C. Restauração e transformação de arquivos BKPML
Figura 3.
Arquitetura da BKPML Manager
B. Cadastro e execução de backup de dados
Para dar inı́cio ao processo de backup de dados, deve-se
primeiro cadastrar todas as ações de backup para os objetos
desejados. Depois, a tela de execução de backup de dados
deverá estar preenchida com a lista de todos os backups
disponı́veis para execução. No cadastro de ações são realizadas
todas as configurações de um backup de dados. Em resumo,
uma ação é um backup não executado, uma vez que o mesmo
O processo de restauração dos dados é responsável por
recuperar os dados de um arquivo BKPML para diversos
SGBDS, ou realizar a transformação dos mesmos para arquivos secundários. É importante ressaltar que esta funcionalidade
destina-se a manipular apenas arquivos BKPML de objetos
de tipo tabela, os demais objetos ficam sob responsabilidade
da funcionalidade de migração de dados complexos. A tela
utilizada para esta tarefa é constituı́da de uma lista de todos
os backups realizados pela ferramenta.
Para realizar a restauração dos dados para um SGBD, o
usuário deverá informar o SGBD desejado e, no campo formato, selecionar a opção transferência. Após isso, o botão de
execução do item desejado deverá ser pressionado. O processo
de transformação assume os mesmos passos, com diferença no
campo formato. Neste campo o usuário deverá informar o tipo
de transformação desejada. Após isso, o botão de execução
do registro desejado deverá ser pressionado para inı́cio deste
processo. A Figura 5 apresenta a tela de restauração de dados.
estrutura fica sob responsabilidade do SGBD, que retornará
um erro caso a sintaxe não esteja de acordo com seus padrões.
A alteração da sintaxe dos objetos pode ser realizada
utilizando os métodos Buscar sintaxe Equivalente e Alterar,
disponı́veis na parte inferior da área de edição. Para utilização
desses métodos, o usuário deverá selecionar o tipo ou sintaxe
e clicar no botão Buscar Sintaxe Equivalente. Se a sintaxe ou
tipo estiverem cadastrados devidamente, a sintaxe correspondente será enviada para a caixa de texto, localizada ao lado
do botão pressionado. Após isso, o botão alterar deverá ser
pressionado para substituição do tipo ou sintaxe selecionado.
E. Resultados Obtidos
Figura 5.
tela de restauração e transformação de dados
D. Migração de dados complexos
A funcionalidade de migração de dados complexos é utilizada quando o objeto a ser migrado refere-se a um objeto
complexo. De acordo com a ferramenta, um objeto complexo
é aquele que necessita de análise visual e alteração manual
em sua estrutura para que a restauração possa ser efetivada.
A ferramenta considera como objeto complexo os objetos:
visão, ı́ndice, permissão, gatilho e método. O único tipo de
objeto que não é considerado complexo é o objeto tabela, visto
anteriormente.
A tela de migração de dados funciona como um editor
para adaptação da estrutura dos objetos complexos. Esta tela é
composta pelas funcionalidades carregar objeto, responsável
pela transformação dos objetos mantidos nos arquivos BKPML
para sua sintaxe padrão SQL, com exceção dos objetos do
tipo método e gatilho. Para esses objetos, seus metadados são
transferidos para uma sintaxe definida pela própria ferramenta.
A Figura 6 apresenta a tela de migração de dados complexos.
Figura 6.
tela de migração de dados complexos
Após a sintaxe de um objeto ser carregada para a tela
de edição, o usuário deverá adaptar a mesma para a sintaxe
correspondente do SGBD selecionado. Após isso, o botão
Submeter Comando deverá ser pressionado para que o objeto
possa ser transferido. Toda validação de sintaxe, tipos e
Os testes realizados na ferramenta BKPML Manager foram
feitos em um ambiente real, cedido por uma empresa de
consultoria situada na cidade de Manaus, a knowhow consultoria. O objetivo desta primeira fase de testes consistiu
em procurar erros no módulo de cadastros básicos e nas
funcionalidades. Além disso, foram verificados o tempo de
processamento levado por essas funcionalidades em relação
aos objetos concedidos pela empresa. A partir dos resultados
obtidos nesta primeira fase, pode-se concluir que o módulo
de cadastro e funcionalidades gerou resultados satisfatórios
quanto ao tempo de processamento. Em relação aos erros, os
identificados foram corrigidos e a ferramenta preparada para
a segunda fase de testes.
Como os testes da primeira fase foram realizados com uma
baixa quantidade de dados, sentiu-se a necessidade de testar
as funcionalidades principais quanto a grandes volumes de
dados, para isso, a empresa cedeu um computador com as
seguintes configurações: processador Intel DUAL CORE 2.1
GHZ com 2GB de RAM e HD de 200GB. Neste computador,
foi configurado o ambiente para execução da ferramenta,
bem como o SGBD POSTGRES8.4 [17] com uma tabela
criada para realização desse teste. Após isso, foi necessário
desenvolver um sistema para inserção de dados aleatórios na
tabela de testes. No final de cada execução desse sistema,
a ferramenta BKPML Manager era executada para gerar os
arquivos de backup dos dados armazenados.
De acordo com os resultados obtidos, foi possı́vel perceber
que o tempo para geração dos arquivos BKPML foi relativamente rápido, tornando aceitável o uso da ferramenta para
geração de arquivos com grandes volumes de dados. Já ôs
testes relativos ao processo de restauração, foi possı́vel notar
que os tempos obtidos são mais elevados, mas no entanto
aceitáveis. A partir desses resultados, foi possı́vel estimar que,
para 1 Gygabyte de informação ou 24.000.000 de registros, a
BKPML Manager levaria em média 17hs de processamento
para restaurar todos esses dados, ou seja, um tempo pouco
eficiente para volumes de dados muito grandes.
Apesar de ser uma ferramenta estudantil e em fase de
constantes mudanças e aprimoramentos, as principais funcionalidades como: backup de dados, transformação, restauração
e migração de objetos complexos obtiveram bons resultados,
mas que ainda assim precisam ser aprimorados.
V. C ONCLUS ÃO
Este trabalho apresentou uma estrutura padrão em formato
aberto, baseado em XML, desenvolvida para desvincular a
dependência dos dados de backup em formato fechado, permitindo a manipulação desses entre diversos SGBDS. Mais
especificamente, esse formato vislumbra auxiliar projetos de
migração de dados em relação às dificuldades enfrentadas.
Após o desenvolvimento deste padrão, foi necessário o
desenvolvimento de um protótipo para validação dos arquivos
BKPML, denominado BKPML Manager. A BKPML Manager
foi desenvolvida para gerar e validar arquivos de backup
em formato BKPML, bem como para auxiliar a restauração,
transformação e migração dos dados para diversas plataformas de SGBDS, ou para arquivos secundários. Além disso,
esta ferramenta possibilita o armazenamento dos dados em
nuvens, utilizando o serviço S3 da Amazon webservice para
armazenamento dos dados.
Após o desenvolvimento da BKPML Manager, foram realizados testes para verificação do desempenho da ferramenta e
das funcionalidades desenvolvidas. No final dos testes, foram
apresentadas as conclusões sobre os resultados obtidos. As
principais contribuições deste trabalho foram:
• O desenvolvimento de um formato aberto para
padronização de backup de dados;
• O desenvolvimento de uma ferramenta para auxiliar o
formato BKPML e proporcionar aos projetos de backup e migração de dados maior flexibilidade quanto
à manipulação dos dados em qualquer plataforma de
SGBD;
• Facilitar a portabilidade e manipulação dos dados através
da transformação dos mesmos para arquivos secundários;
• Desenvolvimento de uma estrtuura em XML para backup
de dados que não se limita apenas a objetos de tipo tabela;
Para trabalhos futuros este artigo propõe:
• Aumentar o poder de expressividade da BKPML para
atender a mais objetos como Roles e Packages;
• Desenvolvimento de um framework Open Source para ser
acoplado em sistemas que desejam utilizar a BKPML
como formato padrão dos arquivos de backup;
• Desenvolvimento de uma estrutura XML para manter o
mapeamento de tipos, sintaxe, objetos e das propriedades
dos objetos dos SGBDS, reduzindo o número de cadastros realizados;
• Desenvolvimento de um mecanismo para quebrar um
arquivo BKPML muito grande em arquivos menores,
facilitando a leitura dos mesmos e evitando problemas
como estouro de memória. XLink neste processo poderia
ser utilizado para ligar de forma correta a ordem dos
arquivos, evitando problemas quanto a restauração e
perda de dados.
R EFER ÊNCIAS
[1] BKPML
(2011).
XML
Schema
da
BKPML.
http://www.scribd.com/doc/47836213. acessado em fev/2011.
[2] Creativyst (2011). The Comma Separated Value (CSV) File Format. http://creativyst.com/Doc/Articles/CSV/CSV01.htm. acessado em
fev/2011.
[3] DAO, S. (2011). DAO Reference. http://java.sun.com/blueprints/ corej2eepatterns/Patterns/DataAccessObject.html. acessado em fev/2011
[4] DOM4J. (2011). DOM4J official site. http://www.dom4j.org/. acessado
em fev/2011.
[5] Firefox, M.(2010). Firefox reference and download. http://br.mozdev.org.
acessado em Fev/2011.
[6] GAMMA, E., JOHNSON, R., VLISSIDES, J., andHELM, R.(1995).
PADRÕES DE PROJETO. ARTMED EDITORA S.A, Santana - PortoAlegre - RS.
[7] Gonçalves, E. (2007). Desenvolvendo Aplicações WEB com JSP, Servlets, JSF, Hibernate, EJB e AJAX. Editora Moderna, Rio de Janeiro-RJ.
[8] Internet
Explorer,
M.(2010).
site
oficial.
http://ww.microsoft.com/brasil/windows/internet-explorer/.
acessado
em Fev/2011.
[9] JSON(2010).Json specication. http://www.json.org/json-pt.html. acessado
em Fev/2011.
[10] JSP,S.(2010).Java server pages. http://java.sun.com/products/jsp/ . acessado em Fev/2011.
[11] JSTL,
S.
(2010).
Javaserver
pages
standard
tag
lib.
http://java.sun.com/products/jsp/jstl/reference/docs/index.html. acessado
em Fev/2011.
[12] Markup,
W.
(2010).
Hipertext
markup
language.
http://www.w3.org/MarkUp/. acessado em Fev/2011.
[13] MYSQL. (2011). MYSQL Site Oficial. http://www.mysql.com/. acessado em fev/2011.
[14] Namedin, P. T. J. (2011). backup Markup Language (BKPML): Uma
Proposta para Padronização e Interoperabilidade de backup de Dados/PE. Masters thesis, Universidade Federal de Pernambuco, Recife,
Pernambuco, Brasil. http://www.scribd.com/doc/48468544. acessado em
fev/2011.
[15] Oracle.
(2011).
Oracle
Official
site.
http://www.oracle.com/br/index.html. acessado em fev/2011.
[16] Oumtanaga, S., Lambert, K. T., Tiémoman, K., Pierre, T., and Florent,
D.N. (2007). Use xml format like a model of data backup. International
Journal of Computer and Information Engineering.
[17] POSTGRES. (2011). Site Oficial. http://www.postgresql.org/. acessado
em fev/2011.
[18] Quinn, J. B., Baruch, J. J., and Zien, K. A.(1997). Innovation explosion:
using intellect and software to revolutionize growth strategies. FreePress,
NewYork.
[19] SAX. (2011). About SAX. http://www.saxproject.org/. acessado em
fev/2011.
[20] SQLServer. (2011). microsoft SQLServer. http://msdn.microsoft.com/ptbr/sqlserver/default. acessado em fev/2011
[21] Terra, J. C. C.(2005). Gestão do Conhecimento: O Grande Desafio
Empresarial. Artmed Editora S.A, Rio de janeiro - RJ.
[22] Tomcat, A. (2010). Tomcat. http://tomcat.apache.org/ . acessado em
fev/2011.
[23] Voas, J. and Zhang, J. (2009). Cloud computing: New wine or just a
new bottle? IT Professional.
(2011).
Document
Object
Model.
[24] W3C DOM.
http://www.w3.org/DOM/. acessado em fev/2011.
[25] W3C XML
(2011).
Extensible
Markup
Language.
http://www.w3.org/XML/. acessado em fev/2011.
(2011).
XML
Schema.
[26] W3C XMLSchema
http://www.w3.org/XML/Schema. acessado em Fev/2011.
[27] Xerces,A.(2010).Xerces reference. http://xerces.apache.org/. acessado
em Fev/2011.
[28] YAML(2010).Yaml specication. http://www.yaml.org/spec/1.2/spec.html.
acessado em fev/2011.
Download

BKPML: Uma Proposta para Padronizaç˜ao e