Chamando serviços de forma síncrona e assíncrona
É possível chamar serviços de forma síncrona ou assíncrona.
- Serviços chamados de forma síncrona (on demand) - Estes serviços podem executar todos os seus processamentos e retornar o resultado em uma chamada única.
- Serviços chamados de forma assíncrona (acionados por mensagens)
Serviços chamados de forma síncrona
Esses serviços podem executar todos os seus processamentos e retornar o resultado em uma única chamada, sob demanda.
Serviços chamados de forma assíncrona
Esses serviços executam automaticamente todo o seu processamento sempre que acionados por uma mensagem de um sistema externo ou do aplicativo. O acionador poderá estar no formato de um arquivo, de um registro do banco de dados ou de uma mensagem em uma fila de mensagens, dependendo do modo de integração. Esses serviços não retornam nenhum valor e são usados puramente para processamento de segundo plano, tal como enviar emails ou receber atualizações automaticamente a partir de um sistema externo ou enviar atualizações para ele.
Em geral, os serviços assíncronos fornecem um custo menor em relação ao desempenho do que serviços síncronos e devem ser preferenciais sempre que possível. Entretanto, os serviços assíncronos enfileiram e processam as mensagens na ordem em que elas são recebidas. O tempo para processar uma determinada transação depois que ela foi enfileirada pode variar muito dependendo de picos em seu ciclo de processamento e de uma série de outros fatores. Portanto, eles não são apropriados para determinados cenários específicos nos quais um ANS (Acordo de Nível de Serviço) requer que uma transação seja processada dentro de um período de tempo curto especificado. No entanto, esses cenários são raros para a maioria dos negócios e processos de negócios e o processamento assíncrono é suficientemente eficaz para a maioria das transações, com custo significativamente menor enquanto ainda fornece um alto nível de serviço.