Традиционная двухуровневая архитектура «клиент/сервер»
Бизнес-приложения для интенсивной работы с данными состоят из 4 основных компонентов: базы данных, логики транзакций, логики приложения и интерфейса пользователя.
Для удовлетворения новых требований была разработана архитектура «клиент/сервер». Традиционная двухуровневая архитектура «клиент/сервер» предусматривает распределение основных решаемых задач между 2 уровнями. Клиент прежде всего отвечает за представление данных пользователю, а сервер – за предоставление сервисов данных этому клиенту. Сервисы предоставления управляют пользовательским интерфейсом и основной бизнес - логикой приложения. Сервисы данных обеспечивают ограниченную поддержку бизнес-логики приложения, обычно в виде правил проверки корректности ввода данных, а также реализуют доступ к запрашиваемым данным независимо от их расположения. Данные могут происходить от реляционных СУБД, объектно-ориентированных СУБД, традиционных СУБД или от устаревших спец. систем доступа к данным.
Первый уровень Клиент | Функции: § Интерфейс пользователя, § Основная логика обработки данных |
Второй уровень Серверы баз данных | Функции: § Контроль данных на серверной стороне § Доступ к базе данных |
Трехуровневая архитектура
Необходимость масштабируемости систем по мере развития предприятия стала непреодолимым барьером для традиционной двухуровневой архитектуры «клиент/сервер». Проблемы препятствующие достижению истинной масштабируемости:
При появлении новой архитектуры три уровня программного обеспечения могли функционировать на разных платформах:
уровень пользовательского интерфейса, который располагается на компьютере конечного пользователя (клиента)
уровень бизнес-логики и обработки данных. Этот промежуточный узел располагается на сервере и часто наз. сервером приложения.
СУБД, в которой хрантся данные, необходимые для функционирования промежуточного уровня. Этот уровень может выполняться на отдельном сервере базы данных.
Первый уровень Клиент | Функции: Интерфейс пользователя |
Второй уровень Сервер приложения | Функции: Основная логика приложения ; Логика обработки данных |
Третий уровень Сервер базы данных | Функции: Контроль данных; Доступ к базе данных |
Трехуровневая архитектура «клиент/сервер» имеет многие преимущества перед предыдущими моделями:
«Тонкий» клиент, для которого требуется менее дорогостоящее аппаратное обеспечение, Централизация бизнес-логики для многих конечных пользователей на сервере приложения и, как следствие, централизация сопровождения, Дополнительная модульность упрощает модификацию или замену программного обеспечения каждого уровня без оказания влияния на остальные уровни, Отделение основной бизнес-логики приложения от функий базы данных упрощает задачу равномерного распределения нагрузки.Схема взаимодействия с Web-сервером
В настоящее время наиболее перспективной является архитектура "клиент-сервер", основанная на Web-технологии.
Обмен информацией по Web-технологии не отличается от информационного обмена, реализуемого по принципу "клиент-сервер", когда программа-сервер осуществляет обработку запросов, поступающих от программы-клиента.

