Разработка и эксплуатация клиентской части

Содержание

Слайд 2

Основной принцип технологии "клиент-сервер" заключается в разделении функций приложения на три

Основной принцип технологии "клиент-сервер" заключается в разделении функций приложения на три

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

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

компонент представления данных
прикладной компонент
компонент управления ресурсом

Слайд 3

Компанией Gartner Group, специализирующейся в области исследования информационных технологий, предложена следующая

Компанией Gartner Group, специализирующейся в области исследования информационных технологий, предложена следующая классификация

двухзвенных моделей взаимодействия клиент-сервер (двухзвенными эти модели называются потому, что три компонента приложения различным образом распределяются между двумя узлами):
Слайд 4

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

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

ЭВМ с подключенными к ней неинтеллектуальными терминалами. Управление данными и взаимодействие с пользователем при этом объединялись в одной программе, на терминал передавалась только "картинка", сформированная на центральном компьютере.
Затем, с появлением персональных компьютеров (ПК) и локальных сетей, были реализованы модели доступа к удаленной базе данных. Некоторое время базовой для сетей ПК была архитектура файлового сервера. При этом один из компьютеров является файловым сервером, на клиентах выполняются приложения, в которых совмещены компонент представления и прикладной компонент (СУБД и прикладная программма). Протокол обмена при этом представляет набор низкоуровненых вызовов операций файловой системы. Такая архитектура, реализуемая, как правило, с помощью персональных СУБД, имеет очевидные недостатки - высокий сетевой трафик и отсутствие унифицированного доступа к ресурсам.
Слайд 5

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

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

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

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

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

Это позволило часть прикладного компонента перенести на сервер (модель распределенного приложения). Процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на том же компьютере, что и SQL-сервер. Преимущества такого подхода: возможно централизованное администрирование прикладных функций, значительно снижается сетевой трафик (т.к. передаются не SQL-запросы, а вызовы хранимых процедур). Недостаток - ограниченность средств разработки хранимых процедур по сравнению с языками общего назначения (C и Pascal).
Слайд 7

На практике сейчас обычно используются смешанный подход: простейшие прикладные функции выполняются

На практике сейчас обычно используются смешанный подход:
простейшие прикладные функции выполняются

хранимыми процедурами на сервере
более сложные реализуются на клиенте непосредственно в прикладной программе
Слайд 8

Сейчас ряд поставщиков коммерческих СУБД объявило о планах реализации механизмов выполнения

Сейчас ряд поставщиков коммерческих СУБД объявило о планах реализации механизмов выполнения

хранимых процедур с использованием языка Java. Это соответствует концепции "тонкого клиента", функцией которого остается только отображение данных (модель удаленного представления данных).
Слайд 9

В последнее время также наблюдается тенденция ко все большему использованию модели

В последнее время также наблюдается тенденция ко все большему использованию модели

распределенного приложения. Характерной чертой таких приложений является логическое разделение приложения на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная архитектура клиент-сервер становится трехзвенной, а к некоторых случаях, она может включать и больше звеньев.
Слайд 10

Термин "клиент-сервер" исходно применялся в архитектуре ПО, которое ориентировало распределение процесса

Термин "клиент-сервер" исходно применялся в архитектуре ПО, которое ориентировало распределение процесса

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

Ранее приложение (пользовательская программа) не разделялось на части, а выполнялось монолитным

Ранее приложение (пользовательская программа) не разделялось на части, а выполнялось монолитным

блоком, но при рациональном использовании ресурсов сети данный принцип не актуален.
Слайд 12

Теперь все ПК в сети обладают собственными ресурсами и разумно так

Теперь все ПК в сети обладают собственными ресурсами и разумно так

распределить нагрузку на них, чтобы максимальным образом использовать их ресурсы. Основной принцип технологии "клиент-сервер" в БД заключается в разделении функций стандартного интерактивного приложения на 5 групп:

Функция ввода и отображения данных (PL);
Прикладные функции, определяющие основные алгоритмы решения задач приложения (BL);
Функции обработки данных внутри приложения (DL);
Функции управления информационными ресурсами (DML);
Служебные функции, играющие роль связок между функциями 1-х и 4-х групп.

Слайд 13

PL - это часть приложения, которая определяется тем, что пользователь видит

PL - это часть приложения, которая определяется тем, что пользователь видит на

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

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

Слайд 14

BL - это часть кода приложения, которая определяет алгоритмы решения конкретных

BL - это часть кода приложения, которая определяет алгоритмы решения конкретных задач

приложения. Обычно этот код пишется с использованием различных языков программирования. DL - это часть кода приложения, которая связана с обработкой данных внутри приложения (данными управляет собственно СУБД), где используется язык запросов и средства манипулирования данными стандартного языка SQL.  Процессор управления данными (Data Base Manager System Processing) - это собственно СУБД, которая обеспечивает управление и хранение данных. В идеале СУБД должна быть скрыта от BL-приложения. Однако для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть приложения.