如何为您的应用提供网络API

时间:2009-10-31 23:17:40

标签: ruby-on-rails ruby web-services api networking

我将编写一个Ruby应用程序,实现一个包含多个音频和视频编码/处理步骤的视频转换工作流程。

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

  • 排队新视频
  • 监控每个视频的进度

用户可以使用Ruby on Rails编写的网站访问这些功能。

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

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

我的问题是:您建议哪种解决方案适用于此类网络API?

有几个选项:

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

随意分享您的想法。

1 个答案:

答案 0 :(得分:2)

我建议两件事:

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

  • 其次,看看PandaStream。这是一个Merb应用程序,可将来自多种格式的视频编码为闪存。它有一个REST API,甚至还有一个Rails plugin,因此您可以将它与您的应用程序集成。它可能是一个很好的示例代码库,甚至可以替代您正在尝试构建的代码库。

希望我的回答有所帮助,

麦克