SlideShare a Scribd company logo
1 of 17
Download to read offline
Time to Push to the Mobile Web!
HTML5, Websockets, Mobile Web and Java!




Dominique Guinard
ETH Zurich / MIT Auto-ID Labs
Java Track 8.2
[www.flickr.com/photos/moragcasey/]



Who needs Web Push to a mobile phone?
MOTIVATION
                                        2
Mobile Monitoring of RFID Data

> Use-case:
   –   Simple Web app to monitor RFID
       readers
   –   Scan and run (no install)
   –   Real-time push
> General idea:
   –   No app / install & Cross device
   –   Real-world monitoring apps
   –   Lightweight (near) real-time




                                         3
[ www.flickr.com/photos/docman ]




Web Sockets? Quesako?
BACKGROUND
                                   4
The Problem: (a History of Web Push Hacks)

                            > Long-polling (Comet)
                              – Request – Wait – Request
                            > HTTP Streaming
                              – Connect – Keepalive
                            > …
                            > 101 of how to DoS a thread-
                              blocking Webserver.




                                                           5
The Solution: (HTML5) Websockets

 > Bi-directional & full duplex connection
   on a single TCP socket.
 > Direct support in the browser.
 > NAT, Firewall and (Proxy) traversal




http://jazoon.com/2010/Conference/Wednesday/Lubbers   6
The Solution: (HTML5) Websockets cont’d

> Client in 9 lines of
  Javascript
> Neat! But:
  – DRAFT, DRAFT & DRAFT!
  – Different browsers support
  – Safari for iOS 4.2 is the only
    mobile browser supporting it
    (more coming soon!)
                                     [www.wikipedia.org]




                                                           7
[ www.flickr.com/photos/dhedwards ]




Using Mobile Web Push today… for Java Developers!
TOOLS
                                                    8
Atmosphere

> Atmosphere is a great          Server            Version         Websocket
                                                                   Support
  portable “Web Push”
                                 Glassfish         >3.1            Yes (not
  framework
                                                                   default)
  – Transparent deployment       Tomcat            7               No (but NIO)
    across App/Web Servers
                                 Jetty             > 8 M2          Yes
    (Grizzly/Glassfish, Jetty,
    JBoss, etc.)                 Grizzly           2               Yes

> JQuery Plugin as a portable
  “Web Push” client
                                         I’m just a happy user, check it out
  – Transparent usage across              here: http://atmosphere.java.net/
    browsers, even for mobile
    apps (e.g., using Sencha
    Touch)                                                                        9
[www.flickr.com/photos/lpettinati]




Let’s get our hands dirty
DEMONSTRATION
                                             10
PubSub Server with Atmosphere

                      > A cross-server PubSub in a
                        few lines:
                        – Deployable in Jetty, Tomcat,
                          Glassfish, JBoss, etc.
                      > Smoothly combines with
                        REST and JAX-RS (Jersey)




                                                         11
Mobile Websocket Client

                          > Based on the Atmosphere
                            JQuery Plugin
                            – Cross browser!
                          > Mobile App flavor with
                            Sencha Touch
                          > RFID tags read by the
                            reader are pushed to the
                            mobile Web app!



                                                       12
App & Tomcat 6.26: Uses HTTP Streaming




                                         13
App & Jetty 8.0 M2: True Websocket Connection




                                                14
Architecture of the Demo




                           15
Take home!

> Web Push enables new apps
  – Also for the mobile Web (e.g., with Sencha Touch, Jo, etc.)!
   –   No install, cross-platform
   –   Real-world monitoring apps
  – Short-living interactions with real-time requirements
> HTML5 Websockets are not quite here yet
   –   Wide support in the Web galaxy (Node.js, Socket.io, Pusherapp, etc.)
   –   Emerging support in the Java galaxy…
   –   Glassfish / Grizzly, Jetty and cont’d
   –   Atmosphere and the JQuery plugin is of great help for client and server
       portability!
> Websockets also exist beyond the browser, e.g. for Android/Java

                                                                                 16
Thanks for your attention!
Dominique Guinard                        home: guinard.org
ETH Zurich / MIT Auto-ID Labs            blog: webofthings.com
                                         twitter: @domguinard


Tools/links mentioned in this talk on:
delicious.com/misterdom/jazoon2011

More Related Content

Viewers also liked

A Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
A Universal Application Platform for Sensors, RFID, NFC and Embedded DevicesA Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
A Universal Application Platform for Sensors, RFID, NFC and Embedded DevicesDominique Guinard
 
Activity Digital Identities in the Web of Things
Activity Digital Identities in the Web of ThingsActivity Digital Identities in the Web of Things
Activity Digital Identities in the Web of ThingsDominique Guinard
 
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, Arduino
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, ArduinoAndroid and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, Arduino
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, ArduinoDominique Guinard
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning ElasticsearchAnurag Patel
 
The Art of API Crafting for the IoT
The Art of API Crafting for the IoTThe Art of API Crafting for the IoT
The Art of API Crafting for the IoTDominique Guinard
 
