КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Архитектура информационной системы
Эффективность функционирования ИС во многом зависит от её архитектуры. Архитектура ИС – концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы. По-простому, архитектура ИС – абстрактное понятие, определяющее из каких составных частей (элементов, компонент) состоит приложение и как эти части между собой взаимодействуют. Под составными частями приложения обычно понимаются программы или программные модули, выполняющие отдельные, относительно изолированные задачи. Программный интерфейс или API (Application Programming Interface) определяет способ взаимодействия составных частей (компонент) приложения. Программные интерфейсы бывают разной природы(типа): экспортируемые функции DLL, публичные классы пакета/сборки, COM, EJB, CORBA, SOAP и т.д., разрабатываются под конкретную задачу, тяготеют к унификации и стандартизации. АИС включает три группы функций, ориентированных на решение различных подзадач (рис. 1.1): 1. функции ввода и отображения данных (обеспечивают взаимодействие с пользователем); 2. прикладные функции, характерные для данной предметной области; 3. функции управления ресурсами (файловой системой, БД и т.д.). Выполнение этих функций в основном обеспечивается программными средствами, которые можно представить в виде взаимосвязанных компонентов (рис.1.1.).
Рисунок 1.1 - Компоненты сетевого приложения
Пользовательский интерфейс ( средства представления данных Presentation Services (PS), логика представления Presentation Logic (PL) ) – обеспечивает просмотр и редактирование данных, а также управление данными и приложением в целом (нажатие кнопок, движение мыши, прорисовка изображения, вывод результатов поиска и т.д.). Бизнес логика (прикладная логика Business or Application Logic (BL), логика данных Data Logic (DL)) – правила, алгоритмы реакции приложения на действия пользователя или на внутренние события, правила обработки данных. Управление данными (средства управления БД Data Services (DS), средства управления файлами File Services (FS))– включает: - механизм получения и отправки данных, обеспечивает соединение с источником данных (часто опосредованно). Он должен "знать", куда ему обращаться и какой протокол обмена использовать для обеспечения двунаправленного потока данных; - механизм внутреннего представления данных является ядром приложения баз данных, обеспечивает хранение полученных данных в приложении и предоставляет их по запросу других частей приложения. Автономная система (компьютер, не подключенный к сети) представляет все эти компоненты как на различных уровнях (ОС, служебное ПО и утилиты, прикладное ПО), так и на уровне приложений (не характерно для современных программ). Так же и сеть — она представляет все эти компоненты, но, в общем случае, распределенные между узлами. Задача сводится к обеспечению сетевого взаимодействия между этими компонентами. Архитектура АИС определяет распределение компонентов между звеньями (tiers) сетевого приложения. В настоящее время перспективной является архитектура клиент-сервер. Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файловые системы, службы печати, почтовые службы. Тип сервера определяется видом ресурса, которым он управляет. Например, если управляемым ресурсом является база данных, то соответствующий сервер называется сервером базы данных. Практические реализации такой архитектуры называются клиент-серверными технологиями. Каждая технология определяет собственные или использует имеющиеся правила взаимодействия между клиентом и сервером, которые называются протоколом обмена (протоколом взаимодействия). Технология “клиент-сервер” – это модель вычислений, предусматривающую распределение функций обработки в многопользовательской базе данных по нескольким компьютерам. Распределение выполнения функций обработки между компьютерами осуществляется с использованием протокола сервисных запросов, т.е. один компьютер “клиент” запрашивает обслуживание у другого компьютера “сервера”, который реализует обслуживание и отсылает его результаты “клиенту”. Под автоматизированной информационной системой (АИС) понимают комплекс аппаратно-программных средств реализующих мультикомпонентную информационную систему, обеспечивающую современное управление процессами принятия решений, проектирования, производства и сбыта в режиме реального времени при транзакционной обработке данных. Транзакция – это совокупность операций базы данных, выполнение которых не может быть прервано. Для того чтобы изменения, внесенные в БД в ходе выполнения любой из входящих в транзакцию операций, были зафиксированы в базе данных, все операции должны завершиться успешно. В результате такого воздействия на СУБД, выполняется ее перевод из одного целостного состояния в другое. Достоинством организации АИС по архитектуре клиент-сервер является удачное сочетание централизованного хранения, обслуживания и коллективного доступа к общей корпоративной информации с индивидуальной работой пользователей над персональной информацией. Архитектура клиент-сервер допускает различные варианты реализации. В любой сети (даже одноранговой), построенной на современных сетевых технологиях, присутствуют элементы клиент-серверного взаимодействия, чаще всего на основе двухзвенной архитектуры. Двухзвенной (two-tier, 2-tier) она называется из-за необходимости распределения трех базовых компонентов между двумя узлами (клиентом и сервером). Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные ресурсы. Т.е. сервер не вызывает сторонние сетевые приложения и не обращается к сторонним ресурсам для выполнения какой-либо части запроса (рис. 1.2). Рисунок 1.2 – Двухзвенная клиент-серверная архитектура
Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры: - сервер терминалов — распределенное представление данных; - файл-сервер — доступ к удаленной базе данных и файловым ресурсам; - сервер БД — удаленное представление данных; - сервер приложений — удаленное приложение. Перечисленные модели с вариациями представлены на рис.1.3. Исторически первой появилась модель распределенного представления данных (модель сервер терминалов). Она реализовывалась на универсальной ЭВМ (mainframe), выступавшей в роли сервера, с подключенными к ней алфавитно-цифровыми терминалами. Пользователи выполняли ввод данных с клавиатуры терминала, которые затем передавались на мэйнфрейм и там выполнялась их обработка, включая формирование «картинки» с результатами. Эта «картинка» и возвращалась пользователю на экран терминала.
Рисунок 1.3 - Модели клиент-серверного взаимодействия
На рис.1.2. представлена модель сервера терминалов с централизованной БД (рис.1.2 - а) и централизованной СУБД (рис.1.2 - б).
Рисунок 1.4 - Модель распределенного представления данных (модель сервер терминалов)
Достоинства: - пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства; - централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы; - отсутствует необходимость администрирования рабочих мест пользователей (терминальных станций); Главный недостаток: - пользователи полностью зависят от администратора mainframe. С появлением персональных компьютеров и локальных сетей, была реализована модель файл-сервера, представлявшего доступ к файловым ресурсам, в том числе и к удаленной базе данных (рис.1.5). В таких ИС по запросам пользователей файлы базы данных передаются на персональные компьютеры (ПК), где и производится их обработка. Отдельный узел сети является файловым сервером, на котором размещены файлы базы данных. На клиентах выполняются приложения, в которых совмещены компонент представления (пользовательский интерфейс) и прикладной компонент (бизнес-логика) (СУБД и прикладная программа), использующие подключенную удаленную базу как локальный файл. Протоколы обмена при этом представляют набор низкоуровневых вызовов операций файловой системы. Недостатком такого варианта архитектуры является высокая интенсивность передачи обрабатываемых данных. Причем, зачастую передаются избыточные данные: вне зависимости от того, сколько записей из базы данных требуется пользователю, файлы базы данных передаются целиком.
Рисунок 1.5 - Структура АИС с файл-сервером
Достоинства: - многопользовательский режим работы с данными; - удобство централизованного управления доступом; - низкая стоимость разработки; - высокая скорость разработки; - невысокая стоимость обновления и изменения ПО. Недостатки: - проблемы многопользовательской работы с данными; - низкая производительность; - плохая возможность подключения новых клиентов; - ненадежность системы. Распределение функциональных компонент в файл-серверной архитектуре представлено на рисунке 1.6. Как видно из недостатков такая модель показала свою неэффективность ввиду того, что при активной работе с таблицами БД возникает большая нагрузка на сеть. Частичным решением является поддержка тиражирования (репликации) таблиц и запросов. В этом случае, например при изменении данных, обновляется не вся таблица, а только модифицированная ее часть. С появлением специализированных СУБД появилась возможность реализации другой модели доступа к удаленной базе данных – модели сервера баз данных. В этом случае ядро СУБД функционирует на сервере, прикладная программа на клиенте, а протокол обмена обеспечивается с помощью языка SQL. Рисунок 1.6 - Распределение функциональных компонент в архитектуре файл-сервер
Рисунок 1.7 – Репликация данных Такой подход по сравнению с файловым сервером ведет к уменьшению загрузки сети и унификации интерфейса «клиент-сервер». При клиент-серверной архитектуре с использованием сервера баз данных обеспечивается выполнение основного объема обработки данных на сервере. Формируемые пользователем или приложением запросы поступают к серверу БД в виде инструкций языка SQL. Сервер базы данных выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Однако, сетевой трафик остается достаточно высоким, кроме того, по прежнему невозможно удовлетворительное администрирование приложений, поскольку в одной программе совмещаются различные функции. Клиент-серверная архитектура с сервером БД представлена на рисунке 1.8.
Рисунок 1.8 - Структура АИС с сервером БД
Распределение функциональных компонент (рис.1.9) в клиент-серверной архитектуре следующее, на рабочих станциях клиентов располагается интерфейс с пользователем, операторы обращения к СУБД; на файл-сервере хранится база данных, располагаются хранимые процедуры, реализующие серверную часть бизнес-логики, выполняются запросы и обрабатываются транзакции. С разработкой и внедрением на уровне серверов баз данных механизма хранимых процедур появилась концепция активного сервера БД. В этом случае часть функций прикладного компонента реализованы в виде хранимых процедур, выполняемых на стороне сервера. Остальная прикладная логика выполняется на клиентской стороне. Протокол взаимодействия — соответствующий диалект языка SQL. Достоинства: - возможность распределить функции вычислительной системы между несколькими независимыми компьютерами; - все данные хранятся на защищенном сервере; - возможность централизованного администрирования прикладных функций; - поддержка многопользовательской работы; - гарантия целостности данных; - значительное снижение сетевого трафика (т.к. передаются не SQL-запросы, а вызовы хранимых процедур). Недостатки: - неработоспособность сервера может сделать неработоспособной всю вычислительную сеть; - сложное администрирование; - высокая стоимость оборудования; - частично бизнес логика приложений осталась в клиентском ПО; - ограниченность средств разработки хранимых процедур по сравнению с языками высокого уровня.
Рисунок 1.9 - Распределение функциональных компонент в архитектуре клиент-сервер
Реализация прикладного компонента на стороне сервера представляет следующую модель – сервер приложений. Перенос функций прикладного компонента на сервер снижает требования к конфигурации клиентов и упрощает администрирование, но представляет повышенные требования к производительности, безопасности и надежности сервера. Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier). Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом (рис. 1.10): 1. Представление данных (пользовательский интерфейс) – на стороне клиента. 2. Прикладной компонент (бизнес-логика) – на выделенном сервере приложений. 3. Управление ресурсами (управление данными) – на сервере БД, который и представляет запрашиваемые данные.
Рисунок 1.10 - Многоуровневая архитектура клиент сервер
Достоинства: - клиентское ПО не нуждается в администрировании; - масштабируемость; - конфигурируемость; - высокая безопасность и надежность; - низкие требования к скорости канала между терминалами и сервером приложений; - низкие требования к производительности и техническим характеристикам терминалов. Но наряду с этим имеют место следующие недостатки: - сложность администрирования и обслуживания; - более высокая сложность создания приложений; - высокие требования к производительности серверов приложений и сервера базы данных; - высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. Распределение функциональных компонент в многоуровневой клиент-серверной архитектуре представлено на рисунке 1.11. Рисунок 1.11 - Распределение функциональных компонент в многоуровневой архитектуре клиент-сервер
Архитектура веб-ориентированных ИС представлена на рисунке 1.12.
Рисунок 1.12 - Архитектура веб-систем Достоинства: - отсутствие необходимости использовать дополнительное ПО на стороне - клиента – это позволяет автоматически реализовать клиентскую часть на всех - платформах; - возможность подключения практически неограниченного количества - клиентов; - благодаря единственному месту хранения данных и наличия системы - управления базами данных обеспечиваются минимальные требования для - поддержания целостности данных; - доступность при работоспособности сервера и каналов связи; Недостатки: - недоступность при отсутствии работоспособности сервера или каналов связи; - достаточно низкая скорость веб-сервера и каналов передачи данных; - относительно объема данных – архитектура веб-систем не имеет - существенных ограничений. Распределение функциональных компонент в архитектуре веб-ориентированных ИС представлена на рисунке 1.13
Рисунок 1.13 - Распределение функциональных компонент в архитектуре веб-ориентированных ИС
Подводя итоги можно заключить, что двухзвенная архитектура проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера. Трехзвенная архитектура сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет: 1. Высокую степень гибкости и масштабируемости. 2. Высокую безопасность (т.к. защиту можно определить для каждого сервиса или уровня). 3. Высокую производительность (т.к. задачи распределены между серверами). Сегодня на промышленных предприятиях предполагается наличие компьютерной сети и распределенной базы данных, включающей корпоративную базу данных (КБД) и персональные базы данных (ПБД). КБД размещается на компьютере-сервере, ПБД размещаются на компьютерах сотрудников подразделений, являющихся клиентами корпоративной БД. Для создания и управления персональными БД и приложений, работающих с ними, используются СУБД, такие как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland. Корпоративная БД создается, поддерживается и функционирует под управлением сервера БД, например, Microsoft SQL Server или Oracle Server. В зависимости от размеров организации и особенностей решаемых задач информационная система может иметь одну из следующих конфигураций: - компьютер-сервер, содержащий корпоративную и персональные базы; - компьютер-сервер и персональные компьютеры с ПБД; - несколько компьютеров-серверов и персональных компьютеров с ПБД. Разделение общей БД на корпоративную БД и персональные БД позволяет уменьшить сложность проектирования БД по сравнению с централизованным вариантом, а значит снизить вероятность ошибок при проектировании и стоимость проектирования. На текущем этапе развития автоматизированных информационных систем промышленного применения к базам данных выдвигают следующие требования: - централизованное управление при многопользовательском доступе к данным; - сокращение избыточности данных; - обеспечение и внедрение стандартов в представлении данных; - обеспечение целостности и безопасности данных; - независимость данных; - распределенная обработка данных в сетях ЭВМ.
Дата добавления: 2014-01-20; Просмотров: 9614; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |