Я собираюсь написать приложение на Ruby, которое реализует рабочий процесс преобразования видео, состоящий из нескольких этапов кодирования / обработки аудио и видео.
Интерфейс приложения имеет две основные функции:
- в очереди новые видео
- отслеживание прогресса для каждого видео
Пользователь может получить доступ к этим функциям с помощью веб-сайта, написанного на Ruby on Rails.
Проблема заключается в следующем: я хочу сделать приложение рабочего процесса самодостаточным приложением, не зависящим от существования веб-представления.
Чтобы включить это разделение, я думаю, что добавление сетевого API в приложение рабочего процесса является хорошим решением, поскольку это позволяет приложению рабочего процесса находиться на сервере, отличном от веб-сервера.
Мой вопрос: какое решение вы предлагаете для такого сетевого API?
Несколько вариантов:
- реализовать простой TCP-сервер и изобрести собственный API на основе строк
- использовать какой-нибудь REST API (я не знаю, подходит ли это для этой ситуации)
- какое-то решение для веб-сервисов (SOAP, XML-RPC)
- другой существующий фреймворк
Не стесняйтесь поделиться своими мыслями по этому поводу.