Файл - серверные и клиент - серверные технологии. Распределение приложения между клиентом и сервером. Таким образом, все вышеперечисленные недостатки файл-серверной схемы устраняются в архитектуре клиент-сервер

БД, работающие по технологии ФАЙЛ-СЕРВЕР;

БД, работающие по технологии КЛИЕНТ-СЕРВЕР.

Файл-сервер


- Обращение к БД (запрос)
- Перекачка данных с блокировкой доступа других пользователей
- Обработка данных на компьютере пользователя

Для наглядности рассмотрим конкретные примеры. Допустим, Вам необходимо просмотреть отправленные платежные поручения за период с 19 по 25 мая на сумму 5000 рублей. Пользователю необходимо будет запустить на своем компьютере клиентское приложение, работающее в БД с платежными поручениями, и ввести нужные критерии отбора. После чего на Ваш компьютер перекачается с сервера базы данных и загрузится в оперативную память файл, содержащий все документы данного вида за весь период на любые суммы. Запущенное на компьютере пользователя клиентское приложение, работающее с БД, само проведет обработку этой информации (отсортирует их), после чего выдаст ответ (на экране появится список платежных поручений, удовлетворяющих Вашим критериям). После этого Вы выберете нужное платежное поручение и попытаетесь отредактировать (изменить) в нем одно поле - например, дату. Во время редактирования происходит блокировка источника данных, то есть всего файла, содержащего этот документ. Это означает, что файл будет либо совсем не доступен остальным пользователям, либо доступен только в режиме просмотра. Причем подобного рода захват происходит даже не на уровне записи, то есть одного документа, а заблокированным является целый файл - то есть вся таблица, содержащая аналогичные документы. Только после полной обработки этого поля и выхода из режима редактирования данный файл платежных поручений будет разблокирован от захвата пользователем. Если же данные хранятся в более объемных объектах, например, в одном файле содержатся платежные поручения и о поступлении средств, и об отправке, то еще большая часть информации будет не доступна. Вы будете работать с одним полем "дата" в одном документе - остальные сотрудники предприятия будут ждать, пока Вы не закончите.

Недостатки ФАЙЛ-СЕРВЕРНОЙ системы очевидны:

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

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

    Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

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

    Клиент-сервер

    Обработка запроса одного пользователя:
    - Обращение к БД (SQL-запрос)
    - Передача ответа - результата обработки


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

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

    Таким образом, все вышеперечисленные недостатки ФАЙЛ-СЕРВЕРНОЙ схемы устраняются в архитектуре КЛИЕНТ-СЕРВЕР:

      Массивы данных не перекачиваются по сети от сервера БД на компьютер пользователя. Требования к пропускной способности сети понижаются. Это делает возможным одновременную работу большого числа пользователей с большими объемами данных.

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

      Блокировки (захвата) данных одним пользователем не происходит.

      Обеспечивается доступ пользователя не к целому файлу, а только к тем данным из него, с которыми пользователь имеет право работать.

      Рассмотрев отличие ФАЙЛ-СЕРВЕРА от КЛИЕНТ-СЕРВЕРА, можно завершить рассмотрение понятия "хранилище информации". Важно подчеркнуть, что от вида используемой СУБД во многом зависит работа корпоративной системы. Совершенно очевидно, что для крупных предприятий, с большим количеством пользователей, с огромным числом записей в БД, файл-серверная схема совершенно неприемлема. С другой стороны, отличия в базах данных есть и по другим параметрам и возможностям:

        типам данных, которые могут храниться в БД (числа, даты, текст, рисунки, видео, звук и т.д);

        по организуемым самой БД технологиям доступа к данным в базе и уровню защиты информации от несанкционированного доступа;

        по предоставляемым средствам и методикам разработки, которые могут быть применены для проектирования какой-либо информационной системы на основе данной БД;

        по предоставляемым средствам и методикам анализа информации (данных), которые могут быть применены в информационной системы на основе данной БД;

        по надежности и устойчивости, то есть (грубо) количеству записей (заполненных полей) в БД, при которых обеспечивается надежная и бесперебойная возможность доступа, изменения, анализа информации в БД;

        по быстродействию - времени, затраченному на доступ и обработку информации;

        по возможности организации работы на компьютерах разных производителей, то есть по совместимости с другими платформами и операционными системами;

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

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

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

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

