2010-10-20 2 views
0

В контексте многопользовательского бизнес-приложения в небольшом офисе, каковы недостатки установки клиента на каждом ПК и их непосредственное и дистанционное подключение к базе данных SQL-сервера на центральном сервер?Способы разработки сетевого приложения

Похоже, что вам не нужно включать технологию удаленного доступа (или аналогичную) .Net и поэтому устанавливать DLL на центральный сервер.

ответ

0

Недостатки:

  • свитков может быть приключением - ClickOnce, MSI, или другой?
  • права пользователя на рабочем столе - что нужно?
  • стратегия обновления нуждается в мыслительные
  • Service Pack + .NET развертываний версии

Это звучит, как вы думали иметь пользователи работают с сетевого ресурса («центральный сервер»)?

Рассматриваете ли вы, что ваше настольное приложение распространяется с помощью развертывания ClickOnce, с пакетом, доступным в Интернете? Как насчет развертывания программного обеспечения через automated deployments with Group Policy?

+0

Спасибо p.campbell Свертки - я думаю, что MSI install - какие могут быть проблемы (при условии, что код включен для удаленного подключения к SQL-серверу)? Права пользователя - любые дополнительные проблемы помимо удаленного приложения? обновление - обновления для загрузки из сети и запускаемые пользователем сервисный пакет и т. Д. - любые дополнительные проблемы помимо удаленного приложения? – stt

+0

Это в контексте небольшого офиса (говорят 10 сотрудников). Так простая загрузка msi с веб-сайта, а затем каждый пользователь (или ИТ-гуру) устанавливается на каждом ПК (нет ИТ-отдела, поэтому автоматическое развертывание не требуется). – stt

0

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

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

+0

Не так, так как мы можем развернуть отдельные DLL для пользовательского интерфейса, бизнес-логики, модели домена и т. Д. - все эти DLL, развернутые на каждом клиенте. Если нам нужно перезаписать, мы перезаписываем соответствующую dll при установке обновления. Безопасность - это проблема, но нам просто нужно избегать того, чтобы SQL Server принимал несанкционированные подключения из интернет-соединения. – stt

+0

Joachim, извините, я вижу, что я пропустил вашу точку; конечно, для любого переписывания потребуется обновление клиента, но я сравниваю его с удаленным приложением, где бизнес-логика, вероятно, будет развернута и на клиенте. Так что здесь нет существенной разницы. – stt

0

Недостатком подключения непосредственно к любой реляционной системе является проблема герметичной связи. Реализация вашего программного обеспечения становится, по крайней мере, частично основанной на базе данных back end. Если это когда-либо изменится или будет изменено, это может потребовать обслуживания вашего приложения.

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

В любое время, когда вы общаетесь с РСУБД, подумайте о том, какие проблемы с сохранением объекта могут возникнуть в будущем, если ситуация изменится.

+0

Мы используем NHibernate и можем легко переключаться по базе данных, меняя hibernate.cfg.xml. Это потребует простого обновления на клиенте, но, конечно, больше работы на сервере. – stt

+0

Хорошо, я проигнорировал это, отвечая. – kmarks2

Смежные вопросы