в библиотеку

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

Автор: Фрунт А. А.
Научный руководитель: Дорожко Л. И.
Источник Информатика и компьютерные технологии — 2009 / Материалы V международной научно-технической конференции студентов, аспирантов и молодых учёных. — Донецк, ДонНТУ — 2009. — 521 с.

Фрунт А.А., Дорожко Л.И. Использование управляемой моделями архитектуры для построения объектно-реляционных моделей.
В статье рассматривается вопрос использования управляемой моделями архитектуры для моделирования и автоматизированного создания компонентов программных систем, связанных с реляционными базами данных.


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

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

Принципы управляемой моделями архитектуры

Управляемая моделями архитектура (Model Driven Architecture, MDA) – это относительно новый подход к построению программного обеспечения, целью которого является не только повторное использование программных кодов конкретных реализаций, но и повторное использование идей, применяемых для решения эквивалентных задач при помощи различных инструментов программирования [1]. Поставленные цели достигаются за счет предрасположенности данной архитектуры к автоматическому созданию исходного материала, который обычно представляется в виде исходных кодов программ.

MDA не является строгой парадигмой или набором правил, это не более, чем шаблон проектирования (design pattern), который предполагает наличие следующих составляющих:

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

Одной из возможных и предпочтительных сфер применения MDA является автоматизированное построение отдельных слоёв корпоративных информационных систем (КИС). Данные программные продукты изобилуют однообразными компонентами, это не удивительно, ведь КИС, в большинстве своем, работают с базами данных (БД) и решают задачи, которые, подчас, отличаются лишь характерными особенностями бизнес-логики, но основываются на данных из реляционных БД.

Так, очень привлекательной и перспективной является сфера автоматизированного моделирования и построения предметной области (domain model), которая предусматривает создание сети взаимосвязанных объектов, каждый из которых представляет некую осмысленную сущность - либо такую крупную, как промышленная корпорация, либо настолько мелкую, как строка формы заказа [2].

Каждое понятие модели предметной области – это привычное явление, которое смоделировано и отображается в цифровом виде с помощью собственных характеристик и их текущего состояния, например, понятие «студент» обладает характеристиками имя, фамилия, дата рождения, курс обучения и др. То есть, это данные, которые обычно находятся под управлением той или иной реляционной СУБД (Oracle Database, PostgreSQL, MySQL, MS SQL Server и др.)

Объектно-реляционное отображение и моделирование характеристик

Моделированием характеристик называется деятельность по моделированию общих и переменных свойств понятий и их взаимозависимостей, а также их упорядочиванию в связную характеристическую модель [3]. В контексте использования реляционных БД, характеристиками понятий являются состояния относящихся к ним полей таблиц, связей, дочерних понятий.

Современным подходом к оперированию данными БД является объектно-реляционное преобразование (Object-Relational Mapping, ORM) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных» [2]. ORM преследует две основные цели: обеспечение простого перехода от реляционной модели данных к объектной, устранение зависимости от конкретной СУБД. На рис. 1 показано, как может быть организовано построение моделей MDA в контексте оперирования понятиями ORM.

Глядя на приведенный рисунок, можно заключить, что, имея достаточно полную CIM, можно построить PIM произвольной сложности, используя инструментарий, который предоставляет CIM.

Для описания создаваемых моделей PIM разработчик должен располагать необходимыми для этого инструментами. Наиболее часто, в этих целях используются предметно-ориентированные языки (domain-specific language, DSL). Это специализированные языки, направленные на решение определенных задач. Примером такого языка может служить SQL (Structured Query Language). Для описания характеристик можно создать простой в использовании язык описания, но для этих целей наиболее хорошо подходит XML (eXtensible Markup Language). Его достоинства заключаются в легкости зрительного восприятия и программной обработки, наличии встроенных средств для осуществления проверки корректности данных (Document Type Definition, DTD). Пример применения XML в качестве языка описания характеристик предметной области приведен на рис. 2.

Приведенный пример показывает, насколько просто описываются характеристики понятий в случае использования XML в качестве языка описания предметной области. Таким образом, единожды описанная, предметная область задачи может использоваться в различных проектах и на разных программных платформах. Например, используя данные описанной предметной области, можно автоматически создавать исходные коды программ для таких ORM-библиотек, как JPA (Java Persistence API), Hibernate, PHP Doctrine, .NET Linq и многих других.

Выводы

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

Наиболее важным путем развития такого подхода является моделирование и автоматическое создание компонентов поведения программы (бизнес-логики). Это позволит создать унифицированный подход к разработке КИС, который не будет зависеть от технологий конкретной платформы. Использование такой технологии разработки ПО позволяет сосредоточиться на проектировании характеристик и поведения создаваемого продукта, а не на специфике языков программирования, сторонних библиотек и СУБД.

Список литературы