Я думаю, что публикация службы SOAP, которая предоставляет операции CRUD анонимным, публичным «пользователям», была бы особенно плохой идеей. Однако, если вы можете ограничить одно или оба из этих предупреждений, то я не вижу в этом ничего плохого (более того, я реализовывал такие службы много раз).
Вы можете потребовать, в дополнение к любым параметрам метода, которые вам требуются для выполнения операции, параметры имени пользователя и пароля, которые в действительности аутентифицируют отправителя до обработки запроса: об ошибке аутентификации может быть сообщено с возвратом исключение SOAP. Если вы были особенно параноиком, вы можете при желании запустить службу через SSL
У вас может быть серверное решение, которое имеет дело с отправкой и приемом фильтра запросов на основе IP, позволяя только запросы от списка утвержденных адресов.
Да, накладные расходы на выполнение запросов через SOAP (в отличие от предоставления прямого доступа к базе данных), а именно время обработки, чтобы обернуть запрос в HTTP-запрос, открыть сокет и отправить его (и наоборот на принимающей стороне и еще раз за ответ) - но у него есть преимущества.
Java (хотя и в среде IDE NetBeans) и .Net (через VS) поддерживают использование веб-служб в проектах / решениях. Самое большое преимущество этого заключается в том, что объекты / структуры удаленной службы автоматически переводятся в собственные объекты в приложение-потребитель, которое исключительно удобно.