Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД_лекции.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

2. Архитектуры распределенного приложения с базой данных. Функции клиента и сервера при различных вариантах расслоения. Типовые клиенты доступа к бд на основе различных технологий.

Интенсивный рост сетей Internet свидетельствует о большом спросе на WEB-разработки. Разнообразие форм и методов построения WEB проектов достигается большим количеством методов и способов или технологий, позволяющих реализовывать творческие работы и все более усложняемые, по объему решаемых задач замыслов разработчиков Web-проектов. Все эти проекты реализуются на базе огромного числа технологий. Вот небольшой список этих технологий: HTML, DHTML, XML, JavaScript, VBScript, CGI, ISAPI, ASP, ActiveX Data Objects-ADO, элементы управления ACTIVX, ActiveX Template Library, аплеты JAVA, PHP, PERL, приемы работы с базами данных, различные серверы баз данных.

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

Модель Клиент – Сервер

Предполагает двухуровневое сетевое соединение. Одно и тоже сетевое приложение при такой архитектуре соединения выполняется двумя сторонами клиентом и сервером по-разному.

Клиент запрашивает информацию или услугу, а сервер выдает её или отвечает на запрос. Поэтому каждое сетевое приложение состоит из двух частей клиента и сервера.

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

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

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

Двухуровневая модель клиент-серверной архитектуры представляет соединение представленное на рисунке .1.

Рисунок.1. Двухуровневая модель клиент - сервер.

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

Примером такой архитектуры может быть браузер, общающийся с WEB-сервером.

В случае использования баз данных двухуровневая структура примет вид, показанный на рисунке 2.

Рисунок 2 Двухуровневая архитектура клиент-сервер с источником данных.

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