Como são feitas as notificações?
Para que os serviços não tenham que personalizar as mensagens para cada cliente e para cada tipo de destino (mail, sms, etc...) (o que levaria a ter duplicação dos dados dos clientes na plataforma e nos serviços => serviços mto complexos) os serviços têm que disponibilizar uma mensagem que possa satisfazer a grande maioria dos dispositivos de recepção das notificações. P.Ex. Se a mensagem contiver um resumo, um corpo, e eventualmente outros objectos (imagens, audio, etc...), conseguiriamos fazer com que fosse a plataforma a tomar a desisão do envio da notificação para os clientes (que é o objectivo do PISNA!!!), facilitando assim bastante os serviços. Assim é a forma ideal, dado que os serviços só têm que representar aquilo que são, ou seja Serviços!
Após a personalização de todas as mensagens, estas são enviadas para a plataforma, para os clientes serem notificados.
A notificação não é feita pelos serviços porque:
- Se um serviço mudasse de localização, teriamos que avisar todos os clientes. Assim, basta notificar a plataforma sobre uma qq alteração dum serviço, a plataforma actualiza os seus dados e continua a "conversar" com os clientes, ou seja, a mudança de localização de um serviço (ou outra qualquer alteração) é TRANSPARENTE para os clientes!
- A persistência (e garantia de entrega) das mensagens era mais uma das tarefas que os serviços teriam que suportar caso as notificações aos clientes fossem feitas pelos serviços, o que levaria a serviços complexos quando não há necessidade, ou seja, todas as tarefas comuns a todos os serviços, são disponibilizadas pela plataforma :)
