Основные термины и определения
Клиент (client) – пользователь и (или) компьютер, использующий какие-либо программные сервисы
Сервер (server) – компьютер или центр обработки данных, предоставляющий программные сервисы
Тонкий клиент (thin client) – клиент с минимальным пользовательским интерфейсом – не имеющий состояния, сеанса, полнофункционального GUI
Полнофункциональный клиент (rich client) – клиент, имеющий полнофункциональный GUI и общающийся с сервером через слой промежуточного программного интерфейса (middleware), обеспечивающий его функциональность;
Развитие платформенных архитектур ИС происходило по трём направлениям:
· автономные архитектуры
· централизованные архитектуры
· распределённые архитектуры
Развитие этих направлений связано с необходимостью обеспечения интеграции и построения единого информационного пространства.
Автономными (standalone) архитектурами могут быть сервисные программы, системные утилиты, текстовые и графические редакторы, компиляторы, достаточно простые корпоративные программы. Развитая корпоративная информационная система, как правило, не может состоять из отдельных, не связанных между собой компонентов.
Централизованная архитектуравычислительных систем была распространена в 1970 — 1980-х гг. и реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная “не интеллектуальность” терминалов. Их работой управляет хост-ЭВМ.
Достоинства такой архитектуры:
· пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства;
· централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы;
· отсутствует необходимость администрирования рабочих мест пользователей.
Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – всё используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая, например, суперЭВМ. Центральная ЭВМ (хост-ЭВМ) должна иметь большую память и высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей. Все программы выполняются на хост-ЭВМ, а терминалы являются лишь устройствами ввода-вывода и, таким образом, в минимальной степени поддерживают интерфейс пользователя.
Рис. Классическое представление централизованной архитектуры
Распределённые архитектуры имеют более богатую историю, что связано с бурным развитием технических и программных компонентов.
Существует шесть основных характеристик архитектур распределённых систем:
· совместное использование ресурсов: распределённые системы допускают совместное использование, как аппаратных (жёстких дисков, принтеров), так и программных (файлов, компиляторов) ресурсов;
· открытость – возможность расширения системы путём добавления новых ресурсов;
· параллельность: в распределённых системах несколько процессов могут одновременно выполняться на разных компьютерах в сети. Эти процессы могут взаимодействовать во время их выполнения;
· масштабируемость – возможность добавления новых свойств и методов;
· отказоустойчивость: наличие нескольких компьютеров позволяет дублирование информации и устойчивость к некоторым аппаратным и программным ошибкам. Распределённые системы в случае ошибки могут поддерживать частичную функциональность. Полный сбой в работе системы происходит только при сетевых ошибках;
· Прозрачность: пользователям предоставляется полный доступ к ресурсам в системе, в то же время от них скрыта информация о распределении ресурсов по системе.
Распределённые системы обладают следующими недостатками:
· сложность: намного труднее понять и оценить свойства распределённых систем в целом, их сложнее проектировать, тестировать и обслуживать. Также производительность системы зависит от скорости работы сети, а не отдельных процессоров. Перераспределение ресурсов может существенно изменить скорость работы системы;
· безопасность: обычно доступ к системе можно получить с нескольких разных машин, сообщения в сети могут просматриваться и перехватываться. Поэтому в распределённой системе намного труднее поддерживать безопасность;
· управляемость: система может состоять из разнотипных компьютеров, на которых могут быть установлены различные версии операционных систем. Ошибки на одной машине могут распространиться непредсказуемым образом на другие машины;
· непредсказуемость: реакция распределённых систем на некоторые события непредсказуема и зависит от полной загрузки системы, её организации и сетевой нагрузки. Так как эти параметры могут постоянно изменяться, поэтому время ответа на запрос может существенно отличаться от времени.
Ресурсы в распределённых системах располагаются на разных компьютерах. Примером может служить система URL (унифицированный указатель ресурсов), которая определяет имена Web-страниц.
Выделяют следующие виды архитектур распределённых информационных систем:
· архитектура «файл-сервер»;
· архитектура «клиент-сервер»;
· архитектура Web-приложений.
Архитектура «файл-сервер»
Файл-серверные приложения схожи по своей структуре с локальными приложениями и используют сетевой ресурс для хранения программ и данных.
Функции сервера: хранения данных и кода программы.
Функции клиента: обработка данных происходит исключительно на стороне клиента.
Организация информационных систем на основе использования выделенных файл-серверов всё ещё является распространённой в связи с наличием большого количества персональных компьютеров разного уровня развитости и сравнительной дешевизны связывания PC в локальные сети. Основным достоинством данной архитектуры является простота организации.
Достоинства архитектуры «файл-сервер»:
· многопользовательский режим работы с данными;
· удобство централизованного управления доступом;
· низкая стоимость разработки;
· высокая скорость разработки;
· невысокая стоимость обновления и изменения ПО.
Недостатки архитектуры «файл-сервер»:
· проблемы многопользовательской работы с данными – последовательный доступ, отсутствие гарантии целостности;
· низкая производительность (зависит от производительности сети, сервера, клиента);
· низкая масштабируемость;
· ненадёжность системы.
Рис. Классическое представление информационной системы в архитектуре “файл-сервер”
Рис. Модель файлового сервера
Архитектура «клиент-сервер»
Представляет собой вычислительную или сетевую архитектуру, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами.
Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. Первоначально системы такого уровня базировались на классической двухуровневой клиент-серверной архитектуре (Two-tier architecture). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных.
На стороне клиента выполняется код приложения, в который обязательно входят компоненты, поддерживающие интерфейс с конечным пользователем и производящие отчёты, а также другие специфичные для приложения функции. Клиентская часть приложения взаимодействует с клиентской частью программного обеспечения управления базами данных, которая, фактически является индивидуальным представителем СУБД для приложения.
Рис. Классическое представление архитектуры "клиент-сервер"
Рис. Модель сервера СУБД
Достоинства архитектуры «клиент-сервер»:
- возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;
· все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
- поддержка многопользовательской работы;
- гарантия целостности данных.
Недостатки архитектуры «клиент-сервер»:
- неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;
- администрирование данной системы требует квалифицированного профессионала;
- высокая стоимость оборудования;
- бизнес логика приложений осталась в клиентском ПО.
Многоуровневая архитектура “клиент-сервер”
Увеличение масштабов информационной системы не порождает принципиальных проблем. Обычным решением является замена аппаратуры сервера (и, может быть, аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае практически не затрагивается прикладная часть информационной системы. Данный вид архитектуры также называют архитектурой с “толстым” клиентом. В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры “клиент-сервер”. Использование многозвенной архитектуры может быть рекомендовано также тогда, когда некоторая программа требует для своей работы много ресурсов. В этом случае может оказаться дешевле построить сеть с одним очень мощным сервером, чем использовать несколько мощных клиентских рабочих станций.
Рис. Представление многоуровневой архитектуры "клиент-сервер"
Рис.
Достоинства многоуровневой архитектуры «клиент-сервер»:
- клиентское ПО не нуждается в администрировании;
- масштабируемость;
- конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;
- высокая безопасность;
- высокая надёжность;
- низкие требования к скорости канала (сети) между терминаламиисервером приложений;
- низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.
Недостатки многоуровневой архитектуры «клиент-сервер»:
- сложность администрирования и обслуживания;
- более высокая сложность создания приложений;
- сложнее в разворачивании и администрировании;
- высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;
- высокие требования к скорости канала (сети) между сервером базы данныхи серверами приложений.
Дата добавления: 2015-11-10; просмотров: 4260;