Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Понятие архитектуры информационной системы

Понятие архитектуры информационной системы

Архитектура – это совокупность существенных решений об организации ИС. Обычно в понятие архитектуры входят решения об основных аппаратных и программных составляющих системы, их функциональном назначении и организации связей между ними.

Выбор архитектуры ИС влияет на следующие характеристики:

1. Производительность ИС – количество работ, выполняемых в ИС за единицу времени.

2. Время реакции системы на запросы пользователя (время отклика системы)

3. Надёжность – способность к безотказному функционированию в течение определенного периода времени.

Локальные ИС, которые располагаются целиком на одном компьютере и предназначены для работы только одного пользователя, сейчас встречаются крайне редко. В дальнейшем речь пойдет о распределенных ИС, которые функционируют в сети и предназначены для многопользовательской (коллективной) работы.

Обычно база данных целиком хранится в одном узле сети, поддерживается одним сервером и доступна для всех пользователей локальной сети, называемых клиентами. Такая база данных называется централизованной. Распределенные базы данных, в которых БД распределена по нескольким узлам сети, обычно используются в организациях, содержащих территориально удаленные подразделения.

Сервер, как правило, — самый мощный и самый надежный компьютер. Он обязательно подключается через источник бесперебойного питания, в нем предусматриваются системы двойного или даже тройного дублирования. В зависимости от распределения функций обработки данных между сервером и клиентами различают две основных архитектуры – «файл-сервер» и «клиент-сервер». Возможны разновидности этих двух вариантов.

1.2.2 Архитектура «файл-сервер»

Для предприятий малого бизнеса возможна организация информационной системы на базе архитектуры «файл-сервер» с использованием СУБД Access, FoxPro (Visual FoxPro), Paradox и ряда других. Если количество пользователей системы не велико, подобное решение оптимально.

В архитектуре файл-сервер вся обработка данных выполняется на клиентских компьютерах, сервер служит в качестве хранилища данных (рис.1.5).

Рис.1.5 — Архитектура файл-сервер

Копии базы данных передаются для обработки на клиентские компьютеры, при этом постоянно выполняется синхронизация основной базы данных с ее копиями в случае их обновления.

Недостаток архитектуры файл-сервер – большая нагрузка на сеть и клиентские компьютеры, поскольку на всех клиентских компьютерах должна быть установлена копия СУБД, которая выполняет все необходимые функции по обработке данных, при этом все изменения в копиях обязательно передаются по сети в основную базу данных, существенно повышая сетевой трафик.

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

Количество пользователей системы в архитектуре файл-сервер обычно не должно превышать 10-15, в противном случае пользователи будут ощущать замедление работы. Данное обстоятельство служит нарушением принципа масштабируемости (раздел 1.1), поэтому по мере роста количества пользователей ИС (допустим, произошло существенное расширение бизнеса) приходится выполнять переход от файл-серверной к клиент-серверной архитектуре. При разработке файл-серверной системы всегда нужно учитывать возможность такого перехода в будущем.

1.2.3. Архитектура «клиент-сервер»

Применительно к информационным системам архитектура «клиент-сервер» интересна и актуальна главным образом потому, что обеспечивает простое и относительно дешевое решение проблемы коллективного (многопользовательского) доступа к базам данных в локальной или глобальной сети.

Информационная система архитектуры «клиент-сервер» разбивается на две части, которые могут выполняться в разных узлах сети, — клиентскую и серверную части. На серверную часть возлагаются функции хранения и значительной части обработки данных, на клиентскую – функции взаимодействия с пользователем и, частично, обработки данных, полученных с сервера (рис. 1.6).

Рис. 1.6 — Архитектура «клиент-сервер»

Следует заметить, что обе части системы (серверная и клиентская) могут располагаться и на одном компьютере, такой вариант можно применять в процессе отладки клиент-серверной системы.

Для того, чтобы прикладная программа, выполняющаяся на клиентском компьютере, могла запросить услугу у сервера, требуется некоторый интерфейсный программный слой, поддерживающий взаимодействие сервера с клиентами. Прикладное ПО или конечный пользователь взаимодействуют с клиентской частью системы. Клиентская часть системы при потребности обращается по сети к серверной части. Интерфейс серверной части определен и фиксирован.

В современных информационных системах таким интерфейсом, как правило, является язык SQL, т.е. сервер принимает от клиентской части SQL-запрос и выполняет необходимые операции в базе данных, после чего возвращает ответ клиенту. По сути дела, язык SQL представляет собой стандарт интерфейса СУБД в открытых системах (концепция открытых систем затрагивалась в предыдущем разделе).

В системе «клиент-сервер» возможно создание новых клиентских частей уже существующей системы, причем максимальное количество одновременно работающих с общей БД клиентов несравнимо больше, чем в файл-серверной архитектуре, т.е. система клиент-сервер является более масштабируемой. Это объясняется тем, что сетевой трафик в клиент-серверной системе невысок (от клиента передаются только тексты запросов, от сервера – уже отобранные данные, а не вся база данных, как в архитектуре файл-сервер).

Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «клиент-сервер», включая серверную и клиентскую части. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на использовании языка SQL.

В настоящее время имеется несколько широко распространенных коммерческих SQL-серверов – Oracle, DB-2, MS SQL Server, Sybase, Informix, Interbase и свободно распространяемые серверы с открытым исходным кодом PostGres (PostgreeSQL), MySQL, FireBird (свободно распространяемый вариант сервера Interbase). Приведенный список далеко не полон.

SQL-cерверы обладают преимуществами и недостатками. Очевидное преимущество — стандартность интерфейса. В пределе, хотя на практике это пока не совсем так, клиентские части могли бы работать с любым SQL-сервером вне зависимости от того, кто его произвел. Иными словами, прикладное программное обеспечение на стороне клиента легко настраивается на взаимодействие с любым новым SQL-сервером.

Читать еще:  Архитектура ia 32

Недостаток – большая нагрузка на сервер, который должен отрабатывать запросы всех клиентов, и малая нагрузка на клиентскую часть. По мере роста количества одновременно работающих пользователей сервер часто становится узким местом всей системы и возникает необходимость его разгрузки. Для этого существуют два пути.

· Если клиентские компьютеры обладают достаточной мощностью, то можно возложить на них больше функций обработки данных, разгрузив сервер.

· В случае применения маломощных клиентских компьютеров (а это более типичная ситуация), применяют многозвенную (многоуровневую) архитектуру «клиент-сервер», выделив промежуточные дополнительные слои программного обеспечения между клиентом и сервером.

Дата добавления: 2015-08-26 ; просмотров: 3378 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Вопрос Централизованная архитектура

Вопрос

Лекция № 4

«ПОНЯТИЕ АРХИТЕКТУРЫ ИНФОРМАЦИОННОЙ СИСТЕМЫ»

Учебные вопросы:

В начале лекции рассмотреть определение «архитектуры информационной системы», которое дают различные источники:

• Архитектура — это организационная структура системы.

• Архитектура информационной системы — концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы.

• Архитектура — это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы.

• Архитектура — это набор значимых решений по поводу организации системы программного обеспечения, набор структурных элементов и их интерфейсов, при помощи которых компонуется система, вместе с их поведением, определяемым во взаимодействии между этими элементами, компоновка элементов в постепенно укрупняющиеся подсистемы, а также стиль архитектуры, который направляет эту организацию — элементы и их интерфейсы, взаимодействия и компоновку.

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

• Архитектура — это структура организации и связанное с ней поведение системы.

Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы.

Архитектура программного обеспечения системы или набора систем состоит из всех важных проектных решений по поводу структур программы и взаимодействий между этими структурами, которые составляют системы. Проектные решения обеспечивают желаемый набор свойств, которые должна поддерживать система, чтобы быть успешной. Проектные

решения предоставляют концептуальную основу для разработки системы, ее поддержки и обслуживания.

Таким образом, под архитектурой программных систем будем понимать совокупность решений относительно:

• организации программной системы;

• выбора структурных элементов, составляющих систему и их интерфейсов;

• поведения этих элементов во взаимодействии с другими элементами;

• объединение этих элементов в подсистемы;

• архитектурного стиля, определяющего логическую и физическую организацию системы: статические и динамические элементы, их интерфейсы и способы их объединения.

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

