|By Peter Lubbers||
|January 23, 2011 05:00 AM EST||
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
- Your web application has data that must flow bi-directional simultaneously.
- Your web application must scale to large numbers of concurrent users.
- Your web application must extend TCP-based protocols to the browser.
- Your web application developers need an API that is easy to use.
- 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.
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.
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.
We heard for many years how developing nations would be able to develop mobile-phone networks quickly, perhaps even leapfrog developed nations, because their lack of traditional, wired networks would not inhibit them from deploying the new technology. Now there is talk of history repeating itself with the Industrial Internet--a key aspect of the emerging Internet of Things. For example, Guo Ping, Deputy Chairman of the Board of Chinese electronics giant Huawei, said in a recent report from the World Economic Forum, "The Industrial Internet will afford emerging markets a unique opportunity ...
May. 5, 2015 05:00 PM EDT Reads: 678
Avnet, Inc. has announced that it ranked No. 4 on the InformationWeek Elite 100 – a list of the top business technology innovators in the U.S. Avnet was recognized for the development of an innovative cloud-based training system that serves as the foundation for Avnet Academy – the company’s education and training organization focused on technical training around top IT vendor technologies. The development of this system allowed Avnet to quickly expand its IT-related training capabilities around the world, while creating a new service that Avnet and its IT solution providers can offer to their...
May. 5, 2015 04:15 PM EDT Reads: 925
Ayla Networks, whose agile Internet of Things (IoT) platform makes it easy for manufacturers to deliver secure, connected products, today announced it has been included in the list of "Cool Vendors" in the Internet of Things report by Gartner, Inc. “Gartner knows how important it is that manufacturers of all kinds of products have the right IoT solution to help turn their products into connected ‘things,’” said David Friedman, CEO and co-founder of Ayla Networks. “The market for Ayla’s IoT platform has accelerated dramatically this year compared to last year. Today’s largest manufacturers ar...
May. 5, 2015 02:00 PM EDT Reads: 485
SYS-CON Events announced today that B2Cloud, a provider of enterprise resource planning software, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. B2cloud develops the software you need. They have the ideal tools to help you work with your clients. B2Cloud’s main solutions include AGIS – ERP, CLOHC, AGIS – Invoice, and IZUM
May. 5, 2015 12:00 PM EDT Reads: 4,483
The Internet of Things Maturity Model (IoTMM) is a qualitative method to gauge the growth and increasing impact of IoT capabilities in an IT environment from both a business and technology perspective. In his session at @ThingsExpo, Tony Shan will first scan the IoT landscape and investigate the major challenges and barriers. The key areas of consideration are identified to get started with IoT journey. He will then pinpoint the need of a tool for effective IoT adoption and implementation, which leads to IoTMM in which five maturity levels are defined: Advanced, Dynamic, Optimized, Primitive,...
May. 5, 2015 11:45 AM EDT Reads: 1,157
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY., and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MangoApps provides private all-in-one social intranets allowing workers to securely collaborate from anywhere in the world and from any device. Social, mobile, and easy to use. MangoApps has been named a "Market Leader" by Ovum Research and a "Cool Vendor" by Gartner...
May. 5, 2015 11:00 AM EDT Reads: 4,397
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on Twitter at @MicroservicesE
May. 5, 2015 11:00 AM EDT Reads: 2,940
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
May. 5, 2015 11:00 AM EDT Reads: 3,928
There is no doubt that Big Data is here and getting bigger every day. Building a Big Data infrastructure today is no easy task. There are an enormous number of choices for database engines and technologies. To make things even more challenging, requirements are getting more sophisticated, and the standard paradigm of supporting historical analytics queries is often just one facet of what is needed. As Big Data growth continues, organizations are demanding real-time access to data, allowing immediate and actionable interpretation of events as they happen. Another aspect concerns how to deliver ...
May. 5, 2015 11:00 AM EDT Reads: 5,801
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
May. 5, 2015 10:45 AM EDT Reads: 4,412
So I guess we’ve officially entered a new era of lean and mean. I say this with the announcement of Ubuntu Snappy Core, “designed for lightweight cloud container hosts running Docker and for smart devices,” according to Canonical. “Snappy Ubuntu Core is the smallest Ubuntu available, designed for security and efficiency in devices or on the cloud.” This first version of Snappy Ubuntu Core features secure app containment and Docker 1.6 (1.5 in main release), is available on public clouds, and for ARM and x86 devices on several IoT boards. It’s a Trend! This announcement comes just as...
May. 5, 2015 10:45 AM EDT Reads: 2,252
The security devil is always in the details of the attack: the ones you've endured, the ones you prepare yourself to fend off, and the ones that, you fear, will catch you completely unaware and defenseless. The Internet of Things (IoT) is nothing if not an endless proliferation of details. It's the vision of a world in which continuous Internet connectivity and addressability is embedded into a growing range of human artifacts, into the natural world, and even into our smartphones, appliances, and physical persons. In the IoT vision, every new "thing" - sensor, actuator, data source, data con...
May. 5, 2015 10:30 AM EDT Reads: 5,430
The WebRTC Summit 2015 New York, to be held June 9-11, 2015, at the Javits Center in New York, NY, announces that its Call for Papers is open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 16th International Cloud Expo, @ThingsExpo, Big Data Expo, and DevOps Summit.
May. 5, 2015 10:15 AM EDT Reads: 3,176
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
May. 5, 2015 10:00 AM EDT Reads: 5,591
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Raspberry Pi, BeagleBone, Spark and Intel Edison. You will also get an overview of cloud technologies s...
May. 5, 2015 10:00 AM EDT Reads: 3,949
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
May. 5, 2015 09:45 AM EDT Reads: 3,454
Scott Jenson leads a project called The Physical Web within the Chrome team at Google. Project members are working to take the scalability and openness of the web and use it to talk to the exponentially exploding range of smart devices. Nearly every company today working on the IoT comes up with the same basic solution: use my server and you'll be fine. But if we really believe there will be trillions of these devices, that just can't scale. We need a system that is open a scalable and by using the URL as a basic building block, we open this up and get the same resilience that the web enjoys.
May. 5, 2015 09:45 AM EDT Reads: 5,957
In his session at WebRTC Summit, Peter Dunkley, Technical Director at Acision, will look at creating interactive communications via the web by adding messaging, file transfer, and group communication (group chat and audio/video conferencing) into the web experience. He will also discuss potential applications of this technology in areas including B2B, B2C, P2P, and gaming. Peter Dunkley is Technical Director at Acision. He graduated from The University of Edinburgh in 2000 with a BSc (Hons) in Computer Science. After graduation Peter worked on a PSTN switch developing signalling stacks for SS...
May. 5, 2015 09:39 AM EDT Reads: 520
It's time to put the "Thing" back in IoT. Whether it’s drones, robots, self-driving cars, ... There are multiple incredible examples of the power of IoT nowadays that are shadowed by announcements of yet another twist on statistics, databases, .... Sorry, I meant, Big Data(TM), tiered storage(TM), complex systems(TM), smart nations(TM), .... In his session at WebRTC Summit, Dr Alex Gouaillard, CTO and Co-Founder of Temasys, will discuss the concrete, cool, examples of IoT already happening today, and how mixing all those different sources of visual and audio input can make your life happier ...
May. 5, 2015 09:15 AM EDT Reads: 654
What exactly is a cognitive application? In her session at 16th Cloud Expo, Ashley Hathaway, Product Manager at IBM Watson, will look at the services being offered by the IBM Watson Developer Cloud and what that means for developers and Big Data. She'll explore how IBM Watson and its partnerships will continue to grow and help define what it means to be a cognitive service, as well as take a look at the offerings on Bluemix. She will also check out how Watson and the Alchemy API team up to offer disruptive APIs to developers.
May. 5, 2015 09:15 AM EDT Reads: 2,234