Файл-серверная технология;

Технология клиент-сервер.

Файл-серверная технология – это работа в сетевом пространстве с доступом к файлам СУБД, хранящимся на сервере.

При небольших объемах данных эта схема вполне удовлетворяет всем современным требованиям, но с увеличением числа компьютеров в сети или ростом БД начинают возникать проблемы, связанные с резким падением производительности. Это связано с увеличением объема данных, передаваемых по сети, так как вся обработка производится на компьютере пользователя. Если пользователю требуется пара строк из таблицы объемом в сотни тысяч записей, то сначала вся таблица с файл-сервера передается на его компьютер, а затем СУБД отбирает нужные записи. В этом случае длительные перерывы в работе можно сократить, перейдя на технологию клиент-сервер .

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

10. Типы баз данных. Особенности реляционных субд ms Access и субд OpenOffice.Org Base. Назначение объектов субд Access и Base: таблицы, формы, запросы, отчеты. Типы данных.

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

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

Третий признак классификации баз данных - по структуре организации данных.Это: реляционная, иерархическая и сетевая. Реляционные базы данных являются наиболее эффективными.

КЛАССИФИКАЦИЯ ПО СРЕДЕ ПОСТОЯННОГО ХРАНЕНИЯ

Во вторичной памяти, или традиционная (англ. conventional database): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) - как правиложёсткий диск.

В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.

В оперативной памяти (англ. in-memory database, memory-resident database, main memory database): все данные на стадии исполнения находятся в оперативной памяти.

В третичной памяти (англ. tertiary database): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основемагнитных лент или оптических дисков.

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

КЛАССИФИКАЦИЯ ПО СОДЕРЖИМому

Географическая

Историческая

Научная

Мультимедийная.

КЛАССИФИКАЦИЯ ПО СТЕПЕНИ РАСПРЕДЕЛЁННОСТИ

Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.

Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.

Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД

Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.

Access – мощное приложение Windows. Поскольку оба эти продукта – детища компании Miсrosoft, они прекрасно взаимодействуют между собой. Система Access работает под управлением ОСWindows, так что при работе с ней пользователю доступны все преимущества Windows. Можно вырезать, копировать и вставлять данные из любого приложения Windows в Access и наоборот; можно создать проект формы в Access и вставить его в конструктор форм. Работая в среде Miсrosoft Office, пользователь получает в своё распоряжение полностью совместимые между собой Access и Word,Excel и PowerPoint.

Основные объекты базы данных в Base:

Таблицы. Базовый объект БД, в них хранится вся информация, остальные объекты являются производными, т.е. создаются на основе таблиц.

Запросы. Осуществляют отбор данных из таблиц БД на основании заданных условий.

Формы. Позволяют отображать данные таблиц и запросов в более удобном для восприятия виде, добавлять в таблицы новые данные, а также редактировать и удалять существующие.

Отчеты. Предназначены для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде.

11. Глобальные компьютерные сети. Основные принципы, на которых организован Интернет. TCP/IP протокол. Глобальная компьютерная сеть, ГКС (англ. Wide Area Network , WAN ) - компьютерная сеть , охватывающая большие территории и включающая в себя большое число компьютеров.

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

Некоторые ГКС построены исключительно для частных организаций, другие являются средством коммуникации корпоративных ЛВС с сетью Интернет или посредством Интернет с удалёнными сетями, входящими в состав корпоративных. Чаще всего ГКС опирается на выделенные линии, на одном конце которых маршрутизатор подключается к ЛВС, а на другом коммутатор связывается с остальными частями ГКС.

Связывает компьютеры, рассредоточенные на расстоянии сотен и тысяч километров. Часто используются уже существующие не очень качественные линии связи. Более низкие, чем в локальных сетях, скорости передачи данных (десятки килобит в секунду) ограничивают набор услуг передачей файлов, преимущественно не в оперативном, а в фоновом режиме, с использованиемэлектронной почты. Для стойкой передачи дискретных данных применяются более сложные методы и оборудование, чем в локальных сетях.

Интерне́т (англ. Internet, МФА: [ˈɪn.tə.net]) - всемирная система объединённых компьютерных сетей

