The HTML5 Connectivity License

Slides:



Advertisements
Similar presentations
Games, chat, and finance Toward a truly interactive web with Comet, BAM, and HMTP Emil Ong Chief Evangelist.
Advertisements

The GridSite Toolbar Shiv Kaushal The University of Manchester All Hands Meeting 2006.
IoT with SignalR & .NET Gadgeteer
Enabling Secure Internet Access with ISA Server
Overview Environment for Internet database connectivity
Develop the idea of protocols by modelling a computer network with the children as client machines and the teacher as the server. Pass messages around.
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Building and using REST information services Rion Dooley.
Microsoft Confidential. An incubation effort to: Support client -> server communication in native code with a modern C++ API design Support writing Azure-based.
By Loukik Purohit & Rohit Ghatol
jWebSocket – The Real-time Communication and Messaging Framework
Tornado Web and MongoDB An Introduction to AsyncMongo MongoBoston John C. Zablocki Development Manager, HealthcareSource Organizer, Beantown.
A Javascript Implementation of the Binary DIS Protocol Don McGregor, Don Brutzman, Curt Blais, MOVES Institute
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
Introduction to Computing Using Python CSC Winter 2013 Week 8: WWW and Search  World Wide Web  Python Modules for WWW  Web Crawling  Thursday:
MMOs and Socket Servers Diego O. Scarpa 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.
Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.
Muhammad Taimoor Khan
Big Data Open Source Software and Projects ABDS in Summary XVI: Layer 13 Part 1 Data Science Curriculum March Geoffrey Fox
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Using Internet Information Server And Microsoft ® Internet Explorer To Implement Security On The Intranet HTTP.
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Building Real Time Applications with ASP.NET SignalR 2.0
SignalR Real Time with SignalR Jared Rhodes Senior Consultant Magenic.
IST346:  Web Services. Today’s Agenda  Learn the basics of how the Web works  Understand various web service architectures  Address scaling, security,
CEO, Tech IT Easy Lab of Pervasive VM Computing A Beginner’s Guide to XMPP.
| Basel Discovering Windows Azure Mobile Services and Media Services Ken Casada
Web Client/Server Communication A290/A590, Fall /09/2014.
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
Course 201 – Administration, Content Inspection and SSL VPN
Spiral 1 Design Joshua Horwitz Mackenzie Sweeney.
Lightning Talk Fred Rodriguez Aakash Juneja CPSC 473 March 16, 2012.
WebSockets [intro].
Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Open Source: It's Already Here Dave Cross Magnum Solutions Ltd
STOMP 1.2 GETTING THE MESSAGE ACROSS: REBOOTED. BRIEF INTRODUCTION Julian Lyndon-Smith, IT Director dot.r limited Progress developer since v3, 1987 Living.
System Architecture.  Windows Phone 7  Mobile Phone Application  User – End Perspective  Google App Engine  Administration Console  Handles authentication,
Introducing XMPP For real-time communication. Agenda Protocol Market Implementation.
1 What Can HTML5 WebSocket Do For You? Sidda Eraiah Director of Management Services Kaazing Corporation.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
1 80 th IETF meeting NETCONF Notification over WebSocket Protocol ( draft-iijima-netconf-websocket-ps-00) Tomoyuki Iijima, (Hitachi) Yoshifumi Atarashi,
Sockets process sends/receives messages to/from its socket
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
1 82 nd IETF meeting NETCONF over WebSocket ( ) Tomoyuki Iijima, (Hitachi) Hiroyasu Kimura,
Introduction to 學校:大同大學 班級: GI1 學號: 姓名:李奕銳 教師:葉慶隆 Jabber 1.

2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
HTTP How the Internet servers and clients communicate.
ICM – API Server & Forms Gary Ratcliffe.
Securing Angular Apps Brian Noyes
ICM – API Server Gary Ratcliffe. 2 Agenda Webinar Programme API Server Overview JSON-RPC iCM API Service API Server and Forms New services under.
Java Servlets and Java Server Pages
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
15 May 2006 IVOA - Victoria: VOEvent 11 Jabber/XMPP Matthew J. Graham Caltech T HE US N ATIONAL V IRTUAL O BSERVATORY.
Jetty 9 Dima Ionut Daniel. Contents What is Jetty? History Jetty 9 new features Jetty Configuration Deployment Arhitecture JMX SPDY Handlers WebSocket.
COMP2322 Lab 4 Socket Programming Toby Lam March 2, 2016.
Keith Telle Lead Software Engineer Bit Wizards Behind the Magic: SignalR Demystified.
Research of Web Real-Time Communication Based on WebSocket
Progress Apama Fundamentals
CS5220 Advanced Topics in Web Programming Introduction to WebSocket
Fast data arrives in real time and potentially high volume
Data Virtualization Tutorial… OAuth Example using Google Sheets
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
WebSocket: Full-Duplex Solution for the Web
Building real-time web apps with HTML5 WebSockets
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Presentation transcript:

The HTML5 Connectivity

License

Agenda A is for Applications B is for Bi-Directional C is for Connectivity #html5

‘A’ is for (Web) Applications June 2004 W3C Meeting in San Jose, California: – Discussion about the rise of web applications – Vote on updating HTML for web applications: 8 For 14 Against Result: – Web Hypertext Application Technology Working Group (WHATWG) formed 2 days later – Web Applications 1.0  HTML5

HTML5 Feature Areas

Browser Support Native Support: Polyfills (emulation): Modernizr’s All in One page:

HTML5 “Paves the Cow Paths” A pragmatic approach Fix real-world problems Especially true for Connectivity features

HTML5 Connectivity

Hang on, I can already do that! Yes, but… Same-origin restrictions JSON with Padding (JSONP) vulnerabilities Half-duplex HTTP architecture Reverse Ajax (COMplExiTy!) – Excessive Overhead – High Latency

Traditional Architecture 100% Half Duplex

Modern Web Application Architecture 100% Hipster

Cross Document Messaging Enables secure cross-origin communication across iframes, tabs, and windows PostMessage API (also used in Web Workers) Demo: DZSLides (Paul Rouget, Mozilla):

PostMessage Architecture Cross Document Messaging

CORS HTML5 introduces Cross-Origin Resource Sharing (CORS) – – Allows (safe) exemptions from the Same-Origin Policy – “With CORS you receive data instead of [JSONP] code, which you can parse safely” —Frank Salim

XMLHttpRequest Level 2 Improvements over Level 1: – Cross-origin XMLHttpRequest – Progress events – Binary support Specification: Demo:

 Level 2 XMLHttpRequest  Level 1

Server-Sent Events Standardizes sending a continuous stream of data from server to browser EventSource API Great for newsfeeds, one-way streams of data SSE-specific features: Automatic reconnection Event IDs

SSE Architecture

WebSocket New API (W3C) and Protocol (IETF RFC 6455)W3CIETF RFC 6455 Allows browser to communicate with a remote host Full-duplex (bi-directional), single socket Port 80/443 (ws:// and wss://) Huge reduction in unnecessary overhead and latency A socket in your browser!

If You Want to Build Web Apps for… Financial trading Social networking Gaming Gambling System monitoring RFID tracking … WebSocket to the rescue!

Serious Overhead Reduction

Huge Latency Reduction Using CometUsing WebSocket

(Fairly) Complete List of WebSocket Servers Alchemy-Websockets (.NET) Apache ActiveMQ (Java) apache-websocket (C) websocket#readme websocket#readme APE Project (C) Autobahn (virtual appliance) Cowboy Cramp (Ruby) Diffusion (Commercial product) EM-WebSocket (Ruby) Extendible Web Socket Server (PHP) Socket-Server Socket-Server gevent-websocket (Python) websocket/ websocket/ GlassFish (Java) Goliath (Ruby) Jetty (Java) jWebsocket (Java) Kaazing WebSocket Gateway (Java) libwebsockets (C) Misultin (Erlang) net.websocket (Go) Netty (Java) Nugget (.NET) Orbited (Python) phpdaemon (PHP) Pusher (cloud service) pywebsockets (Python) RabbitMQ (Erlang) websockets websockets Socket.io (Node.js) SockJS-node (Node) SuperWebSocket (.NET) Tomcat (Java) Tornado (python) txWebSocket (Python) vert.x (Java) Watersprout (PHP) web-socket-ruby (Ruby) Webbit (Java) WebSocket-Node (Node.js) websockify (Python) XSockets (.NET) Yaws (Erlang)

Extending WebSocket Most importantly, once you have WebSocket, you can extend client-server protocols to the web: Chat: XMPP (Jabber), IRC Pub/Sub (Stomp/AMQP) VNC (RFB) Any TCP-based protocol The browser becomes a first-class network citizen Demo: This presentation in real time!

Insert ritual dance to the demo gods here…

 You Me    WebSocket   Diagram and Presso (based on impress.js)impress.js

WebSocket Demo

WebSocket Demo

Securing HTML5 Communication

CORS General move to TLS/port 443 – Encrypted tunnel allows traversal of intermediaries – Less overhead than originally thought – Example: SPDY Using standard, open ports has a big advantage "We want some chance of getting this (SPDY) protocol out in our live time” —Roberto Peon (Google) And more: – Single Sign-On, Authentication and Authorization For example, Kaazing Kerberos protocol over WS

LinkedIn: Peter Lubbers

Buy the Book! Pro HTML5 Programming 2 nd Edition (Apress, 2011) 40% off e-book coupon code: HTL

Additional Resources SFHTML5 Talk about Connectivity and Real Time Presentation: connectivity connectivity HTML5 Weekly Newsletter: The Web Ahead Podcast: San Francisco HTML5 User Group (monthly presentations and videos): Kaazing WebSocket Gateway:

HTML5 Training Kaazing University provides proven, practical HTML5 training worldwide (experts, not just trainers) Customers include Google, Cisco, Intel, and more Web site: us:

-