• Nenhum resultado encontrado

3.3 Estrutura dos objetos da BKPML

3.3.6 O elemento complexo methodobjecttype

O elemento complexo MethodObjectType unifica dois objetos de sintaxes comuns, exis- tentes na maioria dosSGBDcomerciais, os objetos procedure e function. Esses objetos possuem o mesmo objetivo (execução de blocos de comandos).

O desenvolvimento dessa estrutura foi unificado devido às poucas diferenças entre suas sintaxes. A principal diferença refere-se ao retorno ou não de valor. Em alguns

SGBD, é implementado apenas o conceito de procedimentos, cujo retorno se dá através de seus parâmetros. Em funções, esse retorno é realizado através do nome da função.

A estrutura MethodObjectType é composta por 3 elementos e 2 atributos, são eles:

<name>, <parameter>, <result> e os atributos type e order. O elemento <name> é o

nome do procedimento ou função a ser copiada.

3.4. CONSIDERAÇÕES FINAIS

Figura 3.7 Tipo complexo TriggerObjectType

corpo do método. Esse elemento possui cardinalidade 0..1 para evitar a obrigatoriedade do mesmo, uma vez que um método pode ou não possuir parâmetros.

O elemento <result> representa o tipo de valor que a função retornará. Esse campo possui cardinalidade 0..1 pois em caso de procedimento, este campo não será levado em consideração.

O elemento <body> representa o bloco de comandos executados pelo método. O atributo type identifica que tipo de método está sendo mantido na estrutura: proce- dimento ou função, controlados pela tag restriction na estrutura. A Figura3.8apresenta a estrutura MethodObjectType.

3.4

Considerações Finais

Tendo em vista as dificuldades encontradas nos processos de restauração e migração de dados, este capítulo apresentou a estruturaBKPML, elaborada como proposta para pro- blemas voltados a restauração e migração de dados. BKPMLfoi projetada com intuito

3.4. CONSIDERAÇÕES FINAIS

Figura 3.8 Tipo complexo MethodObjectType

de desvincular a dependência dos arquivos de backup de dados de seusSGBDde origem, uma vez que essa dependência gera um grande esforço quanto à restauração/migração de dados emSGBDHeterogêneos.

A idéia principal da BKPML é dar liberdade aos arquivos de backup para que os mesmos possam ser restaurados ou migrados para qualquer SGBD, independente da origem dos mesmos.

Migrar e/ou restaurar dados paraSGBDheterogêneos a partir dos arquivos de bac-

kup, é uma idéia que pode ajudar a reduzir o tempo e custo envolvidos em tais processos,

pois com a padronização dos arquivos de backup, não mais será necessário a restauração dos dados noSGBDde origem, eles poderão ser restaurados diretamenta para oSGBD

de destino.

A seguir são descritas as principais vantagens apresentadas pelaBKPML:

• Independência dos dados - com BKPML os dados já não mais pertencerão a tecnologias específicas e proprietárias. Esses dados poderão ser restaurados para qualquerSGBD, sem que haja necessidade de grandes esforços para que isso acon- teça;

• Redução do tempo para migração - a utilização da BKPML para migração e restauração de dados em sistemas heterogêneos, propõe a redução de tempo e custo envolvidos nos processos de migração e restauração de dados em ambientes

3.4. CONSIDERAÇÕES FINAIS

heterogêneos, através da redução de uma das fases do processo, que é a restauração dos dados em seu ambiente de origem;

• Estrutura padronizada - quando se deseja chegar à independência dos dados, é importante que se tenha uma estrutura padrão para que outros aplicativos possam saber como utilizar essa estrutura para persistir ou recuperar dados a partir de diferentes programas; e

• Independência de Tecnologia ou Ambiente - ComoBKPMLé uma linguagem derivada de XML, não se tem atrelado a essa tecnologia outras tecnologias que venham a manter certo grau de dependência entre a estrutura e uma tecnologia. Isso também se aplica à dependência entre ambientes operacionais.

