- •Основные термины и определения
- •Классификация ис
- •Эволюция и классификация платформенных архитектур информационных систем Основные термины и определения
- •Понятие архитектурного стиля. Классификация архитектурных стилей
- •Модель взаимодействия открытых систем
- •Функции уровней:
- •Модель стека протоколов tcp/ip
- •Трёхуровневая иерархическая модель компании Cisco
- •Сервисно-ориентированные технологии реализации информационных систем
Эволюция и классификация платформенных архитектур информационных систем Основные термины и определения
Клиент (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). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных.
На стороне клиента выполняется код приложения, в который обязательно входят компоненты, поддерживающие интерфейс с конечным пользователем и производящие отчёты, а также другие специфичные для приложения функции. Клиентская часть приложения взаимодействует с клиентской частью программного обеспечения управления базами данных, которая, фактически является индивидуальным представителем СУБД для приложения.
Рис. Классическое представление архитектуры "клиент-сервер"
Рис. Модель сервера СУБД
Достоинства архитектуры «клиент-сервер»:
возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;
все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
поддержка многопользовательской работы;
гарантия целостности данных.
Недостатки архитектуры «клиент-сервер»:
неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;
администрирование данной системы требует квалифицированного профессионала;
высокая стоимость оборудования;
бизнес логика приложений осталась в клиентском ПО.
Многоуровневая архитектура “клиент-сервер”
Увеличение масштабов информационной системы не порождает принципиальных проблем. Обычным решением является замена аппаратуры сервера (и, может быть, аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае практически не затрагивается прикладная часть информационной системы. Данный вид архитектуры также называют архитектурой с “толстым” клиентом. В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры “клиент-сервер”. Использование многозвенной архитектуры может быть рекомендовано также тогда, когда некоторая программа требует для своей работы много ресурсов. В этом случае может оказаться дешевле построить сеть с одним очень мощным сервером, чем использовать несколько мощных клиентских рабочих станций.
Рис. Представление многоуровневой архитектуры "клиент-сервер"
Рис.
Достоинства многоуровневой архитектуры «клиент-сервер»:
клиентское ПО не нуждается в администрировании;
масштабируемость;
конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;
высокая безопасность;
высокая надёжность;
низкие требования к скорости канала (сети) между терминалами и сервером приложений;
низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.
Недостатки многоуровневой архитектуры «клиент-сервер»:
сложность администрирования и обслуживания;
более высокая сложность создания приложений;
сложнее в разворачивании и администрировании;
высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;
высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.
Архитектура Web-приложений
Эта архитектура широко применяется в настоящее время. Web-сервис – приложение, доступное через Internet и предоставляющее некоторые услуги, форма которых не зависит от поставщика (так как используется универсальный формат данных - XML) и платформы функционирования. В данное время существуют три различные технологии, поддерживающие концепцию распределённых объектных систем: EJB, DCOM и CORBA.
В основе Web-сервисов лежат открытые стандарты и протоколы: SOAP, UDDI и WSDL.
SOAP (Simple Object Access Protocol), разработанный консорциумом W3C, определяет формат запросов к Web-сервисам. Сообщения между Web-сервисом и его пользователем пакуются в так называемые SOAP-конверты (SOAP envelopes, иногда их ещё называют XML-конвертами). Само сообщение может содержать либо запрос на осуществление какого-либо действия, либо ответ - результат выполнения этого действия.
WSDL (Web Service Description Language). Интерфейс Web-сервиса описывается в WSDL-документах (а WSDL - это подмножество XML). Перед развёртыванием службы разработчик составляет её описание на языке WSDL, указывает адрес Web-сервиса, поддерживаемые протоколы, перечень допустимых операций, форматы запросов и ответов.
UDDI (Universal Description, Discovery and Integration) - протокол поиска Web-сервисов в Internet (http://www.uddi.org/). Представляет собой бизнес-реестр, в котором провайдеры Web-сервисов регистрируют службы, а разработчики находят необходимые сервисы для включения в свои приложения.
Рис. Представление архитектуры Web-приложений
Особенности архитектуры Web-приложений:
Отсутствие необходимости использовать дополнительное ПО на стороне клиента
Возможность подключения практически неограниченного количества клиентов
Централизованное место хранения данных
Недоступность при отсутствии работоспособности сервера или каналов связи
Достаточно низкая скорость веб-сервера и каналов передачи данных
Лекция № 3
