search menu icon-carat-right cmu-wordmark

Beyond REST

May 2016 Presentation
Yogeshwar Srikrishnan (Rackspace)

Writing APIs in a RESTful style is growing in popularity, but not all uses cases are good fits. This presentation overviews 10 alternative styles.


Software Engineering Institute




Writing APIs in a RESTful style is growing in popularity, but not all uses cases are good fits. Several interesting alternative technologies are emerging. This presentation provides overviews of the following alternatives styles: 

  • Binary protocols are serialization mechanisms that demand neutral, platform-independent formats and allow data interchange over heterogeneous distributed systems. New sets of protocols support cross-language serialization.
  • Protocol buffers, developed by Google, are language- and platform-neutral, extensible mechanisms for serializing structured data.
  • Apache Thrift is an RPC framework as well as a binary communication protocol developed at Facebook and aiming at "scalable cross-language services development."
  • Apache Avro is a language-neutral data serialization system.
  • Orchestration/Experience APIs shoot for the optimal user experience that is so important with the proliferation of user devices and phones. These user interfaces reduce network calls and provide an elegant way to query.
  • Falcor, created by Netflix, is a JavaScript library for efficient data fetching. Falcor powers Netflix’s mobile, desktop, and TV applications.
  • GraphQL is a query language created by Facebook. It provides flexible syntax for describing the capabilities and requirements of data models in a client–server interaction.
  • Asynchronous APIs provide alternatives to the traditional request/response pattern through asynchronous interactions.
  • Advanced Message Queuing Protocol (AMQP) is an open-standard, application-layer protocol for message-oriented middleware.
  • Apache KAFKA was initially founded by LinkedIn and is a distributed publish–subscribe messaging system.