Приветики.
Есть потребность сделать диалог между сервером и мобильной штуковиной несколько более rich, чем тупой HTTP с «логи отдал - настройки забрал».
Пользователи мобильных штуковинец не очень любят их обновлять и очень любят ездить по мозгам, когда что-то не работает; административными мерами это не фиксится. Соответственно, нужна более-менее обратная совместимость между версиями.
Пользователи мобильных штуковинец очень любят забираться в глухие подвалы, где связь прыгает между E и G, и см. предыдущий пункт. Соответственно, не должно быть большого оверхеда и не должно быть скачивания критически важного для работы описателя веб-сервиса. Многие опсосы в глухих местах пропускают маленькие запросы, но циклически рвут связь, если передавать несколько килобайт.
Технология™ должна уметь в кодогенерацию клиентской части при необходимости таковой; ручной разбор JSON'a хотелось бы оставить в 2k7.
На данный момент рассматриваю старый недобрый SOAP/Axis и OpenAPI/Swagger; один знакомый чел сказал, что в подобных условиях гонял данные через RabbitMQ, но я сильно подозреваю, что он курит что-то нездоровое, и не склонен воспринимать этот совет всерьёз.
Шо из вышеупомянутого и неупомянутого посоветуете использовать в моих условиях? Каковы плюсы, минусы и подводные камни в луже, в которую я сяду?
ЗЫ. Специальный вопрос для Забанься-Дебила, как для эксперта по ЛОРу: почему на мобильном Edge аватарки так жутко растянуло по высоте и как это исправить?