Естественнонаучные проблемы Арктического региона : шестая региональная научная студенческая конференция, Мурманск, 13-14 мая 2005г. : труды конференции. Мурманск, 2006.

гика на этом сервере реализована в виде набора компонент и через вызовы их методов клиентская программа получает необходимые пользователю данные. Сервер приложе­ ний обслуживает обращения, поступающие от клиента, осуществляет запросы к серве­ ру базы данных и обрабатывает их результаты. В отличие от обычных приложений архитектуры «клиент-сервер», в приложениях с трехзвенной архитектурой клиенты не имеют непосредственного доступа к критиче­ ским ресурсам. Вместо этого они посылают запросы к специально предназначенным бизнес-объектам. Такие объекты могут выполнять запрошенные клиентом бизнес- операции, и именно эти объекты, а не клиенты, имеют доступ к критическим ресурсам. Бизнес-объекты создаются так, чтобы способ использования ими критических ресурсов был заранее определен и предсказуем. Следовательно, приложение может контролиро­ вать эти ресурсы на протяжении всего времени функционирования, что обеспечивает стабильность его работы. До того как бизнес-объект начнет выполнять любую опера­ цию, он должен идентифицировать клиента, пославшего запрос, проверить синтаксис запроса и полученные данные. Кроме того, приложения должны быть масштабируемыми, то есть способными обслуживать большее число клиентов за счет добавления ресурсов без увеличения среднего времени выполнения запроса. Для этого приложение должно использовать критические ресурсы в течение как можно меньшего времени. Так, следует избегать вовлечения пользователя в транзакцию, удерживать ресурсы только тогда, когда они действительно нужны, и высвобождать их, как только представится возможность. Можно использовать и балансировку загрузки ресурсов, применяя сервисы очереди со­ общений для коммуникаций между бизнес-объектами. Тогда при увеличении числа клиентов и их запросов можно просто добавлять новые серверы. Если несколько одно­ типных серверов обрабатывают общую очередь запросов от разных клиентов, они ока­ зываются равномерно загруженными. Каждый из серверов получает для обработки за­ прос из очереди по мере выполнения предыдущего запроса. Также приложения должны уметь использовать ресурсы и данные независимо от операционной системы, установленной на компьютере. Модель реализуемой системы состоит из четырех блоков: клиентской исполнительной библиотеки и сетевой части, серверной исполнительной библиотеки и сетевой части (рис. 1). Клиентская исполнительная Клиентская сетевая библиотека часть Серверная сетевая Серверная исполнительная часть библиотека Клиент Сервер Рис. 1. Общая структура работы системы распределенных вычислений Сетевые Части являются средством для обмена сообщениями между сервером и клиентом. Исполнительные библиотеки содержат логику работы сервера и клиента. В модуле клиента описывается алгоритм решения конкретной подзадачи. В модуле сер­ вера реализована функция разбиения главной задачи на подзадачи, в серверной части - функция работы с клиентами и управления ими. По окончании вычислений серверная исполнительная часть должна получить решение общей задачи из решений промежу­ точных задач. Предлагаемая система может быть использована для решения различных задач. Необходимо лишь разработать модуль, в котором будет содержаться алгоритм решения поставленной задачи. Такой подход возможен благодаря тому, что в системе логика работы отдельной программы (клиентской и серверной исполнительных биб- 67

RkJQdWJsaXNoZXIy MTUzNzYz