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

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

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

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

главный компьютер.

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

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

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

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

35) Какая информация содержится на уровне обработки приложения

клиент-сервер?

Многие приложения модели клиент-сервер построены как бы из трех различных

частей: части, которая занимается взаимодействием с пользователем, части, которая

отвечает за работу с базой данных или файловой системой, и средней части,

реализующей основную функциональность приложения. Эта средняя часть логически

располагается на уровне обработки. В противоположность пользовательским

интерфейсам или базам данных на уровне обработки трудно выделить общие

закономерности. Однако мы приведем несколько примеров для разъяснения

вопросов, связанных с этим уровнем.

В качестве первого примера рассмотрим поисковую машину в Интернете.

Если отбросить все анимированные баннеры, картинки и прочие оконные украшательства,

пользовательский интерфейс поисковой машины очень прост: пользователь

вводит строку, состоящую из ключевых слов, и получает список заголовков

web-страниц. Результат формируется из гигантской базы просмотренных

и проиндексированных web-страниц. Ядром поисковой машины является программа,

трансформирующая введенную пользователем строку в один или несколько

запросов к базе данных. Затем она помещает результаты запроса в список

и преобразует этот список в набор HTML-страниц. В рамках модели клиент-

сервер часть, которая отвечает за выборку информации, обычно находится на

уровне обработки. Эта структура показана на рис. 1.19.

В качестве второго примера рассмотрим систему поддержки принятия penie-

ний для фондового рынка. Так же как PI В ПОИСКОВОЙ машине, эту систему можно

разделР1ть на внепрнрпр ригтерфейс, реалргзующий работу с пользователем, внут-

ренрпою часть, отвечающую за доступ к базе с финансовор! информацией, PI промежуточную

программу анализа. Анализ финансовых данных может потребовать

замысловатых методик и технологий на основе статистических методов и искусственного

интеллекта. В некоторых случаях для того, чтобы обеспечить требуемые

производительрюсть и время отклика, ядро системы поддержки финансовых

решений должно выполняться на высокопроизводительных компьютерах.

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

текстового процессора, приложения для работы с электронными таблицами, коммуникационных

утилит и т. д. Подобные офисные пакеты обычно поддерживают

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

и работу с файлами в домашнем каталоге пользователя. В этом случае

уровень обработки будет включать в себя относительно большой набор программ,

каждая из которых призвана поддерживать какую-то из функций обработки.

36) Какая информация содержится на уровне данных приложения

клиент-сервер?

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

Уровень данных в модели клиент-сервер содержит программы, которые предоставляют

данР1ые обрабатывающим их приложениям. Спецр1фр1ческим свойством

этого уровня является требование сохранности (persistence). Это означает, что

когда приложение не работает, данные должны сохраняться в определенном месте

в расчете на дальнейшее использование. В простейшем варианте уровень данных

реализуется файловой системой, но чаще для его реализации задействуется

полномасштабная база данных. В модели клиент-сервер уровень данных обычно

находится на стороне сервера.

Кроме простого храненрш информациР1 уровень данных обычно также отвечает

за поддержание целостности данных для различных приложений. Для базы

данных поддержание целостности означает, что метаданные, такие как описания

таблиц, огранР1чения и специфические метаданные прршожений, также хранятся

на этом уровне. Например, в приложенрп! для банка мы можем пожелать сформировать

уведомление, если долг клиента по кредитной карте достигнет определенного

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

в нужный момент активизирует процедуру, связанную с этим триггером.

Обычно в деловой среде уровень данных организуется в форме реляционной

базы данных. Ключевым здесь является независимость данных. Данные организуются

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

не влияли на приложения, а прршожения не оказывали влияния на организацию

данных. Использование реляционных баз данных в модели клиент-сервер помогает

нам отделить уровень обработки от уровня данных, рассматривая обработку

и данные независР1мо друг от друга.

Однако существует обширный класс приложений, для которых реляционные

базы данных не являются наилучшим выбором. Характерной чертой таких приложений

является работа со сложными типами данных, которые проще модели-

ровать в понятиях объектов, а не отношений. Примеры таких типов данных — от

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

систем автоматизированного проектирования. Также и мультимедийным системам

значительно проще работать с видео- и аудиопотоками, используя специфичные

для них операции, чем с моделями этих потоков в виде реляционных

таблиц.

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

работы с объектами, имеет смысл реализовать уровень да}П1ых средствами

объектно-ориентированных баз данных. Подобные базы данных не только

поддерживают организацию сложных данных в форме объектов, но и хранят реализации

операций над этими объектами. Таким образом, часть функцрюнально-

сти, приходившейся на уровень обработки, мигрирует в этом случае на уровень

данных.

 

37) Архитектура, в которой программы, составляющие часть уровня

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

частично находиться и на машинах клиентов и серверов образует…

 

физически трехзвепной архитектуре {physicallythree-tiered architecture^.

В подобной архитектуре программы, составляющие часть уровня обработки,

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

и на машинах клиентов и серверов.

 

38) Архитектура, в которой программы на клиентской машине

реализуют только пользовательский интерфейс или его часть, а серверы

реализуют все остальное, то есть уровни обработки и данных образует…