Por se tratar de uma nova linguagem de marcação, a BKPML necessitará de uma aplicação para gerar, restaurar, validar e migrar os dados a partir dos arquivosBKPML. O capítulo a seguir destina-se a apresentar o desenvolvimento da aplicação gerenciadora de arquivos BKPML, bem como abordar as tecnologias que facilitaram o desenvolvi- mento dessa aplicação e as principais características propostas para a mesma.

4

A Ferramenta: Backup Markup Language

Manager (BKPML Manager)

Backup de dados tem se tornado o principal alicerce para proteção e continuidade dos

negócios de muitas empresas. Atualmente, o mercado disponibiliza inúmeras ferramen- tas que pressagiam a continuidade dos negócios através de backup de dados, mas com arquivos em formatos proprietários. O grande problema com esse tipo de formato é tornar os dados dependentes da ferramenta que os originou, dificultando ou até mesmo impossibilitando que outras ferramentas, da mesma área de atuação, possam manipular esses arquivos.

Este capítulo tem por objetivo apresentar a BKPML Manager, uma ferramenta de- senvolvida para gerar, manipular e gerenciar os arquivos em formato BKPML. Além disso, são apresentados de forma detalhada o desenvolvimento de sua arquitetura, as tecnologias utilizadas e os padrões de projeto da arquitetura, além da apresentação dos principais diagramas e funcionalidades implementadas na ferramenta.

4.1

Introdução

Pelo fato da BKPML se tratar de uma nova linguagem de marcação, foi necessário o desenvolvimento de uma ferramenta, responsável por gerenciar as principais funciona- lidades da criação de backups em formatoBKPML. BKPML Manager é o nome dado à ferramenta desenvolvida para gerenciar e manter todos os artefatos obrigatórios para a geração da estrutura desse formato. Além disso, a ferramenta objetiva facilitar o uso dos processos de Backup, Restauração e Migração através de uma interface amigável.

Como a BKPML Manager é uma ferramenta específica para uma determinada área, é evidente que, para utilização desta ferramenta, faz-se necessário ter ou obter profundos

4.1. INTRODUÇÃO

conhecimentos sobreSGBDe a organização de suas tabelas internas, responsáveis por manter os dados e metadados de todos os objetos mantidos pelo sistema.

A ferramenta BKPML Manager é baseada em uma arquitetura cliente-servidor (Ta- nenbaum,2003), composta por um cliente Web gráfico, responsável por enviar requisi- ções para o servidor de aplicações (Servlet Container) Tomcat6.0 (Tomcat,2010), e se comunicar com um sistema de banco de dados MYSQL5.0 (MYSQL, 2010), através do driverJDBCdisponível emhttp://dev.mysql.com/downloads/connector. Java foi a linguagem de programação utilizada para desenvolvimento da BKPML

Manager, com isso, a BKPML Manager pode ser executada em qualquer servidor que

utilize um sistema operacional compatível com a Java Virtual Machine (JVM) (JVM,

2010). Além disso, a BKPML Manager pode ser executada em qualquer computador com acesso à Internet, através de um navegador (Browser) como o Mozilla Firefox (Fi- refox,2010) e o Internet Explorer (Internet Explorer,2010).

Além de sua portabilidade, garantida pela JVM, a BKPML Manager possibilita, de forma simples, o uso dos processos de Backup, Restauração e Migração de dados em qualquer plataforma gerenciadora de banco de dados. Para isso, os mesmos devem ser previamente cadastrados nas tabelas internas da ferramenta. Esse cadastro possibilita que um arquivoBKPMLpossa ser facilmente restaurado em qualquerSGBD, indepen- dente de qualSGBD essas informações foram oriundas. A Figura 4.1 apresenta a tela principal da BKPML Manager.

Figura 4.1 Tela principal da BKPML Manager

Para possibilitar uma visão macro dos principais processos executados pela ferra- menta, bem como obter informações sobre as principais funcionalidades existentes, a Figura4.2apresenta o ciclo de vida dos processos de backup e restauração dos arquivos

