4 Um Exemplo de Implementação



Documentos relacionados
Noções de. Microsoft SQL Server. Microsoft SQL Server

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Considerações no Projeto de Sistemas Cliente/Servidor

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO Secretaria de Tecnologia da Informação

UFG - Instituto de Informática

DATA WAREHOUSE. Introdução

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Config. do módulo MSA com dispositivos REP.

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Integração de Dados Plataforma Hub Magento E-Commerce

Sistemas Cliente-Servidor

GUIA INTEGRA SERVICES E STATUS MONITOR

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

HIBERNATE EM APLICAÇÃO JAVA WEB

1

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

PROGRAMA DE PÓS-GRADUAÇÃO POSEAD. Curso Banco de Dados. Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

3 Arquitetura do Sistema

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Relatorio do trabalho pratico 2

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Especificação de Requisitos

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Modelos de Arquiteturas. Prof. Andrêza Leite

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Integração com o Ambiente Virtual de Aprendizagem Moodle

Guia de integração Integração com Pergamum

Manual do AP_Conta. Manual do AP_Conta. Aplicativo para digitação e envio de contas médicas no padrão TISS

Sistemas Distribuídos

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Conceitos de Banco de Dados

Análise de Ponto de Função

Sistemas Operacionais

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Documento de Análise e Projeto VideoSystem

SIMEC Sistema Integrado de Planejamento, Orçamento e Finanças

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

SISTEMA GT Sistema de Gravação Telefônica

Manual do Usuário Solução para Integração B2B Siagri x Conecta BASF Thiago Borges de Oliveira thiago.oliveira@siagri.com.br

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Tema: Oracle Weblogic Administration 11g

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Gerenciamento de Transações

LINX POSTOS AUTOSYSTEM

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web,

PLANOS DE CONTINGÊNCIAS

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

PORTARIA Nº 178 DE 25 DE OUTUBRO DE 2012.

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Para a escolha de uma unidade para o backup de dados, deve-se levar em conta :

Plataforma Sentinela

Cartilha da Nota Fiscal Eletrônica 2.0 Hábil Empresarial PROFISSIONAL & Hábil Enterprise

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

Programação para Web Artefato 01. AT5 Conceitos da Internet

ANEXO TÉCNICO SERVIÇOS DE SOFTWARE

Mercado Eletrônico Instalação e Atualização MEConnect2

Um Driver NDIS Para Interceptação de Datagramas IP

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Sistema MSYS. Manual de Instalação, Configuração e Suporte. Versão 7

Curva ABC. Tecinco Informática Ltda. Av. Brasil, º Andar Centro Cascavel PR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Universidade Paulista

Segurança da Informação e Proteção ao Conhecimento. Douglas Farias Cordeiro

Diretrizes Propostas para Aplicação da APF em Programa Envolvendo Tecnologias Recentes Tais como Barramento, BPMS e Portal

Gerência de Redes. Arquitetura de Gerenciamento.

Plano de Gerenciamento do Projeto

e-stf WebServices Processo Eletrônico Smart Client Documentação

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

3 Multi-Agent System for Stock Exchange Simulation

ESTRUTURA DE DIRETÓRIOS

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

TUTORIAL INSTALAÇÃO DA ROTINA 2075 FRENTE DE CAIXA

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

Introdução ao Modelos de Duas Camadas Cliente Servidor

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

A IMPORTÂNCIA DA MEDIÇÃO DE ENERGIA PARA EFICIÊNCIA ENERGÉTICA

Microsoft Access XP Módulo Um

esip- Sistema Integrado de Processo

Transcrição:

4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação InfoPAE descrito na seção 4.1. Em seguida, serão abordadas as tecnologias utilizadas. Logo após, serão apresentados os componentes participantes do ambiente de produção e detalhes de configuração deste ambiente. Finalmente, será feita uma breve passagem dos aspectos a serem levados em consideração na realização dos testes. 4.1. InfoPAE Baseada na arquitetura proposta por este trabalho, foi desenvolvido um sistema de replicação para o software InfoPAE [DIAS, 2003]. O InfoPAE é um sistema desenvolvido pelo laboratório de pesquisa Tecgraf da PUC-Rio em parceria com a Petrobras. Este software visa informatizar os planos de ações de emergências através da caracterização de cenários e as respectivas medidas a serem tomadas. Em uma emergência, diversas informações de apoio são associadas de forma a embasar as decisões e enriquecer os relatórios gerados. Estas informações de apoio incluem fotos, documentos, dados georeferenciados e outros.

42 Figura 22. Domínio do InfoPAE Como este software é executado em situações de emergência, exige-se um alto grau de tolerância à falhas. Nestas condições, faz-se necessário que o sistema esteja disponível durante eventuais falhas de rede. Para promover isto, a estratégia adotada foi a replicação de dados entre pontos críticos com maior probabilidade de queda do serviço de rede. Entretanto, a necessidade de sincronizar os dados com as informações de apoio sugere a implementação de um serviço de replicação capaz de suportar as regras de negócio envolvidas. Portanto, os dados do InfoPAE caracterizam uma base heterogênea.

