Веб-приложение против веб-сервисов против классического приложения - PullRequest
0 голосов
/ 24 мая 2010

Пожалуйста, мне нужна помощь.

У меня есть проект, в котором мне нужно приложение, которое взаимодействует с локальным сервером БД и одновременно с центральным удаленным сервером БД для выполнения некоторой задачи (чтение квот на складе с локального сервера, создание заказа, а затем запись заказа в центральную базу данных заказов, ...) , Итак, я не знаю, какая архитектура и технология делают это. Веб-приложение, клиентские приложения .NET WinForms на каждом компьютере или центральное приложение на основе веб-служб с клиентскими приложениями? Каковы общие различия между этими подходами?

Спасибо

Ответы [ 3 ]

0 голосов
/ 24 мая 2010

Я согласен с Томасом, что уровень веб-сервиса может быть хорошим. Однако, когда дело доходит до выбора между веб-формами или winforms, я не думаю, что ваш вопрос содержит достаточно информации, чтобы сделать выбор.

Я бы сказал, что если вам нужен мощный и многофункциональный пользовательский интерфейс и вы хотите упростить разработку, Winforms - это, вероятно, путь. Но если вам нужно, чтобы его можно было использовать с разнообразным набором клиентов и чтобы было проще обслуживание и развертывание, лучше всего подойдет веб-приложение.

0 голосов
/ 24 мая 2010

Во-первых, сфокусируйтесь на точных отношениях между этими базами данных.Что значит "местный"Прямо там на рабочем столе пользователя?Совместно используется всеми пользователями в их офисе?Предположительно, локальные котировки (вы имеете в виду акции котировки , а не квоты ?) Потенциально могут быть немного устаревшими по отношению к взгляду сервера центрального заказа на мир.Это имеет значение?Я размещаю заказ на 100 X по цене 78,34, реальная цена может отличаться.Каково предполагаемое поведение.

Я предполагаю, что есть, по крайней мере, некоторая бизнес-логика, и поэтому мы должны решить, где она работает.Один (толстый клиент) подход заключается в том, чтобы разместить эту логику на рабочем столе, после чего настольное приложение может записывать данные напрямую в центральную БД.Я не склонен делать это по нескольким причинам:

  1. Каждый клиентский рабочий стол получает соединение с базой данных.Масштабирование не очень хорошее, в конечном итоге база данных становится несчастной, когда количество пользователей становится очень большим.
  2. Если нам нужно немного другое приложение, возможно, доступное для другого набора пользователей через Интернет или что-то еще, мы в конечном итогевоспроизведение этой бизнес-логики.

Альтернативный подход (тонкий или основанный на браузере) сохраняет пользовательский интерфейс на рабочем столе, но размещает логику на сервере.Затем клиент может вызвать какую-то услугу.Теперь есть много возможных способов сделать это, простую веб-службу или службу отдыха.Надеюсь, ясно, что этот сервис-ориентированный аппрокс обратился к моим двум пунктам выше.

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

Я рекламирую общий принцип «Не повторяйся сам, реализуй каждый кусочек бизнес-логики один раз».

0 голосов
/ 24 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...