Welcome!

@CloudExpo Authors: Pat Romanski, Yeshim Deniz, Elizabeth White, Liz McMillan, Jeev Trika

Related Topics: Microservices Expo, Java IoT, Containers Expo Blog, @CloudExpo

Microservices Expo: Article

Five Signs You Need HTML5 WebSockets

You can extend your SOA over the Web and in the cloud

HTML5 WebSocket is an important new technology that helps you build engaging, interactive, real-time web applications quickly and reliably. Sure, HTML5 WebSockets may be the best thing since sliced bread, but is this new technology right for you?

This article identifies five types of web applications that will benefit from HTML5 WebSockets. So, without further ado... give me five!

The Five Signs

  1. Your web application has data that must flow bi-directional simultaneously.
  2. Your web application must scale to large numbers of concurrent users.
  3. Your web application must extend TCP-based protocols to the browser.
  4. Your web application developers need an API that is easy to use.
  5. Your web application must extend SOA over the Web and in the Cloud.

1. Your application has data that must flow bi-directional simultaneously.
When the Web was first conceived, it focused on document retrieval. Users requested a URL and the server delivered an object (for example, a web page or an image file). Today, the Web also comes to us. Servers want to let us know when they have something for us, be it a stock update or a message from a friend. Unfortunately, due to current Web architecture, clients must initiate communication with the server using half-duplex (request/response) HTTP. Even relatively static applications need a way to communicate asynchronously between the client and the server for common tasks, such as spell-checking or search auto-completion.

Up until now, in an effort to simulate full-duplex communication over half-duplex HTTP, developers have contrived clever tricks and techniques using two connections: one for the downstream and one for the upstream. Many of these techniques use polling or long-polling (Comet) to simulate server-initiated push. The maintenance and coordination of two connections causes significant resource consumption overhead and adds lots of complexity. Furthermore, these techniques do not provide true full-duplex communication where data can be transferred between the client and the server simultaneously. Simply put, HTTP was not designed for real-time, full-duplex communication.

Now, HTML5 WebSockets deliver a full-duplex communication model for the Internet: communication between the client and server can now flow in both directions at the same time. For today's web application developers, this new concept opens up entirely new application models without the burden and overhead of earlier approaches.

If you are building a web application that has data that must flow bi-directionally and simultaneously, you need to use HTML5 WebSockets.

2. Your application must scale to large numbers of concurrent users
If you are building a web application for a large number of concurrent users, you are inevitably going to face resource contention, particularly when each of your users must establish a connection to your back-end server. Typically, each of those connections includes the overhead of HTTP's verbose request-and-response protocol, as well as the establishment and teardown of secure connections.

The HTTP request and response model suffers from a significant amount of overhead. When retrieving a large document from a server, a few hundred bytes of HTTP header overhead is not a big deal. Consider what happens, however, when each message sent to a client is only a few bytes, such as a stock price update or a chat message that is only 20 characters long. The majority of the data transmitted in this case is unnecessary HTTP header overhead (up to 2000 or even more bytes for the single message), making the communication highly inefficient.

HTML5 WebSockets specify a new, vastly more efficient way of communicating between clients and servers that is far less taxing on the application and easier for the underlying network infrastructure to handle. Replacing hundreds of HTTP header bytes with just two WebSocket frame bytes leads to a massive reduction in unnecessary network throughput (1000:1). In addition, the lack of continuous polling dramatically reduces latency. All of this means that a single WebSocket server can deal with many more users at once, reducing the total cost of ownership (TCO).

HTML5 WebSockets provide such a dramatic improvement from the old, convoluted hacks that simulate a full-duplex connection in a browser that it prompted Google's Ian Hickson, the HTML5 specification lead, to say:

"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 WebSockets seriously interesting to Google."

3. Your application must extend TCP-based protocols to the browser.
Many web applications need to connect end users to information from back-end, TCP-based services. These services are contained in legacy systems, or travel across enterprise message buses via APIs and protocols such as TIBCO EMS, JMS, RMDS, AMQP, XMPP, and Stomp.

Some applications may be composed of several subsystems, each using a different application protocol. For example, one subsystem may require a publish/subscribe programming model that listens and responds to the changing prices of inventory items, another subsystem may receive a large volume of database events pushed from a column-based persistence engine, and yet another subsystem may need to support chat and chat rooms.

By using WebSockets, your application can avoid siloed solutions for each subsystem. You no longer have to use hacks to push data to a browser or use CPU and network-intensive polling to simulate publishing and subscribing. With WebSocket, the W3C and IETF standards bodies have provided an elegant way to enable full-duplex network communication over the Web. In addition, since WebSocket traffic flows over standard HTTP ports (80 and 443), there is no need to open additional ports on corporate firewalls to take advantage of full-duplex communication.

4. Your application developers need an API that is easy to use.
To deliver a compelling, usable application, developers rely on rich client platforms such as Adobe Flex (Flash), Microsoft Silverlight, Java/JavaFx, and JavaScript. However, connecting these rich clients to real-time data over the Web can be challenging. Developers often have to create their own client- and server- side communication libraries, essentially reinventing the wheel to overcome some of the inherent limitations of HTTP.

Consider how much time and effort is required to create a reliable two-way communications protocol and to connect an application server to back-end systems. Testing and securing applications built on top of this protocol is difficult, because it is harder to pinpoint the problem in a proprietary protocol. Moreover, the work is application-specific, thwarting all attempts to re-use it.

HTML5 WebSockets offer a single, standard interface against which to develop. This means developers can spend less time building and testing communication protocols and more time designing a superb client-side experience - without having to redo the back-end work. HTML5 WebSockets eliminate much of the custom development work that engineers have to do to create a fast, secure, full-duplex application.

5. Your application must extend SOA over the web and in the cloud.
Your enterprise service-oriented architecture (SOA) application or SOA product works well on an internal enterprise network, but you now have to deploy your high-performance distributed software over the web - and through the quagmire of firewalls and proxy servers along the way - to leverage all the advantages of a web infrastructure for your demanding customers and even more-demanding management.

With WebSockets, your applications can open a standardized, full-duplex connection over the web. Developers can leverage this connection to extend messages from a SOA inside the firewall to an external SOA, such as a high-performance Enterprise Service Bus (ESB) or a web-based Supply Chain in a cloud environment.

HTML5 WebSockets are more efficient than current architectures, and WebSocket applications can handle more concurrent users and a greater message volume, with less infrastructure. This ability is good for any application that has to deal with capacity constraints, as the number of servers required is lower. Where this really makes a difference, however, is in on-demand computing environments in public and private clouds. In a cloud-computing model, capacity is elastic: you pay for what you use.

Traditionally, there are two ways of handling growing demand. The first is to scale "vertically," which involves buying a bigger machine, adding RAM, and so on. Modern web applications do not use this approach; however; they scale "horizontally" - that is, to handle an increasing load, you add more machines at each of the tiers in the application.

Web applications deployed on elastic computing platforms must be especially aware of their resource consumption. In a cloud, the addition of machines is often automated, so there is no upper limit on resource consumption. Now, inefficient code translates directly into a higher bill at the end of the month, because more virtual machines were spun up to handle the traffic. In these environments, the efficiency of HTML5 WebSockets is particularly compelling.

Summary
This article showed you five reasons why you should be using WebSockets for your web applications. You learned that HTML5 WebSockets can enable true full-duplex communication, can handle large numbers of concurrent users, can extend TCP-based protocols to the browser, is easy to use, and can extend your SOA over the Web and in the cloud.

More Stories By Peter Lubbers

Peter Lubbers is the Director of Documentation and Training at Kaazing where he oversees all aspects of documentation and training. He is the co-author of the Apress book Pro HTML5 Programming and teaches HTML5 training courses. An HTML5 and WebSocket enthusiast, Peter frequently speaks at international events.

Prior to joining Kaazing, Peter worked as an information architect at Oracle, where he wrote many books. He also develops documentation automation solutions and two of his inventions are patented.

A native of the Netherlands, Peter served as a Special Forces commando in the Royal Dutch Green Berets. In his spare time (ha!) Peter likes to run ultra-marathons. He is the 2007 and 2009 ultrarunner.net series champion and three-time winner of the Tahoe Super Triple marathon. Peter lives on the edge of the Tahoe National Forest and loves to run in the Sierra Nevada foothills and around Lake Tahoe (preferably in one go!).

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@CloudExpo Stories
Companies can harness IoT and predictive analytics to sustain business continuity; predict and manage site performance during emergencies; minimize expensive reactive maintenance; and forecast equipment and maintenance budgets and expenditures. Providing cost-effective, uninterrupted service is challenging, particularly for organizations with geographically dispersed operations.
SYS-CON Events announced today that BMC Software has been named "Siver Sponsor" of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. BMC is a global leader in innovative software solutions that help businesses transform into digital enterprises for the ultimate competitive advantage. BMC Digital Enterprise Management is a set of innovative IT solutions designed to make digital business fast, seamless, and optimized from mainframe to mo...
SoftLayer operates a global cloud infrastructure platform built for Internet scale. With a global footprint of data centers and network points of presence, SoftLayer provides infrastructure as a service to leading-edge customers ranging from Web startups to global enterprises. SoftLayer's modular architecture, full-featured API, and sophisticated automation provide unparalleled performance and control. Its flexible unified platform seamlessly spans physical and virtual devices linked via a world...
The IoT is changing the way enterprises conduct business. In his session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, discuss how businesses can gain an edge over competitors by empowering consumers to take control through IoT. We'll cite examples such as a Washington, D.C.-based sports club that leveraged IoT and the cloud to develop a comprehensive booking system. He'll also highlight how IoT can revitalize and restore outdated business models, making them profitable...
IoT generates lots of temporal data. But how do you unlock its value? How do you coordinate the diverse moving parts that must come together when developing your IoT product? What are the key challenges addressed by Data as a Service? How does cloud computing underlie and connect the notions of Digital and DevOps What is the impact of the API economy? What is the business imperative for Cognitive Computing? Get all these questions and hundreds more like them answered at the 18th Cloud Expo...
SYS-CON Events announced today the Docker Meets Kubernetes – Intro into the Kubernetes World, being held June 9, 2016, in conjunction with 18th Cloud Expo | @ThingsExpo, at the Javits Center in New York, NY. Register for 'Docker Meets Kubernetes Workshop' Here! This workshop led by Sebastian Scheele, co-founder of Loodse, introduces participants to Kubernetes (container orchestration). Through a combination of instructor-led presentations, demonstrations, and hands-on labs, participants learn ...
As organizations shift towards IT-as-a-service models, the need for managing and protecting data residing across physical, virtual, and now cloud environments grows with it. Commvault can ensure protection, access and E-Discovery of your data – whether in a private cloud, a Service Provider delivered public cloud, or a hybrid cloud environment – across the heterogeneous enterprise. In his general session at 18th Cloud Expo, Randy De Meno, Chief Technologist - Windows Products and Microsoft Part...
The cloud market growth today is largely in public clouds. While there is a lot of spend in IT departments in virtualization, these aren’t yet translating into a true “cloud” experience within the enterprise. What is stopping the growth of the “private cloud” market? In his general session at 18th Cloud Expo, Nara Rajagopalan, CEO of Accelerite, will explore the challenges in deploying, managing, and getting adoption for a private cloud within an enterprise. What are the key differences betwee...
In his session at 18th Cloud Expo, Andrew Cole, Director of Solutions Engineering at Peak 10, will discuss how the newest technology advances are reducing the cost and complexity of traditional business continuity and disaster recovery solutions. Attendees will: Learn why having a full disaster recovery strategy is more important now than ever before Explore the key drivers of a successful disaster recovery solution Achieve measurable operational and business value from a disaster recovery ...
SYS-CON Events announced today that EastBanc Technologies will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. EastBanc Technologies has been working at the frontier of technology since 1999. Today, the firm provides full-lifecycle software development delivering flexible technology solutions that seamlessly integrate with existing systems – whether on premise or cloud. EastBanc Technologies partners with p...
SYS-CON Events announced today that Hanu Software will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Leveraging best-in-class people, processes, and technologies, Hanu provides high-quality, high-value software development and business process outsourcing services to independent software vendors (ISVs) and enterprises.
SYS-CON Events announced today Object Management Group® has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 18th Cloud Expo, Bruce Swann, Senior Product Marketing Manager at Adobe, will discuss how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects). Bruce Swann has more than 15 years of experience working with digital marketing disciplines like web analytics, social med...
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
SYS-CON Events announced today that Tintri Inc., a leading producer of VM-aware storage (VAS) for virtualization and cloud environments, will exhibit at the 18th International CloudExpo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that ContentMX, the marketing technology and services company with a singular mission to increase engagement and drive more conversations for enterprise, channel and SMB technology marketers, has been named “Sponsor & Exhibitor Lounge Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York. “CloudExpo is a great opportunity to start a conversation with new prospects, but what happens after the...
The initial debate is over: Any enterprise with a serious commitment to IT is migrating to the cloud. But things are not so simple. There is a complex mix of on-premises, colocated, and public-cloud deployments. In this power panel at 18th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists will look at the present state of cloud from the C-level view, and how great companies and rock star executives can use cloud computing to meet their most ambitious and disruptive business ...
The cloud era has reached the stage where it is no longer a question of whether a company should migrate, but when. Enterprises have embraced the outsourcing of where their various applications are stored and who manages them, saving significant investment along the way. Plus, the cloud has become a defining competitive edge. Companies that fail to successfully adapt risk failure. The media, of course, continues to extol the virtues of the cloud, including how easy it is to get there. Migrating...
SYS-CON Events announced today that AppNeta, the leader in performance insight for business-critical web applications, will exhibit and present at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. AppNeta is the only application performance monitoring (APM) company to provide solutions for all applications – applications you develop internally, business-critical SaaS applications you use and the networks that deli...
SYS-CON Events announced today that Isomorphic Software will exhibit at SYS-CON's [email protected] at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Isomorphic Software provides the SmartClient HTML5/AJAX platform, the most advanced technology for building rich, high-productivity enterprise web applications for any device. SmartClient couples the industry’s broadest, deepest UI component set with a java server framework to deliver an end-...