Páginas filhas
  • ER_PCREQ-8288 Fábrica de Filas

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

 

 

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). 

(Obrigatório)

Objetivo

 Desenvolver rotina para instânciar os objetos de comunicação com as Filas e lista de respostas.

(Obrigatório)

Definição da Regra de Negócio

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: InitQueue()

 

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}

Parâmetros:

Nil

Retorno:

aQueue – Array com os dados da Fila

 

 

Função: QueueFactory() 

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.

 

Parâmetros:

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.

 

Retorno:

lRet – Status do Retorno da criação da Fila(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )

 


Função: InitList()

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: ListFactory()

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.

Parâmetros:

:

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.

 

Retorno:

lRet – Status do Retorno da criação da Lista(Sucesso = verdadeiro(.T.); Falha = Falso(.F.) )

Opcional

Protótipo de Tela

<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

Opcional

Fluxo do Processo

<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>. 

Opcional

Dicionário de Dados

(Opcional)

Grupo de Perguntas

(Opcional)

Consulta Padrão

(Opcional)

Estrutura de Menu

Cadastro de Papéis

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.