Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Логические слои программного обеспечения распределенных информационных систем

Тип: реферат
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Виды архитектуры распределенных информационных систем. Сущность синхронного и асинхронного, блокирующего и неблокирующего взаимодействия в распределенных информационных системах. Основные проблемы и принципы реализации удаленного вызова процедур.
Краткое сожержание материала:

Размещено на

РЕФЕРАТ

по дисциплине «Информатика»

на тему «Логические слои программного обеспечения распределенных информационных систем»

Содержание

1. Логические слои программного обеспечения распределенных информационных систем.

2. Виды архитектуры распределенных информационных систем. Одно- и двухярусные системы.

3. Трехярусные и многоярусные архитектуры распределенных информационных систем.

4. Синхронное и асинхронное, блокирующее и неблокирующее взаимодействие в распределенных информационных системах.

5. Принципы реализации удаленного вызова процедур. Основные проблемы реализации.

1. Логические слои программного обеспечения распределенных информационных систем

информационная система архитектура блокирующий асинхронный

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

1) презентационный слой,

2) слой прикладной логики,

3) слой управления ресурсами.

Слои могут быть абстрактными, но могут быть четко видимы в программном обеспечении в виде отдельных подсистем.

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

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

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

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

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

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

Одноярусные архитектуры возникли под влиянием систем, включавших в себя большой вычислительный модуль и терминалы, отображавшие результаты работы. Все три слоя располагались на одном ярусе. Клиентом был терминал, имевший только клавиатуру для ввода команд оператора и экран. Если переносимость не является целью, системы создают на языках ассемблеров. В таких системах минимизированы расходы на переключение контекста, а также на преобразования данных. Недостаток одноярусных систем: монолитная структура, затрудняющая их сопровождение. Развитие программирования идет в сторону от одноярусных систем.

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

Многопользовательские однозвенные программы прекрасно справляются со своими функциями до тех пор, пока число пользователей не слишком велико. Проблема в том, что любые операции, связанные с базой данных, выполняются на каждом клиентском компьютере. Например, если программе потребуется список всех клиентов по фамилии Смит, вся информация (индексы и записи с данными), необходимая для удовлетворения этого запроса к базе данных, должна быть передана по сети. Некоторые сложные запросы сопряжены c обработкой значительных объемов данных, возможно даже всей базы целиком. На техническом уровне достаточно сложно реализовать управление независимыми процессорами баз данных с целью исключить конфликты при одновременном обращении двух клиентов к одной и той же записи или их попытках изменить ее. Это называется проблемой блокировки записей.

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

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

Двухзвенные приложения программировать немного сложнее, чем однозвенные, правда, интегрированные среды большинства инструментальных пакетов оснащены множеством функций, облегчающих решение этой задачи. Подобные инструменты настолько совершенны, что разница во времени, необходимом для разработки двух- и однозвенных программ, почти неощутима. Единственный негативный момент -- стоимость такого решения. Как правило, инструментальные пакеты содержат процессоры баз данных, вполне подходящие для однозвенных схем (такие, как процессор Jet в Access и Visual Basic), тогда как для двухзвенных программ требуются отдельные СУБД, например Oracle, IBM DB2, Sybase или Microsoft SQL Server.

Двухъярусные архитектуры появились после возникновения ПЭВМ, на которых можно не только отображать информацию, но и обрабатывать ее, снимая часть нагрузки с других слоев. Презентационные модули стали независимыми, такая архитектура называются архитектурой "клиент/сервер".

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

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

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

Другие файлы:

Информационные технологии
Анализ технического обеспечения информационных систем (микропроцессоры). Программное обеспечение информационных систем. Классификация программного обе...

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

Системы распределенной обработки информации
Требования, предъявляемые к свойствам систем распределенной обработки информации. Логические слои прикладного программного обеспечения вычислительных...

Инженерия программного обеспечения
Данная книга является прекрасным введением в инженерию программного обеспечения. Здесь дана широкая панорама тем инженерии ПО, охватывающих все этапы...

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