Я предпочитаю легкий подход, управляющий своей судьбой. Если вы контролируете обе стороны связи, выберите свой простой, оптимизированный транспорт. Если вы не контролируете обе стороны, то вы, вероятно, застряли с чем-то вроде предложенных предложений (в частности, на основе XML).
Я предпочитаю использовать очень легкие веб-сервисы, что означает НЕ использовать XML и не использовать много слоев-оболочек (таких как SOAP, Axis и т. Д.). Все, что вам действительно нужно, это HTTP и общее представление данных.
Что касается HTTP, вы должны просто сделать GET для чтения данных (без побочных эффектов) и POST для отправки действий (побочных эффектов), возможно, с PUT, DELETE и т. Д., Когда это необходимо.
Что касается представления данных, имейте в виду, что все эти другие подходы к веб-сервисам предполагают множество требований и усложняют задачу. Большинство из них полностью игнорируют производительность (например, XML чертовски сильно влияет на производительность).
Если вам не нужен XML для взаимодействия со сторонними разработчиками, вы можете сэкономить много душевной боли и восстановить производительность. HTTP основан на тексте, поэтому преобразуйте ваши данные в простые строки. Поскольку вы находитесь на Java, используйте формат файла свойств, если ваши данные настолько сложны. Если ваши данные еще более сложны, например, полная диаграмма объектов заказа клиента с подробностями, рассмотрите возможность использования JSON.
Использование JSON - это выбранное мной направление для всех будущих усилий, если только конкретные требования не вынуждают меня использовать SOAP или что-то еще. JSON упрощает использование веб-службы через AJAX, а также обеспечивает возможность взаимодействия между платформами и языками. JSON также хорошо обрабатывает простые случаи, такие как передача одного значения данных или данных в виде файла свойств (простой набор пар имя / значение).
Еще один вариант для простой передачи данных, когда вам действительно нужна производительность, но также требуется функциональная совместимость и простота, - это буферы протокола Google. Однако я сомневаюсь, что ваши неотложные потребности соответствуют этому варианту.