Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | TSS | Módulo | TSS |
Segmento Executor | SERVIÇOS | ||
Projeto1 | M_SER_TSS002 | IRM1 | PCREQ-8234 |
Requisito1 | PCREQ-8235 | Subtarefa1 |
|
Chamado2 | 12.1.13 | ||
País | ( X ) Brasil ( ) Argentina ( ) México ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colômbia ( ) Outro _____________. |
Disponibilizar uma aplicação onde deverá ser enviado as requisições de contingencia para o TSS ONLINE.
A aplicação deverá realizar a leitura da Tabela DLL0001 com o objetivo de enviar as requisições de contingência para o TSS ONLINE. Este processo deverá ter a funcionalidade de envio de modo mult-Thread, para que seja realizado a “vazão” dessas requisições o mais rápido possível.
O mecanismo de envio e consulta das requisições serão realizados enquanto o serviço da aplicação do TSS ONLINE estiver disponível e reiniciado a cada dois segundos. Assim a função principal deverá verificar se há conexão com o TSS ONLINE e realizar o disparo das threads principais, ou seja, de envio e consulta das requisições.
A função de envio e de consulta disparará as thread a cada registro. As threads de envio e de consulta das requisições serão controladas por semáforo, evitando conflitos com os registros, ou seja, não enviar mais de uma vez a requisição.
Função: JOB_DLL()
A função principal será responsável pela realização do processo de envio das requisições para o TSS ONLINE. Onde verificará se o serviço do TSS ONLINE está disponível, realizando o envio das requisições e a consulta dos mesmos, e seus respectivo controle de semáforos.
Este procedimento deverá ser realizado enquanto a aplicação estiver disponível e a cada dois segundos.
Parâmetros:
Nulo
Retorno:
Nulo
Função: dllGetRequest()
Função responsável pela busca das requisições enviadas para o TSS ONLINE.
Este processo buscará os registros da Tabela DLL0001, verificando se não estão deletados e que não possuem ticket relacionado. As requisições serão enviadas enquanto possuir registro e o serviço do TSS ONLINE estiver disponível.
Para cada requisição será realizado o controle de semáforo e o controle de tempo:
Para o controle de semáforo será utilizado nome da função concatenado com o Id da requisição;
Para o controle de tempo será utilizado uma variável global, onde, caso não consiga capturar o tempo armazenado será executado sem esta informação, caso contrário, será validado o tempo de execução, o qual deverá executar novamente caso ultrapasse 5 minutos, assim disparado a thread para cada requisição.
Parâmetros:
cLockSend - Semáforo
Retorno:
Nulo
Função: dllSendRequest()
Função responsável pelo envio das requisições para o TSS ONLINE.
Deverá inserir o tempo na variável global, posicionar na Tabela DLL0001, caso não tenha ticket informado realizará o envio da requisição através da função TSSPostQueueMessage(). Caso o retorno do TSS ONLINE seja o ticket irá armazena-lo para que seja realizado o processo de consulta posteriormente. Caso contrário, o processamento de retorno do TSS ONLINE realizará a exclusão física do ticket. Na falha de envio da requisição, deverá somente realizar um log indicando a falha.
Parâmetros:
nRecno - Recno do registro da tabela DLL0001
cLockSend - Semáforo
Retorno:
Nulo
Função: dllGetResponse()
Função responsável pelas consultas dos tickets das requisições que serão enviadas para o TSS ONLINE.
Este processo buscará os registros da Tabela DLL0001, verificando se não estão deletados e que possuem ticket relacionado. As requisições serão enviandas enquanto possuir registro e o serviço do TSS ONLINE estiver disponível.
Para cada requisição será realizado o controle de semáforo e o controle de tempo:
Para o controle de semáforo será utilizado nome da função concatenado com o Id da requisição;
Para o controle de tempo será utilizado uma variável global, onde, caso não consiga capturar o tempo armazenado será executado sem esta informação, caso contrário, será validado o tempo de execução, o qual deverá executar novamente caso ultrapasse 5 minutos, assim disparado a thread para cada requisição.
Parâmetros:
cLockSend - Semáforo
Retorno:
Nulo
Função: dllProcResponse()
Função responsável pela consulta da requisição.
Deverá inserir o tempo na variável global, posicionar na Tabela DLL0001 e realizar o envio da consulta através da função TSSPostQueueMessage().
Caso a consulta seja realizada com sucesso, realizar o processamento do retorno do TSS ONLINE e realizar a exclusão física do mesmo.
Na falha de envio da consulta da requisição, limpará o campo TICKET para o que o mesmo seja reenviado e relacionado a um novo ticket.
Parâmetros:
nRecno - Recno do registro da Tabela DLL0001
cLockSend - Semáforo
Retorno:
Nulo
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|