43 Figura 23. Executando uma emergência no InfoPAE 4.2. RePAE: Uma Implementação de Referência Para se demonstrar a viabilidade da arquitetura de replicação baseada em agentes, foi desenvolvido o RePAE, uma implementação de referência da arquitetura proposta por este trabalho. O RePAE é responsável por replicar as bases de dados do software InfoPAE. O InfoPAE foi escolhido por se tratar de um sistema real que utiliza bases heterogêneas. Os módulos desta base são os repositórios, arquivos em disco e dados geográficos. Os repositórios são como bancos de dados lógicos implementados em um único banco de dados físico. Eles particionam os dados de maneira a facilitar o gerenciamento entre os dados de cada unidade de negócio. Repositórios podem se relacionar através de uma relação de importação. Se um respositório B importa um repositório A, então todos os dados de A são visíveis a B. O número e o tipo de repositório variam entre os diversos bancos do ambiente InfoPAE.

44 Figura 24. Repositórios Cada repositório pode referenciar um conjunto de arquivos mantidos externamente ao banco de dados. Estes arquivos incluem documentos, planilhas, fotos, planos e imagens de satélite. Finalmente, uma base de dados do InfoPAE também possui um conjunto de dados geográficos fundamentais para apoio às regras de negócio de planos de emergências. Estes dados são estruturados com estratégias de otimização de maneira que a aplicação necessita criar diversas tabelas e visões em tempo de execução. Isso torna a tarefa de replicação extremamente complexa com as ferramentas existentes, que sempre consideram um conjunto de tabelas fixas. Figura 25. Base de dados do InfoPAE

45 Assim, o RePAE surge como uma solução para replicar esta base heterogênea, realizando uma replicação que mantêm tanto a consistência transacional como a consistência referencial. 4.3. Tecnologias Adotadas pelo RePAE Nesta seção será apresentada uma breve descrição das tecnologias e ferramentas envolvidas neste trabalho. Java [JAVA, 2007] foi a principal linguagem de programação utilizada neste trabalho. O principal critério par a adoção de Java foi a grande quantidade de ferramentas, tecnologias e bibliotecas disponíveis. A plataforma Java para o ambiente enterprise (JEE) possui uma gama de especificações de apoio ao desenvolvimento de software que exigem avançado grau de robustez. Neste trabalho, as tecnologias JDBC, JTA, JMS e JNDI foram amplamente utilizadas. A API Java Database Connectivity (JDBC) padroniza o acesso à fonte de dados como banco de dados e planilhas eletrônicas. Já a especificação Java Transaction API (JTA) padroniza um conjunto de interfaces que facilitam a comunicação entre os envolvidos em transações distribuídas: gerente de transações, recursos, servidor de aplicações e as aplicações transacionais. A API Java Message Service (JMS), por sua vez, define serviços de mensageria capazes de desacoplar componentes de uma aplicação via comunicação assíncrona e distribuída. Finalmente, a API Java Naming and Directory Interface (JNDI) promove um ponto de acesso unificado aos serviços apresentados. Como implementação para as especificações JEE foi adotado o ambiente WebLogic [WEBLOGIC, 2007] que está em conformidade com a especificação JEE, o que garante que a migração para outra solução seja factível e de baixo custo. WebLogic foi escolhido por se tratar da solução mais robusta e com maior quantidade de recursos. Em parceria com o WebLogic, foi utilizado o WebLogic Scripting Tool (WLST). O WSLT é uma interface para execução de scripts em linha de comando capazes de automatizar a configuração e facilitar o controle do sistema. O WLST foi escolhido devido a sua facilidade de programação. Sua interface em Jython [JYTHON, 2007] permite execução de scripts em lote ou de forma iterativa,

46 aliando o dinamismo da linguagem Python [PILGRIM, 2004] e mantendo o acesso ao código Java existente. A Figura 26 resume o relacionamento entre as tecnologias apresentadas. Figura 26. Tecnologias Java foi utilizada para a implementação do observador, exportador e importador. Também foi utilizada para a implementação do copiador e sincronizador. Já o analisador e o configurador foram implementados utilizando a linguagem Jython, pois utilizam a ferramenta WLST. As tecnologias JDBC e FTP foram utilizadas para acessar as bases de dados, realizando operações de leitura e escrita. JDBC também constitui a base para a implementação do agente observador. A tecnologia JTA é utilizada pelo exportador, importador e sincronizador para implementar as operações transacionais. Através de JMS são realizadas as trocas de mensagens entre exportador e importador. Através de JNDI, o exportador, importador e o sincronizador acessam os recursos do servidor JEE que implementam as tecnologias JDBC, JTA e JMS. Estes serviços são criados pelo utilitário configurador, através da ferramenta WLST.