Tourism and the Web of Things
Tourism and the Web of ThingsTourism and the Web of Things
Tourism and the Web of ThingsDominique Guinard
 
Business Aspects of the IoT: Making Products Smart
Business Aspects of the IoT: Making Products SmartBusiness Aspects of the IoT: Making Products Smart
Business Aspects of the IoT: Making Products SmartDominique Guinard
 
Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application ArchitectureDominique Guinard
 

Viewers also liked (8)

A Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
A Universal Application Platform for Sensors, RFID, NFC and Embedded DevicesA Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
A Universal Application Platform for Sensors, RFID, NFC and Embedded Devices
 
Activity Digital Identities in the Web of Things
Activity Digital Identities in the Web of ThingsActivity Digital Identities in the Web of Things
Activity Digital Identities in the Web of Things
 
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, Arduino
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, ArduinoAndroid and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, Arduino
Android and the Web of Things: NFC, QR, BLE, Bluetooth, EPC, Arduino
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
 
The Art of API Crafting for the IoT
The Art of API Crafting for the IoTThe Art of API Crafting for the IoT
The Art of API Crafting for the IoT
 
Tourism and the Web of Things
Tourism and the Web of ThingsTourism and the Web of Things
Tourism and the Web of Things
 
Business Aspects of the IoT: Making Products Smart
Business Aspects of the IoT: Making Products SmartBusiness Aspects of the IoT: Making Products Smart
Business Aspects of the IoT: Making Products Smart
 
Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application Architecture
 

Similar to HTML5, Websockets & the Mobile Web

Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01purans
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile partsFrancesco Fullone
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoCaridy Patino
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Peter Moskovits
 
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTWebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTFrank Greco
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeMatthew Chang
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersViktor Gamov
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketMauricio "Maltron" Leal
 
Web of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebWeb of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebDominique Guinard
 
Ajax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise ApplicationsAjax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise Applicationselliando dias
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010Patrick Lauke
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSocketsRoland M
 

Similar to HTML5, Websockets & the Mobile Web (20)

Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
 
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerryjWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
 
Web apps of the future
Web apps of the futureWeb apps of the future
Web apps of the future
 
Web assembly with PWA
Web assembly with PWA Web assembly with PWA
Web assembly with PWA
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
 
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTWebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
Jetty Vs Tomcat
Jetty Vs TomcatJetty Vs Tomcat
Jetty Vs Tomcat
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
GWT and PWA
GWT and PWAGWT and PWA
GWT and PWA
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
 
Web of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebWeb of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the Web
 
Ajax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise ApplicationsAjax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise Applications
 
Node.js
Node.jsNode.js
Node.js
 
Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSockets
 

More from Dominique Guinard

From the internet of things to the web of things course
From the internet of things to the web of things courseFrom the internet of things to the web of things course
From the internet of things to the web of things courseDominique Guinard
 
5 Years of Web of Things Workshops
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things WorkshopsDominique Guinard
 
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...Cloud Computing, REST and Mashups to Simplify RFID Application Development an...
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...Dominique Guinard
 
Comparing SOAs for the Internet of Things
Comparing SOAs for the Internet of ThingsComparing SOAs for the Internet of Things
Comparing SOAs for the Internet of ThingsDominique Guinard
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkEPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkDominique Guinard
 
Epc Mashup Dashboard Salespitch
Epc Mashup Dashboard SalespitchEpc Mashup Dashboard Salespitch
Epc Mashup Dashboard SalespitchDominique Guinard
 
Web Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsWeb Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsDominique Guinard
 
Physical Mashups in the Web-Home
Physical Mashups in the Web-HomePhysical Mashups in the Web-Home
Physical Mashups in the Web-HomeDominique Guinard
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDDominique Guinard
 
Social Sharing In a Web of Things
Social Sharing In a Web of ThingsSocial Sharing In a Web of Things
Social Sharing In a Web of ThingsDominique Guinard
 
When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)Dominique Guinard
 
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Dominique Guinard
 
Using Spatial Conditions for Mobile Applications
Using Spatial Conditions for Mobile ApplicationsUsing Spatial Conditions for Mobile Applications
Using Spatial Conditions for Mobile ApplicationsDominique Guinard
 

More from Dominique Guinard (17)

From the internet of things to the web of things course
From the internet of things to the web of things courseFrom the internet of things to the web of things course
From the internet of things to the web of things course
 
1 billion thngs at a time
1 billion thngs at a time1 billion thngs at a time
1 billion thngs at a time
 
5 Years of Web of Things Workshops
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things Workshops
 
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...Cloud Computing, REST and Mashups to Simplify RFID Application Development an...
Cloud Computing, REST and Mashups to Simplify RFID Application Development an...
 
Comparing SOAs for the Internet of Things
Comparing SOAs for the Internet of ThingsComparing SOAs for the Internet of Things
Comparing SOAs for the Internet of Things
 
