ИТ: 7. Технология «Файл-Сервер», «Клиент-Сервер». Модели взаимодействия «Клиент-Сервер».
Файл-серверная и клиент-серверная технологии информационных систем
Системы, применяемые в туристском бизнесе, относятся к классу информационно-управляющих систем (ИУС).
При файл-серверной реализации ИУС база данных располагается в виде файлов на винчестерском диске одного из компьютеров сети. Серверы, разделяемым ресурсом которых является дисковая память (или, говоря иначе, файлы, хранящиеся на винчестерском диске), называются файл-серверами.
Программы пользователей работают на рабочих станциях и при необходимости обращаются к файлам сервера, в которых хранится база данных системы. При этом возникает немало проблем.
Файловый сервер обрабатывает огромное количество запросов на обслуживание файлов, это требует значительного времени. Пользователю приходится ждать.
При одновременном обращении нескольких пользователей к одному файлу (например, к базе данных туров) могут возникнуть проблемы с надежностью хранения информации, так как файловый сервер производит чтение/запись блоков данных, не контролируя их содержимое.
Соответственно, некорректная работа клиентского приложения может легко разрушить базу данных системы.
Технология «файл-сервер»
Каждый клиент обращается к БД - что и как этот клиент выполняет, полностью зависит от него и от надежности всей системы.
Между клиентом и сервером происходит обмен большим количеством информации, при этом для изменения одного байта (например, занят номер или нет) необходимо прочитать значительно больший массив (обычно в сотни раз больший - так уж хранится информация на диске), изменить этот один байт и снова записать информацию на диск). Файл-серверные решения применимы только в высокоскоростных сетях при ограниченном количестве (8-16) одновременно работающих клиентских приложений.
Технология «клиент-сервер»
Эта технология хороша тем, что между базой данных и клиентом становится посредник - SQL-сервер. Применительно к информационным системам это означает, что
работа с базой данных реализуется с помощью SQL-сервера.
Технология «клиент-сервер», получает все большее распространение, но реализация технологии в конкретных программных продуктах существенно различается.
Один из основных принципов технологии «клиент-сервер», заключается в разделении операций обработки данных на три группы, имеющие различную природу.
- Ввод и отображение данных.
- Прикладные операции обработки данных, характерные для решения задач данной предметной области.
- Операции хранения и управления данными (базами данных или файловыми системами).
Согласно этой классификации в любом техпроцессе можно выделить программы трех видов:
· программы представления, реализующие операции первой группы;
• прикладные программы, поддерживающие операции второй группы;
• программы доступа к информационным ресурсам, реализующие операции третьей группы.
В соответствии с этим выделяют три модели реализации технологии «клиент — сервер»:
1. модель доступа к удаленным данным (Remote Data Access — RDA);
2. модель сервера базы данных (DateBase Server — DBS);
3. модель сервера приложений (Application Server — AS).
В RDA-модели программы представления и прикладные программы объединены и выполняются на компьютере-клиенте, который поддерживает как операции ввода и отображения данных, так и прикладные операции. Доступ к информационным ресурсам обеспечивается или операторами языка SQL, если речь идет о базах данных, или вызовами функций специальной библиотеки. Запросы к информационным ресурсам направляются по сети удаленному компьютеру, например серверу БД, который обрабатывает запросы и возвращает клиенту необходимые для обработки блоки данных (рис. 4.4).
DBS-модель строится в предположении, что программы, выполняемые на компьютере-клиенте, ограничиваются вводом и отображением, а прикладные программы реализованы в процедурах базы данных и хранятся непосредственно на компьютере-сервере базы данных вместе с программами, управляющими и доступом к данным - ядру СУБД (рис. 4.5).
На практике часто используются смешанные модели, когда поддержка целостности базы данных и простейшие операции обработки данных поддерживаются хранимыми процедурами (DBS-модель), а более сложные операции выполняются непосредственно прикладной программой, которая выполняется на компьютере-клиенте (RDA-модель).
В AS-модели программа, выполняемая на компьютере-клиенте, решает задачу ввода и отображения данных, т. е. реализует операции первой группы. Прикладные программы выполняются одним либо группой серверов приложений (удаленный компьютер или несколько компьютеров). Доступ к информационным ресурсам, необходимым для решения прикладных задач, обеспечивается так же, как и в RDA-модели. Прикладные программы обеспечивают доступ к ресурсам различных типов — базам данных, индексированным файлам, очередям и др. RDA- и DBS-модели опираются на двухзвенную схему разделений операций. В AS-модели реализована трехзвенная схема разделения операций, где прикладная программа выделена как важнейшая (рис. 4.6).
Главное преимущество RDA-модели состоит в том, что она представляет множество инструментальных средств, которые обеспечивают быстрое создание приложений, работающих с SQL-ориентированными СУБД. Иными словами, основное достоинство RDA-модели заключается в унификации и широком выборе средств разработки приложений. Подавляющее большинство этих средств разработки на языках четвертого поколения, включая и средства автоматизации программирования, обеспечивает разработку прикладных программ и операций представления.
Несмотря на широкое распространение, RDA-модель постепенно уступает место более технологичной DBS-модели. Последняя реализована в некоторых реляционных СУБД (Ingres, SyBase, Oracle).
В DBS-модели приложение является распределенным. Программы представления выполняются на компьютере-клиенте, в то время как прикладные программы решения задач оформлены как набор хранимых процедур и функционируют на компьютере-сервере БД. Преимущества DBS-модели перед RDA-моделью оче-видны: это и возможность централизованного администрирования решения экономических задач, и снижение напряженности, и возможность разделения процедуры между несколькими приложениями, и экономия ресурсов ПК за счет использования однажды созданного плана выполнения процедуры.
Основным элементом принятой в AS-модели трехзвенной схемы является сервер приложения. Он реализует несколько прикладных функций, каждая из которых оформлена как служба и предоставляет услуги всем программам, которые желают и могут ими воспользоваться. Серверов приложений может быть несколько, и каждый из них предоставляет определенный набор услуг. Любая программа, которая пользуется ими, рассматривается как клиент приложения. Детали реализации прикладных программ в сервере приложений полностью скрыты от клиента приложения.
AS-модель имеет универсальный характер. Четкое разграничение логических компонентов и рациональный выбор программных средств для их реализации обеспечивают модели такой уровень гибкости и открытости, который пока недостижим в RDA- и DBS-моделях. Именно AS-модель используется в качестве фундамента относительно нового вида программного обеспечения — мониторов транзакций.