Технология клиент-сервер

Лекция №8-9

В настоящее время весьма актуален переход от небольших локальных сетей персональных компьютеров к промышленным корпоративным информационным системам - UPSIZING. Большинство средних и крупных государственных и коммерческих организаций постепенно отказываются от использования только ПК, задачей сегодняшнего дня - создание открытых и распределенных информационных систем.

На сегодняшний день развитие информационных технологий - создание v единых сетей предприятий и корпораций, объединяющих удаленные компьютеры и локальные сети, часто использующие разные платформы, в единую информационную систему. Т.е. необходимо объединить пользователей компьютеров в единое информационное пространство и предоставить им совместный доступ к ресурсам. Однако здесь возникает множество трудностей, связанных с решением задачи по организации каналов связи (кабель Ethernet не протянешь по городу, а тем более до другого конца планеты). При построении корпоративных сетей иногда используются телефонные каналы, но связь по таким коммутируемым линиям ненадежна, аренда выделенных линий связи дорога, а эффективность такого канала невысокая. Проблема возникает и при интегрировании в корпоративную сеть разнородных ЛВС, а также в подключении больших компьютеров, например, IBM mainframe или VAX. Сложности возникают и при объединении в одну локальную сеть компьютеров с разными ОС. Поэтому построение корпоративной сети задача не из легких.

Проблема первая - это каналы связи. Самым оптимальным вариантом является использование уже существующих глобальных сетей передачи данных общего пользования, чтобы коммуникационный протокол в корпоративной сети совпадал с принятым в существующих глобальных сетях. Наиболее рациональным выбором здесь следует считать протокол Х.25. Данный протокол позволяет работать даже на низкокачественных линиях связи, так как разрабатывался он для подключения удаленных терминалов к большим ЭВМ и соответственно включает в себя мощные средства коррекции ошибок, освобождая от этой работы пользователя.

Дальнейшее развитие Х.25 - Frame Relay, а также новые протоколы типа ATM, хотя и обещают значительно большие скорости, требуют практически идеальных линий связи и, возможно, не скоро будут широко применяться в ближайшем будущем. Существующие в нашей стране глобальные сети общего доступа - SprintNet, Infotel, Pochet и прочие - построены на базе Х.25

Протокол Х.25 позволяет организовать в одной линии до 4096 виртуальных каналов связи. Если протянуть к офису одну выделенную линию. то ее можно использовать для объединения нескольких удаленных офисов, подключения корпоративных информационных ресурсов, доступа к системам электронной почты, базам данным - одновременно.

Выделенная линия - это обычная телефонная линия, с которой можно работать на скоростях 9600-28800 бит/с. Более скоростные линии (64 Кбит/с и >) стоят значительно дороже.

Обычно сети Х.25 строятся на двух типах оборудования - Switch или центр коммутации пакетов (ЦКП) и PAD (hfcket assembler/disassembler -сборщик/разработчик пакетов), называемый также пакетным адаптером данных (ПАД), или терминальным концентратором. ПАД служит для подключения к сети Х.25 оконечных устройств через порты. Примером использования ПАД в корпоративной сети - подключение банкоматов к центральному компьютеру банка.

ЦКП- его задача состоит в определении маршрута, т.е. в выборе физических линий и виртуальных каналов в них, по которым будет пересылаться информация.

Переход к многопользовательским СУБД - качественно технологический скачок, обеспечивающий деятельность организаций в будущем. Реализация перехода к новой информационной системе (ИС) зависит от используемой и перспективной моделей клиент-сервер.

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

Компьютер, управляющий тем или иным ресурсом называют сервером этого ресурса, а компьютер, пользующийся им - клиентом.

Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Например, назначением сервера баз данных является обслуживание запросов клиентов, связанных с обработкой данных; файловый сервер, или файл-сервер, распоряжается файловой системой и т.д.

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

Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на четыре группы, имеющие различную природу.

 

Первая группа. Это функции ввода и отображения данных.

Вторая группа - объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы - открытие счета, перевод денег с одного счета на другой и т.д.).

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

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

В соответствии с этим в любом приложении выделяются следующие логические компоненты:

- компонент представления (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.).

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

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


Модель доступа к удаленным данным (RDA)-

существенно отличается от FS-модели методом доступа к информационным ресурсам. В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API).

Запросы к информационным ресурсам направляются по сети удаленному компьютеру, который обрабатывает и выполняет их, возвращая клиенту блоки данных (рис.4.8).

 

Говоря об архитектуре клиент-сервер, подразумевают данную модель. Основное достоинство RDA-модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов; невозможность администрирования приложений в RDA, т.к. в одной программе совмещаются различные по своей природе функции (представления и прикладные).

4.3.3. Модель сервера баз данных (DBS)-

реализована в некоторых реляционных СУБД (Informix, Ingres, Sybase, Oracle), (рис.4.9).

Ее основу составляет механизм хранимых процедур - средство программирования SQL-сервера. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как, прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, т.е. ядро СУБД.

 

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

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

- снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур);

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

- экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. К недостаткам относится:

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

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


Модель сервера приложений (AS)-

представляет собой процесс, выполняемый на компьютере-клиенте, отвечающий за интерфейс с пользователем (т.е. реализует функции первой группы), (рис.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-модели характерны два ключевых компонента:

- ПК на базе процессоров 486/Pentium под управлением ОС MS Windows;

- высокопроизводительный RISC-компьютер (фирм Sun, Hewiett-Packard, IBM) под управлением соответствующей версии ОС UNIX.