HTML5 WebSockets Workshop

HTML5 WebSockets are a new standardized interface for continuous, bi-directional, low-overhead communications between browsers and servers. This will enable the development of a new generation of dynamic, browser-based web applications. 

 

WebSockets are receiving interest and support from across the Web development community. Most modern browsers (for example, Chrome, Firefox, Opera and Safari) support WebSockets.

 

"Reducing kilobytes of data to 2 bytes and reducing latency from 150ms to 50ms is far more than marginal. In fact, these two factors alone are enough to make WebSocket seriously interesting to Google."

—Ian Hickson (Google)

 

This one-day workshop is an ideal way for developers to quickly get up to speed on the WebSocket standard.  We do this by working our way through the development of a WebSocket application on both the client and server side.

 

Workshop Duration

 

1 day

 

Workshop Objectives

 

Although the basic concept of a WebSocket-enabled application is relatively simple, the actual implementation of this technology involves a number of steps which require careful attention to detail. This one-day workshop is designed to help developers quickly get up to speed with building complete, real-time WebSocket-based applications

 

Attendees will receive the client and server source code for a simple but representative enterprise application. This code will include the key components of both the client and server side software and can be used as a template for attendees' own applications. In addition, attendees will receive a developer's edition of the Kaazing WebSocket Gateway.

 

Upon completion of the workshop, you will be able to:

 

  •  Compare HTML5 WebSocket with other real-time web programming techniques.
  • Configure a WebSocket server and an open-source message broker
  • Design the messaging protocols for a WebSocket application
  • Develop, deploy, manage, and secure a real-time HTML5 WebSocket application

HTML5 WebSocket Workshop Audience

 

This course is for software developers interested in designing, creating, and deploying real-time HTML5 WebSocket applications. No prior experience is required in asynchronous web communications (Ajax, Comet), though advanced developers will find plenty of value.  You should have basic authoring and debugging skills in HTML and JavaScript; PHP and Java experience is useful but not required.

 

HTML5 WebSocket Workshop Outline

 

The following is a breakdown of all the course modules. Attendees receive electronic copies of the presentations, lab files, and sample code.

 

Introduction

 

  • WebSocket overview
  • WebSocket vs. Comet and AJAX
  • JavaScript WebSocket API
  • Browser compatibility
  • Current WebSocket servers
  • Lab: Network traffic analysis – WebSockets vs. HTTP polling

 

WebSocket Servers

 

  • WebSocket server overview
  • WebSocket application architecture
  • Layering protocols on WebSocket (e.g. Stomp)
  • Lab: WebSocket server setup and developing a simple WebSocket Client

 

Enterprise Messaging

 

  • WebSocket via JavaScript
  • Programming alternate protocols (e.g. Stomp, JMS)
  • Lab: Creating the messaging client application
  • Writing and debugging server-side code
  • Lab: Creating the server application

WebSockets in the Real World

 

  • Security
    • Cross-Origin Resource Sharing
    • WebSocket Secure (WebSocket Over TLS)
  • Monitoring
  • Bonus lab: Cloud Deployment and securing WebSocket deployments

Kaazing Training Prerequisites

 

This section describes the recommended and optional system and software for Kaazing's HTML5 courses:

Facility prerequisites

Attendee system and software prerequisites

 

Facility Prerequisites

 

A facility hosting the Kaazing Master Class must provide the following items:

 

  • Reliable, fast Internet access (via Wi-Fi or wired)
  • Projector (VGA-compatible)
  • Whiteboard
  • A good supply of coffee

Attendee System and Software Recommendations

 

The following software is recommended for all participants' systems:

Questions?

 

If you have any questions whatsoever, please contact training@kaazing.com.