Você está na página 1de 14

1

CENTRO UNIVERSITRIO FEEVALE

JOO RODRIGO MATTE

Projeto de Alta Disponibilidade para Processamento de Transaes Eletrnicas


(Ttulo Provisrio)

Anteprojeto de Trabalho de Concluso

Novo Hamburgo, setembro de 2008.

JOO RODRIGO MATTE joaomatte@gmail.com

Projeto de Alta Disponibilidade para Processamento de Transaes Eletrnicas


(Titulo Provisrio)

Centro Universitrio Feevale Instituto de Cincias Exatas e Tecnolgicas Curso de Sistemas de Informao Anteprojeto de Trabalho de Concluso

Professor orientador: Edvar Bergman Arajo

Novo Hamburgo, setembro de 2008.

RESUMO

Com a evoluo da tecnologia e a facilidade de uso, os meios de pagamentos eletrnicos esto cada vez mais comuns nos dias de hoje. Por isto, os sistemas que processam essas informaes so extremamente crticos e precisam estar em constante evoluo para acompanhar o crescimento desta utilizao. A indisponibilidade destes sistemas pode causar prejuzos incalculveis. Desta forma, este projeto apresenta uma proposta de migrao de um sistema de processamento de transaes eletrnicas defasado para um novo sistema, totalmente remodelado focado em alta performance e principalmente em alta disponibilidade. Palavras-chave: Alta disponibilidade. Escalabilidade. Cluster. Desempenho. Contingncia.

SUMRIO

MOTIVAO ............................................................................................................................ 5 OBJETIVOS ............................................................................................................................... 9 METODOLOGIA..................................................................................................................... 10 CRONOGRAMA ..................................................................................................................... 11 BIBLIOGRAFIA ...................................................................................................................... 13

MOTIVAO

O mercado de cartes e pagamentos eletrnicos tem apresentado um grande crescimento nos ltimos anos. Os cartes deixaram de ser utilizados em poucas operaes nas agncias bancrias e passaram a ser utilizados e aceitos nos mais diversos lugares do mundo. Algumas razes para isto so a segurana e a facilidade do uso. Alm disto, muitas vantagens esto agregadas nas compras pagas com cartes, como sorteios instantneos, premiaes, milhas areas, entre outras. Mas talvez a principal vantagem seja a possibilidade de parcelar uma compra pelo mesmo preo a vista. Isto acabou aumentando o consumo, a utilizao e a difuso do uso do carto. (Associao Brasileira de Cartes de Crdito e servios) Alm do pagamento, muitos outros servios esto agregados a cartes, como os cartes recarregveis chamados de pr-pago utilizados em servios de transporte pblico. Outro mercado que est em expanso nas grandes redes de lojas, so os cartes fidelidade, onde o portador ganha vantagens ao utiliz-los. O pagamento eletrnico acaba impactando diretamente no uso do dinheiro em espcie e cheques, que eram as duas formas mais comuns de pagamento. mais seguro as pessoas portarem um carto, que em caso de perda ou roubo, pode ser facilmente bloqueado. Os estabelecimentos tambm so beneficiados com este tipo de pagamento, pois assim no correm o risco de receber cheques sem fundos ou dinheiro em espcie falso. O crescimento do mercado de cartes deve muito a tecnologia que agiliza o processamento de todas as informaes necessrias para a logstica de uma transao eletrnica com carto funcionar perfeitamente. Uma transao eletrnica envolve pelo menos quatro atores, so eles: o cliente, o estabelecimento que est vendendo produtos ou servios (hotis, postos de gasolinas, restaurantes, etc.); a empresa que captura as informaes da

compra; e por ltimo a empresa que processa as informaes da compra (GoodCard, VisaNet, RedeCard, etc.). Este projeto est focado na captura das informaes do pagamento eletrnico, ou seja, o sistema que est entre o estabelecimento e a empresa que processa as informaes do pagamento efetuado pelo cliente. Este processo de validao de transaes eletrnicas no to simples como passar o carto em um meio de captura, este apenas o primeiro passo. Aps isto, o meio de captura utiliza algum tipo de comunicao entre os diversos disponveis, para enviar as informaes necessrias para efetuar a transao empresa que faz a captura das informaes. Nesta fase, as informaes so processadas, validadas e armazenadas para serem utilizadas no futuro, tais validaes so focadas no estabelecimento. Seguindo o fluxo da transao, as informaes so enviadas para a empresa de processamento, que tambm processa, valida e armazena informaes, porm mais focada ao cliente portador do carto. nesta fase que debitado o saldo do portador, criadas parcelas para compra parceladas, juros, etc. Aps isto, as informaes da transao e a resposta do processamento retornam para a empresa de captura que processa a resposta e repassa novamente ao meio de captura. Caso a compra tenha sido autorizada, o ticket ser impresso e o meio de captura enviar uma confirmao de compra, que seguir o mesmo fluxo anterior, ou seja, enviado para a empresa de captura e repassado para a empresa de processamento. Justamente pela alta utilizao e o crescimento de pagamentos eletrnicos o sistema chamado aqui de Sistema Concentrador deve estar preparado para processar centenas de informaes simultneas com alta performance, baixo tempo de resposta e principalmente alta disponibilidade. A alta disponibilidade vital para que uma transao eletrnica seja efetuada perfeitamente. Uma das principais funes do Sistema Concentrador manter as informaes consistentes entre todos os envolvidos, ou seja, empresas de captura, processamentos e estabelecimentos. Cabe a ele resolver qualquer pendncia, caso ocorra uma falha durante o progresso da transao. Quando este servio fica indisponvel acaba gerando prejuzos incalculveis em cascata, ou seja, todos os atores envolvidos acabam sendo afetados financeiramente e ainda acaba causando a insatisfao do cliente. O cliente no tem culpa dos problemas computacionais, mas acaba sendo bastante prejudicado. Quem nunca passou ou viu algum passando por problemas com o pagamento eletrnico? A fila aumentando, e nada pode ser feito pelo cliente, caso ele no tenha outra forma de pagamento.