4.1. INTRODUÇÃO

BKPMLem suas respectivas ordens de execução. Esses processos são apresentados pela figura em forma de camadas, possibilitando melhor visão da troca de mensagens entre as camadas que representam os principais serviços oferecidos pela BKPML Manager.

Figura 4.2 Ciclo de vida dos processos de Backup/Restore da ferramenta BKPML Manager

Dependendo do tipo de processo executado pelo ciclo, a leitura do mesmo poderá ser iniciada na camada Conectar Banco de dados e finalizada na camada Salvar/Recuperar

arquivos, no caso do processo de backup. Já o processo de restauração, inicia-se na ca-

mada Salvar/Recuperar arquivos e finaliza na camada Conectar Banco de dados, caso os dados sejam restaurados em umSGBD, ou na camada Transformação, se a transferência dos dados for direcionada para arquivos secundários. O ciclo de vida dos processos de

backup e restore só poderá ser iniciado se e somente se todos os cadastros obrigatórios

forem realizados. As camadas de processos são apresentadas abaixo, de acordo com sua ordem de execução:

• Camada Conectar banco de dados - É a primeira camada a ser executada, pois é esta a responsável por extrair os dados desejados de um banco de dados e re- passar os mesmos para a camada backup. Esta camada também é responsável por repassar os dados a serem restaurados para o seuSGBDde origem;

• Camada backup - A camada backup é responsável por transformar os dados re- passados pela camada Conectar Banco de Dados em um arquivo de backup em

4.1. INTRODUÇÃO

formatoBKPML válido. Para isso, essa camada realiza as seguintes operações:

Gerar BKPML, Compactar e Gerar Hash. A operação Gerar BKPML é responsá-

vel pela geração da estruturaBKPMLa partir dos dados oriundos da camada Co-

nectar Banco de dados. A operação Criptografar criptografa o arquivo BKPML

gerado usando o algoritmo triple DES e encaminha o novo arquivo para a ope- ração Compactar, que por sua vez comprime o arquivo facilitando o envio do mesmo para armazenamento em nuvens se necessário. Após isso, a operação Ge-

rar Hash extrai o código hash do arquivo, para que a integridade do mesmo possa

ser validada após sua restauração;

• Camada Salvar/Restaurar arquivo - essa camada é responsável pelo armazena- mento e restauração dos arquivos em formatoBKPML. Em um processamento de restauração de dados, essa camada é a primeira a ser executada, pois busca um ar- quivo solicitado e repassa para camada Restore iniciar seu ciclo de processamento; • Camada Restore - Ao receber o arquivo solicitado da camada Salvar/Restaurar

arquivo, a camada Restore executa a primeira de suas quatro operações existentes

em seu ciclo. A operação Validar Hash recupera o hash do arquivo restaurado e compara com o hash do processamento de backup para verificar a integridade do arquivo. A operação Descompactar descompacta o arquivo e disponibiliza o arquivo criptografado para a operação Descriptografar, que após descriptografar envia o arquivo para a operação Restaurar BKPML fazer suas validações de estru- tura e repassar os dados para a camada Transformação ou para camada Conectar

banco de dados; e

• Camada Transformação - A camada transformação é responsável por aplicar transformações nos dados e transferi-los para os formatos desejados. Os formatos com suporte na ferramenta BKPML Manager são: Texto, Excel,XML,CSV,JSON

eYAML. A camada transformação é executada quando solicitada, caso contrário, a camada Conectar banco de dados será executada para realizar a transferência dos dados para umSGBDde destino.

Além de responsável pela execução do ciclo de processamento de backup e Restau- ração dos dados, a ferramenta BKPML Manager é também responsável pelas operações básicas e funcionalidades de cadastros necessários para início dos processos de backup, restauração e migração de dados.

Essas funcionalidades estão disponíveis para acesso através de um menu, disponível na tela principal da ferramenta. Vale ressaltar que a ordem disposta no menu é a ordem