Научная статья на тему 'ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ С ДВУХУРОВНЕВОЙ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРОЙ'

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ С ДВУХУРОВНЕВОЙ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРОЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
351
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛИЕНТ-СЕРВЕРНАЯ ТЕХНОЛОГИЯ / ДВУХУРОВНЕВАЯ АРХИТЕКТУРА / МОНИТОР ТРАНЗАКЦИИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мизанбаев А.Е.

В статье описывается технология разработки клиент серверных приложении с двухуровневой архитектурой; приведен общий принцип функционирования и оптимального управления его компонентами.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ С ДВУХУРОВНЕВОЙ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРОЙ»

УДК 004.4

А.Е. Мизанбаев

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ С ДВУХУРОВНЕВОЙ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРОЙ

В статье описывается технология разработки клиент серверных приложении с двухуровневой архитектурой; приведен общий принцип функционирования и оптимального управления его компонентами.

Ключевые слова: клиент-серверная технология, двухуровневая архитектура, монитор транзакции

Процесс разработки программного обеспечения - набор правил, согласно которой построена разработка программного обеспечения. Приложение можно назвать клиент серверным если оно включает в себя клиент-серверную архитектуру. Разработку клиент-серверного приложения необходимо начинать с выбора архитектуры клиент-сервера. Архитектура «клиент-сервер» характеризуется наличием по крайне мере двух взаимодействующих, самостоятельных процессов - клиента и сервера. Процессы, осуществляющие некоторую службу, например, службу базы данных или файловой системы, называются серверами, а процессы, запрашивающие службы у серверов посредством посылки запроса и последующего ожидания ответа от сервера, называются клиентами. Клиент не должен иметь непосредственных связей с базой данных для обеспечения безопасности данных и быть нагруженным основной логической составляющей приложения для возможного осуществления масштабируемости системы. Сервер работает по запросам клиентов и управляет обработкой этих запросов. После выполнения каждого запроса, вне зависимости от результата обработки, сервер отправляет ответ клиенту, пославшему этот запрос. Обычно клиент и сервер располагаются на разных вычислительных машинах, но могут выполняться также и на одной машин [1].

Рабочая станция Рабочая станция

(Клиент) (Клиент)

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

Любая архитектура клиент-сервера должна включать в себя три основных компонента:

- ввод и отображение данных (интерфейс с пользователем);

- прикладные функции, характерные для данной предметной области;

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

Компания Gartner Group, специализирующейся в области исследования информационных технологий, выводит следующие пять двухзвенных (two-tier, 2-tier) моделей взаимодействия клиента и

© Мизанбаев А.Е., 2019.

Научный руководитель: Атанов Сабыржан Кубейсинович - доктор технических наук, профессор, Евразийский национальный университет имени Л.Н. Гумилева.

ISSN 2223-4047

Вестник магистратуры. 2019. № 9-2 (96)

сервера (двухзвенными они называются потому, что три компонента приложения различным образом распределяются между двумя узлами) [2]. Плюсы двухуровневой архитектуры: -Есть возможность для масштабирования; -Относительная экономия на оборудовании;

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

Рис. 2. Модели взаимодействия двухзвенной (двухуровневой) архитектуры клиент-сервер

Минусы:

-Масштабируется только вертикально (увеличение производительности компонентов системы);

-Сложность интеграции новых возможностей (в зависимости от реализации трех компонентов между клиентом и сервером) [3].

Двухуровневая архитектура легко реализуема и не требует каких-либо финансовых вложений. Вся обработка происходит на сервере. Взаимодействие серверного интерфейса и клиентов в котором происходит через потокозащищённый HashMap.

Каждый пакет данных пересылающийся клиентом или сервером присваивается свой id. Это позволяет структурировать разного рода, типа информацию.

Алгоритм работы системы выглядит следующим образом:

1.Сервер подключается к порту на хосте и ждет соединения с клиентом;

2. Клиент создает сокет и пытается соединить его с портом на хосте;

3. Если создание сокета прошло успешно, то сервер переходит в режим ожидания команд от клиента;

4. Клиент формирует команду и передает ее серверу, переходит в режим ожидания ответа;

5. Сервер принимает команду, выполняет ее и пересылает ответ клиенту;

6. Клиент обрабатывает полученную информацию и выводит её пользователю.

7. Пока клиент или сервер не разорвет соединение смотреть пункт 4.

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

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

ее вызов соответствующему сервису (если тот не запущен, порождается необходимый процесс), после обработки запроса сервером приложений возвращает результаты клиенту. Для взаимодействия мониторов транзакций с серверами баз данных разработан протокол ХА [4].

Использование мониторов транзакций в больших системах дает следующие преимущества:

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

- Монитор транзакций в состоянии сам запускать и останавливать серверы приложений. В зависимости от загрузки сети и вычислительных ресурсов он может перенести или скопировать часть серверных процессов на другие узлы. Это обеспечивает достижение баланса загрузки.

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

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

Описанная модель клиентских и серверных процессов далеко не полностью охватывает всевозможные технические решения в области разработки приложении с двухуровневой архитектурой.

Библиографический список

1.Информационно-вычислительные сети: учебное пособие/ В. Е. Дементьев. — Ульяновск : УлГТУ, 2011. —

141с.

2.Компоненты сетевого приложения. Клиент-серверное взаимодействие и роли серверов. [Электронный ресурс]. Режим доступа: http://www.4stud.info/networking/lecture5.html (дата обращения: 21.06.2019).

3.Различные архитектурные решения, используемые при реализации многопользовательских СУБД. [Электронный ресурс]. Режим доступа:

https://www.intuit.ru/studies/courses/508/364/lecture/8643?page=1 (дата обращения: 21.06.2019).

4.Г.М.Лодыженский Системы баз данных. Коротко о главном. СУБД N 1, 2, 3, 4 1995.

5.Д.Васкевич Стратегии клиент/сервер. Диалектика, Киев, 1997.

МИЗАНБАЕВ АДИЛЕТ ЕРБОЛАТОВИЧ - магистрант, Костанайский государственный университет им. А. Байтурсынова, Казахстан.

i Надоели баннеры? Вы всегда можете отключить рекламу.