• Nenhum resultado encontrado

de cadastros a ser seguida pelos usuários para se iniciar qualquer processo, tanto de

backup quando de restauração de dados.

A ferramenta BKPML Manager, por padrão, possui em sua base de dados interna o cadastro dos principais tipos, sintaxes e objetos e propriedades dos principaisSGBD

utilizados no mercado. A Figura 4.3 apresenta o menu com as opções de cadastros básicos a serem realizados antes de se iniciar os processos de backup, restauração e migração de dados e objetos.

Figura 4.3 Menu da BKPML Manager

Além de todas as funcionalidades e processos supracitados, a ferramenta BKPML

Manager possui em sua arquitetura, o controle e registro de log (históricos) para todos

os processamentos, backup, restore e migração dos dados, para facilitar a resolução de erros oriundos dos processamentos dos dados na ferramenta. Após o término de cada processamento, uma linha de log deverá constar na tela principal da BKPML Manager, conforme apresentado pela Figura4.1, informando se o processamento foi realizado com sucesso ou com erro.

4.2

Arquitetura da ferramenta BKPML Manager

Conforme mencionado, para o desenvolvimento da ferramenta, foram unidas todas as características conglomeradas em uma aplicação WEB, tendo em vista a crescente de- manda de clientes que estão migrando suas preferências e utilizando aplicativos WEB para realização de suas atividades cotidianas.

4.2. ARQUITETURA DA FERRAMENTA BKPML MANAGER

A estrutura da ferramenta BKPML Manager está baseada em um modelo cliente ser- vidor, ou seja, há a separação dos modelos computacionais em modelo cliente e modelo servidor, bem como a integração de tais modelos utilizando uma rede de computadores para se comunicar através da troca de mensagens.

A maioria das aplicações Web modernas realiza processamento e armazenamento de pequenos, médios e grandes volumes de dados. Para isso, é imprescindível manter a comunicação direta com um banco de dados que atenda essas necessidades. Nesse cenário, a arquitetura cliente servidor possibilita a melhor forma para organização dos dados e para troca de informações entre as camadas. A Figura4.4apresenta a arquitetura utilizada.

Figura 4.4 Arquitetura da BKPML Manager

A arquitetura desenvolvida foi dividida em três camadas, com o objetivo de facilitar o entendimento e demonstrar de forma clara como as requisições são realizadas entre cada camada. As seções a seguir destinam-se à explicação de cada uma das camadas, bem como às tecnologias utilizadas para o desenvolvimento das mesmas.

4.2.1

A camada Cliente

A camada cliente é a parte gráfica da aplicação que é apresentada por um navegador (browser) pelo qual o cliente tem acesso direto à aplicação. É nessa camada que o cliente irá manipular suas requisições para realização de cadastros, execução de proces- samentos, geração de relatórios, entre outras funcionalidades disponíveis na ferramenta. Para o desenvolvimento dessa camada foram utilizadas as seguintes tecnologias:

4.2. ARQUITETURA DA FERRAMENTA BKPML MANAGER

• Hypertext Markup Language (HTML) (Markup,2010) -HTMLfoi utilizada para formatar o layout das páginas e se beneficiar dos principais objetos utilizados pela ferramenta, tais objetos são: textos, botões, tabelas, links, entre outros. A forma- tação do estilo do layout ficou a cargo doCSS;

• Cascading Style Sheets (CSS) (CSS, 2010) - foi utilizado CSS para criação de estilo e formatação do layout da página e dos objetos, botões, textos, tabelas, cores, entre outros, e para a criação e formatação do menu de opções da ferramenta;

• JavaServer Pages (JSP) (JSP, 2010) - JSP foi utilizado como ambiente media- dos (páginas) para uso e integração das tecnologiasJSTL, JAVA eHTML. Além disso foram utilizadas algumas bibliotecas e marcações daJSPpara formatação e entrada dos dados.

• Javaserver page Standard Tag Lib (JSTL) (JSTL, 2010) - JSTL é usada para fazer a comunicação entre a camada de negócios e a camada de visão, além da manipulação de estruturas de dados como lista, variáveis, objetos, entre outros; e

• Java Script (Flanagan, 2002) - JavaScript foi utilizado para desenvolvimento de métodos e funções para a validação de campos, criação de objetos dinâmicos, ações dinâmicas existentes nas páginas e submeter as páginas através do método

post, que consiste em transmitir os dados de uma página WEB para o servidor de

aplicação (Servlet Container).

4.2.2

Lições Aprendidas

O desenvolvimento da camada cliente foi desafiador, uma vez que tecnologias como

CSS, JSTL, tags do struts2, entre outras, foram novidades no momento do desenvolvi- mento da aplicação, sem contar com a falta de experiência para configuração e uso das tecnologias utilizadas. Para isso, foi necessária a realização de uma extensa pesquisa para entendimento, avaliação e conhecimento das formas como essas tecnologias pode- riam ser utilizadas para compor a camada cliente de forma a satisfazer as necessidades para desenvolvimento da ferramenta.