WoT Tutorial @ Cisco
WoT Tutorial @ CiscoWoT Tutorial @ Cisco
WoT Tutorial @ Cisco
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID NetworkEPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID Network
 
WoT @ Oracle-Labs
WoT @ Oracle-LabsWoT @ Oracle-Labs
WoT @ Oracle-Labs
 
A ROA for the WOT
A ROA for the WOTA ROA for the WOT
A ROA for the WOT
 
Epc Mashup Dashboard Salespitch
Epc Mashup Dashboard SalespitchEpc Mashup Dashboard Salespitch
Epc Mashup Dashboard Salespitch
 
Web Messaging for Open for Web of Things
Web Messaging for Open for Web of ThingsWeb Messaging for Open for Web of Things
Web Messaging for Open for Web of Things
 
Physical Mashups in the Web-Home
Physical Mashups in the Web-HomePhysical Mashups in the Web-Home
Physical Mashups in the Web-Home
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFID
 
Social Sharing In a Web of Things
Social Sharing In a Web of ThingsSocial Sharing In a Web of Things
Social Sharing In a Web of Things
 
When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)When Things will Speak "Web" (Lecture)
When Things will Speak "Web" (Lecture)
 
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
 
Using Spatial Conditions for Mobile Applications
Using Spatial Conditions for Mobile ApplicationsUsing Spatial Conditions for Mobile Applications
Using Spatial Conditions for Mobile Applications
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 - 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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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 - 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 ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

HTML5, Websockets & the Mobile Web

  • 1. Time to Push to the Mobile Web! HTML5, Websockets, Mobile Web and Java! Dominique Guinard ETH Zurich / MIT Auto-ID Labs Java Track 8.2
  • 2. [www.flickr.com/photos/moragcasey/] Who needs Web Push to a mobile phone? MOTIVATION 2
  • 3. Mobile Monitoring of RFID Data > Use-case: – Simple Web app to monitor RFID readers – Scan and run (no install) – Real-time push > General idea: – No app / install & Cross device – Real-world monitoring apps – Lightweight (near) real-time 3
  • 4. [ www.flickr.com/photos/docman ] Web Sockets? Quesako? BACKGROUND 4
  • 5. The Problem: (a History of Web Push Hacks) > Long-polling (Comet) – Request – Wait – Request > HTTP Streaming – Connect – Keepalive > … > 101 of how to DoS a thread- blocking Webserver. 5
  • 6. The Solution: (HTML5) Websockets > Bi-directional & full duplex connection on a single TCP socket. > Direct support in the browser. > NAT, Firewall and (Proxy) traversal http://jazoon.com/2010/Conference/Wednesday/Lubbers 6
  • 7. The Solution: (HTML5) Websockets cont’d > Client in 9 lines of Javascript > Neat! But: – DRAFT, DRAFT & DRAFT! – Different browsers support – Safari for iOS 4.2 is the only mobile browser supporting it (more coming soon!) [www.wikipedia.org] 7
  • 8. [ www.flickr.com/photos/dhedwards ] Using Mobile Web Push today… for Java Developers! TOOLS 8
  • 9. Atmosphere > Atmosphere is a great Server Version Websocket Support portable “Web Push” Glassfish >3.1 Yes (not framework default) – Transparent deployment Tomcat 7 No (but NIO) across App/Web Servers Jetty > 8 M2 Yes (Grizzly/Glassfish, Jetty, JBoss, etc.) Grizzly 2 Yes > JQuery Plugin as a portable “Web Push” client I’m just a happy user, check it out – Transparent usage across here: http://atmosphere.java.net/ browsers, even for mobile apps (e.g., using Sencha Touch) 9
  • 11. PubSub Server with Atmosphere > A cross-server PubSub in a few lines: – Deployable in Jetty, Tomcat, Glassfish, JBoss, etc. > Smoothly combines with REST and JAX-RS (Jersey) 11
  • 12. Mobile Websocket Client > Based on the Atmosphere JQuery Plugin – Cross browser! > Mobile App flavor with Sencha Touch > RFID tags read by the reader are pushed to the mobile Web app! 12
  • 13. App & Tomcat 6.26: Uses HTTP Streaming 13
  • 14. App & Jetty 8.0 M2: True Websocket Connection 14
  • 16. Take home! > Web Push enables new apps – Also for the mobile Web (e.g., with Sencha Touch, Jo, etc.)! – No install, cross-platform – Real-world monitoring apps – Short-living interactions with real-time requirements > HTML5 Websockets are not quite here yet – Wide support in the Web galaxy (Node.js, Socket.io, Pusherapp, etc.) – Emerging support in the Java galaxy… – Glassfish / Grizzly, Jetty and cont’d – Atmosphere and the JQuery plugin is of great help for client and server portability! > Websockets also exist beyond the browser, e.g. for Android/Java 16
  • 17. Thanks for your attention! Dominique Guinard home: guinard.org ETH Zurich / MIT Auto-ID Labs blog: webofthings.com twitter: @domguinard Tools/links mentioned in this talk on: delicious.com/misterdom/jazoon2011