After streaming data has been collected, processed, and stored, it is time to deliver this data to end users. Historically, streaming data applications have employed customized “thick” clients of various kinds. With the introduction of web-based interfaces, the applications evolved to either applet-based approaches using Java or often to plug-in-based approaches. For example, Adobe has provided streaming interfaces via Flash using its LiveCycle server line for years.
Neither the applet nor the plug-in-based approach is particularly appealing in a modern delivery environment. First and foremost, with the rise of truly mobile computing, these options are simply not available for web-based delivery. Citing security and power usage concerns, modern browsers also severely limit these options, which makes using them more and more difficult in a desktop environment.
Fortunately, web browser standards have progressed to the point where rich data applications are possible, even those with streaming data connections. The standards most important for streaming applications are the Server-Side Events and Web Socket frameworks. Both of these options have wide browser adoption and allow for a web page to receive streaming updates.
Although it's not a complete guide to web application development, this chapter provides an introduction to the topic with a focus on real-time applications. It introduces the basics of web application back-end structures and ...