Далее рассмотреть классификацию программных систем по их архитектуре:

• Двухзвенная архитектура «клиент-сервер»;

• Архитектура распределенных систем.

Следует заметить, что, как и любая классификация, данная классификация архитектур информационных систем не является абсолютно жесткой. В архитектуре любой конкретной информационной системы часто можно найти влияния нескольких общих архитектурных решений.

Далее подробно рассмотреть особенности каждой архитектуры.

Централизованная архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на базе мейнфреймов (например, IВМ-З60/З70 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного аналога СМ-4). Характерная особенность такой архитектуры — полная «не интеллектуальность» терминалов. Их работой управляет хост-ЭВМ.

Достоинства такой архитектуры:

· пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства;

· централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы;

· отсутствует необходимость администрирования рабочих мест пользователей.

Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности — все используемое программное обеспечение является коллективным.

Классическое представление централизованной архитектуры показано на рис. l.

Центральная ЭВМ должна иметь большую память и высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей.

Рис.1.Классическое представление централизованной архитектуры

3 вопрос . Архитектура «файл-сервер»

Файл-серверные приложения — приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных. Функции сервера: хранения данных и кода программы.

Функции клиента: обработка данных происходит исключительно на стороне клиента.

Классическое представление информационной системы в архитектуре «файл-сервер» представлено на рис. 2.

Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД.

Достоинства такой архитектуры:

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

· удобство централизованного управления доступом;

· низкая стоимость разработки;

· высокая скорость разработки;

· невысокая стоимость обновления и изменения по.

· проблемы многопользовательской работы с данными: последовательный доступ;

· отсутствие гарантии целостности;

· низкая производительность (зависит от производительности сети, сервера, клиента);

· плохая возможность подключения новых клиентов;

Простое, работающее с небольшими объемами информации и рассчитанное на применение в однопользовательском режиме, файл-серверное приложение можно спроектировать, разработать и отладить очень быстро. Очень часто для небольшой компании для ведения, например, кадрового учета достаточно иметь изолированную систему, работающую на отдельно стоящем PC. Однако, в уже ненамного более сложных случаях (например, при организации информационной системы поддержки проекта, выполняемого группой) файл-серверные архитектуры становятся недостаточными.

Читать еще:  В многоуровневой архитектуре на клиенте располагается

4 вопрос . Архитектура «клиент-сервер»

