title: How to architecture, design a RESTful device controller?
body: <p>we are planning to develop a device controller for a banking machine. This controller would be embedded directly on the machine, the idea is to use an off the shelf ARM board with Linux for this.</p>
  
  <p>We would like to provide the API as a RESTful Web Service.
  Probably we would have to separate the software on the controller in at least 3 layers: Web Service Interface, Business logic, Device control logic (this might even run on a different HW).</p>
  
  <p>Business logic and device control logic will probably be implemented in C++ for performance reasons.</p>
  
  <p>No where we have some doubts is:
  What technologies/programming languages to use to implement the RESTful Web Service? </p>
  
  <p>A webserver (lighttpd), FastCgi, C++ would probably be the best solution performance-wise and also because of limited resources on an ARM board. But the downside is probably that implementation would be not as easy as with some "modern" languages like Python, Ruby, Java etc.
  We have a lot of skills in C++ in the company, a little in Java and no skills at all in Python, Ruby.</p>
  
  <p>Does anybody have any experience with this kind of architecture?<br>
  How do Python and Ruby perform on such a small system?<br>
  Any experiences with RESTful APIs on embedded systems? (there isn't much around about this on the web)</p>
  
  <p>Thanks for the input</p>