Patching the Internet of Things: IoT Software Update Workshop 2016

July 29th, 2016 | Bob Ensink | Development,Systems

“There’s a huge problem with the Internet of Things and we need to do something about it.” That was the invitation that brought participants to the Internet of Things Software Update Workshop (IoTSU) held at Trinity College, Dublin on June 13 and 14.

The Workshop was organized by the Internet Architecture Board (IAB), a standing committee of the Internet Engineering Task Force (IETF).  Based on our deep involvement in the IoT space spanning multiple industries, SpinDance was invited to submit a position paper to contribute to the workshop.  Our paper was one of several used to set the agenda for the workshop.  I was fortunate to attend as one of the SpinDance representatives along with Eric Smith, SpinDance’s VP of Engineering, and authored a blog post about the workshop for IETF.org.  You can read the full blog post here.

Read more

Reactive REST Services with Akka-HTTP

July 25th, 2016 | Greg Straw | Development

Overview

If you’ve heard of Reactive Application Development, or Reactive Programming, then you’ve likely heard of Akka. As described in our post: Introduction to Akka, it’s one of the most comprehensive tool sets available for developing highly concurrent, reactive applications. Akka comes from the authors of the Reactive Manifesto itself, and comes complete with a wide variety of capabilities. Akka’s actor based concurrency model simplifies the development of highly concurrent and parallel applications, and is one of the foundations of Akka itself. The Akka-HTTP modules provide tools for both providing and consuming HTTP services. This article shows how Akka-HTTP may be used to expose REST services for your reactive application.

Define the Route

For this example, we start with a very simple REST API, initially consisting of a single resource “health” that responds with a 200 response when the service is alive. Akka-HTTP defines a Domain Specific Language (DSL) for describing a set of HTTP routes and the handler for each route. The DSL provides a set of directives that may be used to compose a route’s structure and specify the handling logic. The code below shows an example of an Akka-HTTP route definition in Scala. The route defines a single resource “health”, and a single GET operation on that resource that elicits a response….

Read more