Короткий ответ: да, вы можете предоставить данные из настольного приложения через веб-службу SOAP.Это легче сделать с C # и .NET, но не невозможно сделать с C ++.Какие шаги вам нужно предпринять, будет зависеть от того, для какой платформы вы разрабатываете.
Примерно -
Реализация конечной точки, поддерживающей SSL, где клиенты могут подключаться к вашему настольному приложению (используя сокеты в C ++ илиHTTPListener с использованием .NET).
Написание кода, который может принимать и отправлять запросы SOAP.
Обрабатывать запросы SOAP и возвращать правильно отформатированные ответы SOAP.
Обрабатывать запросы WSDL.
Реализация механизма безопасности (на основе файлов cookie или иным образом).
Используя .NET, большая часть этого уже находится в коде платформы, вам просто нужно собрать все воедино.С C ++ вы можете найти некоторые сторонние библиотеки, но, по сути, вы будете писать свои собственные.
Вам необходимо реализовать службу Windows, только если вы хотите, чтобы данные были доступны, пока пользователь рабочего стола не вошел в систему.и запуск вашего настольного приложения.Проблема здесь заключается в том, что вы должны убедиться, что служба Windows может получить доступ к тем же данным, которые использует приложение для настольных компьютеров.
Другой стратегией может быть доступ к данным из вашего настольного приложения с использованием API C ++ и Interop и реализация веб-службы в качестве стандартного готового asmx, размещенного на IIS.