No início do desenvolvimento, foram utilizadas as tags do struts2 para realizar a comunicação entre a camada de visão (cliente) e a camada de negócios (servidor). Mas no decorrer do projeto, foi notado que alguns objetos pertencentes a essas tags como,

buttons, textbox, listbox, entre outros objetos, não mantinham o alinhamento correto nas

4.2. ARQUITETURA DA FERRAMENTA BKPML MANAGER

O problema com a formatação das páginas que utilizavam as tags do struts2 poderia ter sido revertido através da utilização deCSS, para reformular a posição de cada objeto. O principal problema nessa técnica é o tempo levado para formatar a posição de cada objeto da página, sem contar que essa posição muda de acordo com a funcionalidade utilizada. A alternativa tomada para resolução desse problema foi a utilização dos obje- tosHTML, vinculada ao poder daJSTLpara manter a comunicação entre a camada de negócios e a camada de visão, deixando oCSSapenas na formatação do layout principal das páginas.

4.2.3

A camada Servidor

A camada servidor é responsável por processar e responder às requisições enviadas pela camada cliente. Todo processamento é realizado através da aplicação disponibilizada na camada servidora, que com a ajuda de um servidor de aplicação ou um container de

servlet como o Tomcat (neste caso), a aplicação torna-se disponível para acesso através

de um navegador.

Observa-se que na camada servidor tem-se três artefatos disponibilizados. O pri- meiro é o artefato container de servlet, que utiliza o Tomcat como servidor WEB para carregar as aplicações nele disponibilizadas. A seguir, tem-se o artefato Aplicação, que representa a aplicação BKPML Manager disponível no servidor e pronta para ser execu- tada pelo mesmo.

O último artefato disponibilizado na arquitetura da BKPML Manager é o artefato

Drivers. O termo foi utilizado no plural porque para cada SGBD cadastrado, deve-se ter um driver vinculado que possibilite a ferramenta realizar a conexão com oSGBD

correspondente. Esses drivers, de um modo geral, são utilizados para fazer que com a ferramenta BKPML Manager possa se comunicar com osSGBDregistrados na aplicação para realização de transações.

Abaixo são descritas todas as tecnologias utilizadas nas camadas e artefatos supraci- tados:

• Tomcat (Tomcat, 2010) - A tecnologia de servidor de aplicação Tomcat é repre- sentada pelo artefato Container de servlet. Conforme já comentado, Tomcat está sendo utilizado para disponibilização e execução da BKPML Manager através da WEB;

• Struts2 (Struts2,2010) - Esse framework é utilizado no artefato Aplicação e faz o controle das requisições entre as camadas modelo, visão e controle existentes na

4.2. ARQUITETURA DA FERRAMENTA BKPML MANAGER

estrutura da ferramenta BKPML Manager. Feito o controle dessa camada através do struts2, foi utilizado o framework Hibernate3 (Gonçalves,2007) para controle e gerenciamento de persistências entre as camadas Servidor eSGBD;

• Hibernate3 (Gonçalves, 2007) - O Hibernate é utilizado para facilitar o mapea- mento dos atributos entre a base de dados tradicional e o modelo de objetos da aplicação. Esse framework utiliza o artefato Drivers para manter a comunicação entre a camadaSGBD;

• DOM4J (Beat, 2010) - é um framework para leitura e criação de arquivosXML

em aplicações Java. Como a ferramenta BKPML Manager trabalha criando ar- quivos em formato BKPML, a utilização do framework DOM4J é crucial para os processos de Backup, Restauração e Migração de dados nesse formato;

• Xerces (Xerces, 2010) - Na ferramenta BKPML Manager o framework Xerces é responsável pela validação dos arquivos BKPMLgerados através de seu XML

schema; e

• Database Drivers for Java - A ferramenta BKPML Manager mantém toda sua base de dados no SGBD MYSQL5.0, além de realizar transações com diversos

SGBD como POSTGRES, ORACLE e SQL SERVER. Para isso, a BKPML Ma-

nager necessita manter em sua estrutura um driver para cada SGBDcadastrado, pois é a partir deles que a aplicação iniciará a conexão para realizar transações de consulta, inserção ou alteração dos dados. Esses drivers são representados pelo artefato Drivers localizado na camada Servidor.

4.2.4

Lições Aprendidas

No processo inicial do desenvolvimento da arquitetura, foram pesquisados diversos plug-

ins e frameworks para gerenciamento das mensagens entre as camadas modelo, visão e

controle. Dentre eles, apenas dois frameworks foram classificados para testes iniciais da arquitetura: JSF (JSF,2010) e STRUTS2.

Como a BKPML Manager se trata de uma ferramenta Open Source, os critérios escolhidos para classificação dos plug-ins e frameworks foram, facilidade para uso e manutenção, utilização e aceitação dos mesmos no mercado. Após a escolha e realização de testes, o framework STRUTS2 foi escolhido para compor a arquitetura. Os motivos que levaram a essa escolha foram simplicidade de manipulação, fácil utilização sem muitas configurações, facilidade de manutenção e integração com outras tecnologias.