Рис. 1.9. Обобщенная схема взаимодействия Web-навигатора с сервером
В качестве программ-клиентов выступают программы Web-навигации, располагаемые на рабочих станциях сети, или служебные Web-приложения. Web-навигаторы используются для непосредственной визуализации и интерпретации Web-документов, хранящихся на сервере, а также для доступа к другим отдельным сервисам (рис. 1.9):
- сервису копирования файлов с сервера (РТР-сервису);
- сервису управления сервером (Telnet-сервису);
- сервису многоуровневых меню по доступу к компьютерным ресурсам (Gopher-сервису).
Доступ к другим отдельным сервисам возможен в связи с тем, что с самого начала программы навигации разрабатывались как мультипротокольные программы, обеспечивающие интерфейс доступа ко многим ресурсам сети.
К Web-навигаторам относятся такие известные продукты, как Netscape Navigator компании Netscape или Internet Explorer от Microsoft.
Служебные Web-приложения используются чаще всего для получения некоторых статистических данных о Web-сервере или индексирования содержащейся там информации с целью пополнения базы данных поисковых систем.
При использовании Web-технологии в качестве основной программы-сервера выступает Web-сервер, который запускается на компьютере-сервере и осуществляет обработку запросов, приходящих от Web-клиентов. Взаимодействие между Web-клиентом и Web-сервером осуществляется в соответствии с протоколом HTTP (HyperText Transfer Protocol — протокол передачи гипертекста). Будучи запущенным, Web-сервер контролирует логический порт, по умолчанию номер которого равен 80, и полагает, что любые сообщения, присланные к этому порту, предназначены для Web-сервера.
При получении запроса от Web-клиента Web-сервер устанавливает связь по протоколу TCP/IP и обменивается информацией в соответствии с протоколом HTTP. В случае запроса защищенной информации Web-сервер может потребовать от пользователя введения идентификатора и пароля. Защищенные Web-документы предоставляются только при наличии у пользователей соответствующих прав доступа.
Web-документы, получаемые навигатором от Web-сервера, представляют собой текстовые файлы, написанные на специальном языке, называемом языком HTML (HyperText Markup Language — гипертекстовый язык меток). Этот язык состоит из набора соглашений, в соответствии с которыми в текстовый файл помимо требуемого текста на любом языке мира вставляются метки, определяющие форматирование этого текста и его внешний вид в окне Web-навигатора, а также ссылки на любые объекты и отображаемые графические файлы. Кроме меток в Web-документ могут быть вставлены программы на языках JavaScript (Java Scripting) и VBScript (Visual Basic Scripting), интерпретируемые Web-навигатором при загрузке и просмотре Web-документа.
Для доступа к той информации, которая не может обрабатываться Web-сервером непосредственно, например для доступа к базам данных, используется система программных шлюзов. Программный шлюз, получив запрос от Web-сервера, обрабатывает его сам или выступает в качестве посредника между сервером Web и каким-либо другим сервером, например, сервером СУБД (рис. 1.9). Программные шлюзы разрабатываются в соответствии с определенными стандартами, определяющими способы вызова Web-сервером прикладных программ или функций динамических библиотек, а также способы обмена информацией с этими программными объектами. Одним из наиболее распространенных стандартов данного типа является интерфейс CGI (Common Gateway Interface — общий интерфейс шлюзов).
Обработка запроса от Web-клиента
Рассмотрим полную последовательность шагов, реализуемую Web-сервером при обработке запроса, поступившего от Web-клиента.
1. Web-навигатор или другой Web-клиент посылает Web-серверу запрос на получение от него какого-либо информационного ресурса. Запрос передается в формате HTTP, а адрес ресурса указывается в формате URL.
2. После получения запроса Web-сервер определяет наличие запрашиваемо-I го ресурса среди локальных ресурсов, т. е. среди ресурсов, которыми I данный сервер управляет.
3. Если запрашиваемый ресурс имеется в наличии, то Web-сервер проверяет права доступа к этому ресурсу и, если права не нарушены, то возвращает содержимое ресурса Web-клиенту.
4. Если запрос Web-клиента нарушает права доступа к ресурсу, то Web-сервер отклоняет запрос и возвращает соответствующее предупреждение клиенту.
5. В случае, если запрашиваемый ресурс не относится к локальным ресурсам Web-сервера, сервер определяет наличие в его файлах настройки информации о перемещении ресурса в сети. Если ресурс был размещен на сервере, но в данный момент перемещен в другое место, то сервер сообщает об этом клиенту (рис. 1.10).

Рис. 1.10. Схема перенаправления запроса.
6. Если Web-сервер поддерживает виртуальное дерево другого Web-сервера,
то запрос будет перенаправлен на нужный ресурс по аналогии с предыдущим шагом (рис. 1.10).
7. Если Web-сервер используется в качестве сервера-посредника (proxy-
сервера), то он выступает, с одной стороны, в качестве Web-сервера для
клиента, пославшего запрос, а с другой стороны — в качестве Web-
клиента, который посылает запрос к другому Web-серверу (рис. 1.11).
8. После возвращения информации клиенту сервер разрывает соединение с ним.

Рис. 1.11. Использование Web-сервера в качестве сервера-посредника
Web-сервер может использоваться для решения широкого круга задач. Наиболее типичными для современных серверов являются следующие функции:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


