Visando a melhoria de desempenho no ambiente em 3 camadas, segue abaixo um
documento com instrues de como configurar o seu ambiente em 4 camadas sendo elas: 1 Servidor de aplicao este ser responsvel apenas por efetuar as operaes de tela. Ser executado tambm para validao de login e execuo de consultas no banco. Ex: Quando for solicitada a viso de alguma tela .NET est mquina ir executar as funes necessrias e responder para o client com as informaes desejadas. 2 Servidor de Job este ser responsvel por executar os processos solicitados pelos usurios. O host faz uma consulta na base de dados a cada 10 segundos para verificar se existe ou no algum processo na fila de execuo. Caso exista, ele ir assumir a execuo do mesmo. Neste ambiente possvel que seja inserido vrios servidores de Job Server que poder ser visualizado na tabela GJOBSERVER 3 Client/Estaes este ser responsvel por executar as funcionalidades em Delphi do sistema e ser responsvel tambm por executar os aplicativos instalados no ambiente. 4 Banco de dados Servidor de Banco de dados do cliente. Neste ambiente teramos uma arquitetura similar figura abaixo:
Abaixo segue como configurar o ambiente desta forma.
1. Configurao do Servidor de Aplicao.
Esse servidor, alm de executar as requisies de janela, ser o responsvel por enviar informaes ao banco de dados.
a. Instale a biblioteca, escolhendo a opo Ambiente 3 camadas / Server. b. Aps instalao execute o RM.AliasManager.exe (C:\totvs\CorporeRM\RM.Net), para configurao / endereo do servidor de banco de dados:
c. Na aba Servios, DESABILITE a opo de Habilitar Processamento de Job
Efetuando esta configurao, o servidor est pronto para enviar informaes ao banco de dados e executar apenas as requisies de tela.
2. Configurando o servidor de processamento de Job.
a. Instale a biblioteca, escolhendo a opo Ambiente 3 camadas / Server. b. Aps instalao execute o RM.AliasManager.exe (C:\totvs\CorporeRM\RM.Net), para configurao / endereo do servidor de banco de dados:
c. Na aba Servios, HABILITE a opo de Habilitar processamento de Job.
Efetuando esta configurao, o servidor est pronto para receber informaes do banco de dados e executar apenas os processos de job.
3. Configurando mquinas cliente: A mquina cliente ser apontada para um servidor que vamos chamar de servidor de aplicao, onde sero executadas apenas as requisies das telas.
No arquivo .config do aplicativo (exemplo: C:\totvs\CorporeRM\RMLabore\RMLabore.exe.config), configure as tags: a. <add key="JobServer3Camadas" value="true" /> b. <add key="Port" value="8050" /> porta do servidor, se necessrio. c. <add key="Host" value="nome do servidor de aplicao" /> Este servidor de aplicao ser responsvel por executar apenas as requisies de janelas do aplicativo. A partir deste momento, o seu ambiente j est pronto para ser utilizado como 4 camadas.
Observaes Importantes: 1 Ao acessar o sistema, possvel visualizar todos os processos solicitados pelos usurios na tela de Gerenciamento de Jobs. Nesta tela, a opo INICIAR SERVIDOR dever estar DESABILITADO. A mquina responsvel pela viso das telas a mquina SERVIDOR DE APLICAO e nesta, a opo de Processamento de Job dever estar desmarcado e por esse motivo ao acessar a viso de gerenciamento de Jobs, o servidor dever estar parado.
2 Status dos Jobs Todo processo solicitado pelo usurio gravado na tabela GJOBX e para cada execuo deste processo, gravado um registro na tabela GJOBXEXECUCAO. Nesta tabela podemos tambm visualizar o status de cada processo. O Status apresentado em cdigo e suas descries so: None = 0, O Job ainda no foi executado Running = 1, O Job est em execuo Finished = 2, O Job terminou normalmente a sua execuo Canceled = 3, A execuo do Job foi cancelada Stopped = 4, A execuo do Job comeou e foi interrompida Error = 5, Erro na execuo do job Warning = 6, O Job foi executado com avisos Failed = 7, Houve uma falha no servidor durante a execuo do Job e a mesma no terminou corretamente ou no momento da execuo do Job, o servidor no estava ativo Disabled = 8 A execuo do job est suspensa at ele ser habilitado novamente se ele for habilitado antes da sua hora programada ele roda normalmente, se for depois da sua hora programada e ele tiver recorrncia, sua recorrncia recalculada e ele atualizado para aquela datahora recalculada; se ele no tiver recorrncia, seu status vira Canceled. Aps a insero do Job na tabela GJOBXEXECUCAO, dependendo do seu Status, o processo ser executado ou ficar agendado at o momento de execuo. O Host (servidor de Job) faz uma consulta nesta tabela a cada 10 segundos para verificar a fila de processamento de Jobs e caso exista um processo pendente, o host ir assumir a sua execuo. Aps a execuo do processo, caso o usurio esteja aguardando o retorno das informaes, o host que o executou ir enviar as informaes para a base de dados e o host do servidor de aplicao, que o responsvel por carregar as informaes das telas, ir enviar para tela do cliente a informao do fim da execuo com o resultado obtido. 3 Processos Simultneos No existe uma regra para definir o nmero de processos simultneos na parametrizao do sistema. O que podemos frisar que quanto maior for o nmero de processos simultneos, maior ser o consumo de Hardware e menor ser a fila, porm, esse consumo deve ser obervado com o tempo para no impactar diretamente no desempenho do sistema. 4 Processos em Execuo Atualmente no sistema possvel visualizar apenas os processos da coligada corrente. Como medida de contorno para essa situao, possvel criar uma consulta SQL que retorne todos os processos em execuo e esta seja anexada na tela de Gerenciamento de Jobs. 5 Distribuio de Processos Por ser um processo novo, disponibilizado na verso 11.40, ainda no foi implementado por todos os aplicativos o atribudo com uma descrio amigvel destes processos. Quando isso for disponibilizado, ele ser visvel na tabela GBKSERVER. Uma vez cadastrado o processo, o servidor ir executar apenas esse processo e esse processo ser executado tambm apenas por esse servidor. 6 Portal O portal ir interagir com o servidor de aplicao atravs do Host. Recomenda-se que a instalao do Portal seja feita em um servidor separado para no haver queda de desempenho com um host especfico para seu execuo. Neste caso, ao instalar a biblioteca, poder ser feito a instalao padro (Ambiente Local). Os processos solicitados pelo portal seguir o fluxo normal de execuo dos processos. 7 Client Oracle Nas maquinas que possuir o BDE, recomenda-se a instalao do cliente do Oracle de 32 bits. Na maquina que ser o servidor de aplicao e servidor de job, poder ser instalado o cliente de 64 Bits. 8 Sincronismo entre servidores de Job No existe uma forma de sincronizar os servidores. A diviso dos processos, caso exista mais de um servidor de Job, ser feita atravs da consulta que o Host faz na fila de execuo. Neste contexto existe a possibilidade de um servidor executar vrios processos e outro ficar sem nenhuma execuo.
Distribuio de Processos
A partir da verso 11.40, existe no sistema uma funcionalidade que d para o usurio a possibilidade de direcionar um processo para um determinado Servidor de Job (Caso existam vrios). Com essa configurao, este servidor ir ficar responsvel apenas por executar este processo. Vantagem: Caso exista na rotina do cliente um processo muito demorado e que demanda muitas requisies do host, este processo poder ser executado neste servidor exclusivo e no ir gerar um gargalo nos demais processos. Esta configurao poder ser feita da seguinte forma: - Acessar a nova MDI - Acessar a Aba AMBIENTE
- Acessar a opo Distribuio de Processos
- Ao acessar essa opo, sero listados todos os servidores de Job que o cliente possui conforme figura abaixo:
- Neste momento, ser feito a especificao do processo para um determinados servidor - Habilite a opo de Apenas Selecionados e selecione o processo especfico. Neste exemplo, foi selecionado o processo de Copia de Permisses do usurio.
- Observe que ao selecionar este processo, o servidor em questo ir executar apenas o processo listado conforme figura abaixo: