Добавлен: 04.04.2023
Просмотров: 99
Скачиваний: 3
Одним из основных механизмов в организации обработки данных в СУБД, независимо от архитектуры, является механизм транзакций. [2, с. 311]
Архитектура «Клиент-сервер» в этом плане не является исключением. Транзакция — это последовательность операций над данными, которая выполняется, как целостный неделимый блок. Завершенной транзакция считается только в том случае, если все операции, которые в нее входят, выполнены успешно. Если возникает ошибка в какой-либо из операций, входящей в состав транзакции, последняя является незавершенной и происходит откат транзакции, т.е. возвращение данных к тому состоянию, в котором они находились до начала транзакции. В случае, когда все операции, которые входят в состав транзакции, успешно выполнены, происходит процесс фиксирования транзакции. [2, с. 316]
Механизм поддержки транзакций крайне важен. В качестве примера можно привести перечисление денег между счетами клиентов банка. В данном случае в транзакцию входит множество операций, начиная с перечисления денег и заканчивая их получением другим клиентом. При возникновении сбоя в какой-либо операции, составляющей транзакцию, процесс перечисления средств будет нарушен, и они останутся у отправителя. [11]
Транзакция является также способом координации последовательных изменений ресурса либо их совокупности. В большинстве случаев такая координация осуществляется централизованным механизмом - менеджером транзакций. Это программа или совокупность программ, с помощью которых согласовывается работа различных составляющих информационной системы. [5, с. 329]
Логически менеджер транзакций состоит из нескольких частей:
- коммуникационный менеджер, который обеспечивает контроль обмена сообщениями между составляющими информационной системы;
- менеджер авторизации, который выполняет функцию обеспечения аутентификации пользователей и проверки прав их доступа;
- менеджер транзакций, функцией которого является управление распределенными операциями;
- менеджер ведения журнальных записей, контролирующий восстановление и откат транзакций;
- менеджер блокировок, задачей которого является обеспечение правильного доступа к совместно используемым данным. [5, с. 336]
В большинстве случаев коммуникационный менеджер объединяется с авторизационным, а работа менеджера транзакций происходит совместно с работой менеджеров блокировок и системных записей. Первые менеджеры транзакций появились еще в начале 70-х гг. прошлого века в технологии «Файловый сервер». С появлением архитектуры «Клиент-сервер» в них произошли серьезные технологические изменения.
Если информационная система состоит из достаточно большого количества разнообразных информационных ресурсов и серверов приложений, требуется решить задачу оптимального управления всеми ее компонентами, для чего применяются мониторы обработки транзакций. [11]
Они представляют собой программные системы, которые эффективно управляют информационно-вычислительными ресурсами в распределенной системе. Это гибкая, открытая среда, в которой происходит разработка и управление мобильными приложениями, ориентированными на оперативную обработку распределенных транзакций. В основном мониторы транзакций характеризуются поддержкой функциональной полноты, масштабируемостью и целостностиью приложений, максимальной производительностью процесса обработки данных, невысокой стоимостью, поддержкой целостности данных в гетерогенной среде, позволяющей хранить данные в различных форматах. [12]
По сути своей, мониторы транзакций ― это программная прослойка между приложением и СУБД, поэтому их наличие упрощает процесс разработки банковских, бухгалтерских или складских СУБД. Вначале разработчиком создается достаточно функциональная однопользовательская программная версия, в которой параллельно решаются задачи производительности и логики. За счет использования мониторов транзакций эти задачи выносятся на уровень администратора системы, а приложение необходимо модифицировать таким образом, чтобы оно выдавать транзакции на языке монитора транзакций, вместо того, чтобы обращаться прямо к базе данных через обычные механизмы.
Основные характеристики мониторов транзакций:
- гибкость доступа к данным, т.к. их использование не несет практически никаких ограничений на многообразие или сложность запросов доступа к СУБД;
- производительность, что объясняется тем, что монитор транзакций является многопоточным приложением, которое одновременно открывает собственное соединение с СУБД и устраняет необходимость выполнять такое соединение прикладными процессами напрямую. [11]
За счет этого сокращается количество пользователей, формирующих запросы к СУБД в каждый момент времени, что особенно важно для СУБД с реализацией «Один к одному», где для каждого клиента на сервере формируется отдельный процесс (Приложение 3).
Таким образом, для работы каждого клиентского приложения выполняются процессы — по одному на сервере и клиентской системе. [9, с. 88]
Мониторы транзакций применяются для снижения дополнительных расходов на организацию управления большим количеством процессов. Обычно они предполагают наличие одного кластера из нескольких процессов (от одного до пяти), которые работают на серверной системе. Сами процессы располагают внутренней многопотоковой организацией, чем обеспечивается обслуживание запросов большого количества клиентов.
TP-мониторы позволяют также добиться лучшей производительности путем сокращения общего объема пересылки данных между СУБД и прикладным процессом. [7, с. 113]
Это достигается за счет некоторой части каждой транзакции, которая включает в себя минимально требуемые данные. Это особенно важно, когда сеть сильно загружена, или при низкой полосе пропускания, а также в глобальных сетях, к примеру, спутниковый Internet. [5, с. 122]
В качестве примера монитора транзакций можно привести Microsoft Transaction Server (MTS). Данная разработка поддерживает обработку транзакций, служб масштабирования, управления подключениями и администрирования, позволяющих создавать и развертывать масштабируемые серверные приложения. При этом управление транзакциями становится прозрачным для разработчика компонентов. [11]
Кроме всего перечисленного, современные мониторы транзакций позволяют разрабатывать функционально сложные, распределенные, разнородные и сохраняющие свою жизнеспособность в течение долгого времени приложения.
Выводы:
- Для организации сети по технологии «Клиент-сервер» необходимо использовать соответствующее ПО, в которое входит клиентская и серверная часть. На сервере происходит сортировка, извлечение запрошенной информации и ее направление в адрес пользователя, а также обновление, удаление, добавление, защиту информации, а также хранимые процедуры. На стороне клиента размешаются средства запросов и создания отчетов.
- Одним из основных механизмов в организации обработки данных в СУБД является механизм транзакций, т.е. последовательностей операций над данными, которые выполняются целостным неделимым блоком. Транзакции координируются централизованным менеджером транзакций.
- Для оптимального управления всеми компонентами системы применяются мониторы обработки транзакций.
Применение технологии «Клиент-сервер» в глобальной сети Internet и корпоративных сетях Intranet
По своей сути, архитектура Internet не что иное, как архитектура «Клиент-сервер», поскольку пользователь работает с браузером, который является программой - клиентом (Internet Explorer, Google Chrome и др.). Браузер обращается с запросом к web-серверам, обслуживающим одновременно десятки сотен и сотни запросов от клиентов со всего мира.
Компьютеры-серверы постоянно соединены с глобальной сетью и предоставляют пользователям различные сервисы (например, отправка почты, загрузка и скачивание файлов и т.д.). [4, с. 128]
Web-серверы защищены от сбоев электропитания и работают обычно под одной из модификаций ОС UNIX. Клиентами являются ПК с установленными на них браузерами, которые подключены к глобальной сети не постоянно, а лишь по мере необходимости.
В качестве примеров программ-серверов можно привести DNS-сервер (для ответов на DNS-запросы по соответствующему протоколу), ftp-сервер (для передачи файлов), сервер приложений (для удаленной работы с приложениями), сервер электронной почты и др. [10, с. 314].
Общая схема организации сети Internet с применением технологии «Клиент-сервер» приведена в Приложении 4.
Существует большое количество технологий и языков программирования для разработки Internet – приложений для серверной и клиентской части. В последние годы стала широко применяться технология Java, которая дает возможность создавать универсальные системы со смешанной архитектурой. Приложения, которые работают на клиентской стороне, называются апплетами (applets), на серверной ― сервлетами (servlets). [6, с. 191]
Достаточно большой популярностью также пользуется Flash-технология, с помощью которой создаются медиа-насыщенные интерактивные ресурсы, рабочая нагрузка в основном при этом ложится на ПК пользователя.
Все программы, которые передаются с сервера на клиентские ПК и запускаются на выполнение, должны отвечать одному важному требованию: они не должны иметь возможности использовать ресурсы компьютера, на котором они выполняются. Такое требование вполне обосновано тем, что Java-апплеты и JavaScript-сценарии передаются по сети и запускаются автоматически без участия пользователя, поэтому работа этих приложений должна быть абсолютно безопасной для ПК. Иначе говоря, языки, на которых создаются приложения, выполняющиеся на клиентах, должны быть непригодны для написания вирусного и шпионского ПО. [6, с. 214]
Технология «Клиент-сервер» для Internet организована следующим образом:
-
- клиентом формируются и посылаются запросы на сервер;
- на сервере производятся необходимые действия с данными, формируется результат и передаётся его клиенту;
- полученный клиентом результат отображается на его устройстве вывода и ждет дальнейших действий пользователя. [4, с. 200]
Цикл повторяется до тех пор, пока пользователь не закончит работу с сервером.
В сервисе WWW передача информации происходит посредством протокола НТТР, при этом взаимодействие с сервером происходит через механизм URL [10, с. 351].
Схема передачи информации по протоколу НТТР включает в себя следующие этапы (Приложение 4):
- браузер преобразует доменное имя из URL в IP-адрес и устанавливает соединение с сервером, затем передает оставшуюся часть URL на сервер;
- сервер определяет путь и имя файла по URL, при необходимости динамически его формирует его динамически, затем пересылает файл браузеру и разрывает соединение;
- браузер отображает документ.
Для получения информации из любых баз данных в сети Internet служит интерфейс CGI (Common Gateway Interface), который позволяет формировать SQL-запросы. Также можно реализовать счетчики посещений, гостевые книги и т.п. [10, с. 360]
Для реализации CGI используются скрипты на языках программирования высокого уровня (С++, Perl, VisualBasic, Pascal, Java и др.). В последнее время также широко используется интерфейс создания веб-приложений Internet Server Application Programming Interface (ISAPI). Он дает возможность разработчикам создавать веб-приложения, способные работать с большей скоростью, чем программы CGI, т.к. они обладают более тесной интеграцией с веб-серверами. При помощи ISAPI Internet connector происходит взаимодействие с базами данных (SQL Server, Oracle, Access, и др.) посредством драйверов Open Database Connectivity (ODBC). [4, с. 183]
Также в клиент-серверной технологии сети Internet используется технология Server Sides Includes (SSI/SSI+), которая служит для динамического формирования документов, в том числе и для работы с БД. Скрипт содержится в HTML-файле, который при пересылке сканируется сервером на наличие SSI-инструкций и результат динамически подставляется в посылаемый документ. [6, с. 245]
SSI реализуется через входящие в состав браузера динамические библиотеки. Аналогичен принцип работы со скриптами на языке PHP.
Схожа по технике формирования динамических страниц технология Active Server Pages (ASP) от компании Microsoft, основой которой является использование объектов и компонент COM, ActiveX и т.п. Работа с перечисленными компонентами осуществляется средствами языков VBScript или JavaScript.
С целью реализации всех достоинств глобальной сети, но в пределах сети организации и с обеспечением секретности внутренней информации компании, была разработана концепция сети Intranet — частная компьютерная сеть, которая является внутренней web-системой в пределах одной организации. В Intranet используются те же стандарты и протоколы, что и в глобальной сети Internet. Схема реализации сети Intranet, основанная на архитектуре «Клиент-сервер» представлена в Приложении 5.
Клиент и сервер взаимодействуют обычно по локальной сети, где есть выход в Internet через брандмауэр (firewall) ― ПК с установленным на нем специальном ПО. Это дает возможность идентифицировать любого входящего извне пользователя и запретить или разрешить ему доступ; провести аудит и протоколирование вхождений, криптографическое шифрование секретной информации и экранирование, т.е. одностороннюю передачу данных. [4, с. 204]
Основные функции Intranet включают в себя корпоративную электронную почту, совместное использование файлов, каталогизацию, кроссплатформенную совместимость, поиск и управление сетью. Эти функции дают возможность компании сформировать единое информационное пространство, внутри которого пользователи могут находиться не только на разных этажах здания, но и в различных регионах и даже странах.