Доброе время суток. Разрешите немного воды: Недавно столкнулся с проблемой доступности и организации API сетевого сервиса и веб приложения, прочитав имеющийся материал, многое попробовал, но полностью готовых и удовлетворительных решений не нашел, пришел к выводу, что наиболее подходящим будет json-rpc 2.0.
Это спецификация rpc, которая очень короткая и покрыла все наши условия. Но все имеющиеся реализации протокола(javascript\python) были неполными, почти все из них работают или только поверх http, или нет тестов, или не имеют клиента, или не имеют сервера, или нет поддержки именных параметров вызова, или нет поддержки групповых вызовов или нет возможности работы в браузере, или нет ... в общем из имеющегося на тот момент результата поиска всегда чего-то не хватало. Поскольку протокол очень простой, то написать свою реализацию с учетом всех замечаний показалось хорошим решением. Готово для браузера, nodejs, python(tornado).
Попробовав в трех проектах и накопив немного опыта решил опубликовать исходники на
github. Хотелось бы поговорить на тему json-rpc, рассказать как использовали его мы поверх websocket`ов и http и что из этого вышло, выслушать критику и по возможности как-то улучшить реализацию. Но непонятно где и в каком формате это можно было бы сделать. Мне кажется habr не очень подходит, вещь то достаточно простая и заезженная.
PS: До этого всегда старались придерживаться rest