Государственный комитет связи, информатизации и телекоммуникационных технологий
РУЗ
Ташкентский университет информационных технологий
Факультет «Компьютер инжиниринг»
Кафедра
«Информационные технологии»
Лабораторная работа
По дисциплине «Информационные системы»
Тема:
Архитектура
информационных систем
Выполнил: Абдужабборов А.А.
студент гр. 204-14 КИФ
Принял:
Кувнаков A.Э.
Ташкент 2015
Цель работы: Научиться проектировать информационную систему на основе разных архитектур
. Теоретическая часть
Эффективность функционирования информационной системы во многом зависит от ее архитектуры.
Самой простой архитектурой для реализации
является архитектура "файл-сервер" (рисунок 2.1), но она же обладает
и самым большим количеством недостатков, ограничивающих спектр решаемых ею
задач. Простейшим случаем является случай, когда данные располагаются физически
на том же компьютере, что и само приложение.
Рисунок 2.1 Структура информационной системы с
файл-сервером
К существенным неудобствам, возникающим при работе с системой, построенной по такой архитектуре, можно отнести следующее:
трудности при обеспечении непротиворечивости и целостности данных;
существенная загрузка локальной сети передаваемыми данными;
в целом, невысокая скорость обработки и представления информации;
высокие требования к ресурсам компьютеров. При этом возникают следующие ограничения.
невозможность организации равноправного одновременного доступа; пользователей к одному и тому же участку базы данных;
количество одновременно работающих с системой пользователей не превышает пяти человек для ЛВС, построенной в соответствии со спецификацией 1 OBaseT (скорость обмена данными до 10Мб/с);
При всем этом система обладает одним очень важным преимуществом - низкой стоимостью.
Архитектура "файл-сервер" предусматривает концентрацию обработки на рабочих станциях. Основным преимуществом этого варианта является простота и относительная дешевизна. Подобное решение приемлемо, пока число пользователей, одновременно работающих с базой данных, не превышает 5-10 человек. При увеличении количества пользователей система может "захлебнуться" из-за перегруженности ЛВС большими потоками необработанной информации.
Сервер, как правило, - самый мощный и самый надежный компьютер. Он обязательно подключается через источник бесперебойного питания, в нем предусматриваются системы двойного или даже тройного дублирования. В особо ответственных случаях можно подключить вместе несколько серверов так, что при выходе из строя одного из них в работу автоматически включится "дублер". Таким образом, при концентрации обработки данных на сервере надежность системы в целом ограничивается только материальными средствами, которые заказчики готовы вложить в техническое оснащение.
Решение по автоматизации учета и управления в корпоративных структурах предполагает распределенную обработку данных, организацию параллельных вычислений, глубокое разграничение уровней доступа, возможность выбора различных операционных систем и серверных платформ. Если бизнес не велик, подобное решение оптимально.
В ходе эксплуатации были выявлены общие недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
Вся тяжесть вычислительной нагрузки при доступе к базе данных ложится на приложение клиента, что является следствием принципа обработки информации в системах "файл-сервер": при выдаче запроса на выборку информации из таблицы вся таблица базы данных копируется на клиентское место, и выборка осуществляется на клиентском месте. Локальные СУБД используют так называемый "навигационный подход", ориентированный на работу с отдельными записями.
Не оптимально расходуются ресурсы клиентского компьютера и сети; например, если в результате запроса мы должны получить 2 записи из таблицы объемом 10000 записей, все 10000 записей будут скопированы с файл-сервера на клиентский компьютер; в результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера.
В базе данных на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения. Эта возможность облегчается тем обстоятельством, что у локальных СУБД база данных - понятие более логическое, чем физическое, поскольку под базой данных понимается набор отдельных таблиц, сосуществующих в едином каталоге на диске. Все это позволяет говорить о низком уровне безопасности - как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.
Недостаточно развитый аппарат транзакций для локальных СУБД служит потенциальным источником ошибок как с точки зрения одновременного внесения изменений в одну и ту же запись, так и с точки зрения отката результатов серий объединенных по смыслу в единое целое операций над базой, когда некоторые из них завершились неуспешно, а некоторые - нет; это может нарушать ссылочную и смысловую целостность базы данных.
Недостатки настольных СУБД обычно проявляются не сразу, а лишь в процессе длительной эксплуатации, когда объем хранимых данных и число пользователей становятся достаточно велики - это приводит к снижению производительности приложений, использующих такие СУБД.
Поскольку настольные СУБД не содержат специальных приложений и сервисов, управляющих данными, а используются для этой цели файловые сервисы операционной системы, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении, и любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. Поэтому при выполнении запросов данные, на основании которых выполняется такой запрос, должны быть доставлены в то же самое адресное пространство клиентского приложения. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром до сих пор популярны утилиты для "ремонта" испорченных файлов настольных СУБД.
Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД. Характерной особенностью архитектуры "клиент-сервер" является перенос вычислительной нагрузки на сервер базы данных (SQL-сервер) и максимальная разгрузка приложения клиента от вычислительной работы, а также существенное укрепление безопасности данных - как от злонамеренных, так и просто ошибочных изменений.
БД в этом случае помещается на сетевом сервере,
как и в архитектуре "файл-сервер", однако прямого доступа к базе
данных (БД) из приложений не происходит. Функция прямого обращения к БД
осуществляет специальная управляющая программа - сервер БД (SQL-сервер),
поставляемый разработчиком СУБД.
2. Порядок выполнения работы
. Изучить теоретическую часть по приведенным выше данным и дополнительной литературе
. Просмотреть демонстрационный пример
. Получить у преподавателя вариант задания для выполнения
. Проанализировать полученное задание
. Определить характер решаемой задачи
3. Варианты заданий
Спроектировать информационную систему на основе архитектуры «Файл-сервер» для следующих автоматизированных информационных систем:
. информационные системы управления. По выбору: система по отысканию рыночных ниш; системы, ускоряющие потоки товаров; системы по снижению издержек производства, системы автоматизации технологии ("менеджмент уступок"); управление производственным процессом; системы документооборота; оперативное управление предприятием.
. информационные интеллектуальные системы. По выбору: системы прогнозирования и диагностики, системы классификации объектов; системы информационно-советующего характера; аналитико-логические системы; интеллектуальные обучающие системы.
. системы поддержки принятия решений. По выбору: системы размещения производства; системы маршрутизации; задачи теории расписаний; задачи раскроя и упаковки; системы подбора (кадров в агентство, выбор должности и т.д.).
. биллинговые системы.
4. Контрольные вопросы
. Какие неудобства, возникают при работе с системой, построенной на основе архитектуры «Файл-сервер»?
. Что предусматривает архитектура "файл-сервер"?
. Каким преимуществом обладает архитектура "файл-сервер"?
. Перечислите недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных?
. Какие СУБД используются при проектировании ИС на основе архитектуры "файл-сервер"?
информационный архитектура файл сервер
Комплекс информационных систем «ИАБС»
Анализ возможных архитектурных решений
Рассмотрим определение "архитектуры информационной системы", которое дают различные источники:
· Архитектура - это организационная структура системы.
· Архитектура информационной системы - концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы .
· Архитектура - это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы.
· Архитектура - это набор значимых решений по поводу организации системы программного обеспечения, набор структурных элементов и их интерфейсов, при помощи которых компонуется система, вместе с их поведением, определяемым во взаимодействии между этими элементами, компоновка элементов в постепенно укрупняющиеся подсистемы, а также стиль архитектуры, который направляет эту организацию - элементы и их интерфейсы, взаимодействия и компоновку.
· Архитектура программы или компьютерной системы - это структура или структуры системы, которые включают элементы программы, видимые извне свойства этих элементов и связи между ними.
· Архитектура - это структура организации и связанное с ней поведение системы. Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы.
· Архитектура программного обеспечения системы или набора систем состоит из всех важных проектных решений по поводу структур программы и взаимодействий между этими структурами, которые составляют системы. Проектные решения обеспечивают желаемый набор свойств, которые должна поддерживать система, чтобы быть успешной. Проектные решения предоставляют концептуальную основу для разработки системы, ее поддержки и обслуживания.
Хотя определения несколько отличаются, можно заметить немалую степень сходства. Например, большинство определений указывают на то, что архитектура связана со структурой и поведением, а также только со значимыми решениями, может соответствовать некоторому архитектурному стилю, на нее влияют заинтересованные в ней лица и ее окружение, она воплощает решения на основе логического обоснования.
Под архитектурой программных систем понимают совокупность решений относительно:
· выбора структурных элементов, составляющих систему и их интерфейсов;
· поведения этих элементов во взаимодействии с другими элементами;
· объединение этих элементов в подсистемы;
· архитектурного стиля, определяющего логическую и физическую организацию системы: статические и динамические элементы, их интерфейсы и способы их объединения.
Архитектура программной системы охватывает не только ее структурные и поведенческие аспекты, но и правила ее использования и интеграции с другими системами, функциональность, производительность, гибкость, надежность, возможность повторного применения, полноту, экономические и технологические ограничения, а также вопрос пользовательского интерфейса.
Классификацию программных систем
Рассмотрим классификацию программных систем по их архитектуре:
· Централизованная архитектура;
· Архитектура "файл-сервер";
· Двухзвенная архитектура "клиент-сервер";
· Многозвенная архитектура "клиент-сервер";
· Архитектура распределенных систем;
· Архитектура Веб-приложений;
· Сервис-ориентированная архитектура.
Следует заметить, что, как и любая классификация, данная классификация архитектур информационных систем не является абсолютно жесткой. В архитектуре любой конкретной информационной системы часто можно найти влияния нескольких общих архитектурных решений.
Архитектура "файл-сервер"
Файл-серверные приложения - приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных.
Функции сервера: хранения данных и кода программы.
Функции клиента: обработка данных происходит исключительно на стороне клиента.
Figure 2. Архитектура
"файл-сервер"
Конечно, основным достоинством данной архитектуры является простота организации. Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде MS-DOS, Windows или какого-либо облегченного варианта Windows Server. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД.
Достоинства такой архитектуры:
· многопользовательский режим работы с данными;
· удобство централизованного управления доступом;
· низкая стоимость разработки;
· высокая скорость разработки;
· невысокая стоимость обновления и изменения ПО.
Недостатки:
· проблемы многопользовательской работы с данными: последовательный доступ, отсутствие гарантии целостности;
· низкая производительность (зависит от производительности сети, сервера, клиента);
· плохая возможность подключения новых клиентов;
· ненадежность системы.
Простое, работающее с небольшими объемами
информации и рассчитанное на применение в однопользовательском режиме,
файл-серверное приложение можно спроектировать, разработать и отладить очень
быстро. Очень часто для небольшой компании для ведения, например, кадрового
учета достаточно иметь изолированную систему, работающую на отдельно стоящем
PC.
Архитектура
"клиент-сервер"
Клиент-сервер (Client-server) - вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.
Первоначально системы такого уровня базировались
на классической двухуровневой клиент-серверной архитектуре (Two-tier
architecture). Под клиент-серверным приложением в этом случае понимается
информационная система, основанная на использовании серверов баз данных.