3
respostas

Como identificar uma alteração via webservice e refletir na webpage?

Tenho um webservice, que se comunica com dispositivos mobile, porém preciso identificar quanto ocorre uma comunicação (utilização) do webservice, para refletir esta informação na minha aplicação web. Existe algum padrão de projeto que atenda a esta necessidade?

3 respostas

Olá, Rodrigo!

Nesse cenário, eu acho que você pode usar broadcasting com o SignalR para que sua aplicação web seja atualizada quando ocorrer um evento no web service:

https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr

O que envolveria alguns passos:

  • Criação de um Hub do SignalR
  • O web service acessa o hub do SignalR para "publicar" a notificação de que houve um novo acesso
  • A aplicação web "assina" o hub do SignalR e recebe notificação via broadcasting sempre que o web service enviar a notificação.

Obrigado pelo retorno, Marcelo. Estou utilizando SignalR, mas houve uma solicitação para buscar outra solução, pois a equipe de infra + arquitetura coorporativa não quer que utilize SignalR. Será que existe alguma outra opção?

Você poderia guardar o histórico de requisições ao webservice no banco de dados SQL Server e, do lado da aplicação web, fazer um "pooling", isto é, de tempos em tempos ir buscar esse histórico de requisições e ver se há alguma novidade que precisa ser atualizada. Outra opção também (mais sofisticada) seriam filas, usando MSMQ (Microsoft Message Queue), ou então Amazon Simple Queue Services (SQS), caso a solução esteja na Amazon.