ОСНОВНЫЕ ПОНЯТИЯ И ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ КЛИЕНТ-СЕРВЕРНЫХ ЭКОНОМИЧЕСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ

ЛЕКЦИЯ №3

 

Архитектура современных ИС базируется на применении клиент – серверного взаимодействия программных компонентов информационной системы.

Под сервером обычно понимают процесс, который обычно обслуживает информационную систему клиента.

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

Клиентом называется приложение, посылающее запрос на обслуживание сервера.

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

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

В общем случае схема клиент – серверной архитектуры включает три уровня представления:

- представление (презентации) данных пользователем;

- обработки данных приложением;

- взаимодействия с базой данных.

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

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

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

ФАЙЛ – СЕРВЕРНАЯ АРХИТЕКТУРА

 

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

При данном подходе программы СУБД располагаются в оперативной памяти

Рабочих станций локальной сети, а файлы базы данных – на магнитных дисках файл сервера.

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

В связи с этим данная СУБД может работать как с локальными базами данных, так и с центральной базой данных.

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

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

ДВУХУРОВНЕВАЯ КЛИЕНТ – СЕРВЕРНАЯ АРХИТЕКТУРА

 

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

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

DB–сервер даёт возможность отказаться от пересылки по сети файлов данных целиком и передаёт только ту выборку из базы данных, которая удовлетворяет запросу пользователя. При этом возможно разделение пользовательского приложения на две части:

- одна часть выполняется на сервере и связана с выборкой и агрегированием данных из базы данных;

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

Обращение к базе данных осуществляется на языке SQL, который фактически стал стандартным для реляционных баз данных. Поэтому сервер баз данных называют SQL – сервером, который поддерживается всеми реляционными СУБД: Oracle, Informix, MS SQL и т.д. Клиентские приложения могут быть реализованы на языке настольных СУБД (MS Assess, FoxPro, Paradox, Clipper и др).

При этом взаимодействие клиентского приложения с SQL – сервером осуществляется через ODBC – драйвер (Open Data Base Connectivity),который обеспечивает возможность пересылки и преобразования данных из глобальной базы данных в структуру базы данных клиентского приложения.

Применение такой технологии позволило разработчикам не заботится о специфике работы с той или иной СУБД и делать свои системы переносимыми между базами данных. За время своего существования ODBC стал стандартным на алгоритм доступа к разнородным базам данных.

 

ТРЁХУРОВНЕВАЯ КЛИЕНТ – СЕРВЕРНАЯ АРХИТЕКТУРА

 

Трёхуровневая клиент – серверная архитектура позволяет помещать прикладные программы на отдельные серверы приложений, с которыми через API – интерфейс (Application Program Interface) устанавливается связь клиентских рабочих станций.

Работа клиентской части приложения сводится к вызову необходимых функций сервера приложения, которые называются «сервисами».

Прикладные программы в свою очередь обращаются к серверу баз данных с помощью SQL запросов. Такая организация позволяет ещё более повысить производительность и эффективность КЭИС за счёт:

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

- параллельности в работе сервера приложений и сервера базы данных, причём сервер приложений может быть менее мощным по сравнению с сервером базы данных;

- оптимизации доступа к базе данных через сервер приложений из клиентских мест путём диспетчеризации выполнения запросов в вычислительной сети;

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

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

МНОГОУРОВНЕВАЯ АРХИТЕКТУРА «КЛИЕНТ-СЕРВЕР»

 

Данная архитектура создаётся для территориально распределённых предприятий.

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

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

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

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

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

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

При этом возможны следующие режимы репликации:

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

- асинхронный режим, когда тиражирование данных выполняется в строго определённые моменты времени. Требуемое быстродействие каналов для асинхронного режима – единицы Кбит в секунду. Этот режим может вызывать откладывание выполнение транзакций до момента обновления данных.

Направление тиражирования между серверами баз данных может быть:

- равноправным, т.е. в обоих направлениях;

- сверху – вниз типа «ведущий/ведомый», когда на серверах филиалов содержатся только некоторые подмножества данных центральной базы данных;

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