Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектирование и разработка информационных систем. Учебное пособие для СПО

.pdf
Скачиваний:
4
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
101
4. Модели отношений, отражающие взаимоотношения
между частями системы, например, поток данных между подси­стемами.
3.3.1. Статическая (структурная) модель
В настоящее время существует большое количество хоро­шо зарекомендовавших себя моделей архитектур, так называе­мые базовые модели. Очень важно знать эти модели, их недо­статки, преимущества и возможности применения.
Вместе с тем архитектуру больших систем невозможно описать с помощью какой-либо одной модели. При разработке отдельных частей больших систем можно строить модель архи­тектуры модели как комбинацию различных архитектурных мо­делей. Разработчик должен подобрать наиболее подходящую модель, затем модифицировать ее соответственно требованиям разрабатываемого ПО. Например, архитектура традиционного компилятора базируется на комбинации модели репозитория и модели потоков данных.
В качестве примера рассмотрим две базовые модели:
– модель репозитория;
– модель абстрактной машины.
Модель репозитория
Для того чтобы подсистемы, входящие в структуру систе­мы, работали эффективнее, между ними должен идти обмен ин­формацией. Обмен можно организовать двумя способами:
1. Все совместно используемые данные хранятся в цен-
тральной базе данных, доступной всем подсистемам. Модель системы, основанная на совместном использовании базы дан­ных, часто называют моделью репозитория (хранилища).
2. Каждая подсистема имеет собственную базу данных.
Взаимообмен данными между подсистемами происходит по­средством передачи сообщений.
Большинство систем, обрабатывающих большие объемы данных, организованы вокруг совместно используемой базы данных, или репозитория. Такая модель подойдет к приложени­ям, в которых данные создаются в одной подсистеме, а исполь­зуются в другой. Примерами могут служить системы управления
102
информацией, системы автоматического проектирования и CASEсредства.
На рис. 3.13 представлен пример архитектуры интегриро­ванного набора CASE-инструментов, основанный на совместно используемом репозитории. Считается, что для CASE-средств первый совместно используемый репозиторий был разработан в начале 1970-х годов одной английской компанией. Широкую известность эта модель получила после того, как была примене­на для поддержки разработки систем, написанных на языке Ada. С тех пор многие CASE-средства разрабатываются с использо­ванием общего репозитория.
Рис. 3.13 Модель репозитория
Совместно используемые репозитории имеют как пре­имущества, так и недостатки.
Очевидно, что совместное использование больших объе­мов данных, эффективно, поскольку не требуется передавать данные из одной подсистемы в другие.
С другой стороны, подсистемы должны быть согласованы с моделью репозитория данных. Это всегда приводит к необхо­димости компромисса между требованиями, предъявляемыми к каждой подсистеме. Компромиссное решение может понизить их производительность. Если форматы данных новых подсистем не подходят под согласованную модель представления данных, интегрировать такие подсистемы сложно или невозможно.
Подсистемам, в которых создаются данные, не нужно знать, как эти данные используются в других подсистемах.
Поскольку в соответствии с согласованной моделью дан­ных генерируются большие объемы информации, модернизация таких систем проблематична. Перевод системы на новую модель
103
данных будет дорогостоящим и сложным, а порой даже невоз­можным.
В системах с репозиторием такие средства, как резервное копирование, обеспечение безопасности, управление доступом и восстановление данных, централизованы, поскольку входят в систему управления репозиторием. Эти средства выполняют только свои основные операции и не занимаются другими во­просами.
С другой стороны, к разным подсистемам предъявляются разные требования, касающиеся безопасности, восстановления и резервирования данных. В модели репозитория ко всем подси­стемам применяется одинаковая политика.
Модель совместного использования репозитория прозрачна: если новые подсистемы совместимы с согласованной моделью данных, их можно непосредственно интегрировать в систему.
Однако сложно разместить репозитории на нескольких машинах, поскольку могут возникнуть проблемы, связанные с избыточностью и нарушением целостности данных.
В рассматриваемой модели репозиторий является пассив­ным элементом, а управление им возложено на подсистемы, ис­пользующие данные из репозитория. Для систем искусственного интеллекта разработан альтернативный подход. Он основан на модели «рабочей области», которая инициирует подсистемы то­гда, когда конкретные данные становятся доступными. Такой подход применим к системам, в которых форма данных хорошо структурирована.
Модель абстрактной машины
Модель архитектуры абстрактной машины (иногда назы­ваемая многоуровневой моделью) моделирует взаимодействие подсистем. Она организует систему в виде набора уровней, каж­дый из которых генерирует свои выходные данные.
Каждый уровень определяет абстрактную машину, выход­ные данные которой используются следующим уровнем аб­страктной машины.
Многоуровневый подход обеспечивает пошаговое разви­тие систем — при разработке какого-либо уровня предоставляе­мые им сервисы становятся доступны пользовать. Кроме того, такая архитектура легко изменяема и переносима на разные
104
платформы. Изменение интерфейса любого уровня повлияет только на смежный уровень. Так как в многоуровневых системах зависимости от машинной платформы локализованы на внут­ренних уровнях, такие системы можно реализовать на других платформах, поскольку потребуется изменить только самые внутренние уровни.
Недостатком модели абстрактной машины является до­вольно сложная структура системы.
Основные средства, такие, как управление файлами, необ­ходимые всем уровням, предоставляются внутренними уровня­ми. Поэтому сервисам, запрашиваемым пользователем, возмож­но, потребуется доступ к внутренним уровням абстрактной ма­шины. Такая ситуация приводит к разрушению модели, так как внешний уровень зависит только от предшествующего ему уровня, но и от более низких уровней.
Примером модели абстрактной машины служит классиче­ская модель протоколов OSI (OpenSystemInterconnection) — это эталонная модель сетевого взаимодействия подсистем в вычис­лительной системе. Она включает в себя 7 уровней (рис. 3.14).
Рис. 3.14. Семиуровневая модель OSI
105
Седьмой уровень определяет методы взаимодействия при­ложений, включая электронную почту.
Шестой уровень определяет методы описаний, формати­рования, преобразования, кодирования.
Пятый уровень определяет методы взаимодействия про­цессов и обеспечивает поддержку сеанса работы в течение необ­ходимого промежутка времени, выполняя при этом функции за­щитные, административные и по установлению связи.
Четвертый уровень определяет протоколы для структури­рованных сообщений и обеспечивает проверку правильности передачи данных.
Третий уровень определяет протоколы маршрутизации в сети.
Второй уровень обеспечивает целостность потока данных от одного узла к другому путем синхронизации блока данных.
Первый уровень определяет механизм взаимодействия со средой передачи данных и интерфейса аппаратного обеспечения.
3.3.2. Статическая модель распределенной
архитектуры
В настоящее время все разрабатываемые в коммерческих целях ИС имеют распределенную архитектуру, которая подра­зумевает использование глобальных и (или) локальных сетей.
Исторически первыми получила широкое распространение файл-серверная архитектура, поскольку ее логика проста, и пе­ревести на такую архитектуру уже находящиеся в эксплуатации ИС — проще всего. Затем она была трансформирована в архи­тектуру «сервер — клиент», которую можно трактовать как ее логическое продолжение. Современные системы, используемые в глобальной сети «Интернет», в основном относятся к архитек­туре распределенных объектов (рис. 3.15).
106
Рис. 3.15. Архитектура распределенных систем
ИС можно представить как состоящую из следующих со­ставных частей (рис. 3.16).
Рис. 3.16. Состав ИС с точки зрения распределения систем
Файл-серверные приложения
Это исторически первая распределенная архитектура. Ор­ганизуется она предельно просто: на сервере находятся только данные, а все остальное относится к клиентской машине (рис. 3.17). Поскольку локальные сети достаточно дешевы, и в силу того, что при такой архитектуре прикладное ПО автономно, такая архитектура достаточно часто используется и сейчас. Можно сказать, что это вариант клиент-серверной архитектуры, при которой на сервере находятся только файлы данных. Разные персональные компьютеры взаимодействуют только по сред­ствам общего хранилища данных, поэтому программы, написан­ные в расчете на один компьютер проще всего адаптировать под такую архитектуру.
107
Рис. 3.17. Схема файл-серверных приложений
Плюсы файл-серверной архитектуры:
– простота организации;
– не противоречит необходимым требованиям к БД к под­держанию целостности и надежности.
Минусы:
– перегрузка сети;
– непредсказуемость реакции на запрос.
Эти недостатки объясняются тем, что любой запрос к БД приводит к перекачке по сети к значительным объемам инфор­мации. Например, для выборки из таблиц одной или нескольких строк перекачивается вся таблица на клиентскую машину и уже там СУБД производит выборку.
Значительный сетевой трафик особенно чреват при орга­низации удаленного доступа к БД.
Клиент-серверные приложения
В данном случае имеется распределение обязанностей между сервером и клиентом. В зависимости от того, как они разделены, различают толстого и тонкого клиента (рис. 3.18 и
3.20 соответственно).
Рис. 3.18. Архитектура «толстый» клиент
К «толстому» клиенту относят все связанное с приложени­ем, а к серверу относят все связанное с БД (рис. 3.19).
108
Рис. 3.19. Распределение функций в архитектуре «толстый» клиент
В модели «тонкий клиент» (рис. 3.20) вся работа приложе­ния и управление данными выполняются на сервере. Пользова­тельский интерфейс в этих системах «переселяется» на персо­нальный компьютер, а программное приложение выполняет функции сервера, то есть выполняет все процессы приложения и управляет данными. Модель тонкого клиента можно также реа­лизовать там, где клиенты компьютеры или рабочие станции. Сетевые устройства запускают интернет-браузер и пользова­тельский интерфейс, реализованный внутри системы.
Рис. 3.20. Архитектура «тонкий» клиент
Главный недостаток модели «тонкого» клиента — большая загруженность сервера и сети. Все вычисления выпол­няются на сервере, а это может привести к значительному сете­вому трафику между клиентом и сервером. В современных ком­пьютерах достаточно вычислительной мощности, но она прак­тически не используется в модели «тонкого» клиента.
109
Напротив, модель «толстого» клиента использует вычис­лительную мощность локальных машин: само приложение по­мещается на клиентский компьютер. Примером архитектуры такого типа могут служить системы банкоматов, в которых бан­комат является клиентом, а сервер — центральным компьюте­ром, обслуживающим базу данных по расчетам с клиентами.
Двух- и трехуровневые клиент-серверные архитектуры
Все рассмотренные выше архитектуры являются двух­уровневыми. В них различается уровень клиента и уровень сер­вера. Строго говоря, ИС состоит из трех логических уровней:
– уровня пользователя;
– уровня приложения;
– уровня данных.
Поэтому в двухуровневой модели, где задействованы только два уровня, возникает проблема с масштабируемостью и производительностью, если выбрана модель «тонкий клиент», либо проблемы, связанные с управлением системы, если взята модель «толстый клиент». Избежать этих проблем можно, если применять модель, состоящую из трех уровней, где два из них занимают серверы (рис. 3.21).
Рис. 3.21. Схема трехуровневой архитектуры «сервер — клиент»
Фактически сервер приложения и сервер данных могут располагаться на одной машине, но выполнять функции друг друга они не могут. Применение разных типов архитектур для разных приложений приведены в табл. 3.5.
110
Таблица 3.5
Применение разных типов архитектур
Архитектура
Приложение
Двухуров­невая — «тонкий клиент»
1. Наследуемые системы, в которых нецелесообразно разделять выполнение приложения и управление данными.
2. Приложения с интенсивными вычислениями, но малыми объемами управления данными.
3. Приложения с большими объемами данных, но малым количеством вычислений
Двухуров­невая — «толстый клиент»
1. Приложения, где пользователю требуется интен­сивная обработка данных, то есть визуализация дан­ных.
2. Приложения с относительно постоянным набором функций пользователя, применяемых к среде с хо­рошо отлаженным системным управлением
Трехуровне­вая — «сервер — клиент»
1. Большие приложения с сотнями и тысячами кли­ентов.
2. Приложения, в которых часто меняются и данные, и методы их обработки.
3. Приложения, в которых выполняются интеграции данных из многих источников
Трехуровневая модель хороша тем, что в ней логически разделены выполнение приложения и управление данными. Та­кая модель подходит многим типам приложений, но ограничива­ет разработчиков ИС, которые должна решать, где предоставить сервисы, обеспечивать поддержку масштабируемости, разраба­тывать средства для подключения новых клиентов.
Архитектура распределенных объектов
Более общий подход обеспечивает архитектура распреде­ленных объектов (рис. 3.22), основными компонентами которой являются объекты. Они предоставляют набор услуг через свои интерфейсы. Другие объекты посылают запросы, при этом не делается различий между клиентом и сервером. Объекты могут располагаться на разных компьютерах в сети и взаимодейство-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]