Peter Lubber's highly practical three day course HTML5 Communication for Real-time Web applications, using Web Sockets, Server-Sent Events (SSE), PostMessage, Cross-Document Messaging and more will teach you how to create next generation real-time Web 2.0 solutions, using HTML 5 Communication which will work in today's browsers.
Come and learn about HTML5 Communication and Web Sockets architecture. With these new standards, the browser can now enjoy the first-class citizenry of network communications that has long been enjoyed by desktop applications. You will learn how to use the emerging standards to build scalable, mission critical real-time Web 2.0 applications such as:
- Trading System Clients
- Online Betting Applications
- Social Chat Solutions
- Performance Monitoring Applications
- RFID & GPS Tracking Applications
- Sports & News Broadcasting Applications
Upon completion of this course you will know how to create your own scalable, real-time Web applications with the latest HTML5 Communication technologies.
History of the Real-Time Web
The Web Today
- The current state of the web
- About the HTTP protocol
- About AJAX
- Polling, or ''nearly real-time''
Lab: "Fake-Time Stock" - A polling stock matrix
Previous push technology attempts
- Reverse AJAX and Comet
- Server-initiated message delivery
- Long-polling and streaming
- Comet runtime implementations
- What's next?
Demonstration: "The Stock Matrix"
Push Technology Concerns
- Scalability
- Shared notification pipeline
- Network flooding
- Security
- Cross-domain issues
- Connection limit
- Bypassing proxies
Improving the Application
- Addressing the concerns
- Architecture overview
- Establishing connections
- Streaming data to a client
- Notification pipeline
- Polling and streaming
- Building blocks
Lab: "Cleaning Up the Stock Matrix" - Replacing the polling piece in the earlier stock matrix
Client-Side Frameworks Integration
- Overview of client side frameworks
- Integrating with different client-side frameworks
Lab: "Polish that Stock" - Enhancing the stock matrix using a toolkit
HTML5 WebSockets and Server-Sent Events
HTML5 WebSockets and Server-Sent Events
- HTML5 Communication specification
- Standard WebSocket server implementations
Lab: "Running WebSocket" - Installing and testing a WebSocket server
Introduction to Transport Protocols
- Transport protocol overview
- Notification pipeline
- Payload
- Protocols
- Integration with (useful) transport protocols
- Practical use cases
Demonstration: "Chat and Stock"
Real-Time Integration with Stomp and Apache ActiveMQ
- Overview
- Stomp protocol
- Client-side APIs for the Stomp protocol
- Apache ActiveMQ
- RabbitMQ
- About AMQP Integration
- About JMS Integration
Lab: "working with Stomp" - Creating a simple Stomp client
Real-Time Integration with XMPP and other Chat Protocols
- Overview of XMPP
- Client-side APIs for XMPP
- Integrating with GTalk and Jabber
Lab: "Talk the Talk" - Creatng a Facebook-like chat solution with naive XMPP protocol support
Cross-Domain Issues
- Overview of existing concerns
- Domains and subdomains
- Connection sharing
- Browser limitations (two-connection limit) and support
Lab: "Combo Platter" - Combining the stock matrix and the Facebook-like chat applications into one application
WebSockets in the Enterprise
Creating a Custom WebSocket Protocol Client
- Protocol implementation decisions
- Implementing the protocol client
Lab: "Be Creative" - Writing a Stomp protocol client in JavaScript
Network Flooding
- Message flooding
- Management
Lab: "Throttle It!" - Configuring Apache ActiveMQ and Stomp protocol throttling
Load Balancing and Fault Tolerance
- Scalability architecture
- Scaling up
- Scaling out
- Java VM limitations
- Java Real-Time benefits
- Fault tolerance
- Data partitioning
- Tools and utilities for testing and benchmarking (open source)
Lab: " Benchmarking Websockets" - Using opensource tools to benchmark performance
Security
- Security Overview
- Protocol-based security
- Protocol validation
- SSL certificates
- Single sign-on
Lab: "Lockdown" - Configuring a Websocket server for secure access