ОСНОВНЫЕ ПОНЯТИЯ И ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ КЛИЕНТ-СЕРВЕРНЫХ ЭКОНОМИЧЕСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ
ЛЕКЦИЯ №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 запросов. Такая организация позволяет ещё более повысить производительность и эффективность КЭИС за счёт:
- многократного повторного использования общий функций обработки данных в множестве клиентских приложений при существенной экономии сетевых ресурсов;
- параллельности в работе сервера приложений и сервера базы данных, причём сервер приложений может быть менее мощным по сравнению с сервером базы данных;
- оптимизации доступа к базе данных через сервер приложений из клиентских мест путём диспетчеризации выполнения запросов в вычислительной сети;
- повышения скорости и надёжности обработки данных в результате дублирования программного обеспечения на нескольких серверах приложений, которые могут заменять друг друга в сети в случае перегрузки или выхода из строя одного их них;
- переноса функций администрирования системы по проверке полномочий доступа пользователей с сервера базы данных на сервер приложений.
МНОГОУРОВНЕВАЯ АРХИТЕКТУРА «КЛИЕНТ-СЕРВЕР»
Данная архитектура создаётся для территориально распределённых предприятий.
Для неё характерны отношения «многие ко многим» между клиентскими рабочими станциями, и серверами приложений, между серверами приложений и серверами баз данных. Такая организация позволяет более рационально организовать информационные потоки между структурными подразделениями в процессе выполнения общих деловых процессов. Так, каждый сервер приложений, обслуживает потребности какой либо одной функциональной подсистемы и сосредоточивается в головном для подсистемы структурном подразделении. Например, сервер управления сбытом - в отделе сбыта, сервер управления снабжения в отделе закупок и т.д.
Естественно, что локальная сеть каждого из подразделений обеспечивает более быструю реакцию на запросы одного контингента пользователей из соответствующего подразделения.
Интегрированная база данных находится на отдельном сервере, на котором обеспечивается централизованное ведение и администрирование общих данных для всех приложений.
Выделение нескольких серверов баз данных особенно актуально для предприятий с филиальной структурой, когда в центральном офисе используется общая база данных, содержащая общую нормативно справочную, планово – бюджетную информацию и консолидированную отчетность, а в территориально – удаленных филиалах поддерживается оперативная информация о деловых процессах.
При обработке данных в филиалах для контроля используется плановая и нормативно – справочная информация из центральных баз данных, а в центральном офисе получение консолидированной отчётности сопряжено с оперативной информацией филиалов.
Для сокращения объёма передачи данных по каналам связи в распределённой информационной системе предлагается репликация данных, то ест тиражирование данных на взаимодействующих серверах баз данных с автоматическим поддерживанием соответствующих копий данных.
При этом возможны следующие режимы репликации:
- синхронный режим, когда тиражируемые данные обновляются по мере возникновения необходимости одновремённо на серверах баз данных во всех копиях;
- асинхронный режим, когда тиражирование данных выполняется в строго определённые моменты времени. Требуемое быстродействие каналов для асинхронного режима – единицы Кбит в секунду. Этот режим может вызывать откладывание выполнение транзакций до момента обновления данных.
Направление тиражирования между серверами баз данных может быть:
- равноправным, т.е. в обоих направлениях;
- сверху – вниз типа «ведущий/ведомый», когда на серверах филиалов содержатся только некоторые подмножества данных центральной базы данных;
- снизу – вверх по консолидирующей схеме, когда при обновлении данных в филиалах в определённые моменты времени обновляется централизованная база данных.