O documento descreve a biblioteca SignalR, que facilita a implementação de funcionalidades em tempo real para aplicações web. Explica que o SignalR permite que o servidor chame funções nos clientes instantaneamente sem precisar de solicitações do cliente. Também detalha como o SignalR funciona, priorizando o uso de WebSockets e alternando para outros mecanismos como Server Sent Events caso necessário, para manter a conexão entre cliente e servidor.
3. Sobre o palestrante
Paulo Augusto Ponciano
Analista de Sistemas com atuação em grandes empresas de desenvolvimento de sistemas do
mercado como a TOTVS, atuando atualmente na empresa Sonda IT. Possui certificação Microsoft
MVC 3.0 e é graduado em Sistemas de Informação pela faculdade Anhanguera. Foco em
desenvolvimento Web e especialista na framework SAPUI5 com requisições a serviços oData.
4. Signal-R
SignalR é uma biblioteca Open Source que facilita a implementação de funcionalidades Real-
Time (Em tempo real) para aplicações. Aplicações Real-Time tem como característica a
capacidade do servidor chamar funções dos clientes para ser executadas instantaneamente, a
partir do momento que os mesmos estão conectados, sem ter que esperar pelo cliente realizar a
solicitação ao servidor.
5. Signal-R – Como Funciona
O ASP .Net SignalR funciona como um gerenciador de conexão, por baixo dos panos, ele define
qual é a melhor tipo de transporte a ser utilizada no determinado contexto, dependendo da
versão do navegador e do servidor utilizados.
8. Signal-R – Como Funciona
Esse é um ponto importante do SignalR, pois o mesmo trabalha com vários tipos de conexão.
A figura anterior mostra os níveis de prioridade dos transportes, começando por WebSockets, se
o cliente ou o servidor não suportar, ele tenta Server Sent Events, e assim por diante.
9. Signal-R – Como Funciona
O SignalR suporta “server push”, ou seja, do lado do servidor é possível chamar comandos nos
clientes conectados, usando Remote Procedure Calls (RPC), diferente do modo que ocorre hoje
em dia, aonde o cliente envia uma requisição ao servidor, solicitando os dados novos.
10. Signal-R – Como Funciona
WebSocket – É o único meio de transporte que cria uma conexão realmente persistente, sendo
uma via de mão dupla, a informação trafegando do servidor para o cliente, e do cliente para o
servidor. Também é o meio de transporte mais exigente, é suportado apenas nas ultimas versões
do Internet Explorer, Google Chrome. Segundo o site oficial, os outros Browsers apenas tem uma
implementação parcial, como o Opera e o Safari.
Server Sent Events (EventSource) – Também é um tipo de transporte HTML5. Ele Inverte o fluxo
das aplicações ajax, fazendo com que o servidor possa disparar o envio de dados do servidor
ao cliente
11. Signal-R – Como Funciona
Forever Frame (Apenas para Internet Explorer) – Cria um IFrame Oculto que faz uma requisição
incompleta ao servidor, fazendo com que o servidor fique constantemente enviando informação
para o cliente, criando uma conexão realtime de via única, sentido Servidor -> Cliente. Já para o
cliente se comunicar com o servidor. é feito uma nova conexão, para cada dado a ser enviado.
Ajax long polling –Não cria uma conexão persistente, abre a conexão com o servidor até que o
mesmo retorne algo ou feche a conexão, se fechar, é reaberta novamente pelo cliente.