Web Всеми́рная паути́на (англ. World Wide Web) - распределённая система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету. Для обозначения Всемирной паутины также используют слово веб (англ. web «паутина») и аббревиатуру WWW.

Всемирную паутину образуют сотни миллионов веб-серверов. Большинство ресурсов всемирной паутины основаны на технологии гипертекста. Гипертекстовые документы, размещаемые во Всемирной паутине, называются веб-страницами. Несколько веб-страниц, объединённых общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом. Для загрузки и просмотра веб-страниц используются специальные программы - браузеры (англ. browser).

Стек протоколов TCP/IP - набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства - Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте.

Как известно, при добавлении новой базы 1С необходимо выбрать её местоположение: либо указать папку на компьютере, либо путь к базе данных (БД). Чем отличаются оба варианта?

Информационная база (ИБ) 1С может работать в 2 режимах, это:

  • Файл-серверный режим
  • Клиент-серверный вариант

Это принципиально разные варианты работы.

Файл-серверный вариант предполагает хранение файла с базой на жёстком диске компьютера. Работа с этим файлом осуществляется клиентским приложением 1С.

Клиент-серверный вариант работы отличается от файлового тем, что между файлом базы данных и программой 1С есть ещё 2 прослойки: сервер 1С и СУБД. Сервер 1С отвечает за трансляцию и передачу команд серверу СУБД, а также обеспечивает права доступа к объектной модели системы. СУБД обеспечивает все операции чтения/записи над данными.

Таким образом, элементами клиент-серверной архитектуры последовательно являются:

  • Операционная система
  • Система управления базами данных (СУБД)
  • Сервер 1С
  • Клиентское приложение 1С:Предприятие 8.

Цепочка взаимодействия при таком варианте следующая:

  • Файловая система компьютера хранит данные базы
  • СУБД периодически обращается к этому файлу, чтобы совершить операции чтения/записи
  • Данные передаются серверу 1С
  • Сервер 1С распределяет данные между клиентскими приложениями 1С.

Стоит понимать, что файловый вариант работы с базой – это базовый вариант её использования. База 1С должна быть достаточно небольшой (до 2 Гб), чтобы в ней можно было совершать регламентные операции. Плюсы у клиент-серверного варианта работы следующие:

  • Возможность ведения больших БД (более 2 Гб)
  • Одновременная работа большого числа пользователей
  • Регулируемое распределение нагрузки на сервер
  • Серверные функции 1С исполняются отдельно (в т.ч. регламентные задания)
  • Хорошая защита целостности и доступа к данным.

Теперь более подробно рассмотрим клиентское приложение 1С. Клиент 1С бывает нескольких видов:

  • Толстый клиент – обычное клиентское приложение 1С. С сервером 1С связь происходит по протоколу TCP/IP.
  • Тонкий клиент – клиентское приложение, использующее механизм управляемых форм. Имеет отличный от обычного клиента интерфейс. С сервером 1С связь происходит либо по протоколу TCP/IP, либо через web-сервер по протоколам HTTP и HTTPS.
  • Web-клиент – использует в качестве среды отображения своих элементов интернет-браузер. С сервером 1С связь происходит исключительно через web-сервер по протоколам HTTP и HTTPS.

Любое клиентское приложение 1С передаёт данные, действия пользователя через сервер 1С. Затем эстафета передаётся СУБД. Стоит также сказать что 1С:Предприятие поддерживает работу не со всеми СУБД, а только с определёнными:

Таким образом, при выборе режима работы с ИБ 1С и выборе подходящего вида клиента 1С нужно учитывать вышесказанное.

На основе даталогической модели строится физическая модель.

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

В частности для реляционной БД она уже учитывает:

1. физические аспекты хранения таблиц в определенных файлах,

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

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

Архитектура БД

По принципам обработки данных БД классифицируются на централизованные и распределенные.

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

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

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

В основе концепции клиент-сервер лежит идея о том, что помимо хранения файлов БД, центральный сервер должен выполнять основную часть обработки данных. Пользователи обращаются к серверу с помощью специального языка структурированных запросов (SQL, Structed Query Language), на которм описывается список задач, выполняемых сервером. Запросы принимаются сервером и порождают процессы обработки данных. В ответ пользователь получает уже отработанный набор данных. Технология клиент-сервер позволяет избежать передачи по сети огромных объемов информации, переложив всю обработку на центральный сервер. Такой подход также позволяет избежать конфликтов при редактировании одних и тех же данных множеством пользователей.

