2014-10-14 2 views
0

Я пишу приложение клиент-сервер, где есть небольшое приложение на ноутбуках пользователей в моей компании.Можно ли использовать контрейлерные веб-сервисы?

Им нужно читать/писать данные sql (всего лишь небольшую сумму, по существу, запрос, чтобы узнать, кто последний вошел в систему).

Я не хочу подвергать свой внутренний SQL-сервер «любому» хосту в Интернете, но имеет http-доступ от (доверенного) интернет-хостинга. Я планирую написать веб-сервис на нашем внутреннем сервере IIS, который может быть использован внешним веб-хостом. Затем я планирую иметь вторую веб-службу на внешнем хосте, которая является целью для клиентов.

По существу рабочий процесс будет:

клиента запрашивает внешний хост с помощью веб-сервиса -> внешнего хост запрашивает внутренний веб-сервер с помощью веб-службы

Является ли это над комплексом, или это общепринятая практика, чтобы избежать открытия HTTP/s на моем брандмауэре с любого хоста на внутренний сервер?

ответ

0

Хотя это может работать, это немного сложнее. Попросите один веб-сервис и попросите команду сети помочь вам разоблачить и защитить внешнюю сторону.

Например, ваш сервер может иметь две сетевые карты: один для внутреннего и один для внешнего трафика. Кроме того, DNS может перенаправлять внешний адрес на внутренний IP-адрес. Причина, по которой эта проблема усложняет проблему, заключается в том, что изменение в веб-службе потребует изменения в двух местах. Также у вас теперь есть две точки в цепочке, которые могут сломаться. Образец, который вы реализуете, называется фасадом, и обычно это используется для абстрактных деталей, которые на самом деле приходят в голову, это больше относится к шаблону прокси-дизайна.

Еще одна потенциальная проблема, которую я вижу, заключается в том, что этот тип сервиса может использоваться некоторыми из более сомнительных разработчиков (HACKERS) для сбора пользовательских имен. Вы ничего не говорите о том, как люди будут санкционировать против этой службы, и из вашего описания это звучит так, что это будет открыто для тех, кто сможет их использовать. Однако это просто догадка, поскольку вы действительно не предоставили достаточной информации об этом.