20
WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER Realtime Messaging und Verteilte Systeme mit Sharepoint und Windows Azure Service Bus Dipl.-Ing. Damir Dobric Lead Architect daenet Technology Advisor in Business Platform Division – Microsoft Corp. Microsoft Most Valuable Professional Email: [email protected] Blog: http://developers.de

Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Embed Size (px)

DESCRIPTION

Realtime Messaging und Verteilte Systeme mit Sharepoint und Windows Azure Service Bus

Citation preview

Page 1: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER

Realtime Messaging und Verteilte Systeme mit

Sharepoint und Windows Azure Service Bus

Dipl.-Ing. Damir Dobric

Lead Architectdaenet

Technology Advisor in Business Platform Division – Microsoft Corp.Microsoft Most Valuable Professional

Email: [email protected]: http://developers.de

Page 2: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

CONNECTING ISSUES IN WEB

Agenda

SIGNAL-R

RELAYING

WebSocketsServer Sent EventsForever Frames

WINDOWS AZURE MESSAGINGEXPANDO CONTRACT

Page 3: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Infrastructure for Web

http Request/Response

Xhttp Request/Response

http polling

http Request/Response

Full-Duplex

Page 4: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER

Polling and Duplex Approach

while(true){var response = httpClient.SendRequest(“http://...”);

processResponse(response.Data);Thread.Sleep(T);

}

tcpClient.TimeOut = 999999..;var netStream = tcpClient.SendHttpRequest(“http://...”); while(true){ var data1 = netStream.Read(); var data2 = processData(data1); netStream.Write(data2); }}

Page 5: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

CONNECTING ISSUES IN WEB

SIGNAL-R

SIGNAL-R

RELAYING

SERVER SENT EVENTS

WebSocketsServer Sent EventsForever Frames

WINDOWS AZURE MESSAGING

Page 6: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WebSockets

• Driven by HTML5• Full-Duplex over TCP• Browser native Socket connection• IETF Spec. - HyBi 17

(IE10 Win8=HyBi10)

Page 7: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WebSockets Sequence

Developers.dehttp://developers.de/blogs/damir_dobric/archive/2012/01/29/websockets-in-asp-net-and-javascript.aspx

Page 8: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Server Sent Events• Push from a server to a browser• Part of HTML5 spec• http://dev.w3.org/html5/eventsource• Header: text/event-stream• Implemented natively in Browser• Long polling without closing connection

http://dsheiko.com/weblog/websockets-vs-sse-vs-long-polling

Page 9: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Forever-Frame streaming

• Push notifications• Not based on Long-Polling• Uses HTTP 1.1 chunked encoding

Page 10: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

SignalR• Permanent Connection support for none HTML5 browsers.• Use it when infrastructure does not support any other push

technology

• Two Part Library– jQuery PlugIn for Client– .NET Library for Server

• Supported Transports:– Long polling– WebSockets– Forever Frame streaming– Server Sent events

Page 11: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

CONNECTING ISSUES IN WEB

DEMO

SIGNAL-R

RELAYING

SERVER SENT EVENTSServer Sent EventsForever Frames

WINDOWS AZURE MESSAGING

Page 12: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

CONNECTING ISSUES IN WEB

RELAYING

SIGNAL-R

RELAYING

SERVER SENT EVENTSServer Sent EventsForever Frames

WINDOWS AZURE MESSAGING

Page 13: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Service Bus Connectivity

Service Bus

Client

1. Outbound, bi-directional TCP socket connection2. Outbound,

bi-directional TCP socket connection

Service

3. Route and relay the message, and send it to the service.

Forwarder

Page 14: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

CONNECTIVITY

• Relaying• Tunneling• Eventing• Push

Page 15: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WCF Relay Protocol Support

Microsoft.ServiceBus.dll v1.6

Page 17: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER

• Connecting Issues in Web

• Missing Callback• Cannot initiate Connection from Server

• HTML5 Way

• WebSocket specification• Still no server support• Still no client support• IIS8/Windows8/http.sys vNext

• SignalR

• No need for HTTP.Sys vNext• No need for HTML5• Full Cross Browser Support

• Service Bus

• Point to Point Connection through firewall

Q & A

Page 18: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER

Consumer

Service

Consumer

ServiceBROCKER

Page 19: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

Q&AWeb Development with WebSockets and SignalR

Damir Dobricblog: http://developers.dehttp://twitter.com/#!/ddobric

• HTML5• Push Notifications• Long polling• Server Sent Events• Forever Frame• WebSockets• SignalR

Page 20: Realtime Messaging und verteilte Systeme mit SharePoint und Windows Azure Service Bus

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.