Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_ОС.doc
Скачиваний:
27
Добавлен:
03.09.2019
Размер:
582.66 Кб
Скачать

9.5. Распределенные вычисления

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

Трехзвенная архитектура позволяет еще больше сбалансировать нагрузку на разные узлы и сеть, а также способствует специализации инструментов для разработки приложений. Сбалансированная трехзвенная архитектура устраняет недостатки двухзвенной модели. В этих схемах клиент выделен для выполнения функций и логики представлений PS и PL, имеет программный интерфейс для вызова приложения на среднем уровне. Сервер БД выделен для услуг обработки данных DS и файловых операций FS (без риска использования хранимых процедур). Средний уровень представляет собой сервер приложений, на котором выполняется прикладная логика BL и с которого логика обработки данных DL вызывает операции DS.

Примером такой системы является неоднородная архитектура клиент-сервер на основе ПК в локальной сети NetWare, Unix-сервера приложений c монитором транзакций Tuxedo на Sun SPARCserver 20 MP и сервера баз данных Oracle7 в среде Solaris на Sun SPARCserver 1000.

Централизация логики приложения упрощает администрирование и сопровождение, а также обеспечивает доступ к ресурсам по именам. Четко разделяются платформы и инструменты для реализации интерфейса и прикладной логики, что позволяет с наибольшей отдачей реализовать их специалистам узкого профиля. И, наконец, изменения прикладной логики не затрагивают интерфейса, и наоборот. Но поскольку границы между компонентами PL, BL и DL размыты, прикладная логика может появиться на всех трех звеньях. Сервер приложений с помощью монитора транзакций обеспечивает интерфейс с клиентами и другими серверами, может управлять транзакциями и гарантировать целостность распределенной БД путем двухфазной фиксации в неоднородной среде. Средства удаленного вызова процедур наиболее соответствуют идее распределенных вычислений, они обеспечивают вызов из любого узла сети прикладной процедуры, расположенной на другом узле, передачу параметров, удаленную обработку и возврат результатов. Сервер приложений может также управлять асинхронными очередями сообщений, которые обеспечивают надежное завершение транзакций. С ростом систем клиент-сервер необходимость трех звеньев становится более очевидной. Продукты для трехзвенной архитектуры являются относительно новыми. Несколько производителей продают мониторы транзакций для построения таких систем: Tuxedo (BEA System), Encina TP monitor (IBM), TopEnd (NCR) и ACMS TP monitor (DEC). Эти инструменты в основном ориентированы на среду Unix, однако прикладные серверы можно строить на MS Windows NT с использованием вызова удаленных процедур RPC и протокола Named Pipes для организации связи клиентов с сервером приложений.

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