Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений
<
Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений
>

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Олейник Павел Петрович. Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений : диссертация ... кандидата технических наук : 05.13.11 / Олейник Павел Петрович; [Место защиты: Юж. федер. ун-т].- Ростов-на-Дону, 2007.- 218 с.: ил. РГБ ОД, 61 07-5/4024

Введение к работе

Актуальность темы.

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

ориентированные языки программирования (ООЯП).

Учитывая различие в назначении реляционных баз данных (РБД) и ООЯП, возникает так называемое объектно-реляционное несоответствие (ОРН). Данный термин был введен С. Амблером1 для описания проблем, возникающих при построении корпоративных информационных систем (КИС). Один из известных подходов, позволяющих частично исключить последствия ОРН, получил название «методы объектно-реляционного отображения» (ОРО). Все методы отображения были условно поделены нами на две категории. К первой относятся методы, не имеющие таблиц в базе данных (БД), содержащих метаинформацию системы. Данные методы подробно описаны в работах С. Амблера1 и М. Флауера2.

Учитывая тенденцию добавления метаинформации в ООЯП, мы считаем, что более перспективными являются методы, поддерживающие метаинформацию в БД. Данный подход был использован в исследовании при проектировании объектного ядра в РСУБД. В настоящее время практически полностью отсутствуют работы, посвященные ОРО, поддерживающим метаинформацию. Из имеющихся работ можно выделить два цикла статей: первый принадлежит украинскому ученному В. Костра3, а второй - профессору США (и Канады) Над-карни4. Оба этих цикла посвящены применению разработанной ими модели для хранения данных в медицинских КИС. Модель получила название «Сущность-Атрибут-Значение (EAV)».

Проанализированные реализации инструментов ОРО, исполь-

1 Ambler S., Agile Database Techniques: Effective Strategies for the Agile Software Developer, John
Wiley & Sons, 2003,373р.

2 Флауер M„ Архитектура корпоративных программных приложений, Пер. с англ. - М.: Изда
тельский дом «Вильяме», 2004. - 544 с: ил. - Парал. тит. англ.

3 Костра В. В., Прокопчук Ю. А. Модели хранения первичных данных в медицинской информа
ционной системе // Вестник ХГТУ. 2003. №2(18). С. 254-259

4 Nadkami Р. М., Brandt С. A., Morse R., Matthews К., Sun К, Deshpande А. М., Gadagkar R., Cohen
D. В., Miller P. L., Metadata-driven creation of data marts from an EAV-modeled clinical research
database, International Journal of Medical Informatics 65, 2002,p.225-241

4 зующие РСУБД в качестве хранилища информации, были разделены на два класса. К первому нами отнесены инструменты, позволяющие организовать объектную систему на основе РСУБД. Здесь можно выделить два известных инструмента: 1) компоненты BOLD for Delphi5, 2) реализация технологии ECO6. К сожалению, в данных инструментах не задействованы многие широко используемые средства, имеющиеся в СУБД. При этом не предполагается использование таких элементов БД как представления, хранимые процедуры (ХП) и функции. При выборке данных происходит динамическая генерация запросов, что снижает производительность ИС.

Другой класс инструментов ОРО описывает взаимосвязь с таблицами БД на уровне объявления классов в КП, т.е. непосредственно с помощью внутренних средств языка программирования. Данный недостаток присущ рассмотренным системам Hibernate7 и EJB 3.08. При этом метаинформация об объектной системе недоступна в БД. Как следствие, часть общих процедур, манипулирующих метаинформаци-ей, невозможно перенести в среду БД.

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

Анализ существующих архитектур ИС показал, что доминирующей является трёхзвенная. В связи с этим подход, основанный на ПД, нельзя считать оптимальным, поскольку он связан с необходимостью реализовать механизм передачи объектов с сервера приложений (СП) на клиентское приложение (КП).

В литературе уделяется мало внимания проблеме реализации базовых классов предметной области. Наиболее полным руководством

5 Грибачев К. Г, Delphi и Model Driven Architecture. Разработка приложений баз данных. - СПб.:
«Питер», 2004. - 352с: ил.

6 Даниленко Е., Разработка приложений ЕСО в Borland C#BuiIder и Borland Delphi 8 for the Mi
crosoft .Net Framework,

7 Minter D., Linwood J., Pro Hibernate 3, Apress, 2005,264p.

8 Keith M., Schincariol M., Pro EJB 3. Java Persistence API, Apress, 2006,480p.

5 по данному вопросу можно считать монографию Р. Хотки9, в которой описывается применение обобщений языка С# на платформе .Net Framework 2.0. Однако описываемые реализации подходят лишь для их применения в клиент-серверных приложениях и поэтому они привязаны к графическому отображению. Кроме того, описанная иерархия классов не является последовательной. Так базовые классы системы спроектированы как параметрированные, а производные - созданы с подстановкой типов. При этом не решен вопрос как создать дочерний класс, унаследованный от последнего. В данной работе часть классов предметной области представляют собой коллекции объектов, параметрированные типом соответствующего класса-элемента. В диссертационном исследовании выделено две иерархии классов, представляющих объект как на СП, так и в КП, что позволяет на основе разработанной методики проектировать КИС на основе трёхзвенной архитектуры.

При проектировании ИС очень часто применяют плагиную архитектуру, суть которой заключается в возможности проектирования единого модуля загрузки плагинов, в которых реализована бизнес-логика приложения. Чаще всего плагины представляют собой скомпилированные dll-библиотеки и загрузка выполняется непосредственно при загрузке основного приложения10. Этот подход нельзя использовать для СП, так как он требуется физического перезапуска системы, что приводит к прерыванию выполнения клиентских запросов. В данной работе предложен альтернативный подход к реализации плагинов, которые в нашем случае представляют текстовые файлы с описанием классов на ООЯП. Этот подход требует наличия в системе (на СП) классов, позволяющих компилировать программный код в момент выполнения приложения.

Современные языки программирования, например, С#п и Java12 предоставляют данную возможность. Имеющиеся работы, описывающие возможность динамической компиляции кода не предполагают её использование при проектировании СП. Это связано с тем, что на момент компиляции и загрузки кода в память, требуется поступающие от клиентских приложений запросы ставить в очередь и начинать их вы-

9 Lhotka R., Expert С# 2005 Business Objects, Second Edition, Apress, 2006, 695p.

10 Osherove R, Creating a Plug-In Framework,

11 Poore E., C# Script for .NET 2.0, пгф://ссгіергоіес1.сот/с8пагр/С8паф8сгірі.а5р

12 Шидцт Г., Полный справочник по Java SE б, Пер. с англ. - М.: «Диалектика-Вильяме», 2007. -
1040с: ил. - Парал. тит. англ.

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

В современной литературе уделяется недостаточно внимания принципам разработки графических интерфейсов КП, особенно процессу наследования таких элементов как форма. В частности, в работах Дж. Рихтера13 и Э. Троелсена14, посвященных языку программирования С# 2.0 и новейшей среде разработки Microsoft Visual Studio 2005 указывается на возможные проблемы при использовании наследования форм. Ряд сторонних фирм-разработчиков компонентов предоставляют возможность наследования. Одной из таких фирм является Developer Express15, компоненты которой применялись при разработке графического интерфейса. Все выделенные классы, используемые в КП, подробно рассмотрены в диссертационной работе. Иерархия классов может быть реализована на любом ООЯП с соответствующей заменой необходимых базовых классов, предоставляемых системой.

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

Объектом исследования являются трёхзвенные приложения, разрабатываемые на ООЯП и манипулирующие данными, получаемыми из РСУБД.

Предметом исследования являются:

методика построения трёхзвенных приложений;

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

организация объектной системы на основе реляционной БД;

принципы построения графического интерфейса, отобра-

13 Рихтер Дж., CLR via С#. Программирование на платформе Microsoft .NET Framework 2.0 на

языке С#. Мастер-класс. I Пер. с англ. — М.: Издательство «Русская Редакция»; СПб.: Питер,

2007.—656стр.: ил.

" Троелсен Э., Язык программирования С# 2005 и платформа .Net 2.0.3-е издание.: Пер. с англ.

- М.: ООО "ИД. Вильяме", 2007. - 1168 с.: ил. - Парал. тит. анлг.

13 Сайт корпорации DevExpress

жающего данные.

Методика исследования. Метамодель объектной системы реализована в среде целевой СУБД Microsoft SQL Server 2005. Для реализации СП и клиентского приложения использован основной язык программирования платформы .Net Framework 2.0 С#

Цель и задачи работы.

Целью диссертационной работы является разработка методики
построения унифицированных трёхзвенных объектно-

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

Для достижения поставленной цели решаются следующие задачи:

разработка методики построения объектной оболочки на основе РСУБД;

создание единой архитектуры процедур выборки данных;

проектирование механизма унифицированной фильтрации данных;

реализация архитектуры СП, позволяющей динамически расширять ее функциональность без физического перезапуска системы;

разработка иерархии классов, позволяющей выполнять преобразования реляционного набора данных в объекты предметной области;

проектирование иерархии классов для объектов, отображаемых в клиентском приложении;

реализация механизма преобразования данных, получаемых с СП.

Научная новизна.

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

  2. Разработан метод ОРО, отличающийся от известных отсутствием недостатков, присущих методам ОРО с поддержкой метаин-формации (отсутствие строгой типизации значений атрибутов, сохранение всех значений атрибутов в единой таблице БД), применение которого позволяет поддерживать метаинформацию объектной системы и программно генерировать такие элементы информационной системы как представления, табличные функции (ТФ), хранимые процедуры (ХП) и т.п., что способствует автоматизации выполнения рутинных

8 операций и сокращению времени и затрат на разработку КИС.

  1. Разработана унифицированная архитектура хранимых процедур выборки данных, извлекающая информацию из объектной системы, реализованной в РБД, и основанная на метаинформации объектной системы, что выгодно отличает полученную реализацию от имеющихся аналогов за счёт упрощения процесса отладки, модификации и доработки программного кода.

  2. С целью формирования механизма фильтрации данных на клиентском приложении реализован алгоритм представления логических выражений с помощью языка XML, что позволяет унифицировать модель БД относительно единой структуры и, тем самым, даёт возможность применения метамодели в различных областях.

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

  4. Предложен механизм реализации плагинов в виде текстовых файлов на ООЯП, отличающийся от известных наличием возможности динамической компиляции кода, что позволяет сокращать цикл разработки и развёртывания нового функционала на СП за счёт переноса части операций (компиляции кода, загрузки dll-библиотек в память), непосредственно на СП и, тем самым, уменьшать время и затраты на разработку программного продукта.

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

  6. Разработаны и реализованы иерархии классов на ООЖІ:

отличающаяся от известных наличием возможности применять классы не только в клиент-серверных, но и в трёхзвенных приложениях и позволяющая выполнять преобразование данных из реляционных кортежей в объекты предметной области;

позволяющая представлять данные в КП и отличающаяся от известных тем, что классы не содержат в своём составе методов, необходимых для извлечения данных из БД, что решает важную проблему разработки ПО, заключающуюся в зависимости между собой отдельных элементов кода;

предназначенных для создания графического пользовательского интерфейса. При этом использовалось наследование графиче-

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

Практическая ценность.

В работе рассмотрена реализация всех элементов трёхзвенной архитектуры. При проектировании СП и КП использован язык программирования С# 2.0. Для построения структуры БД применена СУБД Microsoft SQL Server 2005. Разработанная методика может быть применена к другим ООЯП, поддерживающим метаинформацию, например, к Java. Объектная метамодель системы может быть реализована в любой современной РСУБД, например, в Oracle и DB2.

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

Унифицированный механизм фильтрации данных может быть использован не только в среде РСУБД, но и в других видах СУБД.

Разработанный СП может быть использован в любой КИС, для которой критичен простой и требуется высокая производительность.

На основе и с использованием предложенной методики созданы три информационные системы:

  1. «ПайУголь» - программный комплекс, выполняющий учёт и распределение пайкового угля для жителей Ростовской области;

  2. «AxSilo» - программно-аппаратный комплекс автоматизированного приёма и учёта сельскохозяйственной продукции.

  3. «Фурнитура» - программный комплекс, учитывающий номенклатуру фурнитуры, используемой при пошиве джинсовой одежды.

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

10 ционные технологии» в Педагогическом институте ЮФУ.

Апробация результатов работы.

Результаты работы докладывались и обсуждались на следующих научных конференциях:

IV Всероссийская научно-практическая конференция студентов «Молодежь и современные информационные технологии» (Томск, ТПУ, 2006);

X Всероссийская научно-практическая конференция «Научное творчество молодёжи» (Анжеро-Судженск, 2006);

IV Международная научно-практическая конференция «Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем» - 2 доклада (Новочеркасск, ЮРГТУ, 2006);

I Международная научно-практическая конференция «Передовые научные разработки - 2006» (Днепропетровск, 2006);

VII Международная научно-практическая конференция «Компьютерные технологии в науке, производстве, социальных и экономических процессах» - 2 доклада (Новочеркасск, ООО НПО «Темп», 2006);

VII Международная научно-практическая конференция «Моделирование. Теория, методы и средства» (Новочеркасск, ЮРГТУ, 2007).

Публикации. Основные результаты диссертации опубликованы в 13 работах - научных журналах и сборниках конференций общим объемом 4,5 п.л., в том числе 5 статей объемом 2,7 п.л. в научных журналах, рекомендованных ВАК РФ для опубликования основных результатов докторских диссертаций. Имеется 1 свидетельство об официальной регистрации программы для ЭВМ.

Структура и объём диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка использованных источников из 114 элементов и 6 приложений. Основной текст диссертационной работы изложен на 218 машинописных страницах, включая 84 рисунка и 4 таблицы.

Похожие диссертации на Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений