Submit Search
Upload
Realtime applications for SharePoint with SignalR and knockout.js
•
Download as PPTX, PDF
•
4 likes
•
10,057 views
Christian Heindel
Follow
As seen at http://www.shareconf.de/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 58
Download now
Recommended
Lab 03
Lab 03
marunasorokina
(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source
(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source
Cell'IE
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
Verein FM Konferenz
Choosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing Cloud
Arek Rafflewski
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
Salesforce Admins
SoundOff Back To School Insert, Fall 2014
SoundOff Back To School Insert, Fall 2014
ftmeade
Knockout.js & SignalR
Knockout.js & SignalR
Ægir Þorsteinsson
LinkedIn company pages: the untapped opportunity for SMBs
LinkedIn company pages: the untapped opportunity for SMBs
Scoop.it
Recommended
Lab 03
Lab 03
marunasorokina
(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source
(Tutoriel) Installer et Utiliser Huginn - Outil de veille open source
Cell'IE
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
Verein FM Konferenz
Choosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing Cloud
Arek Rafflewski
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
How to Use the Activity Custom Lookup Field to Get More Out of Events and Tas...
Salesforce Admins
SoundOff Back To School Insert, Fall 2014
SoundOff Back To School Insert, Fall 2014
ftmeade
Knockout.js & SignalR
Knockout.js & SignalR
Ægir Þorsteinsson
LinkedIn company pages: the untapped opportunity for SMBs
LinkedIn company pages: the untapped opportunity for SMBs
Scoop.it
Pp bpi 3.0
Pp bpi 3.0
bedrijventekoop
COMPONENTES DE LA TARJETA MADRE
COMPONENTES DE LA TARJETA MADRE
vane1889
Seminario Estrategias de Marketing 2.0
Seminario Estrategias de Marketing 2.0
Javier Pérez Caro
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
Keith Griffin
Felicidad (2) dayan
Felicidad (2) dayan
yorman andres rincon carrillo
Resume
Resume
Aleš Mohorič
Green line tagungskatalog_2013_webansicht
Green line tagungskatalog_2013_webansicht
Solveig Homeyer
BVDW online audio advertising effects study 2015
BVDW online audio advertising effects study 2015
IAB Europe
ENEAGRAMA: Presentación empresarial extendida
ENEAGRAMA: Presentación empresarial extendida
Klever Benalcázar
Linking Cash Flow Management and Life Planning
Linking Cash Flow Management and Life Planning
Eric Kies
Presentacion cafe mundiAL
Presentacion cafe mundiAL
PaolaYepesG
Timer control and Tool Strip C#
Timer control and Tool Strip C#
JJ Javier
Valo Intranet - Ready-to-go social intranet on Office 365
Valo Intranet - Ready-to-go social intranet on Office 365
Valo
Els dofins
Els dofins
irenerodriguezcerezo
Presentacion "kers"
Presentacion "kers"
Antonio Mendez Bezarez
Cushman & wakefield & ssa uk self storage survey 2015
Cushman & wakefield & ssa uk self storage survey 2015
Cushman & Wakefield
Clasificación de leucemias - OMS 2008
Clasificación de leucemias - OMS 2008
essalud
Animales cuadrupedos del putumayo....
Animales cuadrupedos del putumayo....
paula-vargas26
BTL - Comunicación de 360 grados
BTL - Comunicación de 360 grados
guest5cd5a6
Luxación de Rótula
Luxación de Rótula
Pablo Vollmar
CV_Imed_Eddine_Bouchoucha
CV_Imed_Eddine_Bouchoucha
Imed Bouchoucha
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Christian Heindel
More Related Content
Viewers also liked
Pp bpi 3.0
Pp bpi 3.0
bedrijventekoop
COMPONENTES DE LA TARJETA MADRE
COMPONENTES DE LA TARJETA MADRE
vane1889
Seminario Estrategias de Marketing 2.0
Seminario Estrategias de Marketing 2.0
Javier Pérez Caro
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
Keith Griffin
Felicidad (2) dayan
Felicidad (2) dayan
yorman andres rincon carrillo
Resume
Resume
Aleš Mohorič
Green line tagungskatalog_2013_webansicht
Green line tagungskatalog_2013_webansicht
Solveig Homeyer
BVDW online audio advertising effects study 2015
BVDW online audio advertising effects study 2015
IAB Europe
ENEAGRAMA: Presentación empresarial extendida
ENEAGRAMA: Presentación empresarial extendida
Klever Benalcázar
Linking Cash Flow Management and Life Planning
Linking Cash Flow Management and Life Planning
Eric Kies
Presentacion cafe mundiAL
Presentacion cafe mundiAL
PaolaYepesG
Timer control and Tool Strip C#
Timer control and Tool Strip C#
JJ Javier
Valo Intranet - Ready-to-go social intranet on Office 365
Valo Intranet - Ready-to-go social intranet on Office 365
Valo
Els dofins
Els dofins
irenerodriguezcerezo
Presentacion "kers"
Presentacion "kers"
Antonio Mendez Bezarez
Cushman & wakefield & ssa uk self storage survey 2015
Cushman & wakefield & ssa uk self storage survey 2015
Cushman & Wakefield
Clasificación de leucemias - OMS 2008
Clasificación de leucemias - OMS 2008
essalud
Animales cuadrupedos del putumayo....
Animales cuadrupedos del putumayo....
paula-vargas26
BTL - Comunicación de 360 grados
BTL - Comunicación de 360 grados
guest5cd5a6
Luxación de Rótula
Luxación de Rótula
Pablo Vollmar
Viewers also liked
(20)
Pp bpi 3.0
Pp bpi 3.0
COMPONENTES DE LA TARJETA MADRE
COMPONENTES DE LA TARJETA MADRE
Seminario Estrategias de Marketing 2.0
Seminario Estrategias de Marketing 2.0
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
27 ways to use gurl qrurl purl murl surl turl giftmiums freemiums guestmiums ...
Felicidad (2) dayan
Felicidad (2) dayan
Resume
Resume
Green line tagungskatalog_2013_webansicht
Green line tagungskatalog_2013_webansicht
BVDW online audio advertising effects study 2015
BVDW online audio advertising effects study 2015
ENEAGRAMA: Presentación empresarial extendida
ENEAGRAMA: Presentación empresarial extendida
Linking Cash Flow Management and Life Planning
Linking Cash Flow Management and Life Planning
Presentacion cafe mundiAL
Presentacion cafe mundiAL
Timer control and Tool Strip C#
Timer control and Tool Strip C#
Valo Intranet - Ready-to-go social intranet on Office 365
Valo Intranet - Ready-to-go social intranet on Office 365
Els dofins
Els dofins
Presentacion "kers"
Presentacion "kers"
Cushman & wakefield & ssa uk self storage survey 2015
Cushman & wakefield & ssa uk self storage survey 2015
Clasificación de leucemias - OMS 2008
Clasificación de leucemias - OMS 2008
Animales cuadrupedos del putumayo....
Animales cuadrupedos del putumayo....
BTL - Comunicación de 360 grados
BTL - Comunicación de 360 grados
Luxación de Rótula
Luxación de Rótula
Similar to Realtime applications for SharePoint with SignalR and knockout.js
CV_Imed_Eddine_Bouchoucha
CV_Imed_Eddine_Bouchoucha
Imed Bouchoucha
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Christian Heindel
DACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdf
DNUG e.V.
German introduction to sp framework
German introduction to sp framework
Bob German
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
VMware Tanzu
Anatomy of the modern application stack
Anatomy of the modern application stack
Boyan Dimitrov
Daimler’s Community Approach to TAS Platform Monitoring
Daimler’s Community Approach to TAS Platform Monitoring
VMware Tanzu
Large scale, cloud computing and scalability with Umbraco
Large scale, cloud computing and scalability with Umbraco
Warren Buckley
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Nico Meisenzahl
Cadison world-issue-03-2011
Cadison world-issue-03-2011
CADISON
Cadison world 2011 issue 1
Cadison world 2011 issue 1
CADISON
Cadison world-issue-03-2011
Cadison world-issue-03-2011
CADISON
Andreas Zeitler (Vuframe): Virtual & Augmented Business: How to Discover and ...
Andreas Zeitler (Vuframe): Virtual & Augmented Business: How to Discover and ...
AugmentedWorldExpo
130815 - Content Delviery Networks for the IEEE Singapore Broadcast group
130815 - Content Delviery Networks for the IEEE Singapore Broadcast group
PasocoPteLtd
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ Codetock
Sam Basu
Internet of things basics
Internet of things basics
cumulocity
michael_milad_CV
michael_milad_CV
Michael Milad
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVA
confluent
3D Web Visualization 1
3D Web Visualization 1
shilpabhartiyaPrototech
3D Web Visualization
3D Web Visualization
ProtoTech Solutions
Similar to Realtime applications for SharePoint with SignalR and knockout.js
(20)
CV_Imed_Eddine_Bouchoucha
CV_Imed_Eddine_Bouchoucha
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
DACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdf
German introduction to sp framework
German introduction to sp framework
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Anatomy of the modern application stack
Anatomy of the modern application stack
Daimler’s Community Approach to TAS Platform Monitoring
Daimler’s Community Approach to TAS Platform Monitoring
Large scale, cloud computing and scalability with Umbraco
Large scale, cloud computing and scalability with Umbraco
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Cadison world-issue-03-2011
Cadison world-issue-03-2011
Cadison world 2011 issue 1
Cadison world 2011 issue 1
Cadison world-issue-03-2011
Cadison world-issue-03-2011
Andreas Zeitler (Vuframe): Virtual & Augmented Business: How to Discover and ...
Andreas Zeitler (Vuframe): Virtual & Augmented Business: How to Discover and ...
130815 - Content Delviery Networks for the IEEE Singapore Broadcast group
130815 - Content Delviery Networks for the IEEE Singapore Broadcast group
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ Codetock
Internet of things basics
Internet of things basics
michael_milad_CV
michael_milad_CV
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVA
3D Web Visualization 1
3D Web Visualization 1
3D Web Visualization
3D Web Visualization
More from Christian Heindel
Nintex Forms als Ersatz für InfoPath?
Nintex Forms als Ersatz für InfoPath?
Christian Heindel
MobileCamp 2014: on{x} - Google Now zum Selberbauen
MobileCamp 2014: on{x} - Google Now zum Selberbauen
Christian Heindel
Social Workflows mit Nintex Workflow und SharePoint 2013
Social Workflows mit Nintex Workflow und SharePoint 2013
Christian Heindel
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Christian Heindel
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Christian Heindel
Push-Benachrichtigungen in SharePoint via SignalR
Push-Benachrichtigungen in SharePoint via SignalR
Christian Heindel
Collaboration Days 2011 - Mobile Anwendungen für SharePoint mit HTML5
Collaboration Days 2011 - Mobile Anwendungen für SharePoint mit HTML5
Christian Heindel
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
Christian Heindel
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
Christian Heindel
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Christian Heindel
More from Christian Heindel
(10)
Nintex Forms als Ersatz für InfoPath?
Nintex Forms als Ersatz für InfoPath?
MobileCamp 2014: on{x} - Google Now zum Selberbauen
MobileCamp 2014: on{x} - Google Now zum Selberbauen
Social Workflows mit Nintex Workflow und SharePoint 2013
Social Workflows mit Nintex Workflow und SharePoint 2013
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Push-Benachrichtigungen in SharePoint via SignalR
Push-Benachrichtigungen in SharePoint via SignalR
Collaboration Days 2011 - Mobile Anwendungen für SharePoint mit HTML5
Collaboration Days 2011 - Mobile Anwendungen für SharePoint mit HTML5
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
SharePoint, HTML5 und mobile Geräte (SharePoint UserGroup Dresden 11/2011)
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Recently uploaded
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
V3cube
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Recently uploaded
(20)
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Realtime applications for SharePoint with SignalR and knockout.js
1.
Realtime applications for SharePoint
with SignalR and knockout.js Communardo Software GmbH Christian Heindel SignalR @c_heindel
2.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 2 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
3.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 3 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
4.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Goals Improve user experience Reduce server load
5.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Use cases In general • Adjust prices in real-time, e.g. for flight tickets • Show new comments as they come in • Activity streams In SharePoint • Show changes to list items • "Who is online?" • Chat / Shoutbox • Download counter • Task status dashboard • …
6.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de TFS – Team Room Quelle: http://tfs.visualstudio.com/en-us/news/2013-jun-3
7.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Shopping cart Quelle: http://tech.pro/tutorial/1146/building-a-shopping-cart-with-signalr-aspnet-web-api-and-knockoutjs
8.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Example: Stock Ticker
9.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Download counter Quelle: http://melcher.it/2012/05/signalr-and-sharepoint-live-download-tracking/
10.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Upload visualizer Quelle: http://blog-aspc.azurewebsites.net/sharepoint-with-signalr/
11.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Realtime ASP.NET Web API tracing with SignalR Video: http://www.strathweb.com/ 2012/11/realtime-asp-net-web- api-tracing-with-signalr/
12.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de JabbR Collaborative chat done right • Project: http://about.jabbr.net/ • Code: https://github.com/JabbR/JabbR • Live demo: https://jabbR.net
13.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Example: ShootR • Multiplayer space ship game built on the SignalR framework. • Code: https://github.com/ ntaylormullen/shootr • Live demo: http://shootr.signalr.net/
14.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Example: Tic-Tac-Toe • Code: https://github.com/fekberg/Tic-Tac-Toe • Live demo: http://signalr-tictactoe.azurewebsites.net/
15.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de http://www.christian-heindel.de/SignalRServer/ 15
16.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 16 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
17.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Refresh a page after it has loaded How you could try it… • Client pull • F5, Ctrl+F5, press the “Delete cache” button hard and often, then F5 • Polling: AJAX Request every 60 seconds? Every 5 seconds? How you should do it… • Server push • WebSocket connection • Comet techniques as fallback
18.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Comet (a.k.a. Ajax Push, Reverse Ajax, HTTP Streaming, HTTP server push) • No page-by-page request or polling, but a long-held HTTP request • Biggest problem: HTTP 1.1 (max. 2 simultaneous connections) • Streaming: • Hidden iFrame • XMLHttpRequest • Ajax with long polling • XMLHttpRequest with long polling • Script tag long polling
19.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de WebSockets • Full-duplex communication channel over a single TCP connection • Persistent connection • Cross origin support built in (CORS) • IETF RFC 6455 • Port 80 • WebSockets API (W3C Recommendation) • Web browser + web server need to implement it • IIS 8.0, Apache 2.x, nginx 1.3.13+, lighttpd, node.js, … • Google Chrome 14+, Internet Explorer 10+, Firefox 6+, Safari 6+ and Opera 12.10+
20.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de caniuse.com
21.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 21 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
22.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de ASP.NET SignalR • SignalR started in July 2011 as a project by • David Fowler (Senior Software Design Engineer, ASP.NET Team) • Damien Edwards (Senior Program Manager, Microsoft) • Now official part of the ASP.NET Technologies: http://asp.net/signalr • MSDN documentation (since 03/2013): http://msdn.microsoft.com/en-us/library/jj891071(v=vs.111).aspx • Source code on GitHub • Available via NuGet Gallery (22.000+ downloads in last 6 weeks)
23.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Introduction to SignalR
24.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Features • Ready to use libraries for server and clients • Automatic connection management (send to all clients, to specific clients) • Uses WebSockets when available, fallback otherwise (abstraction layer) • Scale out to thousands of clients
25.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Transports and fallbacks HTML 5 transports These transports depend on support for HTML 5. If the client browser does not support the HTML 5 standard, older transports will be used. • WebSocket • Server Sent Events, also known as EventSource (if the browser supports Server Sent Events, which is basically all browsers except Internet Explorer.) Comet transports The following transports are based on the Comet web application model, in which a browser or other client maintains a long-held HTTP request, which the server can use to push data to the client without the client specifically requesting it. • Forever Frame • for Internet Explorer only, hidden Iframe, one-way realtime connection from server to client, connection from client to server uses a separate connection, a new connection is created for each piece of data that needs to be sent • Ajax long polling • no persistent connection, but instead polling the server with a request that stays open until the server responds, at which point the connection closes, and a new connection is requested immediately, latency while the connection resets
26.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Architecture diagram
27.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Connections - Simple endpoint for sending single-recipient, grouped, or broadcast messages - Connection API (represented in .NET code by the PersistentConnection class) - direct access to the low-level communication network that SignalR exposes - familiar to developers who have used connection-based APIs such as Windows Communication Foundation
28.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Hubs - high-level pipeline built upon the Connection API - allows client and server to call methods on each other directly - SignalR handles dispatching across machine boundaries as if by magic - For different types of messages, it is recommended that you use the Hub class, so that you won't have to create your own dispatching - using the Hub, you can call methods on the clients, rather than sending an explicit message that needs to be received, interpreted, and acted upon - familiar to developers who have used remote invocation APIs such as .NET Remoting
29.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Supported platforms (server side) http://blogs.msdn.com/b/timlee/archive/2013/02/27/deploy-the-signalr-getting-started-sample-as-a-windows-azure-web-site.aspx
30.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Supported platforms (client side) • Browsers (JavaScript) • Windows Desktop (Forms) • Silverlight • Windows Store (.NET) • Windows Store (JavaScript) • Windows Phone (IE) • Windows Phone (.NET) • Console • Web Services • iOS (Objective-C) • …
31.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: System requirements (Windows) • On Facebook you‟d say: “It‟s complicated.” • Excerpt from the documentation: • Server: 2012*, 2008 r2, Azure Website, Windows 8*, Windows 7 • .NET Framework: 4.0 / 4.5* • IIS: 7,7.5,8*, 8 Express* • Browser: IE10* • Silverlight: N/A (restr. 5+) • WP8: IE* (restr. WP8 App) • Only * supports WebSockets…
32.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Performance and scalability (I) • Standard limit in IIS: 5.000 connections per CPU • You can override this limit! • For SignalR about 20.000 connections per CPU usually also work, depends on your appliaction… • Special load test tool available: https://github.com/SignalR/SignalR/tree/dev/src/Microsoft.AspNet.SignalR.Crank
33.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Performance and scalability (II) • ScaleOut providers available since SignalR 1.1 • Azure Service Bus • SQL Server • Redis
34.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de SignalR: Performance and scalability (III) • Helpful documentation on MSDN library • How to notify the user about disconnections • How to continuously reconnect $.connection.hub.connectionSlow(function() { notifyUserOfConnectionProblem(); // Your function to notify user. }); $.connection.hub.disconnected(function() { setTimeout(function() { $.connection.hub.start(); }, 5000); // Restart connection after 5 seconds. });
35.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 35 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
36.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Why MVVM in JavaScript? • Separate design from code • Two-way DataBinding for properties • Command binding • Templates
37.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Which framework to choose? knockout.js (Microsoft) spine.js SproutCore JavascriptMVC ember.js Angluar.js (Google) … 37
38.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de knockout.js • Simplify dynamic JavaScript UIs by applying the Model-View- View Model (MVVM) pattern • By Steve Sanderson (Microsoft employee), inspired by XAML, supports legacy browsers… Declarative Bindings Easily associate DOM elements with model data using a concise, syntaxreadable Automatic UI Refresh When your data model's state changes, your UI updates automatically Dependency Tracking Implicitly set up chains of relationships between model data, to transform and combine it Templating Quickly generate sophisticated, nested UIs as a function of your model data
39.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de knockout.js Load JavaScript: DataBinding in HTML: Define ViewModel: Start listening: Refresh values:
40.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de knockout.js Load JavaScript: DataBinding in HTML: Define ViewModel: Start listening: Refresh values: JSON?
41.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de JSON – JavaScript Object Notation • Derived from JavaScript • Language independant • Human readable • Specified by Douglas Crockford in RFC 4627 • json.org launched in 2002 { "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
42.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de oDATA – Open Data Protocol • standardized protocol for creating and consuming data APIs • builds on REST web services • uniform way to expose full-featured data APIs • from Microsoft, submitted as OASIS standard • AtomPub protocol as envelope for JSON • REST methods available on sources • http://www.odata.org/
43.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de oDATA – Open Data Protocol • standardized protocol for creating and consuming data APIs • builds on REST web services • uniform way to expose full-featured data APIs • from Microsoft, submitted as OASIS standard • AtomPub protocol as envelope for JSON • REST methods available on sources • http://www.odata.org/
44.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 44 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, oDATA, JSON) Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
45.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Events in SharePoint Synchronous or asynchronous (before or after) Local, app or remote (new in SP2013)
46.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Events in SharePoint • Item events adding, added, deleting, deleted, updating, updated, fileconverted, filemoving, filemoved, checkingin, checkedin, checkingout, checked out, attachmentadding, attachmentadded, attachmentdeleting, attachmentdeleted • List field events adding, added, deleting, deleted, updating, updated • List events adding, added, deleting, deleted • Web events adding, provisioned, deleting, deleted, moving, moved • Site events deleting, deleted • App events installed, uninstalling, upgraded • And more… EmailReceived, WorkflowCompleted, WorkflowPostponed, WorkflowStarted, WorkflowStarting, FeatureEventReceiver installation, activation, deactivation, and removal
47.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 47 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
48.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Integration in SharePoint (on-premises) SharePoint 2010 • uses .NET Framework 3.5 • SignalR requires .NET Framework 4.0 / 4.5 • Coding of a proxy necessary (WCF, HttpHandler or similar) SharePoint 2013 • uses .NET Framework 4.0 But: • SignalR attaches itself to the „App_Start“ event and registers a route „~/signalr/hubs“ (so that clients always find the hub) • In SharePoint, there is no „App_Start“! ¯_(ツ)_/¯ Global.asax cannot be modified in a way that deployablesolution: write a HttpModule
49.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Integration in SharePoint (on-premises) So in order to get it working you have to write: • HttpModule • SPWebConfigModificationHandler • VirtualPathProvider Thanks to Max Melcher, you don„t have to: Go to Codeplex SPSignalR - real-time applications with SharePoint 2013 • enables you to host SignalR in a SharePoint WebApplication • web application feature, AppPool recycle, yoursharepoint.com/signalr/hubs
50.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Weak points • CORS (cross site scripting) • Different browsers handle this with different success… ;-) • Proxying required
51.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Integration in SharePoint Online (I) • Remote Event Receiver - Declaration
52.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Integration in SharePoint Online (II) • Remote Event Receiver - Implementation
53.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Integration in SharePoint Online (III) • SignalRHub in same project as RemoteEventReceiver
54.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de CODE 54
55.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Agenda 55 Realtime applications • Goals, use cases, examples Push technologies • WebSockets, Comet SignalR • Connections and hubs • Client libraries, supported platforms, scalability MVVM in JavaScript • knockout.js, jQuery, JSON, oDATA Events in SharePoint • Overview Bringing it all together • SharePoint 2010 • SharePoint 2013 • SharePoint Online
56.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Resources • Active community • Forums: http://forums.asp.net/1254.aspx • Github: We've found 493 repository results • Official website: http://asp.net/SignalR • Videos: http://channel9.msdn.com/search?term=signalr • Trainings: http://www.pluralsight.com/training/Courses/TableOfContents/signalr- introduction • JavaScript libraries: Angular, http://smoothiecharts.org/ • Books: Pushing Data: Integrating with ASP.NET SignalR Hubs http://henriquat.re/server- integration/signalr/integrateWithSignalRHubs.html • More links: https://delicious.com/c.heindel/signalr
57.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Open Source projects using SignalR JabbR • JabbR is an open source, real-time web chat system built using ASP.NET and SignalR. Source code is at https://github.com/davidfowl/jabbr. ShootR • ShootR is an open source, real-time, multi-player HTML5 space shooter game, using SignalR for real-time server-client communications. Source code is at https://github.com/NTaylorMullen/ShootR. ElmahR = ELMAH & SignalR • A real-time monitoring solution for ASP.NET applications built with ELMAH and SignalR. SignalR-ObjC • A community maintained Objective-C client for SignalR, for use with iOS and Mac.
58.
Seite© Communardo Software
GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Communardo Software GmbH Kleiststraße 10 a 01129 Dresden http://www.communardo.de info@communardo.de Phone: +49 (351) 833 820 Standort Stuttgart Leinfelder Straße 64 70771 Leinfelden-Echterdingen Phone: +49 (711) 722 497 09 Thank you for listening! 58 Christian Heindel info@christian-heindel.de www.communardo.de Mobile: +49 (0) 171 - 3123924 Twitter: @c_heindel Blog: http://blog.christian-heindel.de Blog: http://www.communardo.de/techblog/
Download now