Модели клиент-сервер- это технология взаимодействия компьютеров в сети. Каждый из компьютеров имеет свое назначение и выполняет свою определенную роль. Одни компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами (процессоры, файловая система, почтовая служба, служба печати, база данных), другие имеют возможность обращаться к этим службам, пользуясь их услугами. Компьютер, управляющий тем или иным ресурсом называют сервером этого ресурса, а компьютер, пользующийся им - клиентом. Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Например, назначением сервера баз данных является обслуживание запросов клиентов, связанных с обработкой данных; файловый сервер, илифайл-сервер, распоряжается файловой системой и т. д. Этот принцип распространяется и на взаимодействие программ. Программа, выполняющая предоставление соответствующего набора услуг, рассматривается в качестве сервера, а программы пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный характер, т. е. одна часть функций прикладной программы реализуется в программе-клиенте, а другая - в программе-сервере, а для их взаимодействия определяется некоторыйпротокол.
Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на четыре группы, имеющие различную природу. Первая группа. Это функции ввода и отображения данных.
Вторая группа- объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы - открытие счета, перевод денег с одного счета на другой и т. д. ).
Третья группа- фундаментальные функции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т. д. ).
Четвертая группа - служебные функции, осуществляющие связь между функциями первых трех групп. В соответствии с этим в любом приложении выделяются следующие логические компоненты:
- компонент представления (presentation), реализующий функции первой группы; - прикладной компонент (business application), поддерживающий функции второй группы;
- компонент доступа к информационным ресурсам (resource manager), поддерживающий функции третьей группы, а также вводятся и уточняются соглашения о способах их взаимодействия (протокол взаимодействия).
Различия в реализации технологии клиент-сервер определяются следующими факторами: - видами программного обеспечения, в которые интегрирован каждый из этих компонентов;
- механизмами программного обеспечения, используемыми для реализации функций всех трех групп;
- способом распределения логических компонентов между компьютерами в сети; - механизмами, используемыми для связи компонентов между собой. Выделяются четыре подхода, реализованные в следующих моделях: 1. модель файлового сервера (File Server - FS);
2. модель доступа к удаленным данным (Remote Data Access - RDA); 3. модель сервера баз данных (Data Base Server - DBS); 4. модель сервера приложений (Application Server - AS). 4. 3. 1. Модель файлового сервера. (FS)
является базовой для локальных сетей ПК. До недавнего времени была популярна среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и т. д.
Одним из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер работает под управлением сетевой операционной системы (Novell NetWare) и играет роль компонента доступа к информационным ресурсам (т. е. к файлам). На других ПК в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент (рис. 4. 7. ). Клиент Сервер Запросы Компонент Прикладной Компонент доступа к представления компонент ресурсам файлы Рис. 4. 7. Модель файлового сервера
Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
К недостаткам технологии данной модели относят низкий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным ( защита только на уровне файловой системы) и т. д. 4. 3. 2. Модель доступа к удаленным данным (RDA) –
существенно отличается от FS-модели методом доступа к информационным ресурсам. В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API).
Запросы к информационным ресурсам направляются по сети удаленному компьютеру, который обрабатывает и выполняет их, возвращая клиенту блоки данных (рис. 4. 8). Клиент Сервер SQL Компонент Прикладной Компонент доступа к представления компонент ресурсам данные Рис. 4. 8. Модель доступа к удаленным данным
Говоря об архитектуре клиент-сервер, подразумевают данную модель. Основное достоинство RDA-модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов; невозможность администрирования приложений в RDA, т. к. в одной программе совмещаются различные по своей природе функции (представления и прикладные). 4. 3. 3. Модель сервера баз данных (DBS)
реализована в некоторых реляционных СУБД (Informix, Ingres, Sybase, Oracle), (рис. 4. 9).
Ее основу составляет механизм хранимых процедур - средство программирования SQL-сервера. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как, прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, т. е. ядро СУБД.
Клиент Вызов Сервер Компонент Прикладной Компонент доступа к представления компонент SQL ресурсам Рис. 4. 9. Модель сервера баз данных
Понятие информационного ресурса сужено до баз данных, поскольку механизм хранимых процедур - отличительная характеристика DBS-модели - имеется пока только в СУБД. Достоинства DBS-модели:
- возможность централизованного администрирования прикладных функций; - снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур);
- возможность разделения процедуры между несколькими приложениями; - экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. К недостаткам относится:
- ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL, которые уступают по изобразительным средствам и функциональным возможностям в сравнении с языками С или Pascal. Сфера их использована ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур.
На практике чаще используются смешанные модели, когда целостность базы данных и некоторые простейшие прикладные функции обеспечиваются хранимыми процедурами (DBS-модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель). 4. 3. 4. Модель сервера приложений (AS)
представляет собой процесс, выполняемый на компьютере-клиенте, отвечающий за интерфейс с пользователем (т. е. реализует функции первой группы). (рис. 4. 10). Клиент Сервер Сервер
Компонент API Прикладной SQL Компонент доступа представления компонент к ресурсам Рис. 4. 10. Модель сервера приложений
Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server - AS). Доступ к информационным ресурсам осуществляет менеджер ресурсов (например, SQL-сервер). Из прикладных компонентов доступны такие ресурсы как, базы данных, очереди, почтовые службы и др. AS, размещенная на компьютере, где функционирует менеджер ресурсов, избавляет от необходимости направления SQL-запросов по сети, что повышает производительность системы.
Модели RDA и DBS опираются на двухзвенную схему разделения функций: - в RDA-модели прикладные функции отданы программе-клиенту (прикладной компонент сливается с компонентом представления);
- в DBS-модели ответственность за их выполнение берет на себя ядро СУБД (прикладной компонент интегрируется в компонент доступа к информационным ресурсам).
В AS-модели реализована трехзвенная схема разделения функций. Здесь прикладной компонент выделен как важнейший изолированный элемент приложения. Сравнивая модели, AS обладает наибольшей гибкостью и имеет универсальный характер. Принципы перехода к новой информационной системе.
При переходе к новой информационной системе (ИС) необходимо решить такие вопросы как выбор одной из четырех моделей, компоненты архитектуры ИС и инструментарий перехода.
Наиболее распространенной ИС является FS-модель (примем ее за исходную), а в качестве целевой - RDA-модель (наиболее распространена и относительно проста). На практике наблюдаются и другие схемы перехода ( FS-->DBS, RDA--->DBS, RDA-->AS, FS-->AS). Наиболее типичный случай это FS-->RDA, это переход от локальных сетей ПК к архитектуре систем с сервером баз данных. Следующий шаг - определение компонентов архитектуры системы, имеющей в своей основе RDA-модель -компьютер-клиент и сервер баз данных. Проблема заключается в выборе аппаратного и базового программного обеспечения этих компонентов.
На сегодняшний день используются ПК на базе процессоров 486 или Pentium под управлением ОС/2 MS Windows (распространенность, популярность, большое число приложений, широкий набор активно используемых русифицированных продуктов). Самое важное достоинство MS Windows - множество средств быстрой разработки приложений, работающих с SQL-ориентированными СУБД, и доступность этих средств для отечественных пользователей.
Говоря о сервере БД, необходимо упомянуть, что это должен быть мощный компьютер, снабженный высокоскоростными надежными механизмами дисковой памяти большой емкости и системой архивирования на магнитных лентах. Его работа должна осуществляться под управлением многозадачной многопользовательской ОС, поддерживающей промышленные стандарты. Для RDA-модели характерны два ключевых компонента:
Страницы: 1, 2, 3, 4, 5, 6