The document discusses integrating real-time applications into SharePoint using SignalR and knockout.js. It begins with an overview of real-time applications and their goals, then covers push technologies like WebSockets. It introduces SignalR for creating real-time connections and hubs, and knockout.js for MVVM data binding in JavaScript. The document shows how to use events in SharePoint and integrate SignalR into SharePoint 2010, 2013, and Online by writing HTTP modules, handlers or using the SPSignalR library. It demonstrates building a real-time application with these technologies.
Mobile applications development - why should you start learning it right now?Natalija Rodionova
Mobile apps development- why should you start learning it right now?
- 7 reasons why should you start learning how to develop a mobile app?
- How much do mobile apps developers earn?
- 10 main instruments of a mobile app developer
- 5 technologies you should learn to be able to develop mobile
- 7 advices to start learning mobile apps development
- 5 industries which need mobile apps developers
This presentation compares Flex versus HTML 5 in terms of features that compose a typical RIA (rich internet application).
This talk given at Ignite Sydney 2009, where every talk was 20 slides, 5 minutes, 15 seconds each slide. These slides have been annotated with the narration from the talk. Check Youtube soon for the actual video.
Relevant links are in this blog post:
http://tr.im/html5flex
Crossplatform and HTML5
Deck from 13/5 training session during Mobilemonday Brussels Competence Center by Trainer: Joe O Reilly "head of services" of Feedhenry
at MC2BIS.eu
Overview of Aeternity Blockchain - Sophia smart contracts, state channels, oracles and current devtools.
Presentation from Silesian Blockchain Meetup #9 (Katowice 18.03.2019)
Mobile applications development - why should you start learning it right now?Natalija Rodionova
Mobile apps development- why should you start learning it right now?
- 7 reasons why should you start learning how to develop a mobile app?
- How much do mobile apps developers earn?
- 10 main instruments of a mobile app developer
- 5 technologies you should learn to be able to develop mobile
- 7 advices to start learning mobile apps development
- 5 industries which need mobile apps developers
This presentation compares Flex versus HTML 5 in terms of features that compose a typical RIA (rich internet application).
This talk given at Ignite Sydney 2009, where every talk was 20 slides, 5 minutes, 15 seconds each slide. These slides have been annotated with the narration from the talk. Check Youtube soon for the actual video.
Relevant links are in this blog post:
http://tr.im/html5flex
Crossplatform and HTML5
Deck from 13/5 training session during Mobilemonday Brussels Competence Center by Trainer: Joe O Reilly "head of services" of Feedhenry
at MC2BIS.eu
Overview of Aeternity Blockchain - Sophia smart contracts, state channels, oracles and current devtools.
Presentation from Silesian Blockchain Meetup #9 (Katowice 18.03.2019)
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
This presentation is part of my 2-hour Development Workshop that I conducted at a Motorola Channel Power event. The workshop covered various development options on the ET1 and covered Native Android Development, HTML5 basics and a step by step breakdown of a RhoElements application that integrated device capabilities like barcode scanning.
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...IBM Connections Developers
IBM SmartCloud for Social Business (IBM Connections in the cloud) provides an unique set of social and collaborative services like profiles, file sharing, community discussions and much more. Attend this webinar to see how to develop your own apps rapidly by leveraging these services from IBM Connections via the IBM Social Business Toolkit SDK. Additionally you will learn how to extend and customize IBM SmartCloud for Social Business via the extension framework.
Speakers:
Philippe Riand, IBM Collaboration Solutions Social Application Development Architect
Niklas Heidloff, IBM Collaboration Solutions Community Advocate
Mark Wallace, IBM Collaboration Solutions Social Business Toolkit SDK Architect
https://ibmdw.net/social
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
This is a live walkthrough where we convert a common full trust solution to a SharePoint Framework solution. May the demo Gods be kind to me. Really, we will do it. Does not cover all possible scenarios, but I will show you the general workflow for converting your full trust solutions to SPFx solutions. I show you the proper configuration for your development environment. We walk through building the SPFx solutions and deploying it to Office 365. Lots of DO’s and DON’Ts will be shared. I’ll show you some of my scars too. From this session forward, you will want to hone your skills in modern SharePoint and convert everything to SPFx solutions.
Attendee Takeaways:
1. Understand the why, the how, and what make up the SharePoint Framework (SPFx).
2. A live demonstration where we take a common Full Trust Solutions and covert it to the SharePoint Framework (SPFx) in less than 1 hour.
3. I share lots of tips, DO’s and DON’Ts to save you hours and days of your life. Yes, you are welcome :)
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
Adding social features to new or existing applications has never been easier with the advent of the Social Business Toolkit SDK. At this session we will discuss how social features can add real business value and you will see how easily they can be built using the SDK. The SDK heralds a transformation is how you develop applications on the IBM Social Platform so come along learn more.
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
On November 12th and 13th, Microsoft held a virtual developer event called Connect();. We'll review all of the highlights from the event and the surprising announcements that were made. And because I'm giving the presentation I'll also give my own unique view on the event.
A modified version of my Desert Code Camp 2011.2 presentation on SignalR from November 5th, 2011.
It's modified since I'm more of a talker and rarely utilize bullet points and much text in my slides.
An introduction to SignalR
This deck was part of my presentation to Virtusa employees on an ASP.NET asynchronous, persistent signaling library known as SignalR
There is also a slide on how to use SignalR with SharePoint.
Date: August 2013
Follow / Tweet me: @ShehanPeruma
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
This presentation is part of my 2-hour Development Workshop that I conducted at a Motorola Channel Power event. The workshop covered various development options on the ET1 and covered Native Android Development, HTML5 basics and a step by step breakdown of a RhoElements application that integrated device capabilities like barcode scanning.
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...IBM Connections Developers
IBM SmartCloud for Social Business (IBM Connections in the cloud) provides an unique set of social and collaborative services like profiles, file sharing, community discussions and much more. Attend this webinar to see how to develop your own apps rapidly by leveraging these services from IBM Connections via the IBM Social Business Toolkit SDK. Additionally you will learn how to extend and customize IBM SmartCloud for Social Business via the extension framework.
Speakers:
Philippe Riand, IBM Collaboration Solutions Social Application Development Architect
Niklas Heidloff, IBM Collaboration Solutions Community Advocate
Mark Wallace, IBM Collaboration Solutions Social Business Toolkit SDK Architect
https://ibmdw.net/social
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
This is a live walkthrough where we convert a common full trust solution to a SharePoint Framework solution. May the demo Gods be kind to me. Really, we will do it. Does not cover all possible scenarios, but I will show you the general workflow for converting your full trust solutions to SPFx solutions. I show you the proper configuration for your development environment. We walk through building the SPFx solutions and deploying it to Office 365. Lots of DO’s and DON’Ts will be shared. I’ll show you some of my scars too. From this session forward, you will want to hone your skills in modern SharePoint and convert everything to SPFx solutions.
Attendee Takeaways:
1. Understand the why, the how, and what make up the SharePoint Framework (SPFx).
2. A live demonstration where we take a common Full Trust Solutions and covert it to the SharePoint Framework (SPFx) in less than 1 hour.
3. I share lots of tips, DO’s and DON’Ts to save you hours and days of your life. Yes, you are welcome :)
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
Adding social features to new or existing applications has never been easier with the advent of the Social Business Toolkit SDK. At this session we will discuss how social features can add real business value and you will see how easily they can be built using the SDK. The SDK heralds a transformation is how you develop applications on the IBM Social Platform so come along learn more.
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
On November 12th and 13th, Microsoft held a virtual developer event called Connect();. We'll review all of the highlights from the event and the surprising announcements that were made. And because I'm giving the presentation I'll also give my own unique view on the event.
A modified version of my Desert Code Camp 2011.2 presentation on SignalR from November 5th, 2011.
It's modified since I'm more of a talker and rarely utilize bullet points and much text in my slides.
An introduction to SignalR
This deck was part of my presentation to Virtusa employees on an ASP.NET asynchronous, persistent signaling library known as SignalR
There is also a slide on how to use SignalR with SharePoint.
Date: August 2013
Follow / Tweet me: @ShehanPeruma
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
WaveMaker Webinar: Cloud-based App Development and Docker: Trends to watch out for in 2015 - http://www.wavemaker.com/news/webinar-cloud-app-development-and-docker-trends/
CIOs, IT planners and developers at a growing number of organizations are taking advantage of the simplicity and productivity benefits of cloud application development. With Docker technology, cloud-based app development or aPaaS (Application Platform as a Service) is only becoming more disruptive − forcing organizations to rethink how they handle innovation, time-to-market pressures, and IT workloads.
IoT Physical Servers and Cloud Offerings.pdfGVNSK Sravya
Introduction to Cloud Storage models
• Communication APIs
• Webserver-Web server for IoT
• Cloud for IoT
• Python web application framework
• Designing a RESTful web API.
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
Building production-quality apps with Node.jsmattpardee
First presented at DevConf.ru, this presentation makes the case for Node.js as the best platform for user engagement, and discusses Cloud9 IDE's open-source platform for Node apps, Architect.
IoT with SignalR & .NET Gadgeteer - NetMF@WorkMirco Vanini
Internet of things è vista come una possibile evoluzione dell'uso della Rete. Gli oggetti si rendono riconoscibili e acquisiscono intelligenza grazie al fatto di poter comunicare dati su se stessi e accedere ad informazioni aggregate da parte di altri. Partendo da queste affermazioni il talk preenterà una soluzione per il controllo ed il monitoraggio centralizzato dello stato di un sistema embedded a cui sono collegati una rete di sensori e di attuatori di varia natura attraverso l'utilizzo di SignalR. Tramite questa tecnologia è possibile realizzare servizi di notifica "push" con una straordinaria reattività, il tutto utilizzando il puro e semplice http
Similar to Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js (20)
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
1. Formatvorlage des Untertitelmasters durch Klicken bearbeiten
Platin-Partner: Gold-Partner: Veranstaltungs-Partner: Medien-Partner:
Echtzeitanwendungen für SharePoint
mit SignalR und knockout.js
Christian Heindel, Communardo Software GmbH
SignalR @c_heindel
2. Lösungen für die Kommunikation und Zusammenarbeit im Unternehmen
Wir sind Ihr Partner für Softwarelösungen, mit denen Sie die Kommunikation und
Zusammenarbeit in Ihrem Unternehmen, sowie mit Ihren Kunden und Lieferanten nachhaltig
stärken. Als Enterprise 2.0 Lösungshaus bieten wir alle Leistungen für die Realisierung und
erfolgreiche Einführung, mit einem umfassenden Service an Produkten, Beratung,
Softwareentwicklung, Training und Application Management.
Wir sind zertifizierter Partner von Microsoft, IBM und Atlassian und damit erster Ansprechpartner
für die Planung und Umsetzung Ihrer Enterprise 2.0
Lösung.
3. Agenda
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. Agenda
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
6. 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
7. TFS – Team Room
Quelle: http://tfs.visualstudio.com/en-us/news/2013-jun-3
12. Realtime ASP.NET Web API tracing with SignalR
Video:
http://www.strathweb.com/
2012/11/realtime-asp-net-web-
api-tracing-with-signalr/
13. JabbR
Collaborative chat done right
• Project:
http://about.jabbr.net/
• Code:
https://github.com/JabbR/JabbR
• Live demo:
https://jabbR.net
14. ShootR
Multiplayer space ship game
built on the SignalR framework.
• Code:
https://github.com/
ntaylormullen/shootr
• Live demo:
http://shootr.signalr.net/
18. Agenda
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
19. 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
20. 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
21. 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+
23. Agenda
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
24. 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)
26. 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
27. 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
29. 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
30. 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
32. 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)
• …
33. 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…
34. 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
35. SignalR: Performance and scalability (II)
• ScaleOut providers available since SignalR 1.1
– Azure Service Bus
– SQL Server
– Redis
36. 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.
});
37. Agenda
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
38. Why MVVM in JavaScript?
• Separate design from code
• Two-way DataBinding for properties
• Command binding
• Templates
39. Which framework to choose?
knockout.js
(Microsoft)
spine.js SproutCore JavascriptMVC ember.js
Angular.js
(Google)
…
40. 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
43. 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
}
}
44. 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/
45. 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/
46. Agenda
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
48. 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,
FeatureEventReceive
r installation,
activation,
deactivation, and
removal
49. Agenda
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
50. 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
51. 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
52. Weak points
• CORS (cross site scripting)
– Different browsers handle this with different
success… ;-)
• Proxying required
57. Agenda
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
58. 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
59. 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.
61. SharePoint Camp
ab 08. Juli in München
ab 05. August in Berlin
ab 02. September in Karlsruhe
in zwei speziellen Versionen
www.SharePointCamp.de
Trainings und Events der ppedv
Mehr als 100 verschiedene Trainings auf
Microsoft-Technologien spezialisiert
11 Standorte in AT & D Maßgeschneiderte Trainings direkt bei Ihnen vor Ort!
www.ppedv.at
Wir sehen uns wieder!
62. Hat Ihnen mein Vortrag gefallen?
Ich freue mich auf Ihr Feedback!