Научная статья на тему 'Размещение сайта в матричной универсальной объектно-реляционной базе данных'

Размещение сайта в матричной универсальной объектно-реляционной базе данных Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Размещение сайта в матричной универсальной объектно-реляционной базе данных»

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

В настоящее время в сервисе возможна генерация только текстового и html-представления документов, но разрабатываются агенты для формирования документов в других форматах, таких как doсх и pdf. На рисунке 3 представлен пример вызова агента, который реализован в модели. Он производит многоуровневый запрос к базе знаний, получая набор отношений, в которых участвует выбранное понятие, и формирует их визуальное представление в виде таблицы связей.

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

Литература

1. Грегер С.Э. Сервер приложений «Zope». Учебное пособие для вузов М.:Горячая линия - Телеком, 2009.-256 с.:ил.

2. Грегер С.Э. Администрирование и интерфейс пользователя CMS Plone (монография). Федер. Агентство по образованию, ГОУ ВПО "УГТУ-УПИ им.первого Президента России Б.Н.Ельцина". Нижнетагил. технол. ин-т (фил.). -Нижний Тагил: НТИ(ф) УГТУ-УПИ, 2009. -140с.

3. Грегер С.Э., Сковородин Е.Ю. Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. С. 74-78.

4. Грегер С.Э, Поршнев С.В. "Совместное использование онтологической модели и объектной моделей при проектировании и реализации информационных WEB-систем", «Естественные и технические науки».№6, 2011г. с 461-468.

УДК 004.4'236

РАЗМЕЩЕНИЕ САЙТА В МАТРИЧНОЙ УНИВЕРСАЛЬНОЙ ОБЪЕКТНОРЕЛЯЦИОННОЙ БАЗЕ ДАННЫХ

Микляев Иван Александрович, к.ф.-м. н., доцент, Институт судостроения и морской арктической техники (Севмашвтуз) Северного (Арктического) федерального университета имени М. В. Ломоносова, Россия, Северодвинск, ivanmia1@rambler.ru Жирнова Марина Анатольевна, студентка, Институт судостроения и морской арктической техники (Севмашвтуз) Северного (Арктического) федерального университета имени М. В. Ломоносова, Россия, Северодвинск, admin@,webprogrammist.su

Введение

Страницы сайта представляют собой документ HTML, состоящий из набора элементов. Элементы могут быть как пустыми, так и содержать другие элементы или текст. Таким образом, создаются вложенные множества, для хранения которых применяется древовидная структура со связями «родитель-ребенок».

Древовидное устройство Матричной Универсальной Объектно-Реляционной Базы Данных (МУОРБД) идеально подходит для хранения страницы сайта, написанной на HTML, где элемент страницы представлен как объект, обладающий признаками и содержащий связи «родитель-ребенок». Требуется лишь приписать цельные блоки текста к отдельным элементам в МУОРБД.

64

Классификация объектов сайта, свойств, методов (приписанных к событиям) и состояний объекта также содержится в иерархической структуре МУОРБД.

МУОРБД может быть развёрнута как самостоятельно [1], так и на любой реляционной платформе [2]. Первый МУОРБД-сайт размещён на платформе MySQL. Для исключения влияния прав доступа для различных хостингов, функционал доступа к данным МУОРБД из БД перенесён на PHP, что снимает какие-либо ограничения к версии MySQL.

Формирование древовидного представления информации, содержащейся в базе данных, позволяет проводить любые динамические изменения и расширения структуры прямо на странице сайта либо в специализированном разделе, названном «Конструктор», либо через средства доступа к БД (например, PHPMyAdmin), либо непосредственно на странице МУОРБД-сайта с помощью встроенного интерактивного механизма конструирования страниц сайта (ВОИМКСС)[3].

1. Библиотека элементов и размещение МУОРБД-сайта

Для размещения библиотеки элементов сайта в МУОРБД выделена сущность «Элемент сайт». Что даёт возможность как пополнять пользователю самостоятельно им используемые элементы, входящие в протокол HTTP, и устанавливать связи между ними для оптимизации работы, так и создавать свой тип элементов, обработку которых передавать в серверные приложения. Например, на PHP реализовано развёртывание и доступ к информационному четырёхмерному пространству МУОРБД, также реализована работа с файлами на хостинге и

оперирование оперативными данными сессии и т.п.

Уже используемые типы элементов сайта представлены на рисунке 1 в форме редактирования информации МУОРБД. В таблице 1 описана реализация элементов в МУОРБД.

