Где вы использовали gSOAP? - PullRequest
4 голосов
/ 10 июля 2009

Можете ли вы привести примеры, как вы использовали gSOAP и насколько хорошо он был интегрирован в вашу существующую архитектуру? Вы нашли узкие места в разработке с помощью gSOAP?

Ответы [ 5 ]

3 голосов
/ 07 октября 2011

Мы использовали gSOAP для нескольких клиентов ARM для связи с сервером веб-службы AXIS. Плюсы gSOAP:

  • очень мощный, поддерживает почти все конструкции Web-сервисов
  • прост в использовании, абстракция вызовов WS в функции устраняет всю сложность Web-сервиса для программиста
  • элегантные интерфейсы на C и C ++

Однако мы столкнулись с несколькими узкими местами в разработке:

  • при использовании пользовательских типов данных, таких как карты или наборы, требуется довольно много взлома, чтобы компилятор gSOAP справился с ними (маршал / демаршаллинг). Особенно плохо с динамическими структурами данных.
  • Отладка сложна из-за ее сложной внутренней сети, синтаксического анализа и распределения памяти. Сделайте все возможное, чтобы придерживаться статического выделения памяти.
  • список рассылки жив, но разработчики не очень активны в нем. На простые вопросы можно быстро ответить, но самые сложные проблемы часто остаются без ответа
  • забудьте об оптимизации. При связывании в gSOAP во время выполнения потребляется около 1 МБ памяти (-Os). На нашей 32-мегабайтной плате ARM на основе linux производительность во время исполнения хорошая, но с оптимизацией мало что можно сделать, если вам это нужно.
2 голосов
/ 29 декабря 2009

Мы использовали gSOAP на веб-сервере на C ++ около 4 лет назад. В целом все работало нормально. Единственная серьезная проблема заключалась в том, что интерфейс был на C и процедурный (я понимаю, что трудно разработать хороший непроцедурный интерфейс). При реализации интерфейса может быть много повторяющегося кода, для которого вам, возможно, придется использовать макросы (тогда мы не слишком изучали опцию шаблонов).

1 голос
/ 15 апреля 2010

Мы используем gSOAP для использования веб-службы на основе WCF из приложения, развернутого на устройстве Linux, работающем на процессоре ARM. Опыт в значительной степени хорош.

1 голос
/ 30 марта 2010

Мы используем gSoap для развертывания веб-службы на устройстве linux embedde, работающем под управлением процессора ARM MX.

0 голосов
/ 02 октября 2013

Мы использовали gSOAP в веб-сервере на устройстве ARM ARM9 400 МГц. Демон gSOAP подключен к демону базы данных через библиотеку zeromq, которая запускается на том же устройстве.

Поддерживает более 1000 базовых запросов, не требующих подключения к базе данных.

Отключение поддержки опции SOAP с несколькими ссылками с помощью определения WITH_NOIDREF помогло сократить время сериализации примерно в 4 раза быстрее при больших запросах с большим количеством узлов сериализации.

...