Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

15
24.01.2017 .NET Core Real Time

Transcript of Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

Page 1: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

24.01.2017.NET Core Real Time

Page 2: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 2

SOFTWARE ENGINEERSOFTWARE ENGINEER

Rodrigo Cabello

Más de 9 años de experiencia en tecnologías .NET y desarrollo de aplicaciones Web. Apasionado de las nuevas arquitecturas y herramientas Front-End.

Carlos Landeras

Experiencia de más de 8 años en el desarrollo de aplicaciones web. Apasionado de las nuevas tecnologías y aplicaciones que utilizan técnicas basadas en Inteligencia Artificial. 

@[email protected]

@[email protected]

Page 3: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

3

Agenda1.Aplicaciones en

tiempo Real con .NET Core.

2.SignalR Hubs y WebSocket endpoints.

3.Azure Relay (Conexiones híbridas)

Page 4: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 4

• Las aplicaciones en tiempo real permiten mejorar la experiencia de usuario, reflejando cambios de manera inmediata en la información que se muestra en las aplicaciones web.

• En la actualidad, disponemos de distintas librerías en .NET CORE que nos permiten implementar capacidades de tiempo real.

• Asp.Net Core WebSockets• SignalR hubs• SignalR WebSocket endpoints• Azure Relay Hybrid connections

Real Time en .NET CORE

Page 5: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 5

• Contiene una implementación manejada del protocolo web socket (System.Net.WebSockets), junto con los componentes de integración de cliente y servidor.

• Este paquete implementa la feature IHttpWebSocketFeature en el contexto http.

Asp.Net Core Websocketshttps://github.com/aspnet/WebSockets

Page 6: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 6

• SignalR Core simplifica a los desarrolladores el proceso de añadir funcionalidad real time a una aplicación web.

• Permite enviar contenido a clientes conectados tan pronto como se encuentre disponible sin tener que esperar a que el cliente realice otra petición.

• Detección de capacidades de transporte del navegador de manera automática:

• Websockets, Server Sent Events, Forever Frame* y Long Polling.• El Api contiene dos modelos de comunicación entre cliente y servidor:

• Persistent connections*• Hubs.

SignalR Core

Page 7: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 7

RoadMap SignalR Core

Estado Actual: Deprecada(hace unas semanas)

• Api Models:• Persistent connections y

Hubs• Mismas librerías de cliente que

SignalR Full Framework.

Estado Actual: En desarrollo

• Api Models:• Endpoints y Hubs

• Nuevas librerías de cliente en TypeScript.

• Negociación de transporte aún sin implementar en cliente.

Versión anterior de SignalR Core

https://github.com/aspnet/SignalR-Server

Versión actual de SignalR Core

https://github.com/aspnet/SignalR

Page 8: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

8

Demo SignalR y WebSockets

Page 9: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 9

• Azure Relay es uno de los pilares de la plataforma Azure Service Bus.

• Permite exponer servicios de redes corporativas en la nube (Sin realizar cambios intrusivos o abrir nuevas conexiones en el firewall).

• Azure Relay cuenta con dos servicios:• Conexiones híbridas: Websockets• WCF Relays: Windows Communication Foundation (WCF).

• Conexiones híbridas:• Evolución segura y de protocolo abierto. Basada en WebSockets y Http.• Sustituye a la antigua característica de BizTalk Services.

Azure Relay

Page 10: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

#NETCore2017 10

• Permite establecer una comunicación bidireccional entre dos aplicaciones utilizando un streaming binario.

• Se puede configurar fácilmente en Azure.• Roles y protocolo de conexión:

• Rol Cliente (envía información).• Rol Servidor (acepta conexiones entrantes).

• Azure Relay permiten hasta 25 clientes con el Rol de Servidor.• Librerías para NodeJs, Java y .Net Core.

• https://github.com/Azure/azure-relay-dotnet• https://github.com/Azure/azure-relay-node

Azure Relay Hybrid Connections

wss://{namespace-address}/$hc/{path}?sb-hc-action=...[&sb-hc-id=...]&sb-hc-token=...

Page 11: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

11

Demo Azure Relay

Page 12: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

¡GRACIAS!@mrcabellom@Carlos_Lande

Page 13: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

¡¡ Buscamos compañer@s en

Madrid !!IT Project Manager with DevOps

Web Developer (Back and front)info@plainconcept

s.complainconcepts.workable.com

Page 14: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

14

MADRIDPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

SPAIN OFFICES

BILBAOPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

SEVILLAPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

BARCELONAPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

@plainconcepts www.plainconcepts.com

Page 15: Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello

15

DUBAIPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

FOREING OFFICES

LONDONPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

SEATTLEPaseo de la Castellana 163

28046 Madrid. EspañaT. (+34) 91 5346 836

@plainconcepts www.plainconcepts.com