Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура информационных систем.docx
Скачиваний:
74
Добавлен:
23.05.2015
Размер:
32.29 Mб
Скачать

Функциональные компоненты ис

Пользовательский интерфейс (Presentation Layer, PL)- все, что связанно с взаимодействием с пользователем: нажатие кнопок, движение мыши, вывод результатов поиска и т.д.

Бизнес логика (Business Layer, BL) - правила и алгоритмы реакции приложения на действия пользователя или на внутренние события, правила обработки данных.

Управление данными (Access Layer, AL)- хранение, выборка, модификация и удаление данных, связанных с решаемой приложением прикладной задачей.

Физическое и логическое расслоение системы

Расслоение программных систем:

  • Слой (layer)

  • Уровень, или ярус (tier)

Слои не обязательно располагаются на разных машинах.

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

Архитектура "клиент-сервер"

Начало 80-х: архитектура "клиент-сервер", представляющая собой вычислительную или сетевую архитектуру, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемых клиентами.

Достоинства

  • возможность распределить функции информационной системы между несколькими независимыми компьютерами

  • все данные хранятся на защищенном сервере

  • поддержка многопользовательской работы

  • гарантия целостности данных

Недостатки:

  • неработоспособность сервера может сделать неработоспособной всю вычислительную сеть

  • бизнес-логика приложения осталась в клиентском ПО

Принципы клиент-серверного взаимодействия в субд

На стороне клиента:

  • выполняется код приложения (компоненты поддерживающие интерфейс с пользователем, производящие отчеты, и пр.)

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

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

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

На стороне сервера:

  • сервер получает от клиента текст оператора на языке SQLи производит компиляцию полученного оператора

  • если компиляция завершилась успешно - происходит выполнение оператора

  • когда для работы клиентской части ИС требуется только небольшая часть общей БД создается локальный кэш общей базы данных на стороне каждого клиента

Многоуровневая архитектура клиент-сервер

Многоуровневая архитектура клиент-сервер (Multitier architecture)- разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько серверов

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

Плюсы:

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

    • терминалом может выступать не только компьютер, но и, например, телефон

  • низкие требования к скорости канала (сети) между терминалами и сервером приложений

  • простота внесения изменений в бизнес алгоритм

  • клиентское ПО не нуждается в администрировании

Минусы:

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

  • высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений

Толстый клиент = PL,BLна клиенте,ALна сервере

Тонкий клиент = PLна клиенте,BLиALна сервере