Формы взаимодействия между компьютерами при удаленной обработке данных
Под удаленной обработкой данных понимают процессобработки данных, при котором ввод, вывод и обмен данными происходит через компьютерную сеть. При этом компьютеры могут находиться друг от друга на большом расстоянии. При использовании сети Интернет, например, оно может достигать тысяч километров.
При удаленной обработке данных можно выделить следующие формы взаимодействия между компьютерами:
терминал – удаленный процесс;
терминал – доступ к удаленному файлу;
терминал – доступ к удаленной базе данных;
терминал – терминал;
электронная почта.
Взаимодействие терминал - удаленный процесс предусматривает обращение с терминала одного компьютера к процессу обработки данных, происходящему на другом компьютере сети. При этом устанавливается логическая связь с процессом и проводится сеанс работы с ним. Результаты обработки данных получаются на компьютере, запустившем процесс.
При взаимодействии терминал - доступ к удаленному файлу можно открыть удаленный файл, находящийся на другом компьютере, модифицировать его или произвести транспортировку этого файла на любое устройство для дальнейшей работы с ним в локальном режиме.
Работа в режиме терминал - доступ к удаленной базе данных позволяет получить пользователю доступ к базе данных, хранящейся на другом компьютере. Работа с базой данных осуществляется в соответствии с правами доступа, которыми обладает данный пользователь компьютерной сети.
Взаимодействие терминал - терминал предусматривает обмен сообщениями между компьютерами сети в диалоговом режиме. Сообщения могут посылаться как отдельным компьютерам, так и группам компьютеров сети. Сообщения обычно представляют собой строку на экране терминала.
Форма взаимодействия электронная почта в последнее время является очень распространенной. Каждый абонент имеет на своем компьютере «почтовый ящик». Это специальный файл, в который записываются все поступающие в адрес абонента сообщения. Конечный пользователь может проверять свой «почтовый ящик», обрабатывать сообщения и передавать сообщения в адрес других абонентов компьютерной сети
Централизованная и децентрализованная обработка данных.
В компьютерной сети возможна централизованная и децентрализованная обработкаданных.
Децентрализованная обработка базируется на решении локальных задач и работе с локальными базами данных на рабочих местах пользователей.
При централизованной обработке функционально выделяются два основных компонента сети:
компьютер, хранящий некоторые ресурсы (например, файлы, базы данных);
компьютеры, имеющие удаленный доступ к этим ресурсам.
Виды серверов.
Компьютер, хранящий и поставляющий свои ресурсы другим компьютерам, называется сервером, а компьютеры, потребляющие ресурсы, называются рабочими станциями. Сервер компьютерной сети представляет собой компьютер, обладающий высоким быстродействием и большими объемами памяти. Рабочая станция предназначена для непосредственной работы пользователя и обладает ресурсами, соответствующими потребностям данного пользователя. Как правило, это персональный компьютер стандартной конфигурации.
Примерами серверов компьютерной сети могут служить:
файловый сервер, поддерживающий общее хранилище файлов для всех рабочих станций; сервер баз данных (SQL-сервер);
сервер телекоммуникаций, обеспечивающий услуги по связи данной локальной сети с внешним миром;
вычислительный сервер, дающий возможность производить вычисления, которые невозможно выполнить на рабочих станциях; Web-сервер – сервер, на котором размещаются Web-страницы; почтовый сервер (Mail-сервер) для организации «почтовых ящиков» абонентов сети.
В случае централизованной обработки данных файлы и базы данных являются доступными многим пользователям, и важной задачей является их корректное совместное использование.
Впервые работа с базой данных в многопользовательском режиме (с многопользовательской базой данных) была реализована в многотерминальных системах. Следующим шагом в развитии технологии работы с многопользовательской базой данных явились системы совместного использования файлов, в которых использовались сетевые версии настольных СУБД.
Архитектура файл-сервер.
При работе в архитектуре "файл/сервер" база данных и приложение для ее обработки расположены на файловом сервере сети. Многопользовательская работа с одной и той же базе данных возможна в том случае, когда каждый пользователь с рабочей станции (клиента) запускает приложение, расположенное на файловом сервере.
На рабочей станции запускается копия этого приложения, и по каждому запросу к базе данных таблицы полностью передаются по сети на рабочую станцию, независимо от того, сколько реально нужно данных для выполнения запроса
|
Каждый пользователь имеет на рабочей станции локальную копию данных, время от времени обновляемых из реальной базы данных, расположенной на сетевом сервере.
При этом изменения, которые каждый пользователь вносит в базу данных, могут быть до определенного момента неизвестны другим пользователям, что делает сложным систематическое обновления данных на рабочей станции из реальной базы данных. Важнейшей задачей является также блокирование записей, которые изменяются одним из пользователей, чтобы в это время другой пользователь не внес изменений в те же данные.
В архитектуре "файл/сервер" вся тяжесть выполнения запросов к базе данных и управления целостностью базы данных ложится на приложение пользователя. База данных на сервере в этом случае является пассивным источником данных. Секретность и конфиденциальность информации обеспечить также трудно.
В качестве приложений рабочих станций, как правило, используются вышеописанные настольные СУБД, такие как Dbase, Paradox, Microsoft Access 2000, FoxPro и другие.
Интернет- ссылки на наиболее популярные настольные СУБД представлены в таблице
СУБД | Производитель | Интернет- ссылка |
dBase | dBase, Inc | http://www.dbase.com |
Paradox | Corel | http://www.corel.co.uk/servlet |
Microsoft Access | Microsoft | http://www.microsoft.com |
Microsoft FoxPro | Microsoft | http://www.microsoft.com |
Следует отметить, что в настольных СУБД база данных является более логическим, чем физическим понятием. Под базой данных здесь понимается набор отдельных таблиц, существующих в едином каталоге на жестком диске.
Недостаточно развитый аппарат транзакций для настольных СУБД служит потенциальным источником ошибок как с точки зрения одновременного внесения изменений в одну и ту же запись, так и с точки зрения отката (отмены) транзакций.
Поскольку настольные СУБД не содержат специальных сервисов, управляющих данными, а используются для этой цели файловые сервисы операционной системы, то сервисы доступа к данным находятся в том же адресном пространстве компьютера, что и сервисы отображения данных. Это может приводить к разрушению таблиц, поэтому существуют специальные программы утилиты для "ремонта" испорченных файлов настольных СУБД.
К недостаткам архитектуры "файл/сервер" следует также отнести необходимость передачи по сети целиком всех таблиц, что, учитывая вышеописанные принципы передачи данных по сети, может привести к «заторам» трафика сети. Например, если в результате запроса необходимо получить всего 2 записи из таблицы объемом 10000 записей, то все 10000 записей будут скопированы с файл/сервера на рабочую станцию.
Недостатки настольных СУБД обычно проявляются не сразу, а лишь в процессе длительной эксплуатации. Когда объем хранимых данных и число пользователей становятся достаточно велики, то это приводит к снижению производительности приложений, использующих такие СУБД.
Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД.
59.Клиент-серверные системы и модели доступа к данным.
В отличие от архитектуры "файл-сервер" по запросу рабочей станции, которая называется теперь «клиент», таблицы полностью по сети не передаются. Клиент непосредственно по сети выбирает из таблицы только те данные, которые соответствуют критериям запроса на выборку
Такая архитектура называется "клиент/ сервер" (client server system).
Модель | Данные | Обработка | Представление |
Удаленный доступ к данным | Сервер | Клиент | Клиент |
Сервер баз данных | Сервер | Сервер | Клиент |
Распределенная функция | Сервер | Клиент/ Сервер | Клиент |
Распределенная база данных | Сервер/ Клиент | Клиент | Клиент |
Выборка и модификация данных в клиент/ серверных системах осуществляется с помощью непроцедурного языка SQL.
Поскольку в этом случае по сети на клиента и обратно передается не вся таблица, а только необходимые данные из нее, то в сети практически не возникает заторов. При обращении одновременно нескольких клиентов к одним и тем же данным современные клиент/серверные СУБД позволяют разделить их во времени (задержать вторую транзакцию до завершения выполнения первой).
В основе клиент – серверных технологий лежит известная идея распределения обязанностей, разделения труда. Конвейеры Форда сделали в свое время прорыв в автомобильной промышленности, показав наивысшую производительность труда из-за того, что весь процесс сборки был разбит на мелкие и максимально простые операции, и каждый рабочий специализировался на выполнении только одной операции, но эту операцию он выполнял максимально быстро и качественно. В случае клиент серверных технологий клиентское приложение выполняет операции обработки- данных, а сервер хранения, поставки, и модификации данных.
Преимуществом архитектуры «клиент-сервер» является возможность хранения на сервере бизнес-правил (например, правил ссылочной целостности или ограничений на значения данных), что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных. Программный код, реализующий указанные бизнес- правила, представляется в виде триггеров и хранимых процедур.
Триггером называется именованный набор команд SQL, хранящийся на сервере, который автоматически выполняется, когда происходит некоторое заданное событие. Например, триггер может выполняться при вставке, изменении или удалении строки в существующей таблице, при наступлении определенного момента времени и т.д.
Хранимой процедурой называется именованный набор команд SQL, который работает точно так же, как и триггер, с той разницей, что он обычно вызывается из программы клиента, а не выполняется автоматически, как реакция на заданное событие.
В настоящее время архитектура клиент/ сервер реализуется в виде либо двухзвенной, либо трехзвенной модели. В зависимости от используемой модели происходит разделение функций обработки данных между сервером и клиентом.
Двухзвенная модель представляет собой вышеописанную классическую структуру, состоящую из компьютера -сервера и компьютера клиента. Двухзвенная модель может быть реализована:
· модель удаленного доступа к данным
· модель сервера базы данных
· модель распределенной функции
В модели удаленного доступа к данным (Remote Data Access -RDA) программы, реализующие функции обработки информации и представления информации совмещены и выполняются на компьютере- клиенте («толстый клиент»). Основное достоинство RDA- модели состоит в большом количестве готовых СУБД (наиболее старая модель) и инструментальных средств, обеспечивающих быстрое создание программ клиентской части.
Недостатками RDA – модели являются, во-первых, довольно высокая загрузка трафика сети, поскольку все данные для обработки направляются на удаленный клиент, во- вторых, модель неудобна для модификации и сопровождения, поскольку все функции обработки и представления тесно взаимосвязаны. При незначительном изменении какой-нибудь функции требуется переделка клиентской части.
Сервер баз данных | Производитель | Интернет-ссылка |
Oracle | Oracle Corp | www.oracle.com |
Microsoft SQL Server | Microsoft | www.microsoft.com |
Informix | Informix | www.informix.com |
Adaptive Server Enteprise | Sybase | www.sybase.com |
DB2 Universal Database | IBM | www.ibm.com/db2 |
Модель сервера базы данных (DataBase Server- DBS) отличается от предыдущей модели тем, что функции компьютера- клиента ограничены функциями представления информации, в то время как функции обработки информации выполняются программами, находящимися на компьютере – сервере «тонкий клиент». Достоинствами модели DBS являются возможность хорошего централизованного администрирования, а также уменьшением трафика сети за счет того, что выполнение программ на компьютере -сервер требует значительно меньших затрат на пересылку данных по сети. К недостаткам модели DBS следует отнести сложность разработки хранимых процедур, так как хранимая процедура сильно зависит от конкретной СУБД, и плохо перемещаются на другие компьютеры- серверы.
В модели распределенной функции обработка данных разделена между компьютером – сервером и компьютером – клиентом. При этом общие функции обработки размещаются на сервере, а специфические функции обработки – на клиенте. Достоинствоммодели является то, что СУБД с распределенными функциями может использовать информацию с разнородных баз данных. К недостаткам можно отнести повышенную сложность разработки программных средств, учитывающих особенности сервера и клиента.
Модель распределенной базы данных использует мощный компьютер – клиента, при этом данные хранятся как на компьютере- сервере, так и на компьютере- клиенте. Достоинствомданной модели является гибкость создаваемой на ее основе информационной системы, позволяющей клиенту обрабатывать локальные и удаленные базы данных. Такая система обладает повышенной живучестью, так как разрыв соединения клиента и сервера не приводит к остановке системы в целом. К недостаткаммодели можно отнести большие высокую стоимость как компьютера – клиента, так и компьютера- сервера.
Распределение функций в вышеописанных моделях приведены в таблице.
Трехзвенная модель подразумевает наличие помимо сервера баз данных выделенного сервера приложений (AS-Application Server), содержащего основную часть программ обработки информации. При этом компьютер – клиент осуществляет выборку данных не непосредственно с компьютера- сервера, а через сервер приложений (Рис 26.).
Необходимость создания трехзвенной модели была вызвана попыткой разработчиков, оставаясь в рамках двухзвенной модели, наращивать возможности хранимых процедур в модели «сервер баз данных». Следствием этого стала утеря совместимости между серверами баз данных различных производителей.
На сервере приложений реализуется несколько функций обработки информации, каждая из которых оформлена как служба предоставления услуг всем требующим этого программ клиентов. Поступающие от клиентов к серверу запросы помещаются в очередь на сервере приложений, из которой выбираются в соответствии с некоторой дисциплиной, например, по приоритетам. Достоинством AS- модели является гибкость и универсальность вследствие разделения функций на три независимые составляющие. Недостаток модели- высокие затраты ресурсов компьютеров на обмен информацией между компонентами по сравнению с двухзвенными моделями.