Начните с удаленного взаимодействия или с WCF

Я только начинаю с разработки распределенных приложений. Мне нужно создать (все самостоятельно) корпоративное приложение для управления документами. Это приложение будет работать в интрасети (в брандмауэре доступ в интернет сейчас не требуется, но, вероятно, это будет позже).

Приложению необходимо управлять изображениями, которые будут храниться на MySQL Server (в виде больших двоичных объектов), и эти изображения будут затем восстановлены приложением, и в конечном итоге одно или несколько из них будут преобразованы в PDF.

Производительность является наиболее важным нефункциональным требованием.

У меня есть пара сомнений.

  1. Что вы предлагаете использовать, .NET Remoting или WCF через TCP-IP (я думаю, что второй является лучшим на данный момент, когда мне нужно представить бизнес-логику через Интернет, изменив протокол).

  2. Где вы предлагаете сделать преобразование изображений в pdf файлы, я использую iText. (Я думал, что бизнес-логика хранится в IIS и предоставляется через WCF, и эта бизнес-логика должна отвечать за получение изображений и их преобразование в PDF, потому что IIS и MySQL Server - это одна и та же физическая машина). Я спрашиваю о том, где выполнить преобразование, потому что приложение должно быть доступно с нескольких устройств, и, например, для мобильных устройств, PDF, возможно, не является необходимым.

Заранее большое спасибо.

2 ответа

Решение
  1. WCF, рассмотрите возможность удаленного взаимодействия, только если WCF представляет какую-то проблему, такую ​​как производительность в вашем случае использования. У вас есть много других возможностей масштабирования и настройки, доступных в WCF.

  2. Зависит. Если отправка изображений по сети представляет проблему, то это может быть сделано на месте. Однако, как в (1), ваше существующее предложение выглядит нормально.

Смотрите .Net Remoting против WCF для аналогичного вопроса.

  1. Определенно удаленное взаимодействие, если это вариант

  2. Преобразование - это тот же ящик, что и сервис; так как служба все равно будет собирать изображения - это лучшее место. Я бы не стал размещать его на сервере БД, чтобы лучше распределить нагрузку и отделить нагрузку, не относящуюся к дБ, от конкретной нагрузки на дб.

Кроме того, изучите сервисы.Net 4.0 RIA. Они позволяют вам лучшую комбинацию.Net Remoting и WCF

Другие вопросы по тегам