Современные подходы к проектированию архитектуры ИС — КиберПедия 

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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Современные подходы к проектированию архитектуры ИС

2017-12-09 359
Современные подходы к проектированию архитектуры ИС 0.00 из 5.00 0 оценок
Заказать работу

Локальные ИС

Рассмотрим вариант построения ИС на одном ПК.

Возможны следующие способы использования программных средств:

1) СУБД в полном объеме;

2) приложения и ядро СУБД;

3) независимое приложение.

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

 

 

Рисунок 2.1 – СУБД в полном объёме

 

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

По третьему варианту на ПК устанавливается независимое приложение (откомпилированный исходный код) (рисунок 2.3).

 

Рисунок 2.2 - Приложение и ядро СУБД

 

 

Рисунок 2.3 - Независимое приложение

 

ИС в локальных сетях

Возможны следующие варианты:

1) система типа файл-сервер с несетевой СУБД;

2) система типа файл-сервер с сетевой СУБД;

3) система типа клиент-сервер.

 

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

Архитектура типа файл-сервер с использованием сетевой СУБД представлена на рисунке 2.4.

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

 

 

 

ЦБД – централизованная БД

ЛБД – локальная БД

 

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

 

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

 

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

 

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

 

Особенностью файл-серверной системы является необходимость проводить ежедневное архивирование, во время которого ни один из пользователей не может работать с базой данных.

 

Таким образом, производительность файл-серверной системы зависит от объёма обрабатываемой и передаваемой по сети базы с учётом трафика всех одновременно осуществляемых соединений.

 

ИС типа клиент – сервер представлена на рисунке 2.5.

 

Рисунок 2.5 - Архитектура клиент – сервер

 

В клиент-серверной архитектуре клиент управляет пользовательским интерфейсом и логикой приложения, действуя как интеллектуальная рабочая станция, на которой выполняются приложения баз данных. Клиент принимает от пользователя запрос, проверяет его синтаксис и генерирует SQL-запрос к серверу на предоставление тех или иных данных. Сервер принимает и обрабатывает запрос, затем в зависимости от типа запроса либо передаёт полученные данные обратно клиенту, либо выполняет модификацию содержимого базы данных. Клиент принимает переданные сервером данные, форматирует их и предоставляет пользователю.

 

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

Клиент-серверная архитектура обладает следующими преимуществами:

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

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

· сокращается нагрузка на компьютерную сеть. Это происходит за счёт того, что в ответ на запрос клиента сервер возвращает ему готовые результаты запроса, а не все данные, которые были использованы;

· высокие аппаратные требования предъявляются только к компьютеру, выделенному под сервер;

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

· повышается уровень непротиворечивости данных, так как все проверки выполняются в одном месте, то есть на сервере.

 

Основное достоинство и преимущество клиент-серверных систем:

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

 

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

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

Двухзвенные модели

Файл-серверная и клиент-серверная архитектура относятся к двухзвенным моделям.

Рассмотрим основные функции СУБД, в зависимости от реализации которых определим разные варианты архитектуры ИС:

1) управление данными, находящимися в базе;

2) обработка данных с помощью прикладных программ;

3) представление информации в удобном для пользователя виде.

В двухзвенной модели эти функции распределены между двумя узлами сети: сервером и клиентом.

Возможны следующие варианты двухзвенных моделей:

1) распределенное представление;

2) удаленное представление;

3) распределенная функция;

4) удаленный доступ к данным;

5) распределенная БД.

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

 

 

 

Рисунок 2.6 - Двухзвенные модели

 

Рассмотрим более подробно некоторые варианты.

Remote Data Access (RDA) – удаленный доступ к данным.

Обработка и представление осуществляются на компьютере-клиенте. Обращение к функциям управления осуществляется через сеть с помощью команд SQL или путем вызова функций библиотеки API.

Недостатки:

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

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

DataBase Server (DBS) – сервер БД или удаленное представление.

Функции обработки и управления данными реализованы на сервере. Приложения имеют вид хранимых процедур, т.е. ссылки на них хранятся в словаре БД. Хранимые процедуры разделяются нескольким клиентами (см. СУБД Ingress, Sybase, Oracle и др.).

Недостатки:

- ограниченный набор средств разработки хранимых процедур;

- средства разработки привязаны к конкретной СУБД;

- низкая эффективность использования ресурсов сервера из-за сложности управления потоком запросов к программам сервера.

 

Трехзвенные модели

 

В трехзвенной модели каждая функция реализована на отдельном компьютере. Данную архитектуру иногда называют моделью сервера приложений или AS (Application Server). Простейший вариант модели приведен на рис. 2.7.

 

Рисунок 2.7 – Трёхзвенная модель

 

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

Монитор транзакций

 

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

Под транзакцией будем понимать действия над данными в БД, передачу сообщений, запись информации в файл, опрос датчиков и т.д.

На рисунке 2.8 представлена модель обработки транзакций X/Open DTP (Distributed Transaction Processing) – обработка распределенных транзакций.

В качестве прикладной программы рассматривается любая программа.

Под ресурсом понимается ресурс любого вида. Если ресурсом является БД, то менеджер ресурса – это сервер БД.

Интерфейс ATMI (Application Transaction Monitor Interface – прикладной интерфейс монитора транзакций) используется для вызова функций TPM (Transaction Processing Monitor) на некотором языке программирования, например, на С.

Рисунок 2.8 – Монитор транзакций

 

Связь между менеджерами ресурсов и транзакций осуществляется на основании протокола двухфазной фиксации транзакций (стандарт X/Open XA) (Oracle, Ingres, Informix).

Полезно знать следующее: транзакции, поддерживающие TPM, часто называются прикладными или бизнес-транзакциями.

Использование монитора транзакций имеет ряд достоинств по сравнению с другими технологиями:

- повышается пропускная способность сети;

- облегчается администрирование;

- ускоряется разработка приложений.

На рынке предлагается ряд мониторов транзакций, например, ACSM, CICS, TUXEDO System и др.

ИС в Internet и intranet

Рассмотрим модели доступа к Internet.

Модель доступа со стороны сервера (рисунок 2.9).

Рисунок 2.9 – Модель доступа со стороны сервера

 

Web – сервер вызывает внешние по отношению к программам Web – сервера программы в соответствии с одним из интерфейсов:

· CGI (Common Gateway Interface – общий шлюзовой интерфейс);

· Fast CGI;

· API (Application Program Interface).

Внешние программы взаимодействуют с сервером БД на языке SQL, непосредственно обращаясь к серверу или через ODBC (Open Database Connectivity - совместимость открытых баз данных – прикладной интерфейс для связи с базами данных).

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

 

Модель доступа на стороне клиента (рисунок 2.10).

Модель доступа в Internet со стороны клиента

 

Рисунок 2.10 - Модель доступа в Internet со стороны клиента

 

Рассмотрим возможный вариант реализации такой модели.

Пусть в HTML – документе требуется получить данные из базы. Для этого:

1) на языке Java пишутся программы, называемые апплетами, которые затем компилируются;

2) в тексте HTML – документа в нужных местах ставятся ссылки на соответствующие апплеты; программы хранятся на сервере;

3) при обнаружении ссылки апплет автоматически пересылается с сервера в среду выполнения броузера и выполняется там, в том числе, запрашивая недостающую информацию у пользователя;

4) Java – апплет взаимодействует с сервером БД и полученную информацию предоставляет пользователю.


 


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.058 с.