O sistema concentrador atual possui alguns problemas e limitaes. Este sistema foi projetado para processar apenas uma operadora de carto e suas funcionalidades. Justamente por isto o sistema pouco flexvel e nada modulado. Com o passar do tempo, as necessidades da empresa foram crescendo. Atualmente, este sistema processa aproximadamente 30 operadoras de cartes com suas diferentes funcionalidades. Alm dos riscos no momento das atualizaes, o sistema no est preparado para crescer horizontalmente, ou seja, no escalvel. Na tentativa de obter mais performance, muitos dados so armazenados em memria para evitar acessos ao banco de dados. Por regras de negcio, tais dados deveriam ser compartilhados. Porm, no so, impedindo a escalabilidade. Pesquisando na literatura, foram encontrados alguns conceitos importantes que podem subsidiar a proposta de um novo sistema para substituir o sistema atual. Alguns destes conceitos so abordados nos pargrafos a seguir.
Na sua forma mais bsica, um cluster um sistema que compreende dois ou mais computadores ou sistemas (denominados nodos) que trabalham em conjunto para executar aplicaes ou realizar outras tarefas, de tal forma que os usurios do agrupamento de mquinas tenham a impresso de que somente um nico sistema responde para eles, criando assim uma iluso de um recurso nico (computador virtual). (PITANGA, 2003, pg. 14).

Alta disponibilidade um sistema informtico resistente a falhas de software e energia, cujo objetivo manter os servios disponibilizados o mximo de tempo possvel. (Wikipdia, 2008). possvel alcanar a escalabilidade horizontal ao adicionar mais mquinas ao ambiente atual, aumentando assim a capacidade do sistema como um todo. Para distribuir a carga de maneira otimizada para cada servidor, devem ser usadas tcnicas de balanceamento de carga (load balancing) e de montagem de clusters. A arquitetura definida para a aplicao deve ser projetada tendo em vista que ela dever funcionar sem problemas em um ambiente que pode escalar horizontalmente. Ao escalar de forma horizontal pode-se garantir flexibilidade, disponibilidade e confiabilidade para o ambiente e para a aplicao. Tolerncia a falhas consiste em um sistema que continue processando mesmo quando acontece alguma falha inesperada, ou seja, o objetivo garantir a continuidade de um servio, mesmo na presena de falhas de alguns componentes. As tcnicas para garantir tolerncia a falhas so caracterizadas pela redundncia, onde os componentes (hardware ou software) ou informaes so replicadas e estruturadas em grupo. (CIRNE, 2000).

Processamento distribudo "um conjunto de processos executando em diferentes mquinas e interagindo atravs de mensagens, no havendo compartilhamento de memria fsica". (Instituto de Informtica da UFRGS, 2008). Balanceamento de carga possui como meta distribuir a carga entre os ns da rede. (PITANGA, 2003, pg. 79). Dito isto, o foco deste trabalho projetar um novo sistema concentrador preparado para processar todos os tipos de transaes existentes na empresa, e obviamente eliminar os problemas j conhecidos do atual sistema. O risco deste processo vlido primeiramente por que o atual sistema est no limite e porque este projeto visa minimizar ao mximo qualquer impacto referente a problema de sistemas, hardware, ou rede. Com o foco em alta disponibilidade a nova arquitetura ser totalmente projetada para isto. Para alcanar estes propsitos, o sistema trabalhar em um ambiente Oracle totalmente clusterizado e com contingncias de software e hardware. Como uma idia preliminar, projeta-se que a informao entrar no sistema atravs de um switch cisco que far o balanceamento de carga entre as mquinas que contm a aplicao do sistema concentrador. O sistema estar em execuo em um servidor de aplicao da Oracle chamado Oracle Application Server 10g e acessar uma base de dados Oracle clusterizada em duas mquinas usando o Oracle RAC 10g - Real Application Cluster. O ambiente de produo estar localizado fisicamente na matriz da empresa no Rio Grande do Sul. Projeta-se ainda, a criao de dois ambientes de contingncia. O primeiro estar localizado na matriz da empresa e o segundo em So Paulo. O conhecimento do negcio e a experincia com o atual sistema de alta criticidade contribuem para que este projeto obtenha xito.

