Начните с удаленного взаимодействия или с WCF
Я только начинаю с разработки распределенных приложений. Мне нужно создать (все самостоятельно) корпоративное приложение для управления документами. Это приложение будет работать в интрасети (в брандмауэре доступ в интернет сейчас не требуется, но, вероятно, это будет позже).
Приложению необходимо управлять изображениями, которые будут храниться на MySQL Server (в виде больших двоичных объектов), и эти изображения будут затем восстановлены приложением, и в конечном итоге одно или несколько из них будут преобразованы в PDF.
Производительность является наиболее важным нефункциональным требованием.
У меня есть пара сомнений.
Что вы предлагаете использовать, .NET Remoting или WCF через TCP-IP (я думаю, что второй является лучшим на данный момент, когда мне нужно представить бизнес-логику через Интернет, изменив протокол).
Где вы предлагаете сделать преобразование изображений в pdf файлы, я использую iText. (Я думал, что бизнес-логика хранится в IIS и предоставляется через WCF, и эта бизнес-логика должна отвечать за получение изображений и их преобразование в PDF, потому что IIS и MySQL Server - это одна и та же физическая машина). Я спрашиваю о том, где выполнить преобразование, потому что приложение должно быть доступно с нескольких устройств, и, например, для мобильных устройств, PDF, возможно, не является необходимым.
Заранее большое спасибо.
2 ответа
WCF, рассмотрите возможность удаленного взаимодействия, только если WCF представляет какую-то проблему, такую как производительность в вашем случае использования. У вас есть много других возможностей масштабирования и настройки, доступных в WCF.
Зависит. Если отправка изображений по сети представляет проблему, то это может быть сделано на месте. Однако, как в (1), ваше существующее предложение выглядит нормально.
Смотрите .Net Remoting против WCF для аналогичного вопроса.
Определенно удаленное взаимодействие, если это вариант
Преобразование - это тот же ящик, что и сервис; так как служба все равно будет собирать изображения - это лучшее место. Я бы не стал размещать его на сервере БД, чтобы лучше распределить нагрузку и отделить нагрузку, не относящуюся к дБ, от конкретной нагрузки на дб.
Кроме того, изучите сервисы.Net 4.0 RIA. Они позволяют вам лучшую комбинацию.Net Remoting и WCF