Рис. 1 - Возможные типы элемента сайта в МУОРБД

Особое внимание нужно обратить на тип элемента сайта «Модуль». Элемент такого типа формируется в специализированном серверном приложении, или вообще запускает его для выполнения установленных действий на web-сервере при построении определённой части МУОРБД-страницы, которая содержит этот элемент.

На рисунке 2 приведён пример описания стандартного элемента web-страницы div. Наименование может быть любым и на любом языке, в виде, наиболее передающем смысл элемента. Тип элемента сайта указывает способ обработки и отображения элемента инструментом развёртывания МУОРБД-сайта по НТТР-протоколу. Обозначение вводится строго по правилам отображения элемента в HTML-странице. Остальная информация добавляется по мере необходимости для дополнительного инструментария разработчика web-сайтов.

65

В МУОРБД реализованы различные роли пользователей за счет организации управления информацией, содержание которой соответствует различной специализации пользователя. Администратор сайта пополняет библиотеки элементов сайта и атрибутов, а также вносит информацию, соответствующую предметной области сайта. Верстальщик и дизайнер организовывают внесение информации об элементах на сайте и их атрибутах.

Таблица 1. Реализация элементов сайта в МУОРБД

Тип элемента Описание элемента Пример в документе HTML

Тег Элемент разметки документа HTML, представляющий некоторый объект на сайте. <div ...>...</div>

Атрибут Элемент разметки документа, дополнительно характеризующий объект на сайте. href="index.php?NumberSitePage=3&amp;For mQA=true"

Параметр Элемент сайта, применяющийся для того, чтобы детализировать атрибут. position: absolute;left: 769px;text-decoration: none;

Событие Элемент сайта, хранящий в себе программную реакцию на сигнал браузера о произошедшем событии. Привязывается к конкретному объекту. onmouseout="if (document.getElementById('con_gif2').style.dis play=='block'){document.getElementById('con_ gif2').style.display='none'; ";

Состояни е Элемент сайта, устанавливающий состояние объекта. Размещается самостоятельно внутри описания тега. checked

Добавить экземпляр (строку) |

№ Наименование Тип элемента сайта Обозначение

1 Клок Тег div

-> Наименование страницы Тег title

3 Заголовок на странице Тег 111

4 Ссылка Тег а

5 Адрес с сылки Атрибут href

6 Место открытия Атрибут target

7 Таблица Тег table

S Строка таблицы Тег tr

9 Ячейка таблицы Тег td

10 Данные МУОРБД Модуль

11 Данные БД Модуль

12 Сущность МУОРБД Атрибут

13 Запрос БД Атрибут

14 Данные по экземпляру сущности Атрибут

15 Поле Атрибут

16 Рамка (атрибут) Атрибут border

li 7 31ТЛ ’T/VCrM-' Г’ТП’тЯгГЯ il’T'&T" На 1

| Добавить единицу информации | Зафиксировать элемент информации |K.|k_egr_k_usg~rj О копировать

ши аш1енованид||Блок|[|

[2| [^[Обозначение] [div | [|

ЕЭТекет1______________________

элемента сайта||Тег|[||

№ анелн компонентов[р1[Ц

|б|^1|Доступно& действие при редактнровашш||Движ&нне|[|

|7| l [Доступное действие при редактироващш|Изменение размеров |

fs][ll|Доступное действие при редактнрованинЦРедактнрованне текст >1111

Рис. 2 - Информация о элементе сайта «DIV» представлена в древовидной структуре МУОРБД на

специализированной странице «Конструктор»

66

МУОРБД_____________ _________________________________________________

| 5 Страница сайта т| Обновить | Удалить штампы I Загрузить файл!

Конструктор

| Добавить единицу информации | Зафиксировать элемент информации | к|к_вдг_к_ивдг|: О копировать

l||l |Шименовгпше||Агнн |

|+l|2l|T| Элемент сайта [Область общего описания страянцы7ТегЛЪеа<У/| |

Р||Т|[Т1|Элемент с анта |Б лок7Т е r'-'di v.7 I (I

pp| Элемент сайта Идентификатор.'/Атрибут |+1[з] Элемент сайга Сти]щ7Атрн6>т7ь1^4е.;7| | Щ§>

|—18| Элемент сайта Изображенне//Тег//иаg.V|

|-| 9| Элемент сайга Изображенне,\'Тег;/ш1§-7|

|^||35||Элемент сайга j [Авдап-. Тег-Vp/.'j || Д | И f7j|

|3 7 ||Текс7| [Разработка и производство сварочного ннструмента||

[Элемент сайта||Сгнль;1/Атрн5утл'йГ^,1д71Ц|

|+| ЗбЦЭлемент сайга||Абзац.7Тег//р//[|

— | 58||Элемент сайга||Абзащ\(ТегА;р//1

[+198||Элемент сайга|[Высота/'Параметр+,11е1гЬ+,/| |

|—1106 |Элемент сайта| Иза6раженн&,'.’Тег//шщ.,'41|

|+1124ЦЭлемент сайга||Абзац//Тег.-'/р'7|

— 1137 ЦЭлемент сайта|[А6зац.7Тег//рА;

Рис. 3 - Хранение страницы МУОРБД-сайта

2. Развёртывание и редактирование МУОРБД-сайта

Началом работы с сайтом является отправка браузером запроса на сервер к файлу index.php, с передачей в качестве параметра номера запрашиваемой страницы МУОРБД-сайта или без таковой, в этом случае открывается первая страница сайта.

В том случае, если в текущей сессии впервые происходит запрос страницы МУОРБД-сайта, то в index.php происходит выгрузка МУОРБД в сессию. Развёрнутая МУОРБД представляет собой четырехмерный массив, в котором размещаются все связанные с запрашиваемым сайтом данные, требующиеся при дальнейшей работе с ним.

Четырёхмерный массив МУОРБД состоит из следующих частей:

а) словарь данных МУОРБД - служебная информация, составляющая основу МУОРБД.

Состоит из:

1) сущность сущностей МУОРБД - коллекция описаний сущностей, имеющихся в МУОРБД;

2) служебные параметры МУОРБД - набор заданных разработчиком параметров, определяющих правила функционирования МУОРБД;

3) Параметры пользователя МУОРБД - набор параметров, задаваемых пользователем конкретного экземпляра МУОРБД, который определяет правила функционирования МУОРБД исходя из условий решаемой с её помощью задачи в данном конкретном случае.

б) библиотека элементов - структурированная коллекция элементов и их описания, которые могут быть использованы для формирования страниц МУОРБД-сайта;

в) структура страниц сайта - иерархическая сборка страниц сайта из элементов сайта и

назначенных им значений;

г) пользовательская информация предметной области сайта.

То есть при дальнейшей работе с МУОРБД-сайтом все необходимые данные берутся из развёрнутой МУОРБД, находящейся в сессии в подготовленном виде для максимально быстрого формирования ответа сервера. Обращения к серверу баз данных максимально минимизированы. При большом объёме 4-й части загрузка производится частично, незагруженная информация передаётся сайту непосредственно из БД.

Формирование запрошенной страницы сайта производится в скрипте index.php. Каждый элемент структуры формируется отдельно в подключаемом файле BuildElement.php, руководствуясь функциями, хранящимися в подключаемом файле FBuildElement.php. В

67

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

результате из массива развёрнутой МУОРБД формируется html-код, каскадная таблица стилей и JavaScript запрошенной страницы.

Рис. 4 - Схема функционирования МУОРБД-сайта с ВОИМКСС

68

Для формирования ранее не отображаемого на странице МУОРБД-сайта элемента используется встроенная JavaScript функция Showhint(). В случае возникновения в браузере определённого кодом страницы события происходит вызов функции Showhint(), которая отправляет запрос на сервер к файлу BuildElement.php, передавая в качестве параметра МУОРБД-адрес элемента, который необходимо сформировать. В файле BuildElement.php происходит подключение файла FBuildElement.php, в котором, согласно МУОРБД-адресу, из массива развёрнутой МУОРБД формируется html-код запрошенного элемента. Сформированный код возвращается на клиентскую машину в функцию Showhint(), которая добавляет его в определённое место кода страницы, вследствие чего происходит появление запрошенного элемента на странице МУОРБД-сайта.

Размещение структурной информации МУОРБД-сайта в базе данных позволило иметь полную адресность каждого элемента, вплоть до текста внутри тегов. Что даёт возможность обращаться к каждому элементу в отдельности, корректировать информацию о нём или создавать новую, вне зависимости от окружения и сохранять полученный вид в первоисточнике. На этом принципе создан ВОИМКСС [3].

Выводы

При использовании методики разработки сайта на основе МУОРБД разработчик, так же, как и в дальнейшем обладатель сайта, имеет возможность разрабатывать и редактировать как отдельные элементы сайта, так и весь сайт, имея лишь доступ к интернету и браузер.

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

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

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

Литература

1. Микляев И.А., Концепция разработки матричной универсальной базы данных с поддержкой древовидной структуры единицы информации и её универсального приложения // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии. 2010. № 2., Воронеж, С. 101-108

2. Микляев И.А. Р Матричная универсальная объектно-реляционная база данных на реляционной платформе: монография/ Сев.(Арктич.) федер. Ун-т им. М.В. Ломоносова. -Архангельск: ИД САФУ, 2014. - 226 с.

3. Микляев И.А., Юрецкий А. П. Функциональная схема встроенного объектноориентированного интерактивного механизма конструирования страниц сайта на основе матричной универсальной объектно-реляционной базы данных// Объектные системы — 2014: материалы VIII Международной научно-практической конференции (Ростов-на-Дону, 10-12 мая 2014 г.) / Под общ. ред. П.П. Олейника. — Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, 2014. — С. 26-32

69

УДК 004.042, 004.48, 004.272

СЕТЕВАЯ БАЗА ДАННЫХ, ПОСТРОЕННАЯ ПО ОБЪЕКТНО-АТРИБУТНОМУ

ПРИНЦИПУ1,2

Салибекян Сергей Михайлович, к.т.н., доцент, Московский институт электроники и математики Национального исследовательского университета «Высшая школа экономики», Москва,

ssalibekvan@hse.ru

Белоусов Алексей Юрьевич, студент, Московский государственный университет технологий и управления имени Г.К. Разумовского, Москва, 3ret@rambler.ru

Введение

Уже на протяжении 30 лет наибольшей популярностью пользуются реляционные базы данных (БД) [1]. Однако сейчас реляционная модель перестала удовлетворять потребностям времени: ограниченность в средствах описания онтологии не позволяет применять ее в интеллектуальных системах, трудности масштабирования затрудняют реализацию подобных СУБД на параллельных и распределенных вычислительных системах. В ответ на создавшийся кризис СУБД [2] было предложено множество путей выхода из него -объектно-ориентированный (ОО) подход к БД, древовидная БД, сетевая модель, движение NoSQL (Amazon, Google). Однако ни один из них, кроме ОО-модели, которой также присуща масса недостатков [3], не сумел составить достаточно серьезной конкуренции реляционной модели. В статье мы предложим свой способ построения БД, основанный на объектноатрибутном (ОА) подходе к организации вычислительного процесса и структур данных [4]. Для его иллюстрации покажем, каким образом можно реализовывать основные типы связей между сущностями ОО- и реляционной моделей БД, и приведем пример реализации небольшой БД.

1. Реализация основных типов сущностей и видов связей между сущностями в ОА-БД

Основой для проводимого анализа выберем UML-диаграмму [6], с помощью которой можно задать основные сущности ОО-модели: класс, атрибут класса, операции класса; а также следующие типы связей: зависимость, обобщение, множественное наследование, ассоциация, агрегация, композиция. Не следует забывать и о понятиях «кратность отношения» и «роль» (рис. 1). Теперь опишем методы реализации каждого типа отношений в ОА-БД. Мы будем применять ОА-язык - специализированный язык для описания ОА-графов [4].

Начнем с описания класса в ОА-БД. Итак, класс (шаблон, по которому создается объект) представляет собой набор полей и методов. В ОА-системе объект представляется в виде информационной капсулы (ИК); каждому полю объекта соответствует информационная пара (ИП), входящая в эту ИК. Имена атрибутов (индексу атрибута сопоставляется уникальная мнемоника) будут являться атрибутами ИП, в нагрузке ИП будет помещаться значение поля класса. Методы в объекте - это ссылка на подпрограмму. В ОА-системе программа представляет собой последовательность ИП (милликоманд). Эта

последовательность может передаваться на функциональные устройства (ФУ), которые под управлением потока милликоманд производят определенные вычисления, преобразование данных и ввод/вывод. Опишем на ОА-языке класс на рис. 1 а: Человек{Пол=М ДатаРожд=07.02.1970 ФамилияИмя=ИвановИван ВыдатьВозраст= ВыдатьВозрастПрог СохранитьТекущийДоход= СохранитьТекущДоходПрог ВыдатьОбщийДоход=

1 Исследование осуществлено в рамках Программы фундаментальных исследований НИУ ВШЭ в 2014 году

2 Статья рекомендована к опубликованию в журнале "Информационные технологии"

70

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