How I Used RAML to Embed a RESTful API into DOOM

doom game

When I was growing up, I loved playing the classic 1993 game DOOM. This is why recently, as part of a talk I gave at APIs and IPAs, I decided to do a demo of how I embedded a RESTful API into DOOM, allowing the game to be queried and controlled using HTTP and JSON.

I wrote the entire API specification for the project in RAML––a RESTful API Modeling Language based on YAML that allows you to create standardized,

Advanced API Patterns with RAML

advanced raml design

The vast majority of RESTful APIs follow a simple “request-response” message exchange pattern, but that pattern is often too limiting and is not sufficient to achieving robust and reliable application performance.  We frequently get questions from customers asking:  ‘How I design asynchronous APIs?’ and ‘How I design an API that allows for the concurrent modification of the same API resource without bringing the resource into inconsistent state?’.  In this blog post, we present two approaches answering these questions using standard HTTP headers and status codes.

What is a RESTful API?

When you’re designing an API, it’s important to know the type of API you want for your specific project and what it’s advantages and disadvantages are. REST, or RESTful APIs are some of the most popular APIs; but how do you know that this type of API is right for what you want to do?

RESTful APIs are designed to take advantage of existing protocols.

Give your old school API some love

motif

If you’re an assiduous reader of this blog, then you probably already heard about our vision around APIs, our Anypoint API Manager solution and all our RAML based stories. Those are our recommended way of approaching REST APIs and if you haven’t already, we all highly recommend you to take a look at them. However, we’re about connecting everything, everywhere. Thus we recognize that there are a lot of APIs out there built in plain old Java code and a migration process is not something you can do overnight.

API Best Practices: Hypermedia (4.3)

January 15 2015

0 comments
motif

This is part four, sub-series 3, of the API design best practices series. Jump to sub-series 1 of the hypermedia sub-series.

A Road Trip

First off, let me apologize for the delay in this third part of the hypermedia sub-series.

Let’s honor the future

This post is about fulfilling some expectations created by sci-fi movies, using Arduino and Nobel to expose RESTFul APIs for controlling physical devices.

The early-arriving future disappointment

This is the year that, according to some Hollywood prophets, cars will be finally flying, clothes will adjust their sizes to our bodies, trash will be combustible, and houses will be intelligent – though I never understood why they thought that an intelligent house would have a fax hanging on the wall.

API Best Practices: Hypermedia (Part 4.2)

December 18 2014

1 comment.
motif

This is part four, sub-series 2, of the API design best practices series. Jump to sub-series 1 of the hypermedia sub-series.

The Harsh Reality of the State of Hypermedia Specs

Hypermedia sounds great in theory,

Designing your RESTful API for Longevity

motif

One of the greatest challenges API developers face is creating an API that is flexible enough to pass the tests of time and technology. In other words, creating an API that is built to last. Here are some tips to help you ensure your API has a happy, and long life expectancy – saving you a lot of frustration, and your company a lot of money!

“Unfortunately,

The Mule Enterprise Console REST API

motif

When building Mule architectures a company will often need to run several instances of Mule ESB: Some on QA, some on staging, and on production, perhaps some instances running locally and some others in another continent. Managing Clusters of Mule Servers, keeping track of what application is running where, and knowing what is the health of those instances at a glance, or even being warned when something wrong happens… That is Mule Enterprise Console job!

RESTx version 0.9.4: JavaScript everywhere, MIME types and more

motif

Version 0.9.4 of RESTx – the fastest way to create RESTful web services – has just been released. The main features introduced by this version are the ability to write components in server-side JavaScript, the addition of a JavaScript client library and much improved handling of content types for input and output. You can download it now.