Balanceamento de carga utilizando Oracle Forms

[ad#texto]
Muitas vezes encontramos um sistema cliente-servidor lento e a culpa não é o tráfego de rede, o problema está na concepção do próprio sistema, pelo fato de todo o processamento ou está sendo executado do lado do servidor ou em casos piores do lado do cliente.

Falando em Oracle, existem diversos meios de realizar esse balanceamento de carga, para que o processamento seja realizado de forma simétrica entre o servidor e o cliente resultando em performance otimizada.

Neste post vou explicar a mais simples, que na verdade resume-se tanto na utilização do Oracle Forms e no Oracle Reports.

No momento que o usuário executa um Form ou um Report, é acionado um client, semelhante à JVM do Java, que tem o papel de executar o arquivo compilado no padrão da Oracle e exibir em tela seja o Form ou o Report.

Esse client está preparado para executar esse balanceamento de carga de forma automática, para evitar gargalos tanto no servidor como no cliente, porém é interessante que algumas considerações sejam analisadas.

Vários sistemas possuem suas regras de negócio armazenas no servidor com a finalidade de simplificar a sua manutenção, fiabilidade e disponibilidade ficando o Form com a finalidade de uma mera “casca”, apenas a view do sistema. Um sistema com este tipo de arquitetura, embora correta, é determinante para que a grande carga de processamento seja executada do lado do servidor, sobrecarregando-o.

Do ponto de vista de performance o interessante é que parte das operações de aritmética e demais cálculos sejam migrados para o Form ou Report, se de um lado quebra-se a regra de negócio totalmente do lado do servidor do outro teremos um sistema mais rápido devido a um melhor aproveitamento do processamento das estações.

Quando realizar esse tipo de operação? Infelizmente não existe regra mágica, o seu analista terá que analisar todo o sistema e regra de negócio em questão para que sejam efetuadas as alterações necessárias de forma correta (iremos nos deparar com este problema de quebrar a arquitetura em busca de performance em diversas ocasiões).

Um exemplo: hoje mesmo, verifique um Report que demorava cerca de 16 minutos para ser executado, devido a complexidade da sua consulta, pois todos os campos estavam sendo calculados na select e o Report era um mero exibidor dos campos na formatação desejada. O que fiz? Alterei a select para ela apenas me trazer os dados e inseri todas as operações aritméticas e demais cálculos em Campos de Formula do Report.

Embora eu tenha quebrado a arquitetura original consegui diminuir o tempo de execução em 12 minutos, hoje o Report é executado em apenas 4 minutos.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.