47 4.4. Componentes Físicos do Ambiente Um ambiente de replicação do RePAE possui os seguintes componentes físicos: Bancos das bases de dados: disponibilizadm os módulos de dados repositórios. Servidores de FTP das bases de dados: disponibilizam módulos de dados que estão no sistema de arquivos. Banco de configuração: armazenam a topologia do ambiente de replicação Banco de mensagens: armazenam as mensagens de atualizações a serem aplicadas nas bases escravas. Servidor JEE: responsável por abrigar os serviços de replicação. Assim, suponha a seguinte topologia lógica: Figura 27. Exemplo de topologia lógica Nesta topologia, a base1 é a base mestre e base2 e base3 são bases escravas. Seguindo este exemplo, suponha que cada base possua um banco de dados e um conjunto de arquivos associados. Para cada base, será gerado um serviço de replicação que rodará no servidor JEE.

48 Figura 28. Exemplo de topologia física Na próxima seção será vista como este ambiente é configurado. 4.5. Instalação e Configuração Uma distribuição do RePAE é mostrada na Figura 29. Figura 29. Estrutura de arquivos e diretórios O diretório etc guarda a implementação do configurador e um template para um serviço de replicação. Com base neste template são gerados os serviços de replicação para cada base de dados. O diretório log é responsável por armazenar os arquivos de logs dos serviços de replicação. Já no diretório temp são armazenados os arquivos temporários enquanto ainda não foram completamente enviados para seus respectivos destinos. O script config.cmd chama o configurador e realiza todas as configurações do ambiente baseada nos arquivos de configuração. O script prompt.cmd possui a capacidade de realizar ajustes internos, úteis na manutenção e resolução de conflitos. Finalmente, nos arquivos

49 topology.py e parameters.py são configuradas a topologia e parâmetros de ambiente necessários para o configurador. Para se montar o ambiente de configuração é necessário configurar os bancos, os servidores de FTP, os parâmetros de ambiente, a topologia e os serviços de replicação. Estas etapas são detalhadas a seguir. 1. Configurar Bancos Antes de iniciar a replicação, é necessária que as bases mestres e escravas estejam equivalentes. Para garantir isto, o processo mais simples consiste em gerar uma base escrava a partir de uma cópia de uma base de mestre. Esta cópia pode ser realizada através do utilitário copiador, utilizando uma operação de backup seguida de uma operação de restore. 2. Configurar os Servidores de FTP Cada base deve possuir um servidor de FTP, com usuário e senha devidamente configurados. Também deve possuir um caminho único para impedir conflitos entre diferentes bases no mesmo ambiente de replicação. Para a base Base1, um exemplo de possível caminho único é ftp://maquina1:21/repae_base1. 3. Configurar Parâmetros de Replicação Um ambiente de replicação necessita da definição de parâmetros globais utilizados por todos os serviços de replicação. Estes parâmetros envolvem configurações do servidor JEE, banco de configurações, banco de mensagens e limites de intervalos utilizados em diversos pontos do serviço de replicação. A figura abaixo ilustra uma possível configuração destes parâmetros.

50 Figura 30. Exemplo de configuração de parâmetros Estes parâmetros incluem configurações do ambiente JEE, definição do banco de configurações da topologia, declaração do banco de armazenamento de mensagens e parâmetros para configurações finas de desempenho dos serviços. 4. Configurar Topologia Uma topologia concentra as informações de quais módulos são replicados, e com qual direção de fluxo. Estas configurações envolvem parâmetros de

51 acesso a banco de dados e FTP. A figura abaixo ilustra a configuração da topologia replicando um módulo da base1 para a base2 e para a base3. Figura 31. Configuração de uma topologia Inicialmente, são definas as bases de dados, indicando o servidor FTP e o Banco de Dados em questão. Em seguida, são declarados os módulos de dados. E finalmente são definidos os fluxos de replicação, indicando qual módulo será replicado de qual base mestre para qual base escrava. 5. Configurar Serviços de Replicação A configuração dos serviços envolve a configuração do servidor JEE, criação de filas de mensagens, JDBC, configuração do JNDI, configurações para disponibilizar transações distribuídas, geração de aplicações e outros. Entretanto, o utilitário Configurador realiza todas estas etapas através dos parâmetros e topologia definidos. Sendo assim, basta executar o comando config.cmd 4.6. Testes A realização dos testes é dividida em duas etapas: testes horizontais e testes verticais. Os testes horizontais garantem que todas as funcionalidades do software estão mapeadas e são devidamente replicadas. Já os testes verticais garantem que os requisitos da seção 3.2 estão devidamente implementados. Para a realização dos testes horizontais, diversos casos de teses são automatizados através de um robô que simula a interação humana com a aplicação. Um testador grava uma interação com um software e em seguida o robô

52 pode repetir o mesmo procedimento diversas vezes. As alterações são então replicadas para outra base de dados. Uma nova interação é gravada na base escrava verificando se os dados estão equivalentes com os dados da base mestre. Já a realização dos testes verticais exige maior participação humana na simulação da geração de falhas de ambiente e na verificação do restabelecimento do software.