Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздаточный материал по информатике / 06 - Базы данных и сети_ Архитектура клиент-сервер.doc
Скачиваний:
62
Добавлен:
23.05.2015
Размер:
328.19 Кб
Скачать

6.2. Концепция открытых систем

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

Основу составила модель OSI (Open System Interconnection), принятая ISO в 1974 году. Переход к этой модели на практике оказался весьма длительным.

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

      • Свойство мобильности означает сравнительную простоту переноса ПРОГРАММНОЙ СИСТЕМЫ в широком спектре аппаратно-программных средств, соответствующих стандартам (независимость от аппаратуры и ОС).

      • Интероперабельность означает возможность КОМПЛЕКСИРОВАНИЯ новых программных систем на основе использования готовых компонентов, выпускаемых различными производителями, со стандартными интерфейсами.

Достижение этих параметров стало возможно только за счет международной и национальной стандартизации аппаратных и программных интерфейсов. Это позволило обеспечить независимость от конкретного поставщика:

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

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

На уровне аппаратных средств большинство проблем было решено примерно к середине 1990-х годов – с массовым внедрением сети Internet.

Общим решением проблемы мобильности систем, основанных на архитектуре "клиент-сервер" является опора на программные пакеты, реализующие протоколы удаленного вызова процедур (RPC - Remote Procedure Call).

В области СПО - стандартизованная на уровне сетевых интерфейсов операционная система.

В настоящее время такой системой являются, практически, все современные версии ОС семейства UNIX, Windows и др. Фирмам-поставщикам различных вариантов ОС UNIX и Windows в результате длительной работы удалось придти к соглашению об основных стандартах этой операционной системы. Сейчас все распространенные версии операционных систем в основном совместимы по части интерфейсов, предоставляемых прикладным (а в большинстве случаев и системным) программистам.

Применительно к информационным системам и базам данных технология “клиент-сервер” находит свое применение в двух основных направлениях:

  • 6.3. Распределенные сетевые БД на базе локальных вычислительных сетей крупных компаний и организаций;

  • 6.4. Организация доступа к базам данных, используя WEB-технологии.

6.3. Реализация распределенной бд в локальной вычислительной сети

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

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

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

  • Доступ к ресурсам – работа с данными, расположенными на физическом носителе.

Распределение компонентов в локальной сети может быть различным. Всего различают 5 способов реализации распределенной БД в локальной компьютерной сети (рис. 06p1 – Архитектура клиент-сервер).

(1-1) Файловый сервер

Данный подход впервые реализован фирмой Novell в продукте Netware.

Основное достоинство: минимальные требования к ресурсам сервера

Недостатки: 1) основной комплекс программ на клиентской станции, что предъявляет повышенные требования к ее ресурсам и 2) высокая интенсивность трафика по ЛВС.

(1-2) Распределенный файловый сервер.

Вариант применяется для снижения нагрузки на ЛВС путем разделения данных. При этом часть БД доступна только на локальной машине.

(2-1) SQL-сервер БД

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

В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL - стандарт интерфейса СУБД в открытых системах.

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

      • (+) Очевидное преимущество - стандартность интерфейса. Клиентские части любой SQL-ориентированной СУБД могут работать с любым SQL-сервером вне зависимости от того, кто его произвел.

      • (-) Недостаток тоже довольно очевиден. При таком высоком уровне интерфейса между клиентской и серверной частями системы на стороне клиента работает слишком мало программ СУБД.

(2-2) Распределенный SQL-сервер. При этом часть БД кэшируется на локальной машине и затем переносится в ОСНОВНУЮ ЧАСТЬ!!!

      • 0) В типичном на сегодняшний день случае на стороне клиента СУБД работает только такое программное обеспечение, которое не имеет непосредственного доступа к базам данных, а обращается для этого к серверу с использованием языка SQL.

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

      • 2) С другой стороны, иногда хотелось бы перенести большую часть прикладной системы на сторону сервера, если разница в мощности клиентских рабочих станций и сервера чересчур велика.

(3) Сервер приложений

Используется при применении дорогих (количество лицензий) и ресурсоемких прикладных программ.