• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Comunicação em Tempo Real com ASP.Net SignalR
 

Comunicação em Tempo Real com ASP.Net SignalR

on

  • 1,336 views

Comunicação em Tempo Real com ASP.Net SignalR

Comunicação em Tempo Real com ASP.Net SignalR

Statistics

Views

Total Views
1,336
Views on SlideShare
987
Embed Views
349

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 349

http://eduardopires.net.br 348
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Comunicação em Tempo Real com ASP.Net SignalR Comunicação em Tempo Real com ASP.Net SignalR Presentation Transcript

    • Visual Studio Summit 2013Eduardo Pires – Arquiteto de SistemasMSP - MCSD - MCTS - PSD - ITIL V3www.eduardopires.net.br@EduardoPiresBR
    • Visual Studio Summit 2013Comunicação em tempo realNossos usuários querem acesso a última informação AGORA!• Atualizações de redes sociais• Cotação da bolsa de valores• Placares – Game Score• Jogos interativos• Notificações (E-mail, Agenda, etc)• Apps colaborativas• Atualizações de e-Commerce• Notícias ao vivo• Leilões• Jogos interativos• Transações financeiras• E claro... CHAT
    • Visual Studio Summit 2013Técnicas de soluções atuais:• Polling• Long Polling• Forever Frame• Server Sent Events• WebSockets
    • Visual Studio Summit 2013Polling• Utiliza requisições Ajax (XMLHttpRequest)• Conexões periódicas com o server verificando se há algumaatualizaçãoPrós Contras--- Atraso nas atualizaçõesSobrecarrega o server commilhares de requests
    • Visual Studio Summit 2013Polling
    • Visual Studio Summit 2013Long Polling• Semelhante ao Polling, requisições Ajax (XMLHttpRequest)• Mantem a conexão aberta até receber uma notificação doserverPrós ContrasSem atraso nas respostas Múltiplos requestsBaixa carga no servidor Existem técnicas mais rápidasSuportado por vários Browsers
    • Visual Studio Summit 2013Long Polling
    • Visual Studio Summit 2013Forever Frame• Utiliza de forma inteligente a tag HTML <iframe> de forma acriar uma conexão permanentemente abertaPrós ContrasSuportado por vários Browsers Problemas com peculiaridadesde cada Browser, tornando-semuito difícil de implementar.Muito difícil de tratar os erros
    • Visual Studio Summit 2013Forever Frame
    • Visual Studio Summit 2013Server-Sent Events• HTML5 – Funciona através de HTTP• EventSource JavaScript API• Content-type: text/event-streamPrós ContrasConexão persistente Não é suportado no IE Não necessita um protocoloespecial implementado noservidorTrabalha em apenas umadireção. Server >> Client
    • Visual Studio Summit 2013Server-Sent Events
    • Visual Studio Summit 2013WebSockets• HTML5 – Funciona via TCP• Será o fim do HTTP ?Prós ContrasConexão persistente nas duasdireções. Server >> Client eClient >> ServerRequer o protocolo WebSocket IE 10 e demaisbrowsers (versão atualizada)É a técnica mais rápidaatualmenteRequer o protocolo WebSocket no Server (IIS8)
    • Visual Studio Summit 2013WebSockets
    • Visual Studio Summit 2013E se eu quiser implementar TODAS as técnicas?Terei muito trabalho?
    • Visual Studio Summit 2013ASP.Net SignalR• Solução completa de comunicação emtempo real• Comunicação de forma assíncrona• Membro oficial do ASP.Net• Open-Source (GitHub)• Conexão persistente Server / Client• Forma de programação unificada• Dois níveis diferentes de abstração de uma conexão. Escolheautomaticamente o melhor tipo de transporte conforme o cenário.
    • Visual Studio Summit 2013Arquitetura
    • Visual Studio Summit 2013Hubs• Implementação de alto nívelconstruído sobre a APIPersistentConnection• Modelo RPC (RemoteProcedure Call)• Modelo mais indicado parautilização do SignalR
    • Visual Studio Summit 2013Persistent Connection• A API de conexão (classe PersistentConnection) dá ao desenvolvedoracesso direto a comunicação de baixo nível que o SignalR expõe,similar a forma de trabalhar com Sockets.• As mensagens não possuem formato, são baseadas em stringssimples que necessitam ser interpretadas em ambos os lados (client,server).• A escolha do transporte fica a cargo do desenvolvedor
    • Visual Studio Summit 2013Indicações• A maioria dos aplicativos deve usar o modelo Hubs.• PersistentConnections podem ser utilizados nas seguintescircunstâncias:O formato da mensagem enviada necessita de ser controlado.O desenvolvedor prefere trabalhar com um modelo de envio demensagens ao invés de um modelo de invocação remota.Um aplicativo existente que usa um modelo de mensagem está sendoportado para usar SignalR.
    • Visual Studio Summit 2013ASP.Net SignalR ComponentsjQuery .Net WP7 iOS Silverlight WinRTAndroidMonoASP.NetIIS8Self /OwinAzureServiceBusClientsHosts
    • Visual Studio Summit 2013Como começar?• Pré-requisitos, Visual Studio 2010 SP1 ou 2012• O Visual Studio 2012 – Update 2 já possui suporte ao ASP.Net SignalR• ASP.Net SignalR está disponível via NuGet
    • Visual Studio Summit 2013Demo! Demo! Demo!• Chat! (Clássico)• Jogo da velha em tempo real.
    • Visual Studio Summit 2013Muito Obrigado!Dúvidas?Eduardo Pires@EduardoPiresBRwww.eduardopires.net.br