Клиент-сервер (Client-server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых Клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. Первоначально системы такого уровня базировались на классической двухуровневой клиент-серверной архитектуре (Two-tierarchitecture). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных.

Схематически такую архитектуру можно представить, как показано на рис. 3.

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

Клиентская часть приложения взаимодействует с клиентской частью программного обеспечения управления базами данных, которая, фактически, является индивидуальным представителем СУБД для приложения.

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

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

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

Сервер производит компиляцию полученного оператора.

Далее (если компиляция завершилась успешно) происходит выполнение оператора.

Разработчики и пользователи информационных систем, основанных на архитектуре «клиент-сервер», часто бывают неудовлетворены постоянно существующими сетевыми накладными расходами, которые следуют из потребности обращаться от клиента к серверу с каждым очередным запросом. На практике распространена ситуация, когда для эффективной работы отдельной клиентской составляющей информационной системы в действительности требуется только небольшая часть общей базы данных. Это приводит к идее поддержки локального кэша общей базы данных на стороне каждого клиента.

Фактически, концепция локального кэширования базы данных является частным случаем концепции реплицированных баз данных. Как и в общем случае, для поддержки локального кэша базы данных программное обеспечение рабочих станций должно содержать компонент управления базами данных – упрощенный вариант сервера баз данных, который, например, может не обеспечивать многопользовательский режим доступа. Отдельной проблемой является обеспечение согласованности (когерентности) кэшей и общей базы данных. Здесь возможны различные решения – от автоматической поддержки согласованности за счет средств базового программного обеспечения управления базами данных до полного перекладывания этой задачи на прикладной уровень.

Преимуществами данной архитектуры являются:

  • возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;
  • все данные хранятся на сервере, который, как правило, защищен гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
  • поддержка многопользовательской работы;
  • гарантия целостности данных.
  • неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;
  • администрирование данной системы требует квалифицированного профессионала;
  • высокая стоимость оборудования;
  • бизнес логика приложений осталась в клиентском ПО.

При проектировании информационной системы, основанной на архитектуре «клиент-сервер», большее внимание следует обращать на грамотность общих решений. Технические средства пилотной версии могут быть минимальными (например, в качестве аппаратной основы сервера баз данных может использоваться одна из рабочих станций). После создания пилотной версии нужно провести дополнительную исследовательскую работу, чтобы выяснить узкие места системы. Только после этого необходимо принимать решение о выборе аппаратуры сервера, которая будет использоваться на практике.

Данная разработка охватывает первую часть 4-х часовой лекции. Во второй части должны быть рассмотрены вопросы описания архитектуры распределенных систем; архитектуры Веб-приложений; и сервис-ориентированной архитектуры. Затрагивается также проблема формальных методов описания структуры информационной системы и системного подхода при анализе архитектуры ИС.

Не нашли то, что искали? Воспользуйтесь поиском:

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

Виды архитектуры информационной системы

Любая информационная система (ИС) включает в себя три компонента:

  • Управление данными;
  • Бизнес-логику;
  • Пользовательский интерфейс.

Данные хранятся в базах данных, а управление ими осуществляется с помощью системы управления базами данных (СУБД). Бизнес-логика определяет правила, по которым обрабатываются данные. Она реализуется набором процедур, написанных на различных языках программирования. Пользователь работает с интерфейсом, где логика работы ИС представлена в виде элементов управления – полей, кнопок, списков, таблиц и т.д.

Однако, эти три компонента в разных ИС взаимодействуют друг с другом различными способами.

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

Существуют следующие виды архитектур ИС:

  • Локальная;
  • Файл-серверная;
  • Клиент-серверная;
  • Трехслойная.

Локальные информационные системы

Локальные информационные системы широко использовались до появления компьютерных сетей. В этом случае все компоненты ИС располагаются на одном компьютере. Очевидным недостатком этой архитектуры является возможность работать в ИС только одному пользователю. Другие пользователи не имеют возможности получить доступ к данным даже для чтения.

Попробуй обратиться за помощью к преподавателям

Файл-серверная архитектура

С появлением компьютерных сетей возникла возможность хранить данные в файлах на выделенном специально для этой цели компьютере. Такой компьютер называется файловым сервером или просто сервером. Компьютеры пользователей соединены с сервером сетью, поэтому доступ к данным, могут получить несколько пользователей одновременно. Однако, кроме функции хранения данных и обеспечения доступа к ним, сервер никаких функций не выполняет. Приложения, обрабатывающие данные, находятся на пользовательских компьютерах.

Читать еще:  Система голосования и опроса с поддержкой linux

Предположим, что в базе данных на сервере хранится список сотрудников крупного предприятия. На предприятии 1500 сотрудников и 10 подразделений. Пользователю нужно получить число сотрудников, работающих в каждом подразделении. Для решения этой задачи пользователь должен запросить данные всех 1500 сотрудников с сервера по сети, после чего на пользовательском компьютере выполнится процедура, которая осуществит подсчет сотрудников в каждом подразделении. Результатом процедуры будет 10 строк. Таким образом, чтобы получить 10 строк придется передать по сети 1500 строк.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Обработка данных на пользовательском компьютере всегда сопровождается передачей по сети большого количества «лишней» информации. Основными недостатками файл-серверной архитектуры являются:

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

Клиент-серверная архитектура

До определенного момента на СУБД возлагались лишь задачи хранения данных и организации доступа к ним. С развитием технологий в состав СУБД разработчики стали включать новый компонент – процедурный язык программирования. С его помощью в СУБД стало возможным создавать процедуры для обработки данных, которые можно вызывать повторно. Такие процедуры называются хранимыми процедурами. Наличие хранимых процедур дало возможность осуществлять некоторую часть обработки данных на сервере.

Рассмотрим задачу из примера 1 в условиях клиент-серверной архитектуры. Пользователь отправит на сервер запрос, который запустит процедуру. Процедура выполнится непосредственно на сервере. Она подсчитает количество сотрудников в каждом подразделении и отправит полученные 10 строк по сети на клиентский компьютер. Таким образом, произойдет существенная экономия трафика: вместо 1500 строк будет передано по сети всего 10.

Клиент-серверная архитектура позволяет разгрузить сеть и поддерживать непротиворечивость данных за счет их централизованной обработки. Однако, языки хранимых процедур не приспособлены для полноценной реализации бизнес-логики. Поэтому бизнес-логика в клиент-серверных ИС по-прежнему реализуется на клиентских компьютерах. Такой подход имеет следующие недостатки:

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

Трехуровневая архитектура

Все недостатки клиент-серверной архитектуры связаны с тем, что на клиентском компьютере лежит слишком большая нагрузка, которую можно было бы перенести на сервер. Поэтому дальнейшее развитие технологий двигалось в направлении переноса нагрузки с клиентских компьютеров на сервер. В дополнение к хранимым процедурам разработчики стали использовать серверные языки программирования. Это дало возможность создавать в ИС промежуточный уровень — сервер приложений.

Сервер приложений – это комплекс программ, выполняемых на сервере и реализующих бизнес-логику ИС .

Использование сервера приложений позволяет максимально разгрузить клиентские компьютеры и сделать обработку данных еще более централизованной, что повышает скорость и надежность ИС.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

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

Современные ИС и информационные технологии (ИТ) достигли

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

проектов, а не личные пристрастия разработчиков или заказчиков.

В связи с этим большое внимание в настоящее время уделяется архитектуре информационных систем.

Рассмотрим определение «архитектуры информационной системы», которое дают различные источники:

• архитектура — организационная структура системы;

• архитектура информационной системы — концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь

компонентов информационной системы;

• архитектура — базовая организация системы, воплощенная в ее

компонентах, их отношениях между собой и окружением, а также

принципы, определяющие проектирование и развитие системы;

• архитектура — набор значимых решений по поводу организации

системы программного обеспечения, набор структурных элементов

и их интерфейсов, при помощи которых компонуется система вместе

с их поведением, определяемым во взаимодействии между этими элементами, компоновка элементов в постепенно укрупняющиеся подсистемы, а также стиль архитектуры, который направляет эту организацию (элементы и их интерфейсы, взаимодействия и компоновку);

• архитектура программы или компьютерной системы — структура или структуры системы, которые включают элементы программы,

видимые извне свойства этих элементов и связи между ними;

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

взаимодействующие посредством интерфейсов, связи, которые соединяют части и условия сборки частей. Части, взаимодействующие

через интерфейсы, включают классы, компоненты и подсистемы;

• архитектура программного обеспечения системы или набора

систем состоит из всех важных проектных решений в отношении

структур программы и взаимодействий между этими структурами,

составляющих системы. Проектные решения обеспечивают желаемый набор свойств, которые должна поддерживать система, чтобы

быть успешной. Проектные решения предоставляют концептуальную

основу для разработки системы, ее поддержки и обслуживания.

Основным критерием выбора архитектуры и инфраструктуры ИС

в условиях рыночной экономики является минимизация совокупной

стоимости владения системой. Из этого следуют два основных тезиса.

1. В проектах построения информационных систем, для которых

важен экономический эффект, необходимо выбирать архитектуру

системы с минимальной совокупной стоимостью владения.

2. Совокупная стоимость владения ИС состоит из плановых за-

трат и стоимости рисков. Стоимость рисков определяется стоимостью бизнес-рисков, вероятностями технических рисков и матрицей соответствия между ними. Матрица соответствия определяется

Термин «архитектура информационной системы» обычно довольно согласованно понимается специалистами на уровне подсознания,

но при этом и определения этого понятия неоднозначны. Имеются

два основных класса определений архитектур — «идеологические»

Основные идеологические определения архитектуры ИС таковы:

1. Архитектура ИС — набор решений, наиболее существенным

образом влияющих на совокупную стоимость владения системой;

2. Архитектура ИС — набор ключевых решений, неизменных при

изменении бизнес-технологии в рамках бизнес-видения.

Ссылка на основную публикацию
Adblock
detector