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-8272 |
Requisito1 | PCREQ-8273 | Subtarefa1 |
|
Release de Entrega Planejada | 12.1.13 | Réplica |
|
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Definir a estrutura padrão para a segregação dos métodos Web services dos TSS. A segregação dos métodos será necessária para que as funcionalidades do TSS estejam disponíveis tanto por chamadas via Web service quanto para as chamadas que serão realizadas pela DLL do pelo TSS OFFLINE, que será realizada através de comunicação via HTTPSHTTP, com mensagens no formato JSON, (formato texto e completamente independente de linguagem). Dessa os serviços oferecidos pelo TSS estarão disponíveis para acesso através de qualquer interface de comunicação.
Para que os métodos do TSS funcionem apenas como uma interface de comunicação entre os ERPs e o TSS, os métodos deverão ser reestruturados, ficando livres de qualquer acoplamento de implementação de processamento das requisiçõese persistência de dados na camada do Web service. Os métodos deverão conter apenas a chamada para função de validação, verificação do serviço que está sendo utilizado para o processamento da requisição, depende da origem realizar o processamento da requisição correto e a verificação do retorno para o Web service.
Tanto a função de processamento quanto a função de validação, serão originadas a partir da segregação do método método.
As entradas de requisições para processamento via DLL TSS OFFLINE ou sem DLLTSS OFFLINE, serão realizadas através dos mesmos métodos já existentes no TSS. De acordo com a configuração do appserver, as requisições seguirão o fluxo descrito abaixo.
Caso a requisição seja recebida para processamento via DLLTSS OFFLINE, o processo será direcionado para a função DLLProcRequestTSSAnalyseReq() que fará a verificação que fará o processamento requerido pela DLL, caso contrário, a requisição será enviada para a função responsável pelo processamento da requisição via Web service. Todos os métodos deverá ser definidos com a seguinte estrutura:
WSMETHOD XXXXXXXXX WSRECEIVE XXXXXX, XXXXXX, XXXXXXX WSSEND XXXX WSSERVICE XXXXXX
local cError := ""
local lRetorno := .T.
if TSSAnalyseReq(
lRetorno)
self:X :=
TSval0002admempresasTSSBrokerReq( self, @cError )
)else
if( lRetorno := TSValXXXXXXXXXX self, @cError) )
elseself:
ID_ENTX := TSProcXXXXXXXXXX( self, @cError )
endifelse
self:
ID_ENTX := nil
endif
endif
if !( lRetorno := valType(self:ID_ENT) <> "U" ))
setSoapFault(WS_PROC, cError )
endif
delClassIntf()
return finishSped(lRetorno)
Onde TSSProcXXXXXXXXXX será o nome da função segregada do método via Web service.
1. Fluxo Principal:
1.1. Realiza validação da Requisição;
1.2. Requisição inválida;[2.1]
1.3. Verifica se o processamento passara pela DLL;
1.4. Se o processamento for para DLL, envia requisição para função DLLpRocRequest. caso contrário executa função de processamento do método;
1.5. Retorno Inválido;[2.2]
1.6. Se retorno for nulo (nil), retorna Soap Fault com erro do processo. Caso contrário retorna resultado de acordo com estrutura esperada pelo Web service;
1.7. Realiza limpeza do objetos instanciados;
2. Fluxo Secundário
2.1. Falha na validação
2.1.1. Retorna String Soap Fault com erro da validação;
2.1. Falha no processamento
2.1.1. Retorna String Soap Fault com erro do processamento;
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|