Трехуровневая архитектура («Тонкий клиент» - сервер приложений - сервер базы данных)функционирует в Интранет- и Интернет-сетях.. Клиентская часть ("тонкий клиент"), взаимодействующая с пользователем, представляет собой HTML-страницу в Web-браузере либо Windows-приложение, взаимодействующее с Web-сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных. Сервер приложений может быть Web-сервером или специализированной программой.

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

Департамент общего и профессионального образования Брянской области

Государственное образовательное учреждение

Клинцовский текстильный техникум

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Технология «Клиент – сервер»

Студент гр. А-90______________________(Петроченко А.О.)

Преподаватель _______________________ (Широкова А.Л.)

Клинцы – 2011

1. Серверы. Основные понятия серверов

2. Модель клиент-сервер

3. Классификация стандартных серверов

4. Вывод

1. Серверы. Основные понятия серверов

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

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

2. Сервер (программное обеспечение) - программное обеспечение, принимающее запросы от клиентов (в архитектуре клиент-сервер).

3. Сервер (аппаратное обеспечение) - компьютер (или специальное компьютерное оборудование) выделенный и/или специализированный для выполнения определенных сервисных функций.

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

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

2. Модель клиент-сервер

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

Процессы, реализующие некоторую службу, например службу файловой системы или базы данных, называются серверами (servers). Процессы, запрашивающие службы у серверов путем посылки запроса и последующего ожидания ответа от сервера, называются клиентами (clients) .

По такой схеме могут быть построены системы обработки данных на основе СУБД, почтовые и другие системы. Мы будем говорить о базах данных и системах на их основе. И здесь удобнее будет не просто рассматривать клиент-серверную архитектуру, а сравнить ее с другой - файл-серверной.

В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, "настольных СУБД" - Access, FoxPro, Paradox и т.п..

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

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


Рис. Сравнение файл-серверной и клиент-серверной моделей

В клиент-серверной системе функционируют (как минимум) два приложения - клиент и сервер, делящие между собой те функции, которые в файл-серверной архитектуре целиком выполняет приложение на рабочей станции. Хранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п..

Формированием пользовательского интерфейса занимается клиент, для построения которого можно использовать целый ряд специальных инструментов, а также большинство настольных СУБД. Логика обработки данных может выполняться как на клиенте, так и на сервере. Клиент посылает на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и передает клиенту результат (разумеется, клиентов может быть много).

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

Что дает архитектура клиент-сервер?

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

Надежность

Сервер баз данных осуществляет модификацию данных на основе механизма транзакций, который придает любой совокупности операций, объявленных как транзакция, следующие свойства:

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

Механизм транзакций, поддерживаемый сервером баз данных, намного более эффективен, чем аналогичный механизм в настольных СУБД, т.к. сервер централизованно контролирует работу транзакций. Кроме того, в файл-серверной системе сбой на любой из рабочих станций может привести к потере данных и их недоступности для других рабочих станций, в то время, как в клиент-серверной системе сбой на клиенте, практически, никогда не сказывается на целостности данных и их доступности для других клиентов.

Масштабируемость

Масштабируемость - способность системы адаптироваться к росту количества пользователей и объема базы данных при адекватном повышении производительности аппаратной платформы, без замены программного обеспечения.

Общеизвестно, что возможности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Цифры, разумеется, представляют собой некие средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее существенно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры.

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

Безопасность

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

Гибкость

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

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

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

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

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

Рис. Трехуровневая модель клиент-серверного приложения

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

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

1) В файл-серверной системе мы "просто" вносим изменения в приложение и обновляем его версии на рабочих станциях. Но это "просто" влечет за собой максимальные трудозатраты.

2) В двухуровневой клиент-серверной системе, если алгоритм расчета зарплаты реализован на сервере в виде правила расчета зарплаты, его выполняет сервер бизнес-правил, выполненный, например, в виде OLE-сервера, и мы обновим один из его объектов, ничего не меняя ни в клиентском приложении, ни на сервере баз данных.



Понравилась статья? Поделиться с друзьями: