CONFIGURAÇÃO DO RM EM N CAMADAS
Janus José Júnior – Abril/ 2014
Arquitetura RM
ÍNDICE
I)
Introdução
II)
Instalação em N camadas
III)
Cockpit
IV)
Alias.dat
V)
Balanceamento Nativo
VI)
Configuração
VII) Principais Tabelas
2
Introdução
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:
3
Introdução
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.
4
Introdução
A figura abaixo mostra como é a arquitetura em N camadas
5
Introdução
Servidor de Jobs:
O que é?
É 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
6
Introdução
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;
7
Instalação em N camadas
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.
8
Instalação em N camadas
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).
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.
9
Instalação em N camadas
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.
10
Instalação em N camadas
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:
11
Cockpit
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.
12
Alias.dat
As configurações do RM.AliasManager.exe, são armazenadas no arquivo Alias.dat.
<DbConfig>
•Habilita o processamento de Jobs
<Alias>_local</Alias>
<DbType>SqlServer</DbType>
<DbProvider>SqlClient</DbProvider>
•Determina a quantidade de Jobs
<DbServer>T000000452</DbServer>
executados simultaneamente.
<DbName>RM1160</DbName>
<UserName>SYSDBA</UserName>
<Password>masterkey</Password>
•Determina se o servidor irá
<RunService>true</RunService>
processar somente seus próprios
<JobServerEnabled>true</JobServerEnabled>
Jobs.
<JobServerMaxThreads>3</JobServerMaxThreads>
<JobServerLocalOnly>false</JobServerLocalOnly>
<JobServerPollingInterval>10</JobServerPollingInterval>
•Define o intervalo de
<ChartAlertEnabled>false</ChartAlertEnabled>
monitoramento da fila de processos.
<ChartAlertPollingInterval>20</ChartAlertPollingInterval>
<ChartHistoryEnabled>false</ChartHistoryEnabled>
<ChartHistoryPollingInterval>20</ChartHistoryPollingInterval>
<RSSReaderMailEnabled>false</RSSReaderMailEnabled>
<RSSReaderMailPollingInterval>10</RSSReaderMailPollingInterval>
</DbConfig>
13
Balanceamento Nativo
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.
14
Balanceamento Nativo
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.
15
Configurações Gerais
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.
Aliaspath
Defini 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” />
16
Configurações Gerais
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” />
17
Configurações Oracle
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.
18
Outras configurações
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
19
Principais Tabelas
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.
20
CONFIGURAÇÃO DO RM EM N CAMADAS
QUESTÕES ?
Acesse a nossa comunidade
R@ FRAMEWORK
21
21
Download

Configuração N Camadas - TDN