Файл: Технология построения распределенных информационных систем (Преимущества и недостатки использования распределённых информационных систем).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 144

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

•Из этих недостатков можно увидеть, что при проектировании распределенных систем возникает ряд проблем, которые надо учитывать разработчикам:

•Идентификация ресурсов. Ресурсы в распределенных системах располагаются на разных компьютерах, поэтому систему имен ресурсов следует продумать так, чтобы пользователи могли без труда открывать необходимые им ресурсы и ссылаться на них. Примером может служить система URL(унифицированный указатель ресурсов), которая определяет имена Web-страниц.

•Коммуникация. Универсальная работоспособность Internet и эффективная реализация протоколов TCP/IP в Internet для большинства распределенных систем служат примером наиболее эффективного способа организации взаимодействия между компьютерами. Однако в некоторых случаях, когда требуется особая производительность или надежность, возможно использование специализированных средств.

•Качество системного сервиса. Этот параметр отражает производительность, работоспособность и надежность. На качество сервиса влияет ряд факторов: распределение процессов, ресурсов, аппаратные средства и возможности адаптации системы.

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


2. Классификация существующих подходов к построению распределённой информационной системы

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

Рисунок 4

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

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

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

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

• какой она обеспечивает уровень безопасности и защищенности данных;

• до какой степени позволяет наращивать число пользователей;

• можно ли перенести ее на компьютер другого типа и многие другие соображения.

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


Архитектура «клиент-сервер» представляет собой модель взаимодействия компьютеров в сети. Как правило, один компьютер в сети располагает информационно-вьиислительными ресурсами, такими, как мощные процессоры, программные приложения, базы данных и различные сервисы. Другие же компьютеры пользуются ими (рис. 5). Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса (Resource Server — RS), а компьютер, который пользуется этим ресурсом, — клиентом (Clients).

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

Рисунок 5

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

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

• компонент ввода и представления данных (Data Input/ Presentation);

• прикладной компонент (Business Application), который поддерживает функции, необходимые для выполнения действий в данной предметной области;

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

Различия в реализации приложений в рамках технологии «клиент-сервер» определяются тем, какие механизмы используются для реализации функций всех трех групп и как логические компоненты распределяются между компьютерами в сети. Выделяют три подхода, каждый из которых реализован в соответствующей модели: доступа к удаленным данным (Remote Date Access — RDA), сервера базы данных (DateBase Server — DBS), сервера приложений (Application Server — AS).


2.1 По месту обработки данных

В модели доступа к удаленным данным (RDA-модель) реализации компонента представления данных и прикладного компонента совмещены и выполняются на компьютере-клиенте. Этот компьютер поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к удаленным ИР обеспечивается, как правило, с помощью специального языка запросов SQL — если речь идет о базах данных, или вызовами функций специальных библиотек — если имеется соответствующий интерфейс API. Запросы направляются по сети удаленному компьютеру (например, серверу базы данных), который обрабатывает и выполняет запросы и возвращает клиенту блоки данных. Говоря о таком виде архитектуры «клиент-сервер», в большинстве случаев имеют в виду модель, называемую «толстым клиентом» (рис. 6).

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

Рисунок 6

Рисунок 7

(Stored Procedure — SP), которые называют компилируемыми резидентными процедурами или процедурами базы данных: (рис. 7). Они находятся непосредственно в базе данных и выполняются на компьютере-сервере (где функционирует ядро СУБД). В этом случае понятие «информационный ресурс» сужено до конкретной базы данных, поскольку механизм управления хранимыми процедурами заложен прямо в СУБД. На практике часто используются смешанные модели, когда поддержка целостности базы данных и некоторые прикладные функции поддерживаются хранимыми процедурами (DBS-модель), а часть сложных функций реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).

В модели сервера приложений (AS-модель) процесс, выполняющийся на компьютере-клиенте, отвечает, как правило, за ввод и отображение данных. Прикладные функции выполняются группой процессов (серверов приложений), функционирующих на удаленном компьютере (или нескольких компьютерах). Доступ к ИР, необходимым для решения прикладных задач, обеспечивается ровно тем же способом, что и в RDA-модели. Из прикладных компонентов доступны ресурсы различных типов: базы данных, индексированные файлы, очереди, и др. Серверы приложений выполняются, как правило, на том же компьютере, где функционирует менеджер ресурсов, однако могут находиться и на других компьютерах (рис. 8). Модель «клиент-сервер», когда подавляющее


Рисунок 8

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

Модели RDA и DBS реализуют двухзвенную схему разделения функций. В RDA-модели прикладные функции приданы программе-клиенту, в DBS-модели ответственность за их выполнение берет на себя ядро СУБД. В первом случае прикладной компонент сливается с компонентом представления, во втором — интегрируется в комдонент доступа к информационным ресурсам.

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

В распределенных корпоративных информационных системах

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

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