- •107 Оглавление
- •Лекция №1-2 Информационные системы и их функции
- •Понятиеинформационной системы
- •Применение информационных систем
- •Определение понятия «информационная система»
- •Отсутствие общепринятого определения
- •Следствия общности определения
- •Граница между системой базы данных и приложением
- •Ресурсы информационных систем
- •Пользователи информационной системы
- •Специализированные информационные системы
- •Библиографический список
- •Лекция №3-4 Функции информационных систем
- •Сбор и регистрация информационных ресурсов
- •Хранение информационных ресурсов
- •Актуализация информационных ресурсов
- •Обработка информационных ресурсов
- •Предоставление информационных ресурсов пользователям
- •Другие функции
- •Библиографический список
- •Лекция №5-6 Классификация информационных систем
- •Классификации ис
- •Функциональное назначение модулей корпоративной ис.
- •Классификация рынка информационных систем
- •Проектирование ис
- •Библиографический список
- •Лекция №7-10 Модель клиент-сервер
- •Клиенты и серверы
- •Примеры клиента и сервера
- •Листинг 1.3.Файлheader.Pas, используемый клиентом и сервером
- •Листинг 1.4.Пример сервера
- •Листинг 1.5.Клиент, использующий сервер из листинга 1.4 для копирования файла
- •Разделение приложений по уровням
- •Уровень пользовательского интерфейса
- •Уровень обработки
- •Уровень данных
- •Варианты архитектуры клиент-сервер
- •Многозвенные архитектуры
- •Современные варианты архитектуры
- •Библиографический список
- •Лекция №11-12 Связь Уровни протоколов
- •Удаленный вызов процедур
- •Обращение к удаленным объектам
- •Распределенные объекты
- •Объекты времени компиляции против объектов времени выполнения
- •Сохранные и нерезидентные объекты
- •Статическое и динамическое удаленное обращение к методам
- •Библиографический список
- •Лекция №13-14 Связь посредством сообщений
- •Сохранность и синхронность во взаимодействиях
- •Связь на основе потоков данных
- •Поддержка непрерывных сред
- •Поток данных
- •Библиографический список
- •Лекция №15-16 Оценка технических параметров ис и ее компонент Общая постановка задачи
- •Стандарты управления качеством промышленной продукции
- •Библиографический список
- •Лекция №17-18 Отказоустойчивость
- •Основные концепции
- •Модели отказов
- •Различные типы отказов
- •Маскирование ошибок при помощи избыточности
- •Библиографический список
- •Лекция №19-20 Жизненный цикл информационных систем
- •Каскадная и спиральная модели
- •Стандарты cals
- •Эксплуатация информационных систем
- •Эффективность реализации cals
- •Лекция №21-22 Общая стоимость владения информационной инфраструктурой
- •Методика Gartner Group
- •Оценка общей стоимости владения
- •Лекция №23-24 Защита информации Угрозы, правила и механизмы
- •Архитектура защиты Globus
- •Библиографический список
- •Лекция №25-26 Вопросы разработки
- •Фокус управления
- •Многоуровневая организация механизмов защиты
- •Распределение механизмов защиты
- •Простота
- •Библиографический список
- •Лекция №27-28 Криптография
- •Нотация, используемая в этой главе
- •Симметричные криптосистемы — des
- •Криптосистемы с открытым ключом — rsa
- •Хэш-функции — md5
- •Библиографический список
Варианты архитектуры клиент-сервер
Разделение на три логических уровня, обсуждавшееся в предыдущем пункте, наводит на мысль о множестве вариантов физического распределения по отдельным компьютерам приложений в модели клиент-сервер. Простейшая организация предполагает наличие всего двух типов машин.
♦ Клиентские машины, на которых имеются программы, реализующие только пользовательский интерфейс или его часть.
♦ Серверы, реализующие все остальное, то есть уровни обработки и данных.
Проблема подобной организации состоит в том, что на самом деле система не является распределенной: все происходит на сервере, а клиент представляет собой не что иное, как простой терминал. Существует также множество других возможностей, наиболее употребительные из них мы сейчас рассмотрим.
Многозвенные архитектуры
Один из подходов к организации клиентов и серверов — это распределение программ, находящихся на уровне приложений, описанном в предыдущем пункте, по различным машинам, как показано на рис. 1.20. В качестве первого шага мы рассмотрим разделение на два типа машин: на клиенты и на серверы, что приведет нас к физически двухзвенной архитектуре (physically two-tiered architecture).
Один из возможных вариантов организации — поместить на клиентскую сторону только терминальную часть пользовательского интерфейса, как показано на рис. 1.20, а, позволив приложению удаленно контролировать представление данных. Альтернативой этому подходу будет передача клиенту всей работы с пользовательским интерфейсом (рис. 1.20, б). В обоих случаях мы отделяем от приложения графический внешний интерфейс, связанный с остальной частью приложения (находящейся на сервере) посредством специфичного для данного приложения протокола. В подобной модели внешний интерфейс делает только то, что необходимо для предоставления интерфейса приложения.
Рис. 1.20.Альтернативные формы организации архитектуры клиент-сервер
Продолжим линию наших рассуждений. Мы можем перенести во внешний интерфейс часть нашего приложения, как показано на рис. 1.20, в.Примером может быть вариант, когда приложение создает форму непосредственно перед ее заполнением. Внешний интерфейс затем проверяет правильность и полноту заполнения формы и при необходимости взаимодействует с пользователем. Другим примером организации системы по образцу, представленному на рис. 1.20, в, может служить текстовый процессор, в котором базовые функции редактирования осуществляются на стороне клиента с локально каптируемыми или находящимися в памяти данными, а специальная обработка, такая как проверка орфографии или грамматики, выполняется на стороне сервера.
Во многих системах клиент-сервер популярна организация, представленная на рис. 1.20, ги д.Эти типы организации применяются в том случае, когда клиентская машина — персональный компьютер или рабочая станция — соединена сетью с распределенной файловой системой или базой данных. Большая часть приложения работает на клиентской машине, а все операции с файлами или базой данных передаются на сервер. Рисунок 1.20, дотражает ситуацию, когда часть данных содержится на локальном диске клиента. Так, например, при работе в Интернете клиент может постепенно создать на локальном диске огромный кэш наиболее часто посещаемых web-страниц.
Рассматривая только клиенты и серверы, мы упускаем тот момент, что серверу иногда может понадобиться работать в качестве клиента. Такая ситуация, отраженная на рис. 1.21, приводит нас к физически трехзвенной архитектуре (physically three-tiered architecture).
В подобной архитектуре программы, составляющие часть уровня обработки, выносятся на отдельный сервер, но дополнительно могут частично находиться и на машинах клиентов и серверов. Типичный пример трехзвенной архитектуры — обработка транзакций. В этом случае отдельный процесс — монитор транзакций — координирует все транзакции, возможно, на нескольких серверах данных.
Рис. 1.21. Пример сервера, действующего как клиент