2.2 Описание применяемых алгоритмов
На рисунке 2.5 показан алгоритм взаимодействия браузера и веб-сервера.
Рисунок 2.5 – Алгоритм выбора отдаваемого ресурса
Браузер отправляет на сервер запрос с указанием требуемого ресурса. Веб-сервер анализирует запрошенный URL [16] и принимает решение о выдаче статического содержимого, начальной разметки веб-приложения или результата запроса к обработчику сетевого интерфейса.
После инициализации веб-приложения, обмен данными между браузером пользователя и веб-сервером осуществляется при помощи асинхронных запросов [2]. На рисунке 2.6 показан пример частичного обновления интерфейса после ответа веб-сервера.
Рисунок 2.6 – Заполнение основного блока интерфейса новыми данными
Минимизация способов утечки пароля является очень важной частью обеспечения безопасности веб-сервера. Если передача данных между точками может осуществляться по защищенным протоколам, еще возможно получить пароль непосредственно из ОЗУ компьютера на котором запущен веб-сервер.
На рисунке 2.7 отображена блок-схема алгоритма авторизации в систему.
Рисунок 2.7 – Аутентификация на сервере IBM Domino
Прикладной интерфейс Domino Data Services не предоставляет название представления при запросе его схемы данных. Поэтому применяется алгоритм с временным хранением списка представлений (рисунок 2.8).
Рисунок 2.8 – Использование временного кэша представлений
В документах есть возможность хранить файлы. С целью оптимизации загрузки сети, используется алгоритм кэширования (рисунок 2.9).
Рисунок 2.9 – Алгоритм промежуточного кэширования файлов
При наличии файла в кэше веб-сервера, у которого дата добавления позже даты последнего изменения документа, повторная передача файла между IBM Domino и веб-сервером не производится.
2.3 Структура, архитектура программного продукта
Программный продукт будет состоять из двух частей: веб-сервера и веб-приложения. Веб-сервер осуществляет взаимодействие с различными серверами IBM Domino и взаимодействует с веб-приложением по сети.
При проектировании веб-сервера были выделены следующие программные модули (таблица 2.1):
Таблица 2.1 – Описание структуры веб-сервера
Название модуля
|
Назначение
|
Главный модуль
|
Точка входа в программу.
Инициализация остальных модулей.
|
Управление конфигурацией
|
Чтение конфигурационных файлов.
Хранение текущей конфигурации.
|
Транспортный модуль
|
Взаимодействие с серверами IBM Domino.
Оптимизация представления данных.
|
Модуль сетевого
взаимодействия
|
Обеспечение прикладного интерфейса для веб-приложения.
|
Отладочный модуль
|
Ведение расширенного лога приложения
|
Все модули образуют древовидный граф зависимостей, без циклов. Корнем дерева является главный модуль (рисунок 2.10).
Рисунок 2.10 – Граф зависимостей между модулями
Веб-приложение осуществляет отображение данных в браузере и взаимодействует с пользователем. Оно состоит из файла начальной разметки, каскадных таблиц стилей и файлов с исходным кодом компонентов на языке программирования JavaScript.
Начальная разметка отображает процесс загрузки и указывает браузеру какие ресурсы необходимо загрузить. После загрузки вызывается код инициализации приложения и выполняется построение нужного дерева компонентов.
Исходный код приложения основан на архитектуре Flux. Архитектура подразумевает однонаправленный поток данных, основанный на событиях и подписчиках, но, в отличие от архитектуры PubSub (рисунок 2.11), четко определены роли каждого объекта.
Рисунок 2.11 – Классическая модель писатель-подпиcчик (PubSub)
События генерируются в представлениях. Подписчиками на события являются хранилища. В хранилище содержатся данные и логика работы с ними. Оно не является моделью, а хранит в себе модели данных. Хранилища существуют в единственном экземпляре, и только они знают, как оперировать с данными в приложении. Представления только работают с имеющимися.
После того как данные в хранилище были изменены, оно генерирует событие change. На это событие могут быть подписаны как представления, так и другие хранилища, образуя цепочку.
|
|
Образовательное учреждение высшего профессионального образования...
Отзыв на реферат Малыгина Андрея Юрьевича по теме «System analysis and information technology for gait diagnostic»
|
|
Образования (ассоциация) «кисловодский гуманитарно-технический институт» Факультет
|
|
Гбоуво рк «крымский инженерно-педагогический университет» Факультет...
Программные средства разработки flash-приложения «анимация для школьников» 22
|
|
Ivdon ru / ru / magazine / archive / n 3 y 201 6 / 3689
Волгодонский инженерно-технический институт филиал Национального исследовательского ядерного университета
|
|
Техническое задание (новая редакция) на открытый запрос предложения...
«Газопровод от грс "Тихвин" до сетей газопотребления ООО "Трансмашэнерго" в Тихвинском районе Ленинградской области»
|
|
Программа итогового государственного экзамена по специальности 010300...
Московский физико-технический институт (государственный университет) Факультет проблем физики и энергетики
|
|
Фгбоу во «КубГУ» Физико-технический факультет Кафедра оптоэлектроники Допустить к защите в гэк
Целью работы является разработка векторного вольтметра, измеряющего комплексный коэффициент передачи по напряжению четырехполюсников...
|
|
Книга рассчитана на инженерно-технический персонал, занятый проектированием,...
Пуэ правила устройства электроустановок. Издание 7 (по состоянию на декабрь 2013 г.)
|
|
Паспорт Программы 7 1 Задачи совершенствования и развития коммунального...
Инженерно-технический анализ существующей организации систем теплоснабжения и выявление проблем функционирования 65
|
|
Инструкция по эксплуатации ыи 220. 002 Иэ
Инструкция содержит сведения, необходимые для эксплуатации устройства оконечного «Ответ». Инструкция рассчитана на инженерно-технический...
|
|
Фгбоу впо «Российский экономический университет имени Г. В. Плеханова»...
Инновации: перспективы, проблемы, достижения: материалы международной научно-практической конференции. 27 мая 2013 г./ под ред. А....
|
|
Фгбоу впо «Российский экономический университет имени Г. В. Плеханова»...
Инновации: перспективы, проблемы, достижения: материалы международной научно-практической конференции. 22 мая 2014 г./ под ред. А....
|
|
Общество с ограниченной ответственностью
Сведения об инженерном оборудовании, о сетях инженерно-технического обеспечения, перечень инженерно-технических мероприятий, содержание...
|
|
Проектная документация раздел 1 «Пояснительная записка»
«Сведения об инженерном оборудовании, о сетях инженерно-технического обеспечения, перечень инженерно-технических мероприятий, содержание...
|
|
Научно-исследовательская работа по нормативно-правовому обеспечению...
Соловьевка, Охотское, Подорожное; инженерно-геологические изыскания, инженерно-гидрометеорологические изыскания, инженерно-экологические...
|
|
О проведении запроса предложений в электронной
Поставку приборов и оборудования для производства инженерно- геодезических и инженерно-гидрометеорологических изысканий для нужд...
|