Académique Documents
Professionnel Documents
Culture Documents
Real-Time
Pablo Rafaelo Si - 29/11/2011
Sumrio
Sumrio ......................................................................................................................................................... 2
1.1
1.2
Parametrizao java/client.......................................................................................................... 16
2.1
2.2
2.3
Arquivos de log:........................................................................................................................... 20
2.3.1
2.3.2
2.3.3
O mdulo controle de acesso possui telas em progress e em Java, essa por sua vez se dividide em trs: client, server e server-ponto. No
diretrio fsico de programas do HCM eles so localizados em prghur/sap/java/, na qual, a pasta server se refere ao servio de
integrao com os dispositivos real-time, a pasta server-ponto se refere aos dispositivos da portaria 1510 (REP), por fim, os programas da
pasta client so as telas em Java do modulo Controle de Acesso, como: Cadastro de Visitantes, Monitor de Acesso, boto estrutura do
perfil e da planta, etc. Os programas em Java precisam ser parametrizados para serem inicializados com alguns parmetros pr-definido
pelo cliente e tambm com dados de conexo com a base de dados. A seguir veremos com mais detalhes essas parametrizaes.
1.1
Dentro da pasta server e server-ponto, caso no exista, deve ser criado o seguinte bat:
Arquivo: /server/_ui-config.bat
java -jar controleacesso-ui-2.5.2.jar com.datasul.hr.display.config.MainConfig
pause
Todas as configuraes de parmetros e de conexes com a base de dados do server so efetuadas nesse programa.
1.1.1
Abaixo segue o procedimento necessrio para a correta parametrizao das informaes de conexo com o banco de dados (ems2uni,
dthrtma, dthrpyc).
A URL indica o caminho exato do banco de dados, ou seja, IP do servidor que est rodando o banco, porta de conexo SQL e nome do
banco de dados. Atualmente temos homologado quatro tipos de banco de dados: Oracle 9 ou 10G com Progress 10x, Progress 10x e SQL
Server 2000. Para dispositivos telemtica temos tambm o banco da telemtica homologado para SQL Server 2000 ou 2003. Caso
tenhamos os trs bancos (TMA, PYC, UNI) separados, teremos que ter uma URL para cada um deles, porem se a base for unificada os
bancos unificados tero URL iguais. Abaixo os exemplos de URL para cada tipo de base de dados.
Totvs11:
No totvs 11 a URL do banco mguni dever conter os dados de acesso para o banco
que contiver a tabela empresa, normalmente o banco ems2cad. Tambem ter uma
aba para informar os dados de acesso ao banco fnd.
Cada verso de banco de dados ter uma verso de driver diferente, na tela de configurao do server, informaremos qual pacote de
driver vamos utilizar nessa conexo.
Para cada tipo de banco de dados homologado teremos um package (driver) diferente:
a) SQL Server: com.microsoft.jdbc.sqlserver.SQLServerDriver
b) Progress 10x: com.ddtek.jdbc.openedge.OpenEdgeDriver.
d) Oracle: oracle.jdbc.driver.OracleDriver
No server aps a configurao do driver, da url e usurio/senha, vamos parametrizar o campo Conexo (representa a faixa inicial e final
da quantidade de conexes de escrita para o broker SQL) e Uncommited (representa a faixa inicial e final da quantidade de conexes
de leitura para o broker SQL) com valores definidos conforme tabela abaixo:
Caso o resultado do valor das conexes mximas ou mnimas no seja um numero inteiro, o mesmo deve ser arredondado para cima.
Exemplo: Empresa X possui 7 Dispositivos e est configurando as conexes para o banco TMA, seguindo as regras de clculo chegou no
resultado mnimo de conexes de 4,2 (0,6 x 7).Nesse caso deve-se arredondar para cima esse valor, ou seja, de 4,2 para 5.
Abaixo segue exemplo de como adicionar esses valores da tabela no programa de parametrizao do server:
Caso o banco seja unificado deve-se informar os valores se fossem bancos separados.
Para saber o numero de conexes SQL que dever ser disponvel no script de carregamento do banco Progress no broker SQL de cada
banco (TMA, PYC, UNI), soma-se os campos mximo do item conexo mais a soma dos campos mximo do item Uncommited. No
nosso exemplo acima com 10 dispositivos ficaria assim:
Ou seja, caso o banco seja separado, teramos que disponibilizar 21 conexes para o broker SQL do banco TMA, 5 conexes para o broker
SQL do banco PYC e UNI. Caso os trs bancos fossem unificados teramos que multiplicar o numero total mximo de conexes do item
Conexo mais o numero total de conexes do item Uncommited e multiplicar por trs, ou seja, 31*3=93 conexes para o broker do
banco unificado. Ainda se apenas fossem unificados somente os bancos TMA e PYC, somaria o numero mximo de conexes do item
Conexo do banco TMA e o numero mximo de conexes do item Uncommited do banco TMA mais o numero mximo de conexes
do item Conexo do banco PYC com o numero mximo de conexo do item Uncommited do banco PYC. Aps isso, multiplicasse esse
valor por dois. Seguindo nosso exemplo ficaria assim 21+5=26*2=52. Ou seja, para o banco unificado dever ser disponibilizadas 52
conexes SQL, j para o banco UNI, apenas 5.
Ainda deve-se somar nesse valor final de conexes disponveis no broker SQL 1 conexo para cada Cadastro de Visitantes e 1 conexo
para cada Monitor de Acesso. Seguindo as mesmas regras das bases unificadas, ou seja, se os trs bancos forem unificados, sero 3
conexes a mais para cada Cadastro de Visitantes e Monitor de Acesso. Se somente o banco UNI no estiver unificado sero 2 conexes a
mais nos broker dos bancos TMA e PYC e 1 no banco UNI para cada Cadastro de Visitantes e Monitor de Acesso acesso.
Caso possua outros mdulos que tambm utilizam o broker SQL dos bancos, deve-se somar as conexes j existentes as conexes
reservadas para o acesso. Exemplo: Empresa X antes de implantar o modulo Controle de Acesso, possua o mdulo Monitor de
Desempenho Web. Nesse exemplo digamos que o MDW utiliza 10 conexes, com a implantao do Controle de Acesso na empresa, a
mesma dever aumentar o numero de conexes SQL respeitando a regra do calculo acima e somando ao numero de conexes j
existentes.
Caso o banco de dados no consiga receber esse numero simultneo de conexes SQL recomendado no calculo acima, o sistema do
Controle de Acesso poder ter instabilidades.
Config. Do mdulo MSA com disp. Real-Time
Verso 1.0
Java\server-ponto:
A pasta server e server-ponto possuem as mesmas configuraes, caso o cliente
possua as duas pastas, para saber o numero total de conexes SQL que o banco de
dados Progress dever suportar, deve-se somar o numero de conxes necessria
para as duas pastas.
1.1.2
Para configurar o servio do ponto eletrnico (prghur/sap/integracodin.r) para ser gerenciado via servio Datasul Controle Acesso
<fabricante>, devemos abrir o programa de parametrizao do server e selecionar a aba servio ponto, conforme imagem abaixo:
Caso a base fosse unificada, teramos um script de alias, e no lugar do parmetro p teramos que apontar para esse script de alias.
Porem dentro do script teria que efetuar a chama do programa de integrao com o ponto eletrnico da seguinte forma:
run prghur\sap\integraCodin.r.
Caso o parametro p seja apontado dentro do arquivo .pf, teramos que criar outro .pf para que esse seja exclusivo do acesso e apontar
para nosso programa de integrao. Exemplo: -p prghur\sap\integraCodin.r.
Lembrando que no so aceitos caminhos mapeados, apenas caminhos de rede (UNC).
1.1.3
Parametrizao do .../conf/devices.xml
Aps cadastrar o dispositivo no modulo Controle de Acesso o mesmo deve ser relacionado a um arquivo chamado devices.xml. Esse
arquivo devices.xml dever ser criado dentro do diretrio da pasta .../prghur/sap/java/server/conf caso seja um dispositivo de acesso
(real-time) ou .../prghur/sap/java/server-ponto/conf caso seja um relgio de ponto (REP).
Abaixo segue instrues do contedo desse arquivo para cada fabricante (Dimep, Telemtica, Topdata, Henry 7x).
11
12
TempoDisplayMessage
acionamentoPorta
EntradasHabilitadasOffline
Descrio
Nmero do dispositivo;
Porta do dispositivo, a porta no Topdata definida sendo a
porta padro + (NumeroDispositivo -1). Ex.: 3570 + (5 1)
= 3574; Caso seja especificada uma porta manualmente,
desconsidere a regra acima, e informe essa porta
configurada.
Tempo que a mensagem de liberao ou bloqueio do
dispositivo ficar aparecendo;
Usado para informar em qual acionamento esta localizada
a porta;
Informar quais entradas esto disponveis em modo
offline, podendo ser:
0 - no aceita entrada de dados
1- Aceita Teclado
2- Aceita Leitor 1
3- Aceita Leitor 2
4- Teclado e Leitor 1
5- Teclado e Leitor 2
6- Leitor 1 e Leitor 2
7- Teclado, Leitor 1 e Leitor 2
8- Sensor da Catraca
MensagemOffline
MensagemOnline
Acionamento1
Acionamento2
OperacaoLeitor1
Idem Acionamento 1;
Informar como o leitor 1 ir funcionar:
0- Desativado
1- Somente para entrada
2- Somente para sada
3- Entrada e sada
4- Sada e entrada
OperacaoLeitor2
TempoAcionamento1
TempoAcionamento2
HabilitaFormasEntrada
Idem OperacaoLeitor1
Tempo que o acionamento 1 ficar acionado;
Tempo que o acionamento 2 ficar acionado;
Formas de entrada em modo online:
1- Aceita Teclado
2- Aceita Leitor 1
3- Aceita Leitor 2
4- Teclado e Leitor 1
Config. Do mdulo MSA com disp. Real-Time
Verso 1.0
13
Os dispositivos Dimep possuem protocolos diferentes para seus modelos (Dimep biomtrico e Dimep Micropoint ), por esse motivo
teremos arquivos devices.xml diferentes para cada um deles, porem o conceito de cadastro de ambos o mesmo.
A estrutura padro do devices da Dimep Micropoint segue os mesmo parmetros de insero dos demais fabricantes, ou seja, para cada
dispositivo adicionado dever adicionar a tag <device> dentro da tag <devices>, com seus respectivos parmetros. A tag <deviceNumber>
indica o numero do ID do dispositivo cadastrado no SA0620 no campo identificao.
<?xml version="1.0" encoding="UTF-8"?>
<superServer>
<configuration>
<commandFactoryClass>com.datasul.hr.controleAcesso.db.comando.HibernateCommandFactory</commandFactoryClass>
<businessDAOClass>com.datasul.hr.controleAcesso.db.HibernateBusinessDAO</businessDAOClass>
</configuration>
<deviceType name="dimep">
<listenerSenderServer>
<devices>
<device>
<deviceNumber>3</deviceNumber>
<devicePort>3000</devicePort>
</device>
<device>
<deviceNumber>4</deviceNumber>
<devicePort>3000</devicePort>
</device>
</devices>
<serverClass>com.datasul.hr.controleAcesso.server.ListenerSenderServer</serverClass>
<deviceClass>com.datasul.hr.controleAcesso.server.dimep.DimepDevice</deviceClass>
<deviceParserClass>com.datasul.hr.controleAcesso.server.dimep.device.DimepDeviceParser</deviceParserClass>
14
A estrutura padro do devices da Dimep Biopoint segue os mesmo parmetros de insero dos demais fabricantes, ou seja, para cada
dispositivo adicionado dever adicionar a tag <device> dentro da tag <devices>, com seus respectivos parmetros. A tag <deviceNumber>
indica o numero do ID do dispositivo cadastrado no SA0620 no campo identificao.
<?xml version="1.0" encoding="UTF-8"?>
<superServer>
<configuration>
<commandFactoryClass>com.datasul.hr.controleAcesso.db.comando.HibernateCommandFactory</commandFactoryClass>
<businessDAOClass>com.datasul.hr.controleAcesso.db.HibernateBusinessDAO</businessDAOClass>
</configuration>
<deviceType name="biopoint">
<listenerSenderServer>
<devices>
<device>
<deviceNumber>10</deviceNumber>
<devicePort>3000</devicePort>
</device>
<device>
<deviceNumber>11</deviceNumber>
<devicePort>3000</devicePort>
</device>
</devices>
<serverClass>com.datasul.hr.controleAcesso.server.ListenerSenderServer</serverClass>
<deviceClass>com.datasul.hr.controleAcesso.server.dimep.device.BioPointDevice</deviceClass>
<deviceParserClass>com.datasul.hr.controleAcesso.server.dimep.device.BioPointDeviceParser</deviceParserClass>
<listenerSenderClass>com.datasul.hr.controleAcesso.server.dimep.listener.BioPointListenerSender</listenerSenderClass>
<commandControlRMIClass>com.datasul.hr.controleAcesso.server.command.remoto.CommandControlRMIBio</commandControlRMICl
ass>
<digitoVerificador>false</digitoVerificador>
</listenerSenderServer>
</deviceType>
</superServer>
15
1.2
Parametrizao java/client
A tela de parametrizao do client idntica a tela de parametrizao do Java servidor. Deveremos colocar nessa tela as mesmas
informaes de conexo com banco de dados informadas no server . A nica alterao que dever ser feita no parmetro de conexes
do broker SQL Conexes e Uncommited que devero ser configurados todos como 1 para todos os trs bancos (TMA, PYC, UNI),
conforme imagem abaixo:
16
O programa que efetua a comunicao com os dispositivos e com o banco de dados do Datasul precisa ser configurado para funcionar em
servio, dessa forma o mesmo ser gerenciado pelo sistema operacional. Esse servio deve ser criado com o seguinte nome: Datasul
Controle Acesso - <nome_fabricante>. Exemplo: Datasul Controle Acesso - Dimep, Datasul Controle Acesso - Henry, Datasul
Controle Acesso - TopData, Datasul Controle Acesso - Telematica, etc. Se fosse um servio referente a um dispositivo REP, ento ficaria
assim: Datasul Controle Acesso REP <nome_fabricante>.
2.1
Para o funcionamento dos programas em Java do Controle de Acesso faz necessrio criao e alterao de algumas variveis de ambiente
no servidor. Na insero do valor dessas variveis no se deve inserir caminhos mapeado, e sim seu caminho de rede UNC:
2.1.1
Varivel responsvel por determinar o diretrio de instalao do Java. Disponvel para download em: http://java.sun.com. Lembrando
que a verso do Java homologada a verso 1.5.x ou superior. Para verificar se seu computador j possui o Java instalado, execute o
comando Java -version no MS-DOS:
Caso retorne uma verso inferior a 1.5.x, atualize para a verso atual. Caso retorne uma acima ou igual a 1.5.x, procure o diretrio de
instalao do Java, que, normalmente se localiza em C:\Program Files\Java\jre1.x.x_xx.
Localizado o diretrio de instalao do Java, basta criar a varivel de ambiente em variveis do sistema, conforme imagem abaixo:
17
2.1.2
Varivel responsvel por determinar o diretrio de instalao dos programas em Java do Server do Controle de Acesso. Esse diretrio fica
dentro dos programas do produto HCM na pasta ...\...\java-server.
Localizado o diretrio de instalao do java-server, basta criar a varivel de ambiente em variveis do sistema, conforme imagem abaixo:
2.2
Aps criao e alterao das variveis no servidor, deveremos criar o servio de comunicao com os dispositivos Datasul Controle
Acesso Servidor. Para isso ser criado o arquivo JavaServicesInstall.bat dentro do diretrio %ACESSO_SERVER_HOME%\bin. Abaixo
segue o contedo do arquivo:
%ACESSO_SERVER_HOME%\bin\JavaService.exe -install "Datasul Controle Acesso <nome_fabricante>"
"%JAVA_HOME%\bin\client\jvm.dll" -Djava.class.path="%ACESSO_SERVER_HOME%\controleacesso-int-NOME_FABRICANTEVERSAO.jar" -Xms64M Xmx512M -start com.datasul.hr.controleAcesso.superServer.SuperServer -stop
com.datasul.hr.controleAcesso.superServer.SuperServer -method systemExit -out "%ACESSO_SERVER_HOME%\log\out.log" -err
"%ACESSO_SERVER_HOME%\log\err.log" -current "%ACESSO_SERVER_HOME%" -auto -overwrite -startup 6
Onde est escrito %JAVA_HOME%\bin\client\jvm.dll, verificar se esse diretrio existe, dependendo da instalao do Java, pode-se ter
ao invs da pasta client a pasta server. Se esse for o caso adicionar o caminho onde encontra-se a DLL jvm.dll.
Onde est escrito controleacesso-int-MARCA_DISPOSITIVO-VERSAO.jar verificar dentro da pasta %ACESSO_SERVER_HOME% a
existncia desse arquivo e alterar esse valor para o correspondente ao arquivo (dever ser usado o arquivo que tenha o nome do
fabricante dos dispositivos instalados). Exemplo:
18
e. Clique na aba Recuperao, e altere os parmetros em destaque para Reiniciar o servio e clique no boto Ok, conforme
figura abaixo:
19
2.3
Arquivos de log:
O servio criado acima Datasul Controle Acesso <nome_fabricante> responsvel pelo gerenciamento de dois programas em
execuo no sistema operacional:
a. ...\prghur\sap\integraCodin.p
b. ...\prghur\sap\java\server\controleacesso-int-marcadispositivo-x.x.x.jar
O programa integraCodin responsvel pela importao das marcaes de acesso que esto no banco dthrtma na tabela
marcac_control_aces para importao de marcaes de ponto no modulo de Controle de Freqncia - caso o dispositivo seja do tipo
marcao de freqncia. Esse programa gera um log (logCodin.txt) dentro da pasta temporria do Progress definido pelo parametro T.
O programa controleacesso-int-marcadispositivo-x.x.x.jar responsvel pela comunicao e interpretao da linguagem dos dispositivos,
esse servio quem ir gravar as marcaes efetuadas nos dispositivos para a base de dados do Datasul. Esse programa gera um log
(Server_log.txt) no diretrio %ACESSO_SERVER_HOME%\log, ou em outro pr-definido pelo cliente e tambm gera um log no diretrio
temporrio do Progress chamado logSocket.txt. Esse ultimo log somente ser criado caso o cliente possua integrao com dispositivos da
marca Telemtica.
2.3.1
O arquivo "server_log.txt" trata-se de um arquivo de texto no qual so apresentadas as aes realizadas no servio da integrao quanto
a sua comunicao, gerao de permisses, validaes de entradas, movimentaes dos funcionrios, visitantes, autnomos e
prestadores de servios.
Normalmente este arquivo gerado na estrutura de diretrios .prghur/sap/java/server/log", caso ocorra algum problema imprevisto no
sistema, o arquivo de log "server_log" pode auxiliar na soluo do problema.
O tamanho dos arquivos gerados est relacionado diretamente verso da Integrao Datasul, a marca do dispositivo instalado e o fluxo
de movimentao dos usurios. Por definio, gerado um arquivo para cada dia ( partir da data que o mdulo instalado) onde se faz
necessrio a manuteno peridica do diretrio em que os logs esto armazenados para no exceder a capacidade em disco (pois estes
arquivos nunca so eliminados do sistema).
Pensando no problema de armazenagem destes logs, h uma alternativa de restringir o tamanho dos arquivos, dentro da pasta raiz da
integrao com os dispositivos .../.../Java/server/, existe um arquivo onde efetuamos essa configurao, segue abaixo os parmetros
que devem ser modificado no arquivo "/conf/log4j.propert
#Log em um .TXT
log4j.rootLogger = INFO, consoleOut, fileOut
log4j.appender.fileOut = org.apache.log4j.RollingFileAppender
##### TAMANHO DE CADA ARQUIVO DO LOG #####
log4j.appender.fileOut.MaxFileSize = 150MB
log4j.appender.fileOut.MaxBackupIndex = 10
##### ESTRUTURA DE DIRETRIOS ONDE O ARQUIVO GERADO #####
log4j.appender.fileOut.file = log/server_log.txt
log4j.appender.fileOut.layout = org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern = [ %d ] [ %r ] %C %-5p %-5c{3} %x -> %m%n
20
2.3.2
O arquivo "logCodin.txt", trata-se de um arquivo de log gerado pelo programa "...\prghur\sap\integraCodin.r" (programa de importao
automtica das marcaes do Controle de Acesso para o Ponto Eletrnico e gerao das permisses de acesso para os usurios do
mdulo que possuem um perfil associado) no qual executado pelo servio "Datasul Controle Acesso Servidor".
O arquivo logCodin,txt gerado no diretrio temporrio do Progress (-T) e caso ocorra algum problema na gerao automtica das
permisses ou na importao das marcaes, uma anlise efetuada neste arquivo pode auxiliar na soluo do problema.
2.3.3
Assim como a integrao com os dispositivos que gera seu log server_log.txt dentro da pasta ...\prghur\sap\Java\server\log ou
...\prghur\sap\java\server-ponto\log, os aplicativos em Java do Controle de Acesso, como o Cadastro de Visitantes e Monitor de
Acesso, geram um log de execuo tambm chamado de server_log e o mesmo criado por default na pasta
...\prghur\sap\java\client\log. Para alterar o caminho aonde o log ser gerado, consulte o item 2.3.1.
21