OBJETIVOS

Objetivo geral O objetivo deste trabalho apresentar um projeto de um novo sistema para capturar e concentrar as informaes de todas as transaes eletrnicas de uma empresa de captura, em um ambiente com alta disponibilidade e escalabilidade.

Objetivos especficos Identificar os problemas e dificuldades do atual sistema da empresa; Projetar a arquitetura do novo sistema; Detalhar as tecnologias que sero utilizadas no desenvolvimento do novo sistema; Propor a nova estrutura do banco de dados; Projetar um ambiente visando alta disponibilidade; Propor ambientes de contingncia para os casos em que o sistema principal falhar; Comparar a soluo proposta com a atual, apresentando as vantagens obtidas;

10

METODOLOGIA

1. 2. 3. 4. 5. 6.

Pesquisa de bibliografias sobre o assunto proposto; Elaborao do anteprojeto; Apresentar o modelo de ambiente transacional da organizao; Apresentar a estrutura e problemas da atual soluo; Identificar os softwares que sero utilizados; Analisar as tecnologias que mais se enquadram nos objetivos do projeto proposto;

7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

Especificar a nova estrutura do banco de dados; Elaborar o TCC 1; Projetar a arquitetura do novo sistema; Acompanhar o desenvolvimento do mesmo; Efetuar testes no ambiente; Analisar os resultados obtidos; Implantar o sistema como projeto piloto; Analisar o ambiente piloto; Comparar o sistema existente com os resultados obtidos no novo sistema; Elaborar o TCC2. Defender o projeto na banca;

11

CRONOGRAMA

Trabalho de Concluso I

Etapas Ago/08 1 2 3 4 5 6 7 8 XXX XXX Set/08

Meses Out/08 Nov/08 Dez/08

XXX XXX XXX XXX XXX XXX XXX XXX

Trabalho de Concluso II

Etapas Mar/09 9 10 11 12 13 14 15 XXX XXX Abr/09 XXX XXX XXX

Meses Mai/09 XXX XXX XXX XXX XXX Jun/09 XXX Jul/09 XXX

12

16 17

XXX

XXX

XXX

XXX

XXX XXX

13

BIBLIOGRAFIA

ALAPATI, Sam R. Expert Oracle Database 10g Administration. New York, NW, USA. Apress Books, 2005. ALECRIM, Emerson (2004) "Cluster: Principais conceitos". Disponvel http://www.infowester.com/cluster.php. Acessado em: 06 de setembro de 2008. Associao Brasileira de Cartes de Crdito e http://www.abecs.org.br. Acessado em: 27 de agosto de 2008. servios. Disponvel em em

AULT, Mike; TUMMA, Madhu. Oracle 10g Grid & Real Application Clusters. Kittrell, North Carolina, USA: Rampant TechPress, 2004. CIRNE, Liliane Dantas; MACDO, Raimundo Jos de Arajo. Uma abordagem para tolerncia a falhas em JAVA atravs de comunicao em grupo In: Anais do 18 Simpsio Brasileiro de Redes de Computadores. Disponvel em http://www.lbd.dcc.ufmg.br:8080/colecoes/sbrc/2000/007.pdf. Acesso em: 09 de setembro de 2008. HART, Matthew; JESSE, Scott. Oracle Database 10g High Availability with RAC, Flashback & Data Guard. Emeryville, California, USA. McGraw-Hill/Osborne, 2005. Instituto de Informtica da UFRGS, Processamento distribudo. Disponvel em http://www.inf.ufrgs.br/gpesquisa/procpar/dist.html. Acessado em: 29 de agosto de 2008. LONEY, Kevin. Oracle 10g: o manual do DBA / Kevin Loney, Bob Bryla; traduo de DocWare Tradues Tcnicas. Rio de Janeiro: Campus, 2005. ORACLE Brasil Oracle Applicarion Server, Disponvel em http://www.oracle.com/global/br/appserver/index.html. Acessado em: 05 de setembro de 2008. ORACLE Brasil. Banco de dados Oracle. Disponvel em http://www.oracle.com/global/br/database/index.html. Acessado em: 05 de setembro de 2008. PITANGA, Marcos. Computao em cluster: o estado da arte da computao. Rio de Janeiro: Brasport Livros e Multimdia Ltda, 2003. 322p. PITANGA, Marcos. Construindo supercomputadores com linux. 2 edio. Rio de Janeiro: Brasport Livros e Multimdia Ltda, 2004. 292p. Requisitos no funcionais. 2008. Disponvel em http://ladoservidor.com/node/12. Acesso em: 09 de setembro de 2008.

14

Wikipedia, Sistema de alta disponibilidade. Disponvel em http://pt.wikipedia.org/wiki/Sistema_de_alta_disponibilidade. Acesso em: 10 de setembro de 2008.

Você também pode gostar