Following the latest and greatest edition of API Days in Paris last week, it’s clear that interest and adoption of real-time is a mainstream objective for many developers and organizations. In both the business and technical tracks there were various presentations on real-time and event-driven architecture, where speakers discussed lessons learned and best practices for integrating data using the latest streaming technologies.
Saul Caganoff from Sixtree (and organizer of API Days Australia) highlighted during his talk that we are striving for a more “Composable Enterprise” and rely on multiple levels of cloud-based services to deliver this vision. Yet many of these SaaS applications are islands that aren’t designed for integration, and many developers depend on polling – lots and lots of polling – to achieve what they need. There’s a long way to go before it’s fast and efficient to share data between these apps. Saul’s advice – which I echoed during my own presentation – is to stop polling and move to event-driven integration models that scale.
We’ve talked before about the limitations of Web APIs, and where architectural choices must be made on merit versus conceptual elegance, and it’s great to see and hear more support and adoption for real-time tech. From the developers I spoke with at API Days, the need for real-time is no longer a tomorrow problem – be it for reactive applications that delight users, effective event-driven application architecture, or simply more scalable and efficient mobile applications, there are many reasons to act now.
The good news is, there are a variety of technology options and architectural best practices to embrace. WebSockets has been well established as the preferred mechanism to stream data in real-time to and from your apps, but with the arrival of HTTP/2 and Server-Sent Events many people this week have asked how they should decide which technology to choose, and what tools are available to help. Next week I’ll be writing a follow up blog that digs a little deeper into WebSockets vs SSE, but in short the differences come down to one simple fact:
WebSockets = Bi-directional data streaming between all nodes
Server-Sent Events = 1-direction data push from the server
Application requirements and individual use-cases can differ widely, so again there is perhaps no one-size-fits-all approach for real-time data, but in a world where the line between producers and consumers has become permanently blurred, my assertion is you will want (and need) 2-way data streaming in your application architecture.
The Diffusion Intelligent Data Platform manages, optimizes, and integrates data among devices, systems, and applications. Push Technology pioneered and is the sole provider of real-time delta-data streaming™ technology that powers mission-critical business applications worldwide. Leading brands use Push Technology to fuel revenue growth, customer engagement, and business operations. The products, Diffusion® and Diffusion Cloud™, are available on-premise, in-the-cloud, or in a hybrid configuration, to fit the specific business and infrastructure requirements of the applications operating in today’s mobile obsessed, everything connected world. Learn how Push Technology can reduce infrastructure costs, and increase speed, efficiency, and reliability, of your web, mobile, and IoT application.