Как опубликовать внутренние данные в Интернете — максимально просто

Как опубликовать внутренние данные в Интернете — максимально просто

Я задал этот вопрос на Staock Overflow, но мне бы хотелось узнать и ваше мнение, поскольку это касается как администрирования, так и кодирования.

У нас есть .net 2-уровневое приложение, где настольная программа общается с базой данных. Мы поддерживаем MS SQL Server 2000, 2005, 2008 и Oracle 9, 10 и 11.

Приложение продается не как упакованное, но довольно близкое. Для нас очень важно, чтобы установка и настройка были максимально простыми, поскольку инструкции по установке обычно предоставляются в письменном виде внутреннему ИТ-отделу заказчика. Наше приложение обычно не рассматривается как критически важное для ИТ-отдела, поэтому нам нужно свести их работу к минимуму.

Теперь мы начинаем получать пожелания по веб-приложению, построенному на тех же данных. Веб-приложение будет размещено нами и предоставлено как SaaS-приложение.

Теперь задача состоит в том, как перемещать данные между веб-приложением и внутренней базой данных клиента. Как я понимаю, у нас есть некоторые требования:

  • Мы должны быть готовы справиться с ситуацией, когда база данных клиентов недоступна из DMZ. Я думаю, самое простое решение — инициировать все коммуникации изнутри локальной сети клиентов.
  • Как можно меньше настроек брандмауэра. Лучше всего, если мы сможем работать без какой-либо специальной настройки, пока исходящий трафик из локальной сети клиента не блокируется. Если нам нужно что-то изменить в брандмауэре, мы должны иметь возможность документировать, что изменение безопасно.
  • Это не обязательно должно быть в режиме реального времени. Перемещение данных партиями каждые десять минут или около того — это нормально.
  • Данные перемещаются в обоих направлениях, но это не одни и те же таблицы, поэтому нам не нужно поддерживать слияния.
  • Было бы неплохо, если бы нам не пришлось разрабатывать полностью собственный фреймворк.

С нетерпением ждем ваших предложений.

решение1

Я не уверен, почему этот вопрос просто всплыл на первой странице, учитывая его возраст, но если вы все еще ищете предложения... почему бы не установить VPN изнутри клиентской сети к вашим серверам? Используя что-то вроде OpenVPN, вы получаете инструмент, который:

  • Для работы требуется только один порт;
  • Не требует настройки брандмауэра, если исходящий трафик может быть инициирован с клиентского сайта;
  • После подключения вы сможете легко перемещать данные туда и обратно.

Вы можете настроить их так, чтобы обеспечить высокий уровень изоляции между клиентами.

решение2

Если я правильно понял вашу проблему... решение, которое будет быстрым и стабильным для такого рода потребностей, - это создание полного решения на основе Adobe Flex...

Создайте настольный интернет-клиент AiR для ваших клиентов. Этому клиенту необходимо предоставить необходимые разрешения для данных на клиентской машине {в случае ограничений}, и этот клиент будет безопасно и периодически взаимодействовать с вашим веб-сервисом по вашему желанию.

Связанный контент