SOAP или не SOAP? Вот в чем вопрос - PullRequest
2 голосов
/ 26 декабря 2010

У меня есть фон в стеке протоколов - для телефонов 3g. Теперь мне нужно соединиться с планшетного ПК Android с сервером, и я буду кодировать обе стороны интерфейса.


Обновление: я должен был сказать, от Android (несколько) сланца до локального сервера (несколько), затем через спутник на один центральный главный сервер.

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


SOAP выглядит нормально, но подходят ли они для разработки SOAP (или GSOAP) для Android (пока не уверен, какой сервер / сервер будет работать; если повезет, я смогу выбрать)

Или я должен просто свернуть свой собственный и использовать TCP / IP? (У меня есть чувство, которое я не могу оправдать, SOAP, возможно, быстрее разрабатывается и легче поддерживается другими). ​​

Если я катаюсь самостоятельно, я могу просто использовать C или C ++ на обоих концах. Если SOAP, могу ли я использовать C / C ++ на Android (я знаю, что могу, если это не SOAP), или я использую Java? И, если я это сделаю, я должен тогда пойти с Java на сервере, для удобства обслуживания?

Последнее замечание: я предполагаю, что SOAP добавит накладные расходы, и я буду делать это по спутниковой линии связи, где каждый байт стоит.

Имеет ли что-нибудь из этого смысл или мне нужно объяснить это лучше?

1 Ответ

16 голосов
/ 26 декабря 2010

Не используйте SOAP, если вы контролируете оба конца. Подумайте о JSON (или JSON-RPC) через HTTP или сверните свои собственные, используя prtocol буферы

SOAP подходит для В2В (помните этот термин, а?) Коммуникаций, но он очень тяжелый и неприятный в обращении. Возможно, имеет смысл представить интерфейс SOAP внешнему миру, особенно в среде Microsoft, но он не идеален для внутреннего использования.

UPDATE: При использовании SOAP оба конца не обязательно должны быть одного языка / библиотеки. Я уверен, что есть некоторые причуды, но в целом совместимость, хотя и небольшая, существует. Таким образом, вы можете использовать Java на устройстве и C ++ на сервере, или наоборот, не имеет значения. Что касается IDE - для Java Eclipse имеет несколько относительно плохих, но полезных плагинов. Теперь о спутниковой связи ... ВЫ ЗНАЕТЕ МЕНЯ? Серьезно, зависит от размера ваших предметов. Если ваши запросы и ответы будут большими, это может быть терпимо ... возможно. Но если вы собираетесь делать много небольших запросов с короткими ответами, вы смотрите на 90% накладных расходов. Проверьте эти примеры сообщений SOAP: http://www.w3schools.com/soap/soap_example.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...