Информационная система "Конференции"



IV Всероссийская конференция молодых ученых по математическому моделированию и информационным технологиям

Красноярск, Академгородок, 3-5 ноября 2003 года

Тезисы докладов


Информационные технологии

Построение компонентной архитектуры интернет-систем ориентированной на декларативное программирование

Энтин Г.М.

Институт Вычислительных Технологий СО РАН (Новосибирск)

Создание компонентных систем в первую очередь мотивировано желанием повысить переиспользуемость программного кода. Обычно архитектуру подразделяют на две важных понятия: каркас и шаблоны проектирования. Каркас определяет как взаимодействуют объекты и классы. Шаблоны проектирования, в свою очередь, диктуют разработчикам проверенные методы использования каркаса для решения задач проблемной области.

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

Каркас архитектуры широко использует метаязыки. Они позволяют в значительной степени перейти от процедурного программирования к декларативному. Так, для описания отображения классов на структуру таблиц базе данных, использована возможность назначения атрибутов членам классов на языке C#. Эти атрибуты задают имена таблиц и колонок в базе данных (БД). Аналогично описывается отображение классов на подмножество языка XML. Таким образом, метаинформация о структурах БД и XML хранится непосредственно в исходном коде классов, что обеспечивает ее самодокументирование. Для решения задачи быстрого создания административного интерфейса был создан метаязык его описания на основе языка XML. Он декларативно описывает отображение объектов на формы интерфейса, благодаря чему, в большинстве случаев, оказалось возможным избавиться от необходимости писать программный код. Кроме того, можно отметить языки описания периодических процессов и пользовательских меню, также реализованные на подмножестве XML. Для всех языков на основе XML разработаны валидирующие XML-схемы.

Компоненты группированы в сборки .NET, которые, с точки зрения разработчика, являются проектами на языке C#. При создании новой системы, необходимые сборки включаются в solution Visual Studio .NET, оставаясь в единой системе контроля версий. Специфичный для системы код выделяются в отдельные сборки.

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

Описанная компонентная архитектура была с успехом применена в 10 интернет-системах и доказала свою работоспособность и эффективность.

[1] L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, Addison-Wesley, 1998.

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



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск