четверг, 8 октября 2009 г.

[comp.prog.flame] Человеконенависнические мысли после суток выкуривания gSOAP-а

Изобретатели XML-я – редиски.

Те, кто догадался использовать HTTP для взаимодействия программ – редиски.

Те, кто догадался использовать HTTP+XML для взаимодействия программ – редиски вааще.

Авторов SOAP-а павбывавбы.

Тех, кто догадался использовать SOAP для доступа к сервисам мобильных операторов вместо нормальных SMPP и UCP – павбывавбы! Павбывавбы медлено и мучительно, с особым цинизмом.

Второй день разбираюсь с gSOAP-ом. Вроде бы дока большая, вроде бы примеры есть, вроде бы исходники доступны, вроде бы генерируется более-менее читабельный код… Но то ли я идиот, то ли лыжи не едут! Ждем-с просветления-с.

8 комментариев:

  1. > Те, кто догадался использовать HTTP для взаимодействия программ – редиски.
    > Те, кто догадался использовать HTTP+XML для взаимодействия программ – редиски вааще.

    Оригинально. Видно раньше люди писали сервера, или решили устроить полный клиент-сервер, с возможностью общаться с программой через браузер :).

    XML. Ну что делать с форматом, который используют все (ну почти) и везде, и даже там, где не надо? :).
    Я пока душой за YAML: "и овцы целы (данные) и волки сыты(легко править людям)", но, естественно, если право выбора будет за мной :).

    ОтветитьУдалить
  2. > Видно раньше люди писали сервера, или решили устроить полный клиент-сервер, с возможностью общаться с программой через браузер :).

    Не знаю кто там чего писал, но вышла какая-то херня полная. Может быть это даже какие-то горе-архитекторы придумали, которые сами уже давно ничего не писали. Мол -- есть HTTP и он работает, есть XML и он работает, так давайте скрестим бульдога с носорогом...

    А теперь, чтобы реализовать двухсторонний обмен данными между узлами, нужно целую инфраструктуру разворачивать. И, главное, если что-то идет не так, фигушки во всех этих слоях разберешься...

    >Я пока душой за YAML

    Ну, для бинарных данных, имхо, самое лучшее -- это TLV. Текстовые форматы (даже такие лаконичные, как YAML) все-таки не очень подходят для этих целей.

    ОтветитьУдалить
  3. Ну, я, конечно, не собирался бинарные данные упихивать в текстовые (Подразумевал, что речь идёт о текстовых).

    Если говорить о бинарных.
    TLV, конечно, очень гибок, но не автоматичен (Это не значит, что это жирный минус, просто факт). Нам нужно ручками писать отправку и загрузку в объект. Код совсем разный - объединить его сложно. А хотелось бы слепить просто протокол обмена. С этой точки зрения мне нравится http://code.google.com/intl/ru/apis/protocolbuffers/docs/overview.html - такой code-generation :).
    Однако и тут минусы в лице проблем изменения протокола. В TLV можно поставить разные методы для разных версий протокола, а в ProtocolBuffers как-то с этим плохо.
    Впрочем, думаю, не всё ещё потеряно :).
    Опять-таки поясню, я не ругаю TLV, он гибок и удобен, но вот когда нужна некая автоматичность...

    То используют не С/С++. Шучу, шучу. Просто с сериализацией... ну ладно, молчу :).

    ОтветитьУдалить
  4. Так ведь TLV пришел из ASN1, а там все автоматически строится.

    Я хотел в свою систему сериализации добавить как вариант поддержку TLV сериализации. Но насущной необходимости в этом не возникло.

    Google Protobuf не единственная система такого рода. Есть еще похожая на нее http://incubator.apache.org/projects/thrift.html
    По Инету бродили сравнения этих библиотек, роде как Thrift была даже мощнее Protobuf-а.

    Кстати, я лично думаю, что по сравнению с моей ObjESSty, Protobuf и Thrift, тот же Boost.Serialization -- это пример того, как сериализация не должна выглядеть.

    ОтветитьУдалить
  5. 2Евгений Охотников:
    а вот сравнение "что я сделал (|бы) не так как в бюст-сериализации было бы интересно почитать.

    На gSoap видимо свет клином не сошелся - просто чтобы тратить время на написание своего в компании нужно 3-4+ проекта. Большинство наверняка пользуется тем что написано внутри фирм и не пыхтит :) а мода публиковать исходники в буст пришла сильно позже и пока еще до мыла не добралась.

    ОтветитьУдалить
  6. >а вот сравнение "что я сделал (|бы) не так как в бюст-сериализации было
    бы интересно почитать.


    Хорошо, постараюсь оформить отдельной заметкой.

    >На gSoap видимо свет клином не сошелся - просто чтобы тратить время на
    написание своего в компании нужно 3-4+ проекта. Большинство наверняка
    пользуется тем что написано внутри фирм и не пыхтит а мода
    публиковать исходники в буст пришла сильно позже и пока еще до мыла не
    добралась.


    А вот здесь не понял...

    ОтветитьУдалить
  7. 2Евгений Охотников:
    >А вот здесь не понял...
    да просто хотел сказать, что у каждой фирмы свое "выкинуть жалко, а показать стыдно" :)

    ОтветитьУдалить
  8. да просто хотел сказать, что у каждой фирмы свое "выкинуть жалко, а показать стыдно" :)

    ...и переписать некогда :))

    ОтветитьУдалить