Skip to content
Ryan J. McDonough edited this page Sep 21, 2013 · 4 revisions

I'm an Enterprise Application Architect for a Boston-based financial firm. I work primarily in Java and I've written a URI Template library for Java, Handy URI Templates and had been involed with the first version of JBoss RESTEasy and JAX-RS. I'm currently exploring the use of JSON-LD and JSON Hyper Schema for a few of my current projects.

Proposed Talks

Title Real-Time Web APIs with Server-Sent Events and/or WebSockets
Level Moderate/Advanced (Extended Talk or Five-In-Five)
Abstract

There's been a few attempts at adding push notifications to HTTP APIs such as, Pubsubhubbub, REST Hooks, and others. This approach works well if the consuming application is running an HTTP server and can tolerate a greater degree of latency. WebSockets and Server-Sent Events (SSE) present some interesting opportunities for Web APIs that demand low-latency notifications and remove the need for a consumer to run an HTTP server. The goal of this talk is to explore these ideas a little further.

This is not intended to be WebSockets/SEE versus REST discussion but rather an exploration of how the two might compliment one another. Think swapping out the HTTP POST callbacks in Pubsubhubbub with somehting like STOMP over WebSockets or simply Server-Sent Events.

There's still a few issues that I'm trying to work out or expand on such as:

  • Link relation types for an event stream. If you're using a WebSocket, how does one express the sub protocol (i.e. STOMP, XMPP, etc.) and/or message format coming over the connection?
  • Similarly for Server-Sent Events, while the SEE event stream is it's own media type, the data element within the stream can be a nested media type such as JSON, XML, etc.. Having a means to indicate the nested type could be helpful
  • Strategies for describing events or notifications
</td>
Supplemental
Slides Real-Time Web APIs
Clone this wiki locally