We recently introduced some new functionality in our products to improve the efficiency of your applications when handling JSON – but we thought it would be useful to explain why it’s important, and why you care!
There are many reasons why JSON has found favor amongst developers:
Yet there are issues.
Applications have become increasingly complex; demanding large amounts of data, expecting frequent updates to that data, and dealing with the inherent limitations of the internet.
While JSON is the accepted standard these days for transmitting data to & from web-based applications, like many things we’ve accepted, it’s easy to take it for granted and not put much further thought into it. That’s why we have taken up the torch to show how and why you need JSON optimization!
When applications poll the backend for updates they are often receiving data that hasn’t changed since the last time they asked. While not unique to JSON, this integration pattern amplifies the inefficiencies of data integration. Apps shouldn’t need to ask for updates, instead each business event that impacts an interested party should be sent automatically – in real-time.
Sending data over the wire has a cost, so the repetition of markup, tags or labels is wasteful. Applications only care about the information contained within these verbose messages, and the server shouldn’t send any more bytes than absolutely necessary.
Beyond the tags / labels, for many messages (responses), applications receive a raft of data that hasn’t changed from the previous update. Again, the server needs a more efficient way of transmitting updates without saturating the network with data the app already knows.
Simply put, the convenience of human readable ASCII responses from the server absorb too much bandwidth. With binary encoding of JSON the message size can be greatly reduced – creating marginal benefits for simple data types, but massive improvements when transmitting binary (such is common for IoT).
We’ll be explaining more of details around JSON efficiency in our next eBook – which you’ll see published soon – but hopefully this begins to show why you should care as much as we do.
If you are evaluating realtime messaging solutions, have a look at Diffusion Cloud, the only data-efficient, real-time messaging service delivered via the cloud available at IBM Bluemix or Diffusion 5.7 is available now as a free download.