Файл: Технология клиент-сервер.pdf

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

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

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

Добавлен: 24.05.2023

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

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

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

- менеджер авторизации, обеспечивающий аутентификацию пользователей и проверку их прав доступа;

- менеджер транзакций, управляющий распределенными операциями;

- менеджер ведения журнальных записей, контролирующий восстановление и откат транзакций;

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

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

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

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

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

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

Являясь по существу программной прослойкой между приложением и системой или системами СУБД, мониторы транзакций упрощают жизнь разработчикам банковских, бухгалтерских или складских СУБД. Изначально программист создает достаточно функциональную однопользовательскую программную версию, которая может работать как многопользовательская с условием, что параллельно будут решаться задачи производительности и логики. Мониторы транзакций позволяют вынести эти задачи на уровень администратора системы, при этом приложение должно быть модифицировано так, чтобы оно могло выдавать транзакции, написанные на языке монитора транзакций, а не обращаться прямо к базе данных посредством обычных механизмов (подобных различным формам встроенного SQL). Программисты прикладных систем являются также ответственными за составление файла описания, который отображает транзакции в определенные обращения к базе данных на родном языке обращений нижележащей СУБД (почти для всех СУБД под UNIX это SQL).


Основными характеристиками мониторов транзакций являются:

- гибкость доступа к данным;

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

- производительность.

Монитор транзакций представляет собой многопоточное приложение, одновременно открывая собственное соединение с СУБД и устраняя необходимость выполнения каждым прикладным процессом прямых запросов к СУБД. При этом число одновременно работающих пользователей СУБД существенно сокращается, что особенно важно для СУБД с реализацией «Один к одному» (рисунок 8).

В СУБД с реализацией «Один к одному» для каждого клиента на сервере используется отдельный процесс, даже если программа-клиент физически выполняется на отдельной системе. Таким образом, для работы каждого клиентского приложения используются два процесса - один на сервере и один на клиентской системе. Мониторы транзакций используются для того, чтобы существенно снизить дополнительные расходы на организацию управления таким большим количеством процессов. Обычно они предполагают наличие одного кластера из нескольких процессов (от одного до пяти), работающих на серверной системе. Эти процессы имеют внутреннюю многопотоковую организацию, что обеспечивает обслуживание запросов множества клиентов.

TP-мониторы позволяют также улучшить производительность за счет сокращения общего объема пересылки данных, пересылаемой между СУБД и прикладным процессом за счет определенной части каждой транзакции, состоящей из минимально требуемых данных. Это особенно важно для загруженной сети или сети с низкой полосой пропускания, а также в глобальной сети (например, Internet на спутниковых каналах связи).

Одним из современных мониторов транзакций является Microsoft Transaction Server (MTS). Microsoft Transaction Server обеспечивает поддержку транзакций, служб масштабирования, управления подключениями и администрирования, которые позволяют создавать и развертывать масштабируемые серверные приложения, делая при этом управление транзакциями прозрачным для разработчика компонентов.

Ни утилиты для серверов БД, ни распределенные СУБД, ни средства создания серверов приложений для новых версий пакетов разработки фронтальных систем, ни ПО передачи сообщений (ПО доставки сообщений в оговоренный интервал времени и частичной поддержки транзакций) не могут в полной мере заменить мониторы транзакций.


Рисунок 8 – Конфигурация СУБД с архитектурой «Клиент-сервер» для работы с мониторами обработки транзакций.

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

Технология "Клиент-сервер" применительно к Internet

С появлением глобальных сетей многоуровневая архитектура «Клиент – сервер» нашла свое применение в Internet. Другими словами, архитектура Internet не что иное, как архитектура «Клиент – сервер»: пользователь всегда работает с программой - клиентом (Internet Explorer или Netscape Navigator), которая обращается к web-серверам, обслуживающим одновременно десятки и сотни запросов от клиентов по всему миру.

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

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

Помимо клиентов-браузеров бывают и другие клиенты, например, клиенты электронной почты (Outlook Express, Netscape Messenger, The Bat, Pegasus Mail, Pine, Eudora и другие.), клиенты для приема и передачи файлов (ftp-клиенты), telnet-клиенты, которые необходимы для интерактивной работы на удаленном узле (простейший telnet-клиент - программа telnet.exe) и многие другие.

Программы-серверы также разнообразны: web – сервер, DNS – сервер, ftp-сервер (для передачи файлов), сервер приложений (для удаленной работы с приложениями), сервер электронной почты и другие.

Технология «Клиент – сервер» для Internet организована следующим образом (рисунок 9):

- клиент формирует и посылает запрос на сервер;

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


- сервер производит необходимые манипуляции с данными, формирует результат и передаёт его клиенту;

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

На сервере размещаются web-документы, которые визуализируются и интерпретируются программой навигации (например, web-браузер), функционирующей на рабочей станции.

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

Логически web-документ представляет собой гипертекстовый документ, объединяющий ссылками различные web-страницы. Web-страница может быть связана с компьютерными программами и содержать ссылки на другие объекты. В web-страница помимо текста может содержать мультимедийный объект (рисунок, звук, видео), программу, которая при переходе на нее по ссылке, будет передана с сервера на рабочую станцию для интерпретации или запуска на выполнение навигатором или любой другой сервис – электронную почту, копирование файлов с другого компьютера сети, поиск информации и так далее.

Цикл повторяется, пока пользователь не закончит работу с сервером.

Рисунок 9 - Технология «Клиент – сервер» для Internet

В сервисе WWW для передачи информации применяется протокол НТТР, при работе которого сервер не имеет никакой информации о состоянии браузера. При этом взаимодействовать с сервером возможно только через механизм URL, это создает некоторые трудности при реализации клиентской части. Схема передачи информации по протоколу НТТР состоит из следующих этапов (рисунок 10):

- браузер преобразует доменное имя из URL в IP-адрес и устанавливает соединение с сервером;

- браузер передает остальную часть URL на сервер;

- сервер определяет по URL путь и имя файла, при необходимости формирует его динамически;

- сервер пересылает файл браузеру;

- сервер разрывает соединение;

- браузер отображает документ.

Существует множество технологий и языков программирования для написания серверных и клиентских Internet – приложений. В настоящее время большое распространение получила технология Java, с помощью которой можно строить универсальные системы со смешанной архитектурой, приложения, выполняемые на стороне клиента, называются апплетами (applets), на стороне сервера - сервлетами (servlets). Достаточно большой популярностью пользуется Flash-технология, в рамках которой можно создавать медиа-насыщенные интерактивные ресурсы, основная рабочая нагрузка при этом ложится на компьютер пользователя.


Рисунок 10. - Схема работы по HTTP в архитектуре «Клиент-сервер» для Internet

С помощью CGI (Common Gateway Interface) приложений возможно взаимодействие с любыми базами данных через формирование SQL запросов, или другие механизмы; также возможна реализация счетчиков посещений, гостевых книг и других расширений. CGI реализуется через скрипты на любом из языков программирования высокого уровня (наиболее часто используют С++, Perl, VisualBasic, Pascal, Java).

Server Sides Includes (SSI/SSI+) - технология динамического формирования документов (в том числе и работы с БД). Скрипт (точнее серверные инструкции) находится в HTML файле обычно имеющем расширение sht или shtm, при этом серверные инструкции размещаются между специальными разделителями (tokens), а сами инструкции записаны на языке Сscript, хотя это в большей степени зависит собственно от сервера. При пересылке такой файл сканируется сервером на наличие SSI инструкций и результат динамически подставляется в посылаемый документ. SSI реализуется через специальные компоненты (динамические библиотеки), которые входят в состав сервера. По аналогичному принципу организована работа со скриптами на языке PHP, в этом случае, программные конструкции включаются в HTML с помощью разделителей <? php и ?>.

Схожей по технике формирования динамических страниц является технология Active Server Pages (ASP) от Microsoft. Данная технология опирается на использование разнообразных объектов и компонент (COM, ActiveX и тому подобное), работа с которыми ведётся средствами языков VBScript или JavaScript.

Internet Server Application Programming Interface (ISAPI), реализуется через механизм DLL. C помощью ISAPI Internet connector возможно взаимодействие с базами данных (SQL Server, Oracle, RBase, Access, Paradox, dBASE) через драйверы Open Database Connectivity (ODBC), также возможна реализация других расширенных функций (создание различных фильтров запросов). Основным средством разработки приложений является Microsoft Visual C++ (The Internet Server API Extension Wizard). Данный механизм поддерживается Microsoft Internet Information Server (MS IIS).

Также нашли свое применение JavaScript, VBScript, SGML, HTML, XML и другие языки, ориентированные на описание структур документов.

    1. Технология «Клиент-сервер» применительно к Intranet

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

Intranet - частная компьютерная сеть, являющаяся внутренней web-системой, локализованной в пределах одной организации, в которой используются стандарты и протоколы Internet (сервисы Web, TCP/IP, http, протоколы связи и HTML – страницы). Другими словами, Intranet – это частная, защищенная внутрикорпоративная сеть, при построении которой используются технологии Internet, доступная только сотрудникам организации, причем независимо от их физического местонахождения, ведь для доступа в Intranet сети используется Internet как транспорт