Página 1 de 14
VSMTransactionService Documentação
Id: VSM_DSV_TransactionService _Documentação
Data: 16/09/2014 Versão: 2.3
Autor: Adriano Alves Dornelas
Histórico do Documento Versão Data Colaborador Descrição
1.0 30/06/2014 Adriano Alves Dornelas Criação do VSMTransactionService – Versão Delphi (Windows)
2.0 02/09/2014 Adriano Alves Dornelas Implementação do serviço em Java (Windows/Linux)
2.1 05/09/2014 Adriano Alves Dornelas Criação automática das tabelas no banco de dados
2.2 10/09/2014 Adriano Alves Dornelas Atualizado versão do VSMTransactionServiceMonitor para 1.0.1 - resolvido erro que ocorria quando o serviço estava rodando em outra máquina
2.3 16/09/2014 Adriano Alves Dornelas Adicionado link com o instalador para Windows 32bits
Sumário
1 Tabelas ...................................................................................................................................................................... 3
2 Fluxo .......................................................................................................................................................................... 4
2.1 Grava XML com dados da transação ................................................................................................................. 4
2.2 Lê XML com dados da transação ....................................................................................................................... 4
2.3 Processamento da Transação ........................................................................................................................... 4
2.4 Grava XML de Retorno com o resultado do processameto .............................................................................. 4
2.5 Lê XML de Retorno e mostra resultado ao usuário .......................................................................................... 4
3 Criação do banco de dados “myprinc”........................................................................ Erro! Indicador não definido.
4 VSMTransactionService – Serviço (vsmtransactionservice.jar) ................................................................................ 5
4.1 Instalando no Windows .................................................................................................................................... 5
4.2 Instalando no Linux ........................................................................................................................................... 5
4.2.1 Instalação do Java ..................................................................................................................................... 5
4.2.2 Instalação do Serviço ................................................................................................................................ 6
4.2.3 Configurando Acesso ao Banco de Dados ................................................................................................. 6
4.2.4 Iniciando o Serviço .................................................................................................................................... 6
5 VSMTransactionService – Monitor (VSMTRANSACTIONSERVICEMONITOR.exe) ..................................................... 6
5.1 Instalação .......................................................................................................................................................... 7
5.2 Como Iniciar ...................................................................................................................................................... 7
5.3 Como Acessar .................................................................................................................................................... 7
5.4 Monitorando as Transações .............................................................................................................................. 8
5.5 Filtrando Transações Processadas ou com Erros .............................................................................................. 8
Página 2 de 14
5.6 Visualizando Detalhes da Transação ................................................................................................................. 9
6 Configurações ......................................................................................................................................................... 10
7 Fechando o Caixa utilizando o VSMTransactionService ......................................................................................... 10
Anexo 1 - Exemplo de XML com dados de fechamento de caixa: .................................................................................. 13
Anexo 2 – Exemplos de XML com retorno do fechamento de caixa: ............................................................................. 14
Página 3 de 14
1 Tabelas Foi criado um banco de dados com o nome “myprinc” para armazenar tabelas que não precisam ser replicadas para
as lojas. Esse banco de dados irá conter as tabelas utilizadas pelo VSMTransactionService.
Página 4 de 14
2 Fluxo
2.1 Grava XML com dados da transação O FrontFarma/OuroFarma irá gerar e gravar o arquivo XML com os dados da transação na tabela FILATRANSACOES:
Ver exemplo do XML no Anexo 1.
2.2 Lê XML com dados da transação O VSMTransactionService monitora os registros inseridos na tabela FILATRANSACOES atribuídos para o seu Id e com
Status = 0 (Pendente). Para cada registro encontrado ele dispara uma thread para processamento da respectiva
transação passando o arquivo XML como parâmetro.
2.3 Processamento da Transação No processamento, o status é atualizado para 1 (Em Processamento) para que a aplicação cliente
(FrontFarma/OuroFarma) consiga saber se a transação está em execução.
2.4 Grava XML de Retorno com o resultado do processameto Após o processamento o status é atualizado para 2 (Sucesso) ou 1 (Erro) e o arquivo XML de retorno é gravado na
tabela FILATRANSACOES:
Ver exemplo do XML de Retorno no Anexo 2.
2.5 Lê XML de Retorno e mostra resultado ao usuário O FrontFarma/OuroFarma lê o XML de retorno ao identificar que a transação foi processada com sucesso (Status = 2)
ou com erro (Status = 3) e mostra o resultado ao usuário.
Página 5 de 14
3 VSMTransactionService – Serviço (vsmtransactionservice.jar) O serviço é o responsável por monitorar a tabela FILATRANSACOES , executar as transações e devolver o resultado.
3.1 Instalando no Windows Efetue o download do instalador através dos links:
64bits - http://www.vsm.inf.br/downloads/transactionservice/InstallVSMTransactionService_2_1_0.exe
32bits - http://www.vsm.inf.br/downloads/transactionservice/InstallVSMTransactionService32bits_2_1_0.exe
Execute o InstallVSMTransactionService_2_1_0.exe:
Clique em Avançar, a instalação do serviço será realizada e o serviço será automaticamente iniciado.
Os dados para acesso ao banco de dados serão obtidos do arquivo c:\OUROFARMA\EXTCONN.ini.
3.2 Instalando no Linux
3.2.1 Instalação do Java 1 cd /home 2 wget http://www.vsm.inf.br/downloads/java/jre-7-linux-x64.tar.gz 3 mkdir /usr/local/java7 4 tar -C /usr/local/java7/ -vzxf jre-7-linux-x64.tar.gz* 5 vim /etc/profile 6 Acrescentar no final do arquivo /etc/profile:
JAVA_HOME=/usr/local/java7/jre1.7.0 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export PATH
7 :wq <enter> (para salvar e sair da edição do /etc/profile)
Página 6 de 14
8 update-alternatives --install "/usr/bin/java7" "java" "/usr/local/java7/jre1.7.0/bin/java" 1 9 update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java7/jre1.7.0/bin/javaws" 1 10 update-alternatives --set java /usr/local/java7/jre1.7.0/bin/java 11 update-alternatives --set javaws /usr/local/java7/jre1.7.0/bin/javaws 12 Para não precisar reiniciar o servidor:
JAVA_HOME=/usr/local/java7/jre1.7.0 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export PATH
13 Para conferir se o Java foi instalado corretamente: java –version Deverá mostrar: Java(TM) SE Runtime Environment (build 1.7.0-xxxx) Java HotSpot(TM) 64-Bit Server VM
3.2.2 Instalação do Serviço 1 cd /home 2 wget http://www.vsm.inf.br/downloads/transactionservice/vsmtransactionservice.jar 3 wget http://www.vsm.inf.br/downloads/transactionservice/vsmtransactionservice_lib.tar.gz 4 wget http://www.vsm.inf.br/downloads/transactionservice/vsm-resources.tar.gz 5 mkdir /usr/local/vsmtransactionservice 6 cp vsmtransactionservice.jar /usr/local/vsmtransactionservice/ 7 tar -C /usr/local/vsmtransactionservice/ -vzxf vsmtransactionservice_lib.tar.gz 8 tar -C /usr/local/vsmtransactionservice/ -vzxf vsm-resources.tar.gz 9 cd /etc/init.d/ 10 wget http://www.vsm.inf.br/downloads/transactionservice/vsmtransactionservice 11 chmod +x vsmtransactionservice
3.2.3 Configurando Acesso ao Banco de Dados
Copiar o arquivo c:\OUROFARMA\EXTCONN.ini de um terminal da rede local que esteja rodando o sistema para a
pasta /usr/local/vsmtransactionservice.
3.2.4 Iniciando o Serviço 1 . /etc/init.d/vsmtransactionservice start 2 Para conferir se o serviço está rodando:
ps –aux | grep vsmtransactionservice Deverá mostrar:
Caso necessite parar o serviço utilize:
. /etc/init.d/vsmtransactionservice stop
Caso necessite reiniciar o serviço utilize:
. /etc/init.d/vsmtransactionservice restart
4 VSMTransactionService – Monitor
(VSMTRANSACTIONSERVICEMONITOR.exe) É a aplicação que permite iniciar e parar o serviço (no Windows), monitorar o seu status e visualizar as transações
pendentes, em processamento, processadas e com erros.
Página 7 de 14
4.1 Instalação Efetue o download do instalador através do link:
http://www.vsm.inf.br/downloads/transactionservice/InstallVSMTransactionServiceMonitor_1_0_1.exe
Execute o InstallVSMTransactionServiceMonitor_1_0_1.exe:
Clique em Avançar e o monitor será instalado.
4.2 Como Iniciar Para iniciar o monitor, clique no ícone criado na sua área de trabalho.
4.3 Como Acessar O VSMTransactionServiceMonitor pode ser acessado através do ícone localizado na bandeja do Windows:
Clicando com o botão direito do mouse sobre o ícone, abre o menu de opções:
Página 8 de 14
4.4 Monitorando as Transações No VSMTransactionServiceMonitor, clique na opção “Monitorar Transações” ou um duplo-clique sobre o ícone na
bandeja. Irá abrir a tela com os dados do serviço e com as transações Pendentes e Em Processamento:
4.5 Filtrando Transações Processadas ou com Erros Clicando nas opções “Processadas” ou “Erros” irá habilitar os filtros por período de data/hora:
Página 9 de 14
4.6 Visualizando Detalhes da Transação Com um duplo-clique sobre a transação, é possível visualizar o espelho da transação:
Página 10 de 14
5 Configurações As configurações estão localizadas nas tabelas CONFIGURACAO e CONFIGURACAOGERAL:
Configuração Valor Padrão
Descrição
FILATRANSACOES_FECHCAIXA S Indica se o Fechamento de Caixa deve ser realizado utilizando o recurso de Fila de Transações, ou seja, utilizando o VSMTransactionService.
FECHCAIXA_TEMPOESPERAINICIOPROCESSAMENTO 30 Após salvar os dados do fechamento na tabela TRANSAÇÕES, o sistema irá esperar no máximo o tempo configurado (em segundos) pelo início do processamento, senão irá abortar e mostrar mensagem de erro ao usuário.
FECHCAIXA_TEMPOESPERATERMINOPROCESSAMENTO 60 Após o fechamento identificar que a transação está em processamento (Status = 1), o sistema irá esperar no máximo o tempo configurado (em segundos) pelo término do processamento, senão irá abortar e mostrar mensagem de erro ao usuário.
6 Fechando o Caixa utilizando o VSMTransactionService Ao abrir o fechamento do caixa, o sistema irá verificar se a configuração FILATRANSACOES_FECHCAIXA está ativada,
se sim irá mostrar o status do VSMTransactionService no canto inferior esquerdo da tela.
Para ativar/desativar a configuração FILATRANSACOES_FECHCAIXA pressione as teclas Ctrl+Alt+T na tela do
Fechamento do Caixa e a seguinte mensagem será mostrada:
Irá demonstrar no canto inferior esquerdo da tela se o serviço está ativo:
Página 11 de 14
Se o ícone estiver:
indica que está ativo
indica que está inativo
Se o serviço estiver inativo, o fechamento de caixa será realizado da forma atual.
Clicando sobre ícone, o sistema irá mostrar os detalhes dos serviços:
Ao confirmar o Fechamento:
Página 12 de 14
O sistema irá gerar e gravar o arquivo XML na fila de transações e irá mostrar a seguinte mensagem ao usuário:
Quando identificar que a transação está em processamento, será mostrada a mensagem:
E ao receber o retorno que a transação foi processada, o sistema irá mostrar o protocolo:
Página 13 de 14
Anexo 1 - Exemplo de XML com dados de fechamento de caixa:
Página 14 de 14
Anexo 2 – Exemplos de XML com retorno do fechamento de caixa: