Лучший вариант для взаимодействия C / Ruby - PullRequest
0 голосов
/ 17 октября 2011

У меня есть приложение Ruby on Rails, которое должно взаимодействовать с бэкэнд-приложением C, и мне интересно, каков консенсус в отношении лучшего подхода к этому.

Два приложения будут работать на отдельных серверах, а приложение Rails будет иметь (частично) общедоступный веб-адрес. Приложение C полностью находится в брандмауэре. Из соображений безопасности я не хочу, чтобы они делили базу данных. Мой первоначальный подход заключается в том, что веб-сервисы - правильный путь.

Во-первых, я упускаю какие-либо потенциально лучшие альтернативы моему предположению о веб-сервисах?

Во-вторых, хотя у меня есть большой опыт использования SOAP от C с gSOAP (и, что важно, как и тот, кто будет писать на C-стороне!), Ruby on Rails предпочитает модель REST.

Но что именно влечет за собой интерфейс RESTful из кода C? Есть ли что-то вроде gSOAP, который делает RESTFUL интерфейсы из C?

Есть ли у кого-нибудь чувство, которое является здесь путем наименьшего сопротивления?

РЕДАКТИРОВАТЬ: забыл упомянуть, что приложение C уже имеет веб-интерфейс с использованием Aapche / CGI.

1 Ответ

1 голос
/ 17 октября 2011

Для C, вызывающего Rails, libcurl, вероятно, не слишком плохой вариант. Выполнение REST-вызовов довольно просто, так как это в основном url через конкатенацию строк плюс кодирование формы. Примеры в изобилии:

http://curl.haxx.se/libcurl/c/example.html

Если вам нужен Rails для C через REST ... тьфу. Возможно, Apache и прямой CGI? Или просто оберните его в собственное приложение rails и делайте звонки прямо из этого приложения? Серьезно, если вам нужен Rails для C через REST, я надеюсь, что вы получите хороший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...