Config. do módulo MSA com disp. Real-Time Pablo Rafaelo Si - 29/11/2011 Config. do MSA com disp. Real-Time Sumário Sumário ......................................................................................................................................................... 2 1 Parametrização java/server java/server-ponto e java/client ..................................................... 3 1.1 Parametrização java/server e java/server-ponto ....................................................................... 3 1.1.1 1.1.2 1.1.3 1.2 Parametrização java/client.......................................................................................................... 16 2 Criação do serviço do controle de acesso ................................................................................... 17 2.1 Configuração das variáveis de ambiente .................................................................................... 17 2.1.1 2.1.2 Criação da variável Java_home: ..................................................................................................................... 17 Criação da variável Acesso_Server_Home: ..................................................................................................... 18 2.2 Criação do arquivo bat e instalação do serviço:.......................................................................... 18 2.3 Arquivos de log:........................................................................................................................... 20 2.3.1 2.3.2 2.3.3 2 Parametrizando a conexão com a base de dados ........................................................................................... 3 Parametrização do serviço do ponto no server ............................................................................................... 8 Parametrização do .../conf/devices.xml ......................................................................................................... 9 Parametrização log integração dispositivos: .................................................................................................. 20 Parametrização log integração ponto eletrônico: .......................................................................................... 21 Parametrização log Java client: ...................................................................................................................... 21 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. 1 Parametrização java/server java/server-ponto e java/client O módulo controle de acesso possui telas em progress e em Java, essa por sua vez se dividide em três: client, server e server-ponto. No diretório físico de programas do HCM eles são localizados em “prghur/sap/java/”, na qual, a pasta “server” se refere ao serviço de integração com os dispositivos real-time, a pasta server-ponto se refere aos dispositivos da portaria 1510 (REP), por fim, os programas da pasta client são as telas em Java do modulo Controle de Acesso, como: Cadastro de Visitantes, Monitor de Acesso, botão estrutura do perfil e da planta, etc. Os programas em Java precisam ser parametrizados para serem inicializados com alguns parâmetros pré-definido pelo cliente e também com dados de conexão com a base de dados. A seguir veremos com mais detalhes essas parametrizações. 1.1 Parametrização java/server e java/server-ponto Dentro da pasta server e server-ponto, caso não 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 configurações de parâmetros e de conexões com a base de dados do server são efetuadas nesse programa. 1.1.1 Parametrizando a conexão com a base de dados Abaixo segue o procedimento necessário para a correta parametrização das informações de conexão com o banco de dados (ems2uni, dthrtma, dthrpyc). 1.1.1.1 Inserção e parametrização da URL A URL indica o caminho exato do banco de dados, ou seja, IP do servidor que está rodando o banco, porta de conexão 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 telemática temos também o banco da telemática homologado para SQL Server 2000 ou 2003. Caso tenhamos os três bancos (TMA, PYC, UNI) separados, teremos que ter uma URL para cada um deles, porem se a base for unificada os bancos unificados terão URL iguais. Abaixo os exemplos de URL para cada tipo de base de dados. Config. Do módulo MSA com disp. Real-Time Versão 1.0 3 Config. do MSA com disp. Real-Time URL SQL SERVER 2000 ou 2003: jdbc:jtds:sqlserver:// servidor_bd:1433 Onde está escrito servidor_bd alterar para o nome do servidor do banco de dados, 1433 é o numero da porta SQL para conexão no banco. URL ORACLE 9 OU 10G: jdbc:oracle:thin:@servidor_bd:1521:lhoracle Onde está escrito servidor_bd alterar para o nome do servidor do banco de dados, 1521 é o numero da porta SQL para conexão no banco e lhoracle é o nome lógico do banco. O usuário de conexão no banco deverá ter acesso de administrador. Segue abaixo imagem de exemplo. URL PROGRESS 10X jdbc:datadirect:openedge://servidor_db:20028;databaseName=hr210;defaultSchema=pub Onde está escrito servidor_db alterar para o nome do servidor do banco de dados, 20028 é a porta do broker SQL, hr210 é o nome físico do banco. O usuário de conexão com o banco deverá ser o sysprogress ou um com os mesmos níveis de permissões. 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. 1.1.1.2 Inserção e parametrização do driver Cada versão de banco de dados terá uma versão de driver diferente, na tela de configuração do server, informaremos qual pacote de driver vamos utilizar nessa conexão. 4 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. 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 1.1.1.3 Parametrização das conexões do broker SQL Parametrização necessária apenas para bancos Progress. No server após a configuração do driver, da url e usuário/senha, vamos parametrizar o campo “Conexão” (representa a faixa inicial e final da quantidade de conexões de escrita para o broker SQL) e “Uncommited” (representa a faixa inicial e final da quantidade de conexões de leitura para o broker SQL) com valores definidos conforme tabela abaixo: Config. Do módulo MSA com disp. Real-Time Versão 1.0 5 Config. do MSA com disp. Real-Time Exemplo: Se tivermos 10 dispositivos instalados, teremos que ter no item “Conexão” para cada banco (TMA, PYC, UNI): em mínimo usando como base a regra para o banco TMA, deveremos pegar o numero de dispositivos e multiplicar por 60%, ou seja, 10 dispositivos multiplicado á 0,60 igual á 6 conexões mínimas. Para as conexões máximas deveremos seguir o mesmo procedimento, porem com a porcentagem de 80%: 10 dispositivos multiplicado á 0,80 igual á 8 conexões máximas. Para o campo “Uncommited” faremos a mesma coisa de acordo com a regra que segue na tabela acima, e assim iremos ter os valores de conexões para cada banco. Abaixo segue um exemplo de conexões para 10 dispositivos: Caso o resultado do valor das conexões máximas ou mínimas não seja um numero inteiro, o mesmo deve ser arredondado para cima. Exemplo: Empresa X possui 7 Dispositivos e está configurando as conexões para o banco TMA, seguindo as regras de cálculo chegou no resultado mínimo de conexões 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 parametrização do server: 6 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. Caso o banco seja unificado deve-se informar os valores se fossem bancos separados. 1.1.1.4 Numero de conexões SQL por dispositivo Para saber o numero de conexões SQL que deverá ser disponível no script de carregamento do banco Progress no broker SQL de cada banco (TMA, PYC, UNI), soma-se os campos máximo do item “conexão” mais a soma dos campos máximo do item “Uncommited”. No nosso exemplo acima com 10 dispositivos ficaria assim: Ou seja, caso o banco seja separado, teríamos que disponibilizar 21 conexões para o broker SQL do banco TMA, 5 conexões para o broker SQL do banco PYC e UNI. Caso os três bancos fossem unificados teríamos que multiplicar o numero total máximo de conexões do item “Conexão” mais o numero total de conexões do item “Uncommited” e multiplicar por três, ou seja, 31*3=93 conexões para o broker do banco unificado. Ainda se apenas fossem unificados somente os bancos TMA e PYC, somaria o numero máximo de conexões do item “Conexão” do banco TMA e o numero máximo de conexões do item “Uncommited” do banco TMA mais o numero máximo de conexões do item “Conexão” do banco PYC com o numero máximo de conexão do item “Uncommited” do banco PYC. Após 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 conexões SQL, já para o banco UNI, apenas 5. Ainda deve-se somar nesse valor final de conexões disponíveis no broker SQL 1 conexão para cada Cadastro de Visitantes e 1 conexão para cada Monitor de Acesso. Seguindo as mesmas regras das bases unificadas, ou seja, se os três bancos forem unificados, serão 3 conexões a mais para cada Cadastro de Visitantes e Monitor de Acesso. Se somente o banco UNI não estiver unificado serão 2 conexões 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 módulos que também utilizam o broker SQL dos bancos, deve-se somar as conexões já existentes as conexões reservadas para o acesso. Exemplo: Empresa X antes de implantar o modulo Controle de Acesso, possuía o módulo Monitor de Desempenho Web. Nesse exemplo digamos que o MDW utiliza 10 conexões, com a implantação do Controle de Acesso na empresa, a mesma deverá aumentar o numero de conexões SQL respeitando a regra do calculo acima e somando ao numero de conexões já existentes. Caso o banco de dados não consiga receber esse numero simultâneo de conexões SQL recomendado no calculo acima, o sistema do Controle de Acesso poderá ter instabilidades. Config. Do módulo MSA com disp. Real-Time Versão 1.0 7 Config. do MSA com disp. Real-Time Java\server-ponto: A pasta server e server-ponto possuem as mesmas configurações, caso o cliente possua as duas pastas, para saber o numero total de conexões SQL que o banco de dados Progress deverá suportar, deve-se somar o numero de conxões necessária para as duas pastas. 1.1.2 Parametrização do serviço do ponto no server Para configurar o serviço do ponto eletrônico (prghur/sap/integracodin.r) para ser gerenciado via serviço “Datasul Controle Acesso – <fabricante>”, devemos abrir o programa de parametrização do server e selecionar a aba “serviço ponto”, conforme imagem abaixo: O campo “utiliza serviço do ponto através da integração?”, deve está marcado. No campo “comando”, deve se inserir a linha de comando para a correta execução do programa de integração do ponto eletrônico. Abaixo segue o valor desse campo e o que significa cada parâmetro: C:\caminho_instalacao_progress\bin\prowin32.exe -pf C:\ caminho_programas_progress \pf.pf -basekey ini -ininame C:\ caminho_programas_progress\ini.ini -cpstream ibm850 -p c:\caminho_programas_progress\prghur\sap\integraCodin.r -T “\\servidor_de_programas\prghur\sap\java\server\log” -b Onde está escrito caminho_instalação_progress alterar para pasta raiz da instalação do Progress no servidor do Controle de Acesso. Normalmente em c:\dlcXXx. Onde está escrito caminho_programas_progress, alterar para a pasta raiz dos programas do Datasul HCM. Normalmente em “...\datasul\hcm210”. Vale ressaltar que alguns clientes utilizam um diretório diferente, para esses clientes os mesmos deverão colocar o caminho da pasta onde encontramos os arquivos .ini e .pf do atalho de inicialização do HCM. Abaixo segue um exemplo. C:\dlc101a\bin\prowin32.exe -pf \\moles\datasul\hcm210\scripts\hcm210.pf -basekey ini -ininame \\moles\datasul\hcm210\scripts\hcm210.ini -cpstream ibm850 -p \\moles\datasul\hcm210\prghur\sap\integraCodin.r -T \\moles\datasul\hcm210\prghur\sap\java\server\log \-b 8 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. Caso a base fosse unificada, teríamos um script de alias, e no lugar do parâmetro –p teríamos que apontar para esse script de alias. Porem dentro do script teria que efetuar a chama do programa de integração com o ponto eletrônico da seguinte forma: run prghur\sap\integraCodin.r. Caso o parametro –p seja apontado dentro do arquivo .pf, teríamos que criar outro .pf para que esse seja exclusivo do acesso e apontar para nosso programa de integração. Exemplo: -p prghur\sap\integraCodin.r. Lembrando que não são aceitos caminhos mapeados, apenas caminhos de rede (UNC). 1.1.3 Parametrização do .../conf/devices.xml Após 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 diretório 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 relógio de ponto (REP). Abaixo segue instruções do conteúdo desse arquivo para cada fabricante (Dimep, Telemática, Topdata, Henry 7x). 1.1.3.1 Dispositivos Telematica <?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="telematica"> <listenerSenderServer> <devices> <device> <deviceNumber>1</deviceNumber> <startListenerSender>true</startListenerSender> <devicePort>0</devicePort> </device> <device> <deviceNumber>2</deviceNumber> <startListenerSender>false</startListenerSender> <devicePort>0</devicePort> </device> </devices> <serverClass>com.datasul.hr.controleAcesso.server.telematica.server.TelematicaServer</serverClass> <deviceClass>com.datasul.hr.controleAcesso.server.telematica.device.TelematicaDevice</deviceClass> <deviceParserClass>com.datasul.hr.controleAcesso.server.telematica.device.TelematicaParser</deviceParserClass> <listenerSenderClass>com.datasul.hr.controleAcesso.server.telematica.listener.TelematicaListenerSender</listenerSenderClass> <commandRMIClass>com.datasul.hr.controleAcesso.server.command.remoto.CommandControlRMITelematica</commandRMIClass> <digitoVerificador>false</digitoVerificador> </listenerSenderServer> Config. Do módulo MSA com disp. Real-Time Versão 1.0 9 Config. do MSA com disp. Real-Time </deviceType> </superServer> A cada novo dispositivo teremos que inserir uma nova tag <device></device> dentro da tag <devices></devices>. Na tag <deviceNumber> deveremos informar o numero do ID do dispositivo cadastrado no campo “identificação” do SA0620. Exemplo: Empresa precisa inserir no arquivo devices.xml 4 dispositivos. O dispositivo ID 4, dispositivo ID 5, dispositivo ID 10, e dispositivo ID 12. Basta então adicionar dentro da tag <devices> a tag <device> com seus parâmetros. Sempre o primeiro dispositivo cadastrado terá que ter como valor na sua tag <startListenerSender> true, as demais serão false. <devices> <device> <deviceNumber>4</deviceNumber> <startListenerSender>true</startListenerSender> <devicePort>0</devicePort> </device> <device> <deviceNumber>5</deviceNumber> <startListenerSender>false</startListenerSender> <devicePort>0</devicePort> </device> <device> <deviceNumber>10</deviceNumber> <startListenerSender>false</startListenerSender> <devicePort>0</devicePort> </device> <device> <deviceNumber>12</deviceNumber> <startListenerSender>false</startListenerSender> <devicePort>0</devicePort> </device> </devices> 1.1.3.2 Dispositivos Henry <?xml version="1.0" encoding="UTF-8"?> <superServer> <configuration> <commandFactoryClass>com.datasul.hr.controleAcesso.db.comando.HibernateCommandFactory</commandFa ctoryClass> <businessDAOClass>com.datasul.hr.controleAcesso.db.HibernateBusinessDAO</businessDAOClass> </configuration> <deviceType name="henry5"> <listenerSenderServer> 10 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. <devices> <device> <deviceNumber>1</deviceNumber> <devicePort>3000</devicePort> <configuration> <timeShowMessage>2</timeShowMessage> </configuration> </device> </devices> <serverClass>com.datasul.hr.controleAcesso.server.ListenerSenderServer</serverClass> <deviceClass>com.datasul.hr.controleAcesso.server.henry.protocolo7x.HenryProtocolo7xDevice</deviceClass> Os novos dispositivos devem ser inseridos dentro da tag <devices>, para cada dispositivo deverá ser inserido um <device> com seus respectivos parâmetros, onde a tag <deviceNumber> equivale ao ID do dispositivo cadastrado no SA0620 no campo “identificação”. 1.1.3.3 Dispositivos TopData A estrutura padrão do devices da TopData é um pouco mais complexa, porem segue os mesmo parâmetros de inserção dos demais fabricantes, ou seja, para cada dispositivo adicionado deverá adicionar a tag <device> dentro da tag <devices>. <?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="topdata"> <listenerSenderServer> <devices> <device> <deviceNumber>1</deviceNumber> <devicePort>3570</devicePort> <configuration> <TempoDisplayMessage>1</TempoDisplayMessage> <!-Configurao Datasul --> <acionamentoPorta>1</acionamentoPorta> <!-Mudana Automatica (offline) - Comando: 114 --> <ConfiguraMudancaAutomatica>1</ConfiguraMudancaAutomatica> <EntradasHabilitadasOffline>6</EntradasHabilitadasOffline> <EntradasHabilitadasOnline>1</EntradasHabilitadasOnline> <MensagemOffline> Offline </MensagemOffline> <PosicaoDisplay>1</PosicaoDisplay> <TempoEsperaOffline>10</TempoEsperaOffline> <TempoEsperaOnline>5</TempoEsperaOnline> <!-Config. Do módulo MSA com disp. Real-Time Versão 1.0 11 Config. do MSA com disp. Real-Time Mensagens (online) - Comando: 104 --> <MensagemOnline> Passe o Cartao </MensagemOnline> <!-Configurao (offline ou/e online) - Comando: 100 --> <Acionamento1>1</Acionamento1> <Acionamento2>1</Acionamento2> <BioVeridPermiteCadastramento>0</BioVeridPermiteCadastramento> <CartaoMasterLiberaAcesso>1</CartaoMasterLiberaAcesso> <CodigoEmpresaMais>0</CodigoEmpresaMais> <CodigoEmpresaMenos>0</CodigoEmpresaMenos> <DadosOnlineComDataHora>0</DadosOnlineComDataHora> <DesabilitaBipQuandoForcadaPassagemCatraca>0</DesabilitaBipQuandoForcadaPassagemCatraca> <DesabilitaBloqueioAutomaticoCatracaTipoMicroSwitch>0</DesabilitaBloqueioAutomaticoCatracaTipoMicroSwitch> <EventosSensor>0;0;0</EventosSensor> <Extra1>0</Extra1> <Extra2>0;0;0;0;0</Extra2> <FuncaoDefaultParaLeitoresProximidade>0</FuncaoDefaultParaLeitoresProximidade> <LogicaRele>0</LogicaRele> <ModoOperacao>1</ModoOperacao> <NivelControleAcesso>0</NivelControleAcesso> <NumeroCartaoMasterParaCartoesTipoPLProx>000000000000</NumeroCartaoMasterParaCartoesTipoPLProx> <NumeroDigitosVariaveisAceitos>0;0</NumeroDigitosVariaveisAceitos> <OperacaoLeitor1>1</OperacaoLeitor1> <OperacaoLeitor2>2</OperacaoLeitor2> <PictogramasCatracaMillennium>0</PictogramasCatracaMillennium> <PossibilitarEntradaViaTeclado>1</PossibilitarEntradaViaTeclado> <RegistraTentativasAcessoNegadas>1</RegistraTentativasAcessoNegadas> <Reservados>0;0</Reservados> <Revista>0</Revista> <SinalizarCapacidadeFila>0</SinalizarCapacidadeFila> <TecladoEcoaAsteriscos>0</TecladoEcoaAsteriscos> <TempoAcionamento1>5</TempoAcionamento1> <TempoAcionamento2>5</TempoAcionamento2> <TempoParaEventosSensor>0;0;0</TempoParaEventosSensor> <TipoLeitor>0</TipoLeitor> <TipoListaControleAcesso>0</TipoListaControleAcesso> <UtilizarSenhaControleAcesso>0</UtilizarSenhaControleAcesso>--> <!-Dados de Entrada (online) - Comando: 107 --> <EchoTeclado>1</EchoTeclado> <HabilitaFormasEntrada>6</HabilitaFormasEntrada> <NumeroDigitos>14</NumeroDigitos> <PosicaoCursorEntradaTeclado>17</PosicaoCursorEntradaTeclado> <TempoMaximoEntradaTeclado>10</TempoMaximoEntradaTeclado> </configuration> </device> </devices> <serverClass>com.datasul.hr.controleAcesso.server.ListenerSenderServer</serverClass> <deviceClass>com.datasul.hr.controleAcesso.server.topdata.device.R1Device</deviceClass> <deviceParserClass>com.datasul.hr.controleAcesso.server.topdata.device.R1DeviceParser</deviceParserClass> <listenerSenderClass>com.datasul.hr.controleAcesso.server.topdata.listener.TopDataListenerSender</listenerSenderClass> <digitoVerificador>false</digitoVerificador> </listenerSenderServer> </deviceType> 12 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. </superServer> Os principais pontos de atenção quando estiver configurando um dispositivo são: Propriedade deviceNumber devicePort TempoDisplayMessage acionamentoPorta EntradasHabilitadasOffline Descrição Número do dispositivo; Porta do dispositivo, a porta no Topdata é definida sendo a porta padrão + (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 liberação ou bloqueio do dispositivo ficará aparecendo; Usado para informar em qual acionamento esta localizada a porta; Informar quais entradas estão disponíveis em modo offline, podendo ser: 0 - não 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 Mensagem fixa a ser exibida quando offline; Mensagem fixa a ser exibida quando online; Usado para informar o que está conectado ao acionamento 1, podendo ser: 0- Não utilizado 1- Catraca para entrada e saída (urna, porta) 2- Catraca para entrada 3- Catraca para saída 4- Sirene 5- Revista 6- Catraca para entrada com saída liberada 7- Catraca para saída com entrada liberada 8- Catraca liberada em ambos sentidos Acionamento2 OperacaoLeitor1 Idem Acionamento 1; Informar como o leitor 1 irá funcionar: 0- Desativado 1- Somente para entrada 2- Somente para saída 3- Entrada e saída 4- Saída 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 módulo MSA com disp. Real-Time Versão 1.0 13 Config. do MSA com disp. Real-Time 5- Teclado e Leitor 2 6- Leitor 1 e Leitor 2 7- Teclado, Leitor 1 e Leitor 2 8- sensor da catraca micro-switch 9- sensor de giro da catraca (óptico) 10- teclado com verificação biométrica 11- leitor 1 com verificação biométrica 12- teclado e leitor 1 com verificação biométrica 13- leitor 1 com verificação biométrica e leitor 2 sem verificação biométrica 14- leitor 1 com verificação biométrica, leitor 2 sem verificação biométrica e teclado sem verificação biométrica. 1.1.3.4 Dispositivos Dimep Os dispositivos Dimep possuem protocolos diferentes para seus modelos (Dimep biométrico e Dimep Micropoint ), por esse motivo teremos arquivos devices.xml diferentes para cada um deles, porem o conceito de cadastro de ambos é o mesmo. 1.1.3.4.1 Dimep Micropoint A estrutura padrão do devices da Dimep Micropoint segue os mesmo parâmetros de inserção dos demais fabricantes, ou seja, para cada dispositivo adicionado deverá adicionar a tag <device> dentro da tag <devices>, com seus respectivos parâmetros. A tag <deviceNumber> indica o numero do ID do dispositivo cadastrado no SA0620 no campo “identificação”. <?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 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. <listenerSenderClass>com.datasul.hr.controleAcesso.server.dimep.listener.DimepListenerSender</listenerSenderClass> <commandControlRMIClass>com.datasul.hr.controleAcesso.server.command.remoto.CommandControlRMIMicro</commandControlRMI Class> <digitoVerificador>false</digitoVerificador> </listenerSenderServer> </deviceType> </superServer> 1.1.3.4.2 Dimep Biopoint A estrutura padrão do devices da Dimep Biopoint segue os mesmo parâmetros de inserção dos demais fabricantes, ou seja, para cada dispositivo adicionado deverá adicionar a tag <device> dentro da tag <devices>, com seus respectivos parâmetros. A tag <deviceNumber> indica o numero do ID do dispositivo cadastrado no SA0620 no campo “identificação”. <?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> Config. Do módulo MSA com disp. Real-Time Versão 1.0 15 Config. do MSA com disp. Real-Time 1.2 Parametrização java/client A tela de parametrização do client é idêntica a tela de parametrização do Java servidor. Deveremos colocar nessa tela as mesmas informações de conexão com banco de dados informadas no server . A única alteração que deverá ser feita é no parâmetro de conexões do broker SQL “Conexões” e “Uncommited” que deverão ser configurados todos como 1 para todos os três bancos (TMA, PYC, UNI), conforme imagem abaixo: 16 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. 2 Criação do serviço do controle de acesso O programa que efetua a comunicação com os dispositivos e com o banco de dados do Datasul precisa ser configurado para funcionar em serviço, dessa forma o mesmo será gerenciado pelo sistema operacional. Esse serviço 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 serviço referente a um dispositivo REP, então ficaria assim: “Datasul Controle Acesso – REP <nome_fabricante>”. 2.1 Configuração das variáveis de ambiente Para o funcionamento dos programas em Java do Controle de Acesso faz necessário criação e alteração de algumas variáveis de ambiente no servidor. Na inserção do valor dessas variáveis não se deve inserir caminhos mapeado, e sim seu caminho de rede – UNC: 2.1.1 Criação da variável Java_home: Variável responsável por determinar o diretório de instalação do Java. Disponível para download em: http://java.sun.com. Lembrando que a versão do Java homologada é a versão 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 versão inferior a 1.5.x, atualize para a versão atual. Caso retorne uma acima ou igual a 1.5.x, procure o diretório de instalação do Java, que, normalmente se localiza em C:\Program Files\Java\jre1.x.x_xx. Localizado o diretório de instalação do Java, basta criar a variável de ambiente em variáveis do sistema, conforme imagem abaixo: Config. Do módulo MSA com disp. Real-Time Versão 1.0 17 Config. do MSA com disp. Real-Time 2.1.2 Criação da variável Acesso_Server_Home: Variável responsável por determinar o diretório de instalação dos programas em Java do Server do Controle de Acesso. Esse diretório fica dentro dos programas do produto HCM na pasta “...\...\java-server”. Localizado o diretório de instalação do java-server, basta criar a variável de ambiente em variáveis do sistema, conforme imagem abaixo: 2.2 Criação do arquivo bat e instalação do serviço: Após criação e alteração das variáveis no servidor, deveremos criar o serviço de comunicação com os dispositivos “Datasul Controle Acesso – Servidor”. Para isso será criado o arquivo JavaServicesInstall.bat dentro do diretório %ACESSO_SERVER_HOME%\bin. Abaixo segue o conteúdo 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 diretório existe, dependendo da instalação do Java, pode-se ter ao invés 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 existência 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: %ACESSO_SERVER_HOME%\bin\JavaService.exe -install "Datasul Controle Acesso - Servidor" "%JAVA_HOME%\bin\client\jvm.dll" -Djava.class.path="%ACESSO_SERVER_HOME%\controleacesso-int-dimep-11.5.1.jar" -Xms64M -Xmx128M -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 18 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. Após a criação do arquivo bat, verifique se todos os caminhos são encontrados no servidor: a. %JAVA_HOME%\bin\client (verificar se existe o arquivo “jvm.dll”) b. %ACESSO_HOME% c. %ACESSO_HOME%\log d. controleacesso-int-MARCA_DISPOSITIVO-VERSAO.jar Salve o arquivo bat e execute o mesmo para que o serviço seja criado. Após isso execute o arquivo e a seguinte mensagem deverá ser mostrada: Com a criação do serviço siga os seguintes passos: a. Abrir o serviço do Windows (services.msc) b. Localizar o serviço criado. c. Abrir as “Propriedades” do serviço criado. d. Note que o campo “Tipo de inicialização” deve estar como “Automático”, caso não esteja, modifique-o. e. Clique na aba “Recuperação”, e altere os parâmetros em destaque para “Reiniciar o serviço” e clique no botão Ok, conforme figura abaixo: Config. Do módulo MSA com disp. Real-Time Versão 1.0 19 Config. do MSA com disp. Real-Time f. Caso nas variáveis de ambiente criada tenha algum caminho de rede você deverá na aba logon do serviço inserir um usuário administrador para executá-lo. 2.3 Arquivos de log: O serviço criado acima “Datasul Controle Acesso – <nome_fabricante>” é responsável pelo gerenciamento de dois programas em execução no sistema operacional: a. “...\prghur\sap\integraCodin.p” b. ”...\prghur\sap\java\server\controleacesso-int-marcadispositivo-x.x.x.jar O programa integraCodin é responsável pela importação das marcações de acesso que estão no banco dthrtma na tabela marcac_control_aces para importação de marcações de ponto no modulo de Controle de Freqüência - caso o dispositivo seja do tipo marcação de freqüência. Esse programa gera um log (logCodin.txt) dentro da pasta temporária do Progress definido pelo parametro –T. O programa controleacesso-int-marcadispositivo-x.x.x.jar é responsável pela comunicação e interpretação da linguagem dos dispositivos, esse serviço é quem irá gravar as marcações efetuadas nos dispositivos para a base de dados do Datasul. Esse programa gera um log (Server_log.txt) no diretório %ACESSO_SERVER_HOME%\log, ou em outro pré-definido pelo cliente e também gera um log no diretório temporário do Progress chamado logSocket.txt. Esse ultimo log somente será criado caso o cliente possua integração com dispositivos da marca Telemática. 2.3.1 Parametrização log integração dispositivos: O arquivo "server_log.txt" trata-se de um arquivo de texto no qual são apresentadas as ações realizadas no serviço da integração quanto a sua comunicação, geração de permissões, validações de entradas, movimentações dos funcionários, visitantes, autônomos e prestadores de serviços. Normalmente este arquivo é gerado na estrutura de diretórios “.prghur/sap/java/server/log", caso ocorra algum problema imprevisto no sistema, o arquivo de log "server_log" pode auxiliar na solução do problema. O tamanho dos arquivos gerados está relacionado diretamente à versão da Integração Datasul, a marca do dispositivo instalado e o fluxo de movimentação dos usuários. Por definição, é gerado um arquivo para cada dia (à partir da data que o módulo é instalado) onde se faz necessário a manutenção periódica do diretório em que os logs estão armazenados para não exceder a capacidade em disco (pois estes arquivos nunca são eliminados do sistema). Pensando no problema de armazenagem destes logs, há uma alternativa de restringir o tamanho dos arquivos, dentro da pasta raiz da integração com os dispositivos “.../.../Java/server/”, existe um arquivo onde efetuamos essa configuração, segue abaixo os parâmetros 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 DIRETÓRIOS 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 Config. Do módulo MSA com disp. Real-Time Versão 1.0 Config. do MSA com disp. Real-Time. Com esta configuração, o sistema cria 10 arquivos de backup (logs antigos) de 150MB cada, ou seja, o sistema ocupará no máximo 1650MB (10 arquivos de backup com 150MB + 1 arquivo de execução corrente com 150MB). O arquivo "logSocket.txt" trata-se de um arquivo de texto onde são apresentados toda a parte de requisições e comunicação (logs) entre a parte Progress (HR Datasul) com o sistema da Integração Datasul cujos dispositivos pertencem à marca "Telemática". Este arquivo é gerado no diretório temporário do Progress (-T), caso o sistema apresente algum problema com a sincronização das informações e/ou comunicação entre as partes, uma análise efetuada neste arquivo pode auxiliar na solução do problema. 2.3.2 Parametrização log integração ponto eletrônico: O arquivo "logCodin.txt", trata-se de um arquivo de log gerado pelo programa "...\prghur\sap\integraCodin.r" (programa de importação automática das marcações do Controle de Acesso para o Ponto Eletrônico e geração das permissões de acesso para os usuários do módulo que possuem um perfil associado) no qual é executado pelo serviço "Datasul Controle Acesso – Servidor". O arquivo logCodin,txt é gerado no diretório temporário do Progress (-T) e caso ocorra algum problema na geração automática das permissões ou na importação das marcações, uma análise efetuada neste arquivo pode auxiliar na solução do problema. 2.3.3 Parametrização log Java client: Assim como a integração 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 execução também 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. Config. Do módulo MSA com disp. Real-Time Versão 1.0 21