Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server с "нуля"

  Все выпуски  

MS SQL Server с "нуля" Выпуск 1. Технология клиент-сервер


Информационный Канал Subscribe.Ru


Здравствуйте, уважаемые подписчики.
Перед Вами первый выпуск рассылки "MS SQL Server с нуля".
Рассылка предназначена в первую очередь для начинающих осваивать MS SQL Server. Обо всех замеченных спорных вопросах и неточностях прошу сообщать мне. Надеюсь, приведенная в рассылке информация будет полезна для Вас.
Выпуск 1. Технология клиент-сервер

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

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

Некоторые примеры клиентских функций: предоставление дружественного пользователю интерфейса, экономное использование ресурсов сервера, и, разумеется, реализация целей приложения.

Например, приложения-клиенты типа Eudora или Microsoft Outlook представляют собой почтовых клиентов. Они соединяются с почтовым сервером, для получения и отправки почтовых сообщений. Internet Explorer - клиент, который соединяется с Web-сервером.

Приложения-клиенты MS SQL сервера, входящие в поставку этого программного продукта, включают Query Analyzer, SQL Server Enterprise Manager, Profiler, SQL Agent и Data Transformation Services. Каждое из этих приложений соединяется с механизмом базы данных и использует его услуги различным способом. Чтобы получить доступ к обслуживанию, каждый из этих клиентов посылает запрос серверу. Сервер обрабатывает запрос и посылает назад результаты.

Хотя это и не является требованием клиент-серверной модели, почти в каждом случае сервер позволяет соединяться с ним сразу многим клиентам. Клиент, в свою очередь, может (но не обязательно) соединяться сразу со многими серверами.

Ниже на рисунке представлена типичная среда баз данных с архитектурой клиент-сервер.

До клиент-серверной архитектуры были еще два других важных типа архитектуры:

  • Локальная архитектура. Здесь вся бизнес-логика, хранение данных, доступ к данным и вычисления производились на одном компьютере.
  • Файл-серверная архитектура. Здесь представительская и бизнес-логика сосредоточены на локальном компьютере. Данные могут быть размещены в локальной сети на файловом сервере.

Появившаяся им на смену многопользовательская система управления реляционными базами данных (relational database management system или RDBMS) была действительно ключевой технологией, которая реализовывала архитектуру вычислений в среде клиент-сервер. RDBMS служил центральным хранилищем данных организаций. RDBMS был предназначен для обеспечения многопользовательского доступа к общедоступному набору данных. Все управление блокировкой и соединениями реализуется RDBMS наряду с защитой. Был создан язык структурированных запросов (Structured Query Language или SQL) в качестве универсального языка программирования для запроса определенных данных от RDBMS.

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

Традиционная клиент-серверная архитектура.

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

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

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

Трехуровневая и n-уровневая клиент-серверная архитектура.

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

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

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

В то же время наряду со множеством преимуществ n-уровневая архитектура для ее успешной реализации требует сложной инфраструктуры обработки услуг нижнего уровня, таких как пул подключений, обслуживание потоков и операционный контроль. Некоторые программные продукты, такие как Microsoft Transaction Server (MTS) и .NET Framework решают многие из этих сложных проблем с инфраструктурой и уменьшают сложность осуществления n-уровневой архитектуры.


Архив рассылки находится на сайте http://bcbsql.narod.ru

Успехов!
Ведущий рассылки
Виктор Доцу

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное