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-8287 |
Requisito1 | PCREQ-8288 | Subtarefa1 |
|
Release de Entrega planejada | 12.1.13 | ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Desenvolver rotina para instânciar os objetos de comunicação com as Filas e lista de respostas.
A criação dos objetos de comunicação com os serviços da Amazom, deverá ser encapsulada em uma função. A ideia da função é centralizar a criação dos objetos, facilitando sua criação e e controle sobre a quantidade de instâncias a serem criadas. Deverá ser criada uma rotina para a criação das Filas de processamento e uma para a Criação das Listas de Respostas.
O escopo dos objetos será por Thread, devendo haver apenas uma única instância para cada fila de documento. As instâncias deverão ser armazenadas em um array com escopo static, relacionado com o nome da fila e modelo do documento.
Definir as seguintes funções: initQueue(), QueueFactory(), initList(), ListFactory()
Função responsável por carregar o array com as filas/listas a serem instâncias.
A função deverá definir e retornar um array para as seguintes filas com a seguinte estrutura:
{"GENERIC", "GENERIC_QUEUE", nil}
{"CFG" , "CFG_QUEUE" , nil}
{"NFE" , "NFE_QUEUE" , nil}
{"NFCE" , "NFCE_QUEUE" , nil}
{"MDE" , "MDE_QUEUE" , nil}
{"CTE" , "CTE_QUEUE" , nil}
{"MDFE" , "MDFE_QUEUE" , nil}
{"GNRE" , "GNRE_QUEUE" , nil}
{"NFSE" , "NFSE_QUEUE" , nil}
{"ESOCIAL", "ESOCIAL_QUEUE", nil}
{"RECOPI" , "RECOPI_QUEUE" , nil}
{"DIE" , "DIE_QUEUE" , nil}
{"DMS" , "DMS_QUEUE" , nil}
{"OUTROS" , "OUTROS_QUEUE" , nil}
Nil
aQueue – Array com os dados da Fila
Função responsável por gerenciar as instâncias das filas definidas no array aQueue.
A função receberá como parâmetro, o identificador da Fila, uma variável por referência para a retorno da instância do objeto e uma variável para a referência de erro no processo de criação. A rotina deverá realizar uma busca no array aQueue de acordo com o modelo do documento recebido no parâmetro. Caso a referência esteja nula, a fila deverá ser instânciada e atribuída ao array aQueue, caso contrário basta retornar a referência de instancia do array.
O processo de instancia fila é realizado através da construção do objeto seguida da configuração de Setup que será realizada no ambiente da Amazon.
Os parâmetros para a configuração do Setup, deverão ser obtidos através de parâmetros definidos a seção CLOUD do arquivo appserver.ini. Os parâmetros deverão possuir escopo do tipo “STATIC”. Os seguintes parâmetros deverão ser definidos:
[CLOUD]
QUEUEZONE: Identifica a região de localização da Fila. Definir parâmetros
QUEUECRED: Identifica o código de credito para utilização da Fila.
QUEUECREDKEY: Identifica chave de acesso.
Qualquer falha durante o processo, a variável cError deverá ser preenchida com a descrição da falha ocorrida e a rotina deverá retornar falso. Em caso de sucesso a função retornará status verdadeiro e a referência da fila atribuída a variável recebida para a referência.
cDocModel – Identificador do modelo de documento para a criação da Fila
oQueue – Variável para referência da instância da Fila
cError – Variável para referência de erros durante no processo de criação da Fila.
lRet – Status do Retorno da criação da Fila(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )
Função responsável por carregar o array com as filas/listas a serem instâncias.
A função deverá definir e retornar um array para as seguintes filas com a seguinte estrutura:
{"GENERIC", "GENERIC_LIST", nil}
{"CFG" , "CFG_LIST" , nil}
{"NFE" , "NFE_LIST" , nil}
{"NFCE" , "NFCE_LIST" , nil}
{"MDE" , "MDE_LIST" , nil}
{"CTE" , "CTE_LIST" , nil}
{"MDFE" , "MDFE_LIST" , nil}
{"GNRE" , "GNRE_LIST" , nil}
{"NFSE" , "NFSE_LISt" , nil}
{"ESOCIAL", "ESOCIAL_LIST", nil}
{"RECOPI" , "RECOPI_LIST" , nil}
{"DIE" , "DIE_LIST" , nil}
{"DMS" , "DMS_LIST" , nil}
{"OUTROS" , "OUTROS_LIST" , nil}
Função responsável por gerenciar as instâncias das Listas definidas no array aList.
A função receberá como parâmetro, o identificador da Lista, uma variável por referência para a retorno da instância do objeto e uma variável para a referência de erro no processo de criação. A rotina deverá realizar uma busca no array aList de acordo com o modelo do documento recebido no parâmetro. Caso a referência esteja nula, a Lista deverá ser instânciada e atribuída ao array aList, caso contrário basta retornar a referência de instância do array.
O processo de instancia da Lista será realizado através da construção do objeto seguida da configuração de Setup que será realizada no ambiente da Amazon.
Os parâmetros para a configuração do Setup, deverão ser obtidos através de parâmetros definidos na seção CLOUD do arquivo appserver.ini. Os parâmetros deverão possuir escopo do tipo “STATIC”. Os seguintes parâmetros deverão ser definidos:
REDISHOST: Identifica o endereço do servidor Redis.
REDISPORT: Identifica a Porta do servidor Redis
Qualquer falha durante o processo, a variável cError deverá ser preenchida com a descrição da falha ocorrida e a rotina deverá retornar falso. Em caso de sucesso a função retornará status verdadeiro e a referência da Lista atribuída a variável recebida para a referência.
:
cDocModel – Identificador do modelo de documento para a criação da Fila
oList – Variável para referência da instância da Fila
cError – Variável para referência de erros durante no processo de criação da Fila.
lRet – Status do Retorno da criação da Lista(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Cadastro de Papéis
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|