АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ

реклама
АРХИТЕКТУРА
ИНФОРМАЦИОННЫХ СИСТЕМ
ЛЕКЦИЯ 1.
ПОНЯТИЕ АРХИТЕКТУРЫ ИС
КЛАССИФИКАЦИЯ ИС
СОДЕРЖАНИЕ КУРСА
•
•
•
•
•
•
•
•
•
•
•
Основы информационных систем.
Классификация архитектур информационных систем.
Специализированные подсистемы (СУБД и т.д.).
Распределенные информационные системы.
Архитектуры веб-приложений.
Сервис-ориентированная архитектура (SOA).
Эволюция распределенных систем в сервис-ориентированные
системы, облачные информационные системы и сервисы.
Функциональные уровни информационной системы
Декомпозиция информационных систем на слои и уровни.
Выделение подсистем в архитектуре.
Интеграция различных информационных систем, параллельные
архитектуры.
Архитектуры существующих проектов информационных систем.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
• Б. Я. Советов, А. И. Водяхо, В. А. Дубенецкий, В. В.
Цехановский. Архитектура информационных систем:
учебник для студ. учреждений высш. проф. образования. М. : Издательский центр «Академия», 2012.
• Пирогов В.Ю. Информационные системы и базы данных.
Организация и проектирование. – СПб.: БХВ-Петербург,
2009. – 528 с.
• Петров В.Н. Информационные системы. – СПб.: Питер,
2003. – 688 с.
КЛАССИЧЕСКОЕ ОПРЕДЕЛЕНИЕ
АРХИТЕКТУРЫ
• Архитектура (лат. architectural — искусство проектировать
и строить здания и другие сооружения (комплексы),
создающие материально организованную среду,
необходимую людям для их жизни и деятельности, в
соответствии с современными техническими
возможностями и эстетическими воззрениями общества.
ОПРЕДЕЛЕНИЯ АРХИТЕКТУРЫ
ИНФОРМАЦИОННЫХ СИСТЕМ
• архитектура — организационная структура системы;
• архитектура информационной системы — концепция,
определяющая модель, структуру, выполняемые функции
и взаимосвязь компонентов информационной системы;
• архитектура — базовая организация системы,
воплощенная в ее компонентах, их отношениях между
собой и окружением, а также принципы, определяющие
проектирование и развитие системы;
ОПРЕДЕЛЕНИЯ АРХИТЕКТУРЫ
ИНФОРМАЦИОННЫХ СИСТЕМ
• архитектура — набор значимых решений по поводу организации
системы программного обеспечения, набор структурных элементов
и их интерфейсов, при помощи которых компонуется система
вместе с их поведением, определяемым во взаимодействии между
этими элементами, компоновка элементов в постепенно
укрупняющиеся подсистемы, а также стиль архитектуры, который
направляет эту организацию (элементы и их интерфейсы,
взаимодействия и компоновку);
• архитектура программы или компьютерной системы — структура
или структуры системы, которые включают элементы программы,
видимые извне свойства этих элементов и связи между ними;
• и т.д.
• На сайте SEI (Software Engineering Institute) имеется специальный
раздел, посвященный определениям архитектуры программного
обеспечения
http://www.sei.cmu.edu/architecture/start/glossary/community.cfm
ПОНЯТИЕ АРХИТЕКТУРЫ
ИНФОРМАЦИОННОЙ СИСТЕМЫ
• На сайте ISO/IEC (http://www.isoarchitecture.org/ieee-1471/definingarchitecture.html) дается следующие
определение архитектуры информационной
системы:
• Architecture ⟨system⟩ fundamental concepts or properties
of a system in its environment embodied in its elements,
relationships, and in the principles of its design and
evolution.
• Архитектура системы – это основные понятия и свойства
системы в окружающей среде, воплощенные в его
элементы, отношения и в принципах своей конструкции
и эволюции
КАКИЕ ЗАДАЧИ РЕШАЮТСЯ В
РАМКАХ АРХИТЕКТУРЫ ИС?
• Конструктивно архитектура обычно определяется
как набор ответов на следующие вопросы:
•
•
•
•
что делает система?;
на какие части она разделяется?;
как эти части взаимодействуют?;
где эти части размещены?.
ПОНЯТИЕ ИНФОРМАЦИОННОЙ
СИСТЕМЫ
В качестве официального определения информационной системы (ИС)
можно рассматривать определение, которое дает Федеральный закон
Российской Федерации от 27 июля 2006 г. № 149-ФЗ «Об информации,
информационных технологиях и о защите информации»:
«Информационная система — совокупность
содержащейся в базах данных информации и
обеспечивающих ее обработку информационных
технологий и технических средств».
АРХИТЕКТУРА ИНФОРМАЦИОННОЙ
СИСТЕМЫ
Бизнесархитектура
ИТ-архитектура
Архитектура данных
Программная архитектура
Технологическая архитектура
БИЗНЕС-АРХИТЕКТУРА
Бизнес-архитектура, или архитектура уровня
бизнес-процессов
• определяет бизнес-стратегии, управление, организацию,
ключевые бизнес-процессы в масштабе предприятия,
причем не все бизнес- процессы реализуются
средствами ИТ-технологий.
• Бизнес-архитектура отображается на ИТ-архитектуру.
ИТ-АРХИТЕКТУРА
ИТ-архитектура рассматривается в трех
аспектах:
• обеспечивает достижение бизнес-целей посредством
использования программной инфраструктуры,
ориентированной на реализацию наиболее важных
бизнес-приложений;
• среда, обеспечивающая реализацию бизнесприложений;
• совокупность программных и аппаратных средств,
составляющая информационную систему
организации и включающая, в частности, базы данных
и промежуточное программное обеспечение.
АРХИТЕКТУРА ДАННЫХ
Архитектура данных информационной системы
• включает логические и физические хранилища данных и
средства управления данными.
• Архитектура данных должна быть поддержана ИТархитектурой.
• В современных ИТ-системах, ориентированных на работу со
знаниями, иногда выделяют отдельный тип архитектуры —
архитектуру знаний (Knowledge Architecture).
ПРОГРАММНАЯ АРХИТЕКТУРА
Программная архитектура отображает
совокупность программных приложений:
• Программное приложение — это компьютерная
программа, ориентированная на решение задач
конечного пользователя.
• Архитектура приложения — это описание
отдельного приложения, работающего в составе ИТсистемы, включая его программные интерфейсы.
• Архитектура приложения базируется на ИТархитектуре и использует сервисы,
предоставляемые ИТ-архитектурой.
ТЕХНОЛОГИЧЕСКАЯ АРХИТЕКТУРА
Технологическая архитектура
• характеризует программно-аппаратные
средства информационных систем и включает
такие элементы, как процессор, память,
жесткие диски, периферийные устройства,
элементы для их соединения, операционные
системы, а также сетевые средства.
КЛАССИФИКАЦИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ
• Используется доменный подход к описанию ИТ-архитектур.
• Под доменной архитектурой понимают эталонную модель,
описывающую множество систем, которые реализуют
похожую структуру, функциональность и поведение.
• Можно выделить следующие основные характеристики
домена задач:
•
•
•
•
•
характер решаемых задач;
тип домена;
предметная область;
степень автоматизации;
масштаб применения.
КЛАССИФИКАЦИЯ АРХИТЕКТУР ИС,
ОСНОВАННАЯ НА ДОМЕНЕ ЗАДАЧ
ПРИМЕР ДЕЛЕНИЯ ИС ПО ХАРАКТЕРУ
ОБРАБОТКИ ДАННЫХ:
системы, ориентированные на решение крупномасштабных задач
преимущественно вычислительного характера;
информационно-справочные (информационно-поисковые) ИС, в которых
нет сложных алгоритмов обработки данных, а целью системы является поиск
и выдача информации в удобном для пользователя виде;
системы поддержки принятия решении;
коммуникационные системы;
ИС, ориентированные на предоставление услуг (сервисов), таких как доступ
в Интернет, сервисы хранения данных, доступа к вычислительным ресурсам,
доступа к данным и т. п.
ПРИМЕР ДЕЛЕНИЯ ИС ПО
ПРИНАДЛЕЖНОСТИ К БАЗОВОМУ
ДОМЕНУ:
информационно-управляющие системы — ИУС
(Management Information Systems),
управляющие системы — УС (Process Control Systems),
системы мониторинга и управления ресурсами — СМУР
(Resource Allocation and Tracking Systems),
системы управления производством — СУП (Manufacturing
Systems),
системы управления доступом — СУД (Access Control
Systems).
ПРИМЕР ДЕЛЕНИЯ ИС ПО
ПРИНАДЛЕЖНОСТИ К ПРЕДМЕТНОЙ
ОБЛАСТИ
системы управления организацией — ИС, предназначенные для выполнения
функций управления организацией (предприятием);
телекоммуникационные системы — ИС, предназначенные для реализации
функций, связанных передачей данных;
геоинформационные системы — ИС, обеспечивающие сбор, хранение,
обработку, доступ, отображение и распространение пространственнокоординированных данных (пространственных данных);
торговые ИС;
встроенные системы управления сложными объектами, такими как
самолеты и корабли;
медицинская информационная система — ИС, предназначенные для
использования в лечебных учреждениях.
ПРИМЕР ДЕЛЕНИЯ ИС ПО СТЕПЕНИ
АВТОМАТИЗАЦИИ
По степени автоматизации различают:
• автоматизированные ИС (предполагают участие человека
в ее функционировании)
• автоматические ИС (функционируют без участия
оператора).
ПРИМЕР КЛАССИФИКАЦИИ ПО
МАСШТАБНОСТИ ПРИМЕНЕНИЯ ИС
персональные ИС, предназначенные для использования одним
человеком;
групповые ИС, предназначенные для совместного использования
группой людей, например сотрудниками одного подразделения;
корпоративные ИС, охватывающие информационные процессы
отдельной организации;
глобальные ИС, охватывающие информационные процессы многих
организаций.
КЛАССИФИКАЦИЯ АРХИТЕКТУР ИС,
ОСНОВАННАЯ НА ДОМЕНЕ РЕШЕНИЙ
НЕКОТОРЫЕ СОВРЕМЕННЫЕ ОСНОВНЫЕ
ПОНЯТИЯ ПРИ ОПИСАНИИ АРХИТЕКТУРЫ ИС
• Клиент (client) – пользователь и (или) компьютер, использующий какиелибо программные сервисы
• Сервер (server) – компьютер или центр обработки данных,
предоставляющий программные сервисы
• Тонкий клиент (thin client) – клиент с минимальным пользовательским
интерфейсом – не имеющий состояния, сеанса,
полнофункционального GUI
• Rich client (полнофункциональный клиент) – клиент, имеющий
полнофункциональный GUI и общающийся с сервером через слой
промежуточного программного интерфейса (middleware),
обеспечивающий его функциональность;
• Слой (layer) – крупная независимая компонента архитектуры ПО
• Уровень абстракции (abstraction layer) – “горизонтальный слой” (номер
N); совокупность модулей, реализация которых использует только
модули уровня N-1 (N > 0).
• Вертикальный срез (аспект) – совокупность рассредоточенных
фрагментов кода, реализующих (сквозную) функциональность,
например, проверку безопасности
НЕКОТОРЫЕ СОВРЕМЕННЫЕ ОСНОВНЫЕ
ПОНЯТИЯ ПРИ ОПИСАНИИ АРХИТЕКТУРЫ ИС
• Промежуточное программное обеспечение (middleware) –
совокупность слоев ПО, лежащих между клиентом и сервером и
обеспечивающих их взаимодействие, например, поддержку
сетевых коммуникационных протоколов
• Ярус (tier) – слой программного обеспечения, реализующий
какую-либо независимую часть его архитектуры; например:
business tier – реализация бизнес-логики; Web tier – реализация
взаимодействия с Web
• Многоярусная архитектура (multi-tier architecture) – архитектура
ПО, при которой презентация результатов, обработка и
управление данными реализованы как отдельные процессы.
Пример: Использование middleware для взаимодействия с
сервером и СУБД для взаимодействия с данными
НЕКОТОРЫЕ СОВРЕМЕННЫЕ ОСНОВНЫЕ
ПОНЯТИЯ ПРИ ОПИСАНИИ АРХИТЕКТУРЫ ИС
• Многоклиентская архитектура (multi-tenant architecture) –
архитектура клиент-серверного ПО, при которой один
экземпляр серверного ПО, исполняемый на сервере,
обслуживает несколько клиентов (tenants – букв. клиенты,
арендаторы). Пример: Web-сервис
• Например, с точки зрения рассмотренных концепций,
облачные вычисления соответствуют принципам multitiered and multi-tenant architecture.
МОДЕЛИ ФУНКЦИОНИРОВАНИЯ
РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ
Выделяют три основных параметра организации
работы приложений в сети:
• Способ разделения приложения на части, выполняющиеся на
разных компьютерах сети;
• Выделение специализированных серверов в сети, на которых
выполняются некоторые общие для всех приложений
функции;
• Способ взаимодействия между частями приложений,
работающих на разных компьютерах.
СПОСОБЫ РАЗДЕЛЕНИЯ
РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ НА
ЧАСТИ
Приложения условно можно разделить на
следующие функциональные части:
• Средства представления данных на экране;
• Логика представления данных на экране (описывает правила
и сценарии взаимодействия пользователя с приложениями);
• Прикладная логика (правила для принятия решений,
вычислительные процедуры и т.п.);
• Логика данных – операции с данными, хранящимися в
некоторой базе;
• Внутренние операции БД – действия СУБД, вызываемые в
ответ на выполнение запросов логики данных;
• Файловые операции – стандартные операции над файлами
и файловой системой.
ТИПОВЫЕ ФУНКЦИОНАЛЬНЫЕ
КОМПОНЕНТЫ ИС
Пользовательский
интерфейс
Бизнес-логика
Управление
данными
ТИПОВЫЕ ФУНКЦИОНАЛЬНЫЕ
КОМПОНЕНТЫ ИС
Пользовательский
интерфейс
• Средства представления
(Presentation Services (PS))
• Логика представления
(Presentation Logic (PL))
ТИПОВЫЕ ФУНКЦИОНАЛЬНЫЕ
КОМПОНЕНТЫ ИС
Бизнеслогика
• Прикладная логика
(Business or Application
Logic (BL))
• Логика данных (Data
Logic (DL))
ТИПОВЫЕ ФУНКЦИОНАЛЬНЫЕ
КОМПОНЕНТЫ ИС
Управление
данными
• Средства управления БД
(Data Services (DS))
• Средства управления
файлами (File Services
(FS))
ДВУХЗВЕННЫЕ АРХИТЕКТУРЫ
РАСПРЕДЕЛЕННЫХ ИС
Двухзвенные архитектуры описывают
разделение функций приложения между
двумя компьютерами:
• Централизованная обработка данных;
• Архитектура «файл-сервер»
• Архитектура «клиент-сервер»
ЦЕНТРАЛИЗОВАННАЯ АРХИТЕКТУРА
Терминал
Терминал
Центральная
ЭВМ
Терминал
ЦЕНТРАЛИЗОВАННАЯ АРХИТЕКТУРА
Достоинства:
• пользователи совместно используют дорогие
ресурсы ЭВМ и дорогие периферийные устройства
• централизация ресурсов и оборудования облегчает
обслуживание и эксплуатацию вычислительной
системы
• отсутствует необходимость администрирования
рабочих мест пользователей
Главный недостаток:
• пользователи полностью зависят от администратора
хост-ЭВМ
АРХИТЕКТУРА «ФАЙЛ-СЕРВЕР»
Клиент
(прикладная часть,
управление БД,
сетевой доступ)
Клиент
(прикладная часть,
управление БД,
сетевой доступ)
Клиент
(прикладная часть,
управление БД,
сетевой доступ)
Файл-сервер
36
АРХИТЕКТУРА ФАЙЛ-СЕРВЕР
АРХИТЕКТУРА «ФАЙЛ-СЕРВЕР»
Достоинства:
• многопользовательский режим работы с данными
• удобство централизованного управления доступом
• низкая стоимость разработки
• высокая скорость разработки
• невысокая стоимость обновления и изменения ПО
Недостатки:
• проблемы многопользовательской работы с данными
• низкая производительность
• плохая возможность подключения новых клиентов
• ненадежность системы
38
ДВУХУРОВНЕВАЯ АРХИТЕКТУРА
«КЛИЕНТ-СЕРВЕР»
Клиент
(клиентская часть приложения,
клиентская часть управление БД,
сетевой доступ)
Клиент
(клиентская часть приложения,
клиентская часть управление БД,
сетевой доступ)
Клиент
(клиентская часть приложения,
клиентская часть управление БД,
сетевой доступ)
Сервер БД
Серверная часть
приложения
АРХИТЕКТУРА КЛИЕНТ-СЕРВЕР
ДВУХУРОВНЕВАЯ АРХИТЕКТУРА
«КЛИЕНТ-СЕРВЕР»
Достоинства:
• возможность распределить функции вычислительной
системы между несколькими независимыми
компьютерами
• все данные хранятся на защищенном сервере
• поддержка многопользовательской работы
• гарантия целостности данных
Недостатки:
• неработоспособность сервера может сделать
неработоспособной всю вычислительную сеть
• сложное администрирование
• высокая стоимость оборудования
• бизнес логика приложений осталась в клиентском ПО
МНОГОУРОВНЕВАЯ АРХИТЕКТУРА
«КЛИЕНТ-СЕРВЕР»
Клиент
(пользовательский интерфейс)
Клиент
(пользовательский интерфейс)
Клиент
(пользовательский интерфейс)
Сервер приложений
(бизнес-логика)
Сервер БД
(Управление данными)
МНОГОУРОВНЕВАЯ АРХИТЕКТУРА
КЛИЕНТ-СЕРВЕР
МНОГОУРОВНЕВАЯ АРХИТЕКТУРА
«КЛИЕНТ-СЕРВЕР»
Достоинства:
• клиентское ПО не нуждается в администрировании
• масштабируемость
• конфигурируемость
• высокая безопасность и надежность
• низкие требования к скорости канала между терминалами и сервером
приложений
• низкие требования к производительности и техническим
характеристикам терминалов
Недостатки:
• сложность администрирования и обслуживания
• более высокая сложность создания приложений
• высокие требования к производительности серверов приложений и
сервера базы данных
• высокие требования к скорости канала (сети) между сервером базы
данных и серверами приложений
АРХИТЕКТУРА ВЕБ-ПРИЛОЖЕНИЙ
Клиент
(браузер)
Клиент
(браузер)
Клиент
(браузер)
Веб-сервер
(бизнес-логика,
внешние процедуры)
Сервер БД
(Управление данными)
АРХИТЕКТУРА ВЕБ-СИСТЕМ
ОСОБЕННОСТИ АРХИТЕКТУРЫ ВЕБПРИЛОЖЕНИЙ
Отсутствие необходимости использовать дополнительное ПО
на стороне клиента
Возможность подключения практически неограниченного
количества клиентов
Централизованное место хранения данных
Недоступность при отсутствии работоспособности сервера
или каналов связи
Достаточно низкая скорость веб-сервера и каналов передачи
данных
Скачать