linea-it / cutout

MIT License
0 stars 0 forks source link

Endpoint SYNC resource item 2.1 do protocolo SODA #15

Open glaubervila opened 10 months ago

glaubervila commented 10 months ago

Protocolo SODA item 2.1

The {sync} resource performs the data access as specified by the input parameters and returns the data directly in the output stream. Synchronous data access is suitable when the operations can be quickly performed and the data stream can be setup and written to (by the service) in a short period of time (e.g. before any timeouts).

Nossa descrição de Requisitos para este endpoint:

O Cliente solicita um cutout para uma única coordenada que vai resultar em uma única imagem.

Pontos Importantes: O que caracteriza como real time é a quantidade de posições solicitadas e quantidade de imagens geradas, neste caso sempre que o usuário enviar apenas um conjunto coordenadas (RA, Dec) e o resultado for apenas um cutout será tratada como SYNC Request.

Tempo Limite para SYNC Job: a princípio considerar o timeout padrão de requisições http de 30 segundos, mas este valor deve ser um parâmetro configurável na aplicação, o tempo ideal vai ser calibrado a partir dos testes de usuários reais.

Neste cenário do SYNC Request, o endpoint se comporta igual a qualquer outro endpoint REST, permitindo requisições simultâneas de diferentes clientes ou até do mesmo, mas tendo um agravante que é o tempo de processamento da requisição neste caso as requisições que o servidor aceitou como real time mas não conseguir processar vão falhar por timeout (Equivalente a negação de serviço).

No SYNC Request não precisa tratar a prioridade do usuário, já que cada pedido é atendido instantaneamente pelo servidor.


Requisição -> Autenticação -> Autorização -> Validação dos Parâmetros -> Registra o Pedido -> Processa o pedido de forma Síncrona mas em background -> Retorna o Cutout.