Ruby on rails 如何为您的应用程序提供网络API

Ruby on rails 如何为您的应用程序提供网络API,ruby-on-rails,ruby,web-services,api,networking,Ruby On Rails,Ruby,Web Services,Api,Networking,我将编写一个Ruby应用程序,它实现一个视频转换工作流,由多个音频和视频编码/处理步骤组成 应用程序界面有两个核心功能: 排队观看新视频 监控每个视频的进度 用户可以使用RubyonRails编写的网站访问这些功能 挑战在于:我希望使工作流应用程序成为一个自给自足的应用程序,而不依赖于web视图的存在 为了实现这种分离,我认为向工作流应用程序添加网络API是一个很好的解决方案,因为这允许工作流应用程序驻留在不同于web服务器的服务器上 我的问题是:对于这样的网络API,您建议采用哪种解决方案

我将编写一个Ruby应用程序,它实现一个视频转换工作流,由多个音频和视频编码/处理步骤组成

应用程序界面有两个核心功能:

  • 排队观看新视频
  • 监控每个视频的进度
用户可以使用RubyonRails编写的网站访问这些功能

挑战在于:我希望使工作流应用程序成为一个自给自足的应用程序,而不依赖于web视图的存在

为了实现这种分离,我认为向工作流应用程序添加网络API是一个很好的解决方案,因为这允许工作流应用程序驻留在不同于web服务器的服务器上

我的问题是:对于这样的网络API,您建议采用哪种解决方案

以下是一些选择:

  • 实现一个简单的TCP服务器,并发明我自己的基于字符串的API
  • 使用某种RESTAPI(我不知道这是否适合这种情况)
  • 某种web服务解决方案(SOAP、XML-RPC)
  • 另一个现有框架

请随意分享您的想法。

我建议两件事:

  • 首先,使用REST作为API。这使您可以编写一个具有用户界面和API的核心应用程序,供外部应用程序使用

  • 第二,看一看。这是一个Merb应用程序,可以将多种格式的视频编码到flash中。它有一个RESTAPI,甚至还有一个可以与应用程序集成的RESTAPI。它可能是一个很好的示例代码库,甚至可以替代您试图构建的代码库

希望我的回答有帮助

Mike

是的,但我也可以使用DRb(分布式ruby),这要容易得多。