I am going to write a Ruby application that implements a video conversion workflow consisting of multiple audio and video encoding/processing steps.
The application interface has two core features:
- queueing new videos
- monitoring the progress for each video
The user can access these features using a website written in Ruby on Rails.
The challenge is this: I want make the workflow app a self-sufficient application, not dependent on the existence of the web view.
To enable this separation I think that adding a network API to the workflow application is a good solution because this allows the workflow app to reside on a different server than the web server.
My question is: Which solution do you suggest for such a network API?
A few options are:
- implement a simple TCP server and invent my own string based API
- use some sort of REST api (I don't know if this is appropriate for this situation)
- some sort of web-services solution (SOAP, XML-RPC)
- another existing framework
Feel free to share your thoughts on this.