Зачем вам веб-сервисы для доступа к базе данных из Silverlight? - PullRequest
3 голосов
/ 23 апреля 2011

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

Я думал об использовании Silverlight из-за его удобства для пользователя и его дизайна WPF, настолько близкого к богатым клиентам, к которым привыкли будущие пользователи.

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

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

Действительно, я понимаю преимущества веб-сервисов; безопасность, которую он обеспечивает, и все другие функции создали хороший DAL, как правило, в архитектуре программного обеспечения. Однако я не понимаю, почему вы не можете просто создать (например) библиотеку, содержащую классы Linq to SQL, и использовать эту библиотеку в качестве ссылки в проекте silverlight для прямого доступа к данным, как это можно сделать с классическим клиентским приложением с расширенными возможностями. Я понимаю, что, делая это, вы сохраняете данные доступа в строке подключения приложения, но не понимаю, почему они не должны работать с клиентом silverlight.

UPDATE

Итак, два вопроса:

  1. У нас на самом деле есть для доступа к данным через веб-сервисы?
  2. Если так, то почему он отличается от классического подхода с использованием богатых клиентов?
  3. Позволит ли мне Silverlight 5 сделать такую ​​вещь?

Ответы [ 2 ]

10 голосов
/ 23 апреля 2011

Однако я не понимаю, почему вы не можете просто создать (например) библиотеку, содержащую классы Linq to SQL, и использовать эту библиотеку в качестве ссылки в проекте silverlight для прямого доступа к данным, как вы можете это сделать.с классическим многофункциональным клиентским приложением.

Silverlight, в отличие от WPF, не использует или не имеет доступа к полной версии .NET Framework.Он работает в своем собственном, ограниченном CLR и фреймворке.

Принимая решение о том, что включать и что исключать, было решено, что все компоненты доступа к данным были оставлены вне Silverlight.Это действительно делает невозможным непосредственное создание «библиотеки с использованием SQL», как упомянуто выше.

Используя WebServices (или WCF, который на самом деле является предпочтительным методом), вам нужно только иметь возможность создавать и получать доступ к ним.сервисные ссылки, которые поддерживаются в Silverlight.

0 голосов
/ 23 апреля 2011

Silverlight работает на клиентской рабочей станции, а база данных находится где-то на сервере.У стороны, принимающей базу данных, возникнут всевозможные проблемы безопасности, чтобы сделать ее доступной для клиентского программного обеспечения напрямую.Использование такого механизма, как веб-службы, скрывает базу данных от клиентского программного обеспечения.

Кроме того, использование веб-сервисов в качестве метода доступа к данным означает, что Silverlight не нужно знать, как работают базы данных, поэтому ваши данные могут быть на сервере sql, oracle, mysql или даже в плоских файлах, и это делаетнет разницы для клиента Silverlight.Это действительно умный способ сделать это.

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