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

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

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

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

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

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

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

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

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

Alexander P. комментирует...

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

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

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

eao197 комментирует...

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

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

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

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

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

Alexander P. комментирует...

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

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

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

eao197 комментирует...

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

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

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

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

Miroslav комментирует...

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

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

eao197 комментирует...

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


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

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


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

Miroslav комментирует...

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

eao197 комментирует...

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

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