Материал: Архитектура информационных систем

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Архитектура информационных систем

Государственный комитет связи, информатизации и телекоммуникационных технологий

РУЗ

Ташкентский университет информационных технологий

Факультет «Компьютер инжиниринг»

Кафедра «Информационные технологии»




Лабораторная работа

По дисциплине «Информационные системы»

Тема:

Архитектура информационных систем



Выполнил: Абдужабборов А.А.

студент гр. 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). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных.