Как выставить настольное приложение как защищенный веб-сервис? - PullRequest
0 голосов
/ 13 мая 2011

Приложение Windows для рабочего стола предоставляет C ++ API, который предоставляет массив информации о клиенте, такой как имя и адрес. Я хочу представить это как веб-службу SOAP с защитой, чтобы авторизованные клиенты (с удаленных серверов Linux / Java на основе ESB) этой веб-службы могли получать эту информацию в любое время, когда они хотят в реализации SOA (на основе Java). Настольное приложение не имеет стандартной базы данных. Он хранит свои данные внутри. Это в основном старое специальное CRM-приложение, которое устанавливается на ПК каждого агента. У каждого агента есть свой список клиентов.

Какие шаги для достижения этой задачи?

Нужно ли запускать это как службу Windows?

1 Ответ

1 голос
/ 13 мая 2011

Короткий ответ: да, вы можете предоставить данные из настольного приложения через веб-службу SOAP.Это легче сделать с C # и .NET, но не невозможно сделать с C ++.Какие шаги вам нужно предпринять, будет зависеть от того, для какой платформы вы разрабатываете.

Примерно -

Реализация конечной точки, поддерживающей SSL, где клиенты могут подключаться к вашему настольному приложению (используя сокеты в C ++ илиHTTPListener с использованием .NET).

Написание кода, который может принимать и отправлять запросы SOAP.

Обрабатывать запросы SOAP и возвращать правильно отформатированные ответы SOAP.

Обрабатывать запросы WSDL.

Реализация механизма безопасности (на основе файлов cookie или иным образом).

Используя .NET, большая часть этого уже находится в коде платформы, вам просто нужно собрать все воедино.С C ++ вы можете найти некоторые сторонние библиотеки, но, по сути, вы будете писать свои собственные.

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

Другой стратегией может быть доступ к данным из вашего настольного приложения с использованием API C ++ и Interop и реализация веб-службы в качестве стандартного готового asmx, размещенного на IIS.

...