Изобретатели XML-я – редиски.
Те, кто догадался использовать HTTP для взаимодействия программ – редиски.
Те, кто догадался использовать HTTP+XML для взаимодействия программ – редиски вааще.
Авторов SOAP-а павбывавбы.
Тех, кто догадался использовать SOAP для доступа к сервисам мобильных операторов вместо нормальных SMPP и UCP – павбывавбы! Павбывавбы медлено и мучительно, с особым цинизмом.
Второй день разбираюсь с gSOAP-ом. Вроде бы дока большая, вроде бы примеры есть, вроде бы исходники доступны, вроде бы генерируется более-менее читабельный код… Но то ли я идиот, то ли лыжи не едут! Ждем-с просветления-с.
8 комментариев:
> Те, кто догадался использовать HTTP для взаимодействия программ – редиски.
> Те, кто догадался использовать HTTP+XML для взаимодействия программ – редиски вааще.
Оригинально. Видно раньше люди писали сервера, или решили устроить полный клиент-сервер, с возможностью общаться с программой через браузер :).
XML. Ну что делать с форматом, который используют все (ну почти) и везде, и даже там, где не надо? :).
Я пока душой за YAML: "и овцы целы (данные) и волки сыты(легко править людям)", но, естественно, если право выбора будет за мной :).
> Видно раньше люди писали сервера, или решили устроить полный клиент-сервер, с возможностью общаться с программой через браузер :).
Не знаю кто там чего писал, но вышла какая-то херня полная. Может быть это даже какие-то горе-архитекторы придумали, которые сами уже давно ничего не писали. Мол -- есть HTTP и он работает, есть XML и он работает, так давайте скрестим бульдога с носорогом...
А теперь, чтобы реализовать двухсторонний обмен данными между узлами, нужно целую инфраструктуру разворачивать. И, главное, если что-то идет не так, фигушки во всех этих слоях разберешься...
>Я пока душой за YAML
Ну, для бинарных данных, имхо, самое лучшее -- это TLV. Текстовые форматы (даже такие лаконичные, как YAML) все-таки не очень подходят для этих целей.
Ну, я, конечно, не собирался бинарные данные упихивать в текстовые (Подразумевал, что речь идёт о текстовых).
Если говорить о бинарных.
TLV, конечно, очень гибок, но не автоматичен (Это не значит, что это жирный минус, просто факт). Нам нужно ручками писать отправку и загрузку в объект. Код совсем разный - объединить его сложно. А хотелось бы слепить просто протокол обмена. С этой точки зрения мне нравится http://code.google.com/intl/ru/apis/protocolbuffers/docs/overview.html - такой code-generation :).
Однако и тут минусы в лице проблем изменения протокола. В TLV можно поставить разные методы для разных версий протокола, а в ProtocolBuffers как-то с этим плохо.
Впрочем, думаю, не всё ещё потеряно :).
Опять-таки поясню, я не ругаю TLV, он гибок и удобен, но вот когда нужна некая автоматичность...
То используют не С/С++. Шучу, шучу. Просто с сериализацией... ну ладно, молчу :).
Так ведь TLV пришел из ASN1, а там все автоматически строится.
Я хотел в свою систему сериализации добавить как вариант поддержку TLV сериализации. Но насущной необходимости в этом не возникло.
Google Protobuf не единственная система такого рода. Есть еще похожая на нее http://incubator.apache.org/projects/thrift.html
По Инету бродили сравнения этих библиотек, роде как Thrift была даже мощнее Protobuf-а.
Кстати, я лично думаю, что по сравнению с моей ObjESSty, Protobuf и Thrift, тот же Boost.Serialization -- это пример того, как сериализация не должна выглядеть.
2Евгений Охотников:
а вот сравнение "что я сделал (|бы) не так как в бюст-сериализации было бы интересно почитать.
На gSoap видимо свет клином не сошелся - просто чтобы тратить время на написание своего в компании нужно 3-4+ проекта. Большинство наверняка пользуется тем что написано внутри фирм и не пыхтит :) а мода публиковать исходники в буст пришла сильно позже и пока еще до мыла не добралась.
>а вот сравнение "что я сделал (|бы) не так как в бюст-сериализации было
бы интересно почитать.
Хорошо, постараюсь оформить отдельной заметкой.
>На gSoap видимо свет клином не сошелся - просто чтобы тратить время на
написание своего в компании нужно 3-4+ проекта. Большинство наверняка
пользуется тем что написано внутри фирм и не пыхтит а мода
публиковать исходники в буст пришла сильно позже и пока еще до мыла не
добралась.
А вот здесь не понял...
2Евгений Охотников:
>А вот здесь не понял...
да просто хотел сказать, что у каждой фирмы свое "выкинуть жалко, а показать стыдно" :)
да просто хотел сказать, что у каждой фирмы свое "выкинуть жалко, а показать стыдно" :)
...и переписать некогда :))
Отправить комментарий