CONFIGURAÇÃO DO RM EM N CAMADAS Janus José Júnior – Abril/ 2014.
Transcript of CONFIGURAÇÃO DO RM EM N CAMADAS Janus José Júnior – Abril/ 2014.
CONFIGURAÇÃO DO RM EM N CAMADASJanus José Júnior – Abril/ 2014
Arquitetura RM
2
I) Introdução
II) Instalação em N camadas
III) Cockpit
IV) Alias.dat
V) Balanceamento Nativo
VI) Configuração
VII) Principais Tabelas
ÍNDICE
Introdução
3
Introdução
O objetivo deste documento é trazer uma visão do que é e como funciona a Arquitetura N Camadas, bem como configurar o ambiente em suas estações para correto funcionamento das aplicações neste cenário.
O que é a Arquitetura N camadas?
Anteriormente, na Arquitetura Cliente Servidor, a camada cliente acessava ‐diretamente a camada de Banco de Dados, além de todos os processos serem executados no cliente, tais como: abertura de formulários, acesso a dados, regras de validação, cálculos e relatórios. A figura abaixo mostra como é a arquitetura Cliente Servidor:‐
Introdução
4
Na Arquitetura N camadas, apesar da complexidade do ambiente, a divisão das tarefas em camadas possibilita maior distribuição do processamento do sistema.
Cliente - Na camada cliente temos apenas os formulários que serão abertos na execução do programa.
APP - A camada de aplicação é responsável pela execução da Regra de Negócio e Cálculos além de fazer a comunicação com a Camada de Banco de Dados.
JOB - A camada de Jobs é responsável pela execução dos processos e também faz a comunicação com a Camada de Banco de Dados.
Introdução
6
Servidor de Jobs:
É um dos serviços que são executados pelo Host em background, na arquitetura N camadas. Esse serviço é habilitado somente no servidor de Jobs. Ele é responsável por executar os processos que são submetidos pelos aplicativos, que por sua vez entram em uma fila de execução(GJOBXEXECUCAO).
Como funciona?
-GJOBX – Tabela onde são registrados os processos-GJOBXEXECUCAO – Tabela que controla a fila dos processos
O que é?
Introdução
7
Separação JobServer e AppServer
Como fazer?
• Habilitar JobServer3Camadas em todos os configs;
• Desabilitar a execução de Jobs no AppServer;
• Habilitar execução de Jobs no JobServer;
• Apontar todos os clientes para o AppServer;
• Reiniciar os Hosts.
Quais são as vantagens?
• Aproveitamento de hardware;• Isolamento para identificar problemas;
Instalação em N camadas
8
Para Instalar o RM em N Camadas, é necessário realizar os seguintes passos:
Servidor de Aplicação
Instalar a Biblioteca RM no Servidor de Aplicação (no momento de instalação, selecionar ambiente 3 camadas e Server)
Ao selecionar Modo Server serão copiados para a pasta de instalação somente os arquivos necessários para o processamento de informações, ou seja, arquivos necessários para a execução do Host. Nesta opção, só é possível acessar a MDI, não é possível executar os aplicativos separadamente.
Instalação em N camadas
9
Ao selecionar o Modo Client serão copiados para a pasta de instalação somente os arquivos necessários para execução dos sistemas. O sistema será configurado para direcionar todo o processamento de dados para o Servidor de Aplicação, ou seja, o processamento de dados será realizado na máquina em que a Biblioteca for instalada selecionando a opção Modo Server.
Client
Instalar a Biblioteca RM em cada Cliente (no momento de instalação, selecionar ambiente 3 camadas e Client). Após esse passo será necessário informar o servidor Aplicação e porta de comunicação. (padrão 8050).
Instalação em N camadas
10
Servidor de Job
Para instalar um servidor de Jobs Server, temos que seguir os mesmo passos de instalação de um servidor de Aplicação e após concluirmos a instalação da Biblioteca RM, iremos habilitar o processamento de Jobs no servidor.
Instalação em N camadas
11
Existem duas formas de habilitarmos o processamento de Jobs:Para que o mesmo seja iniciado juntamente com o host, é necessário acessarmos o gerenciamento de Alias e marcar a falg (Habilitar processamento de Jobs).
Obs. Essa é uma configuração realizada para cada Alias, ou seja, o Host só processará o Job da base onde a flag estiver marcada.Para acessar as configurações do Alias, acesse o executável conforme imagens abaixo:
Cockpit
12
Também podemos utilizar o Cockpit para iniciar o processamento de Jobs de forma manual.
Todos as máquinas que estiverem executando um Host serão adicionadas ao Cockpit, nele é possível identificar se as máquinas estão ou não executando processos.
Alias.dat
13
<DbConfig> <Alias>_local</Alias> <DbType>SqlServer</DbType> <DbProvider>SqlClient</DbProvider> <DbServer>T000000452</DbServer> <DbName>RM1160</DbName> <UserName>SYSDBA</UserName> <Password>masterkey</Password> <RunService>true</RunService> <JobServerEnabled>true</JobServerEnabled> <JobServerMaxThreads>3</JobServerMaxThreads> <JobServerLocalOnly>false</JobServerLocalOnly> <JobServerPollingInterval>10</JobServerPollingInterval> <ChartAlertEnabled>false</ChartAlertEnabled> <ChartAlertPollingInterval>20</ChartAlertPollingInterval> <ChartHistoryEnabled>false</ChartHistoryEnabled> <ChartHistoryPollingInterval>20</ChartHistoryPollingInterval> <RSSReaderMailEnabled>false</RSSReaderMailEnabled> <RSSReaderMailPollingInterval>10</RSSReaderMailPollingInterval> </DbConfig>
As configurações do RM.AliasManager.exe, são armazenadas no arquivo Alias.dat.
•Habilita o processamento de Jobs
•Determina a quantidade de Jobs executados simultaneamente.
•Determina se o servidor irá processar somente seus próprios Jobs.
•Define o intervalo de monitoramento da fila de processos.
Balanceamento Nativo
14
Balanceamento Nativo:• Podemos configurar um cliente para utilizar dois servidores de APP, assim
distribuindo a carga entre eles e melhorando a performance do sistema.
As figuras abaixo exemplificam como será o funcionamento do sistema:
Nesse cenário o sistema fará o balanceamento por requisição, alternando as requisições entre os servidores.
Balanceamento Nativo
15
Como configurar o Balanceamento Nativo?
A máquina cliente será apontada para dois ou mais servidores de aplicação.No arquivo .config do aplicativo (exemplo: C:\totvs\CorporeRM\RM.Net.exe.config), vamos inserir as tags PORT e HOST apontando para o outro servidor da seguinte forma:
Lembrando que poderá ter mais de dois servidores de aplicação. Neste caso, temos que continuar identificando as tags: Host3, Host4, Port3 e Port4.
Configurações Gerais
16
Para garantirmos o correto funcionamento do sistema em um ambiente N camadas, os arquivos de configurações devem ser configurados respeitando as orientações a seguir.
AliaspathDefini um único alias.dat para ser utilizado por todos os Servidores de aplicação do ambiente, para isso,
devemos adicionar a tag nos arquivos RM.AliasManager.exe.config, RM.Host.exe.config e RM.Host.Service.exe.config.
Exemplo: <add key=“Aliaspath” value=“\\Servidor\Pasta” />
Obs. Como a configuração dos Alias no Servidor de APP é diferente do Servidor de Jobs, devemos utilizar um Alias para os servidores de Jobs e outro para os servidores de APP.
FileServerPath
Definir um único diretório para geração e leitura de arquivos temporários, assim todos os Hosts do ambiente irão gerar os arquivo somente nesse diretório. Desta forma, em ambientes que trabalham em N camadas, devemos adicionar a tag nos arquivos RM.Host.exe.config ou RM.host.Service.exe.config de todos os servidores de APP e Job.
Exemplo: <add key=“FileServerPath” value=“\\Servidor\Pasta” />
Configurações Gerais
17
LogPath Defini o caminho onde serão gerados os logs do sistema.
Exemplo: <add key=“LogPath” value= “\\Servidor\Pasta” />
LOCALIZATIONLANGUAGE
A tag LOCALIZATIONLANGUAGE determina em qual linguagem o sistema irá funcionar, habilitar essa tag evita que o RM valide qual a linguagem o sistema operacional esta configurado.
Exemplo: <add key=“LOCALIZATIONLANGUAGE” value “pt-BR” />
ENABLECOMPRESSION
Habilita a compressão de dados para melhorar o desempenho da rede, contudo o custo para compactação e descompactação dos dados em redes Gigabits, pode ser superior a transferencias sem a compactação. Assim é recomendado que em redes Gigabits a compactação de dados seja desabilitada.
Exemplo: <add key=“ENABLECOMPRESSION” value “true” />
Configurações Oracle
18
Visando melhorar a performance de acesso em bancos Oracle, existe um cache para armazenagem de dados do schema da base de dados. Este cache se faz necessário pois o "GetSchema" no Oracle tem um custo bastante caro. Para a correta utilização do mesmo, deve-se parametrizar o Config do Host da seguinte forma:
UseDbSchemaCache
Indica se o sistema guardará em cache os esquemas obtidos pelas consultas.
Exemplo: <add key="UseDbSchemaCache" value="true" />
DbSchemaCacheMaxSize
Define a quantidade de schemas que serão guardados em cache.
Exemplo: <add key="DBSchemaCacheMaxSize" value=“5000"/>
Importante: Apesar do valor default ser 100, o valor ideal de acordo com testes já realizados é 4000. Este valor deve ser utilizado com bastante critério, visto que, se o mesmo for muito grande, pode-se comprometer a performance do banco.
Outras configurações
19
Antivírus O custo para o antivírus monitore um pasta ou arquivo geralmente é alto, sendo assim, devemos configurar
uma exceção no antivírus, para que o mesmo não monitore a pasta de instalação do RM.
Segue abaixo os links para configuração do BDE.
BDE - Instalação e Configuração SQL - http://tdn.totvs.com/x/DwaxAw
BDE - Instalação e Configuração Oracle - http://tdn.totvs.com/x/oQWxAw
Principais Tabelas
20
Tabelas relacionadas a fila de processos
• GRELBATCH
• GJOBLOG
• GJOBXLOG
• GJOBXEXECUCAO
• GJOBX
Tabela relacionada ao log de auditoria.• Zlog
Tabela relacionada ao histórico da execução de Cubos.• Qcubodata
Essas tabelas armazenam grande número de informações e por isso devemos executar o processo de manutenção periodicamente.
2121
QUESTÕES ?
IMAGEM
CONFIGURAÇÃO DO RM EM N CAMADAS
Acesse a nossa comunidade R@ FRAMEWORK