introduction to real-time web development & cloud fundamentals

Upload: radu-matei

Post on 24-Feb-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    1/26

    Introduction to Real-Time WebDevelopment & Cloud Fundamenta

    MICROSOFT INNOVTION C!NT!R" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    2/26

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    3/26

    W'o uses real-timecommunication

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    4/26

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    5/26

    Classic client-serverscenario

    Client

    Re)uest

    Response

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    6/26

    *o+ does real-timecommunicatio+or,(

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    7/26

    Classic lon-pollinscenario

    Client

    .ot Data(

    .ot Data(

    .ot Data(

    *ere/s some data0

    .ot Data(

    .ot Data(

    .ot Data(

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    8/26

    W'1 isn/t lon-pollinood enou'

    Client

    .ot Data(

    .ot Data(

    .ot Data(

    *ere/s some data0

    .ot Data(

    .ot Data(

    .ot Data(

    !ver1 time t'e clientas,s t'e server

    data" band+idt' is bein used0

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    9/26

    Microsot Innovation Center" #$%

    Welcomin WebSoc,ets

    WebSoc,et is a protocol providinull-duple2 communication c'annels o

    a sinleTC$ connection

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    10/26

    GET/chatHTTP/1.1

    Host:server.example.com

    Upgrade:websocket

    Connection:Upgrade

    Sec-WebSocket-e!:x"##H$b%&1E'&k()G*(+%w,,

    Sec-WebSocket-rotocol:c(at s/perc(at

    Sec-WebSocket-0ersion:1"

    rigin:(ttp233example.com

    HTTP/1.1141Switching Protocol

    Upgrade:websocket

    Connection:Upgrade

    Sec-WebSocket-5ccept:HSmrc4s$l

    Sec-WebSocket-rotocol:c(at

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    11/26

    Microsot Innovation Center" #$%

    W'1 not use WebSoc,etsdirectl1(

    It +ill onl1 +or, i t'e bro+ser ullsupports *TM34

    I t'e net+or,is unstable" it mi't s+or,in entirel1

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    12/26

    Microsot Innovation Center" #$%

    re t'ere an1 ot'er real-timetec'noloies(

    3on-$ollin Forev

    Server Sent!vents

    WebSoc,et

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    13/26

    Microsot Innovation Center" #$%

    W'at is SinalR(

    SinalRis a series o abstarctions arouvarious met'ods or providin persist

    *TT$ connections

    SinalRma,es real-time communicabet+een a clientand a serverver1 e

    * d Si lR , i d

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    14/26

    Microsot Innovation Center" #$%

    *o+ does SinalR +or, in modernserver-client scenarios(

    Client

    I do real-time" do 1ou(

    5ep0

    3et/s $art1 in Real-time0

    * d Si lR d id 'i ' l t

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    15/26

    *o+ does SinalRdecide +'ic' real-ttec'nolo1 to use(

    Client

    I do WebSoc,ets" do 1ou(

    5es0

    3et/s use WebSoc,ets0

    Microsot Innovation Center" #$%

    * d Si lR d id 'i ' l t

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    16/26

    *o+ does SinalRdecide +'ic' real-ttec'nolo1 to use(

    Client

    I do WebSoc,ets" do 1ou(

    Nope

    I do Server Sent !vents do 1ou(

    5es0

    3et/s use Server Sent !vents0

    Microsot Innovation Center" #$%

    * d Si lR d id 'i ' l t

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    17/26

    *o+ does SinalRdecide +'ic' real-ttec'nolo1 to use(

    Client

    I do WebSoc,ets" do 1ou(

    No0

    I do Server Sent !vents do 1ou(

    No0

    I do Forever Frames" do 1ou(

    5es0

    3et/s use Forever Frames0

    Microsot Innovation Center" #$%

    *o does SinalR decide 'ic' real t

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    18/26

    *o+ does SinalRdecide +'ic' real-ttec'nolo1 to use(

    Client

    I do WebSoc,ets" do 1ou(

    No0

    I do Server Sent !vents do 1ou(

    No0

    I do Forever Frames" do 1ou(

    No0

    Microsot Innovation Center" #$%

    I t' li t d t' d t

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    19/26

    Microsot Innovation Center" #$%

    I t'e clientand t'e server do not aon one o t'e duple2 tec'noloies"

    t'e1 +ill use lon-pollin

    Client

    .ot Data(

    .ot Data(

    .ot Data(

    *ere/s some data0

    .ot Data(

    .ot Data(

    .ot Data(

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    20/26

    Microsot Innovation Center" #$%

    T'e idea be'ind SinalR is to 'ide t+a1 t'e connection is made" so t'

    prorammer isn/t concerned +it' *Ot'e data is sent

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    21/26

    3on$ollin

    ForeverFrames

    ServerSent

    !vents

    WebSoc,es

    SinalRallbac,

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    22/26

    Transportneotiation

    Microsot Innovation Center" #$%

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    23/26

    3et/s tr1Websoc,ets0

    No(*o+ aboutSS!(

    No(ForeverFrames(

    O,a1" t'en6

    3on

    SinalR Core Contepts

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    24/26

    Microsot Innovation Center" #$%

    SinalR Core Contepts

    Connection7 simple endpoint or semessaes

    *ub 7 'i'-level pipeline built usin Cont'at allo+ t'e clientand t'e serverto cot'ers/ met'ods directl1

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    25/26

    Microsot Innovation Center" #$%

    D!MO

    SinalR *ubs

  • 7/25/2019 Introduction to Real-Time Web Development & Cloud Fundamentals

    26/26

    Microsot Innovation Center" #$%

    SinalR *ubs

    *ubcalled b1 t

    'ub is a rom Microso