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