20437

Разделение приложений по уровням

Доклад

Информатика, кибернетика и программирование

Например сервер распределенной базы данных может постоянно выступать клиентом передающим запросы на различные файловые серверы отвечающие за реализацию таблиц этой базы данных. В этом случае сервер баз данных сам по себе не делает ничего кроме обработки запросов. Однако рассматривая множество приложений типа клиентсервер предназначенных для организации доступа пользователей к базам данных многие рекомендовали разделять их на три уровня: уровень пользовательского интерфейса; уровень обработки; уровень данных. Уровень обработки обычно...

Русский

2013-07-25

76 KB

2 чел.

11. Разделение приложений по уровням

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

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

  •  уровень пользовательского интерфейса;
  •  уровень обработки;
  •  уровень данных.

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

Уровень пользовательского интерфейса

Уровень пользовательского интерфейса обычно реализуется на клиентах. Этот уровень содержит программы, посредством которых пользователь может взаимодействовать с приложением. Сложность программ, входящих в пользовательский интерфейс, весьма различна.

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

В наше время даже в среде мэйнфреймов наблюдаются более совершенные пользовательские интерфейсы. Обычно на клиентских машинах имеется как минимум графический дисплей, на котором можно задействовать всплывающие или выпадающие меню и множество управляющих элементов, доступных для мыши или клавиатуры. Типичные примеры таких интерфейсов — надстройка XWindows, используемая во многих UNIX-системах, и более ранние интерфейсы, разработанные для персональных компьютеров, работающих под управлением MS-DOS и Apple Macintosh .

Современные пользовательские интерфейсы значительно более функциональны. Они поддерживают совместную работу приложений через единственное графическое окно и в ходе действий пользователя обеспечивают через это окно обмен данными. Например, для удаления файла часто достаточно перенести значок, соответствующий этому файлу, на значок мусорной корзины. Аналогичным образом многие текстовые процессоры позволяют пользователю перемещать текст документа в другое место, пользуясь только мышью. Мы вернемся к пользовательским интерфейсам в главе 3.

Уровень обработки

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

В качестве первого примера рассмотрим поисковую машину в Интернете. Если отбросить все анимированные баннеры, картинки и прочие оконные украшательства, пользовательский интерфейс поисковой машины очень прост: пользователь вводит строку, состоящую из ключевых слов, и получает список заголовков web-страниц. Результат формируется из гигантской базы просмотренных и проиндексированных web страниц. Ядром поисковой машины является программа, трансформирующая введенную пользователем строку в один или несколько запросов к базе данных. Затем она помещает результаты запроса в список и преобразует этот список в набор HTML-страниц. В рамках модели клиент-сервер часть, которая отвечает за выборку информации, обычно находится на уровне обработки. Эта структура показана на рис. 1.19.

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

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

Уровень данных

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

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

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

Однако существует обширный класс приложений, для которых реляционные базы данных не являются наилучшим выбором. Характерной чертой таких приложений является работа со сложными типами данных, которые проще моделировать в понятиях объектов, а не отношений. Примеры таких типов данных — от простых наборов прямоугольников и окружностей до проекта самолета в случае систем автоматизированного проектирования. Также и мультимедийным системам значительно проще работать с видео и аудиопотоками, используя специфичные для них операции, чем с моделями этих потоков в виде реляционных таблиц.

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


 

А также другие работы, которые могут Вас заинтересовать

24709. ТИПОВЫЕ СХЕМЫ СОЕДИНЕНИЯ ОБМОТОК ТТ 192.5 KB
  Вторичные обмотки ТТ и обмотки реле соединяются в звезду и связываются их нулевые точки рис. При нормальном режиме и трехфазном КЗ в реле I II и III проходят токи фаз Ia = IA KI Ib = IB KI Ic = IC KI а в нулевом проводе их геометрическая сумма: которая при симметричных режимах равна нулю рис. Соответствующий ему вторичный ток протекает также только через одно реле и замыкается по нулевому проводу.12г ток проходит в двух реле включенных на поврежденные фазы рис.
24710. Требования к точности ТТ. Выбор ТТ 162.5 KB
  Точность работы ТТ питающих измерительные приборы характеризуется классом точности а РЗ предельной кратностью первичного тока I10=I1max I1HOM и допустимой нагрузкой. Трансформаторы тока класса Р предназначены для РЗ. Пользуясь кривой для расчёта погрешности ТТ можно задаваясь определенным значением ZH определять допустимую кратность первичного тока I10 при которой полная погрешность не превосходит 10 или задаваясь значением предельной кратности К10 определять допустимое значение ZH. Тип ТТ выбирают с учетом тока...
24711. Выбор тока срабатывания МТЗ. Выдержка времени срабатывания защиты 148 KB
  Выбор тока срабатывания МТЗ. Исходным требованием для выбора тока срабатывания МТЗ является чтобы она надежно работала при повреждениях на защищаемом участке но в то же время не действовала при максимальном рабочем токе нагрузки и кратковременных перегрузках вызванных пуском и самозапуском электродвигателей которыйможет существенно превосходить суммарный максимальный рабочий ток нагрузки установившегося режима. Для отстройки МТЗ от 1нмах необходимо выполнить два условия: 1 МТЗ пришедшая в действие при КЗ в сети вне защищаемой ЛЭП...
24712. МТЗ на переменном оперативном токе. Схемы питания оперативных цепей МТЗ от выпрямительных блоков 165.5 KB
  Схемы с дешунтированием электромагнитов отключения выключателя выполняются на электромеханических реле с зависимой и независимой характеристикой выдержки времени. Выбирается первичный и вторичный токи срабатывания токовых реле IС3 и IСР. Сопротивление обмоток реле времени и промежуточных реле Zp принимается при разомкнутой вторичной цепи ПНТ этих реле. Проверяется надежность работы вспомогательных реле и ЭО после дешунтирования ЭО: где IСЭО ток срабатывания ЭО; I'2 вторичный ток ТТ после дешунтирования.
24713. Токовые отсечки. Токовая направленная защита 135 KB
  Токовые отсечки. Токовые отсечки подразделяются на отсечки мгновенного действия и отсечки с выдержкой времени. Поэтому ток срабатывания отсечки должен быть больше максимального тока КЗ . Зона действия отсечки с выдержкой времени выходит за пределы защищаемой ЛЭП и должна отстраиваться от конца зоны РЗ смежного участка по току и по времени.
24714. Защита от КЗ на землю в сети с глухозаземлённой нейтралью 176 KB
  Схема этой РЗ состоит из одного ИО пускового токового реле КАО рис.4 а б реле времени КТ и исполнительного реле KL. Реле тока КАО включено на фильтр тока НП в качестве которого используется нулевой провод ТТ соединенных по схеме полной звезды. При появлении тока 3I0 реле КАО срабатывает и приводит в действие реле времени КТ; последнее через время t подает сигнал на промежуточное реле KL которое дает команду на отключение выключателя.
24715. Токовая направленная защита нулевой последовательности. Выбор уставок 127 KB
  Выдержки времени на защитах НТЗ НП действующих при одном направлении мощности выбираются по ступенчатому принципу. Здесь КАО пускового реле реагирующего на появление КЗ на землю KW0 реле направления мощности реле времени КТ. Отсечки НП выполняются направленными и ненаправленными мгновенными и с выдержкой времени. Схема отсечки с выдержкой времени выполняется так же как и для МТЗ НП рис.
24716. Защита от однофазных замыканий на землю в сети с изолированной нейтралью 118 KB
  Защита от однофазных замыканий на землю в сети с изолированной нейтралью. С изолированной нейтралью работают сети напряжением 635 кВ. Однофазное замыкание в сети с изолированной нейтралью не сопровождается появлением больших токов КЗ т. ток замыкается на землю через очень большие сопротивления емкостей фаз сети.
24717. Токовая поперечная дифференциальная защита линий 165 KB
  Токовая поперечная дифференциальная РЗ предназначена для параллельных ЛЭП с общим выключателем. При одностороннем питании параллельных ЛЭП РЗ устанавливается только со стороны источника питания а в сети с двусторонним питанием с обеих сторон параллельных ЛЭП. На одноименных фазах каждой ЛЭП устанавливаются ТТ с одинаковым коэффициентом трансформации. В действительности в реле протекает ток небаланса IНБ вызванный погрешностью ТТ и некоторым различием первичных токовобусловленным неточным равенством сопротивлений ЛЭП.