Конференции ИВТ СО РАН
X Российская конференция с участием иностранных ученых "Распределенные информационно-вычислительные ресурсы”
Академгородок, г. Новосибирск, Россия, 6-8 октября 2005 г.
Тезисы докладов
Инверсия управления в контексте реализации сервера приложений Jaxion
ЦНИТ НГУ (Новосибирск)
В настоящее время в стенах Новосибирского государственного университета разрабатывается распределенная информационная
система управления ВУЗом – УИС. Система УИС призвана автоматизировать бизнес процессы необходимые для управления учебным
процессом университета, в число задач, которые требуется решить входит управление учебными планами, система абитуриент,
общий электронный документооборот университета, автоматизация работы деканатов.
В ходе работы над системой УИС была создана программная платформа которая используется для построения всех
информационных подсистем УИС. В основе данной платформы лежит сервер приложений Jaxion (http://www.jaxion.org)
разработанный специльно для проекта УИС, исходные коды Jaxion опубликованы под открытой лицензией Apache 2.0.
Разработчику Java™ EE бизнес приложений Jaxion предоставляет следующие возможности:
- Возможность быстрой разработки модульных программных приложений базируясь наконцепциях сервисно-ориентированной
архитектуры (SOA). Jaxion предоставляет разработчику набор слабо связанных между собой программных Java™/Java™ EE
сервисов – многократно используемых (reusable) компоновочных блоков на основе которых строятся бизнес приложения.
- Декларативное задание зависимостей между программными компонентами и автоматическое их отслеживание и удовлетворение,
реализация принципа обратного управлений (IoC: Inversion of Control) в отношении развертываемых программных компонент,
что дает возможность разработчику соединить в одну целостную систему совершенно разнородные программные модули и библиотеки.
- Архитектура Jaxion позволяет организовать распределенное и в тоже время прозрачное взаимодействие (по сети)
программных компонент в контексте географически разнесенных экземпляров системы Jaxion.
- Jaxion не привязывает программный код развертываемых в сервере компонентов к среде выполнения Jaxion, иными словами,
на развертываемые компоненты не накладывается никаких строгих ограничений на интерфейсы и методы которые они должны
реализовать для работы в среде Jaxion. Большинство программных компонент развертываемых в Jaxion является так
называемыми POJO (Plain Old Java Object) объектами.
В докладе будут рассмотрены основные архитектурные особенности реализации сервера приложений Jaxion. В частности,
особое внимание будет уделено опыту реализации так называемого принципа обратного управления (IoC: Inversion of Control)
и его применения в контексте реализации сервера приложений Jaxion.
Концепция, лежащая в основе инверсии управления, часто выражается "голливудским принципом": "Не звоните мне, я вам сам
позвоню". Прицип инверсии управления переносит ответственность за выполнение большинства действий с кода приложения
(компонента) на сам сервер приложений. В отношении конфигураций программных компонент это означает, что если в
традиционных контейнерных архитектурах наподобие EJB 2.1, компонент может вызвать контейнер и спросить: "где объект Х,
нужный мне для работы?", то в IoC сам контейнер выясняет, что компоненту нужен объект Х, и предоставляет его компоненту
во время исполнения. Принципы IoC позволяют существенно ослабить зависимости между программными компонентами на уровне
программного кода тем самым позволяя компонентам быть более универсальными и переиспользуемыми.
Примечание. Тезисы докладов публикуются в авторской редакции
© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск