Подорожкин методов аспектно – ориентированного программирования для управления сквозной функциональностью приложений в среде Microsoft BizTalk Server. // Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей Междунар. научно-техн. конф.– Пенза: ПДЗ, 2010. – С. 119-121.
ПРИМЕНЕНИЕ МЕТОДОВ АСПЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ ДЛЯ УПРАВЛЕНИЯ СКВОЗНОЙ ФУНКЦИОНАЛЬНОСТЬЮ ПРИЛОЖЕНИЙ
В СРЕДЕ MICROSOFT BIZTALK SERVER
Санкт-Петербургский государственный университет,
г. Санкт-Петербург, Россия
Приводится краткое описание платформы Microsoft BizTalk Server и определяется важность проблемы управления сквозной функциональностью в приложениях для нее. Предлагается аспектно-ориентированный подход к решению задачи управления сквозной функциональностью с использованием возможностей среды .
Podorozhkin D. The use of aspect-oriented programming methods for managing cross-cutting functionality in microsoft biztalk server applications. A brief description of Microsoft BizTalk Server platform is provided. Main problems of cross-cutting functionality in Microsoft BizTalk Server applications are described. An aspect-oriented approach to managing the cross-cutting functionality with the use of framework is suggested.
Двадцать первый век, справедливо называемый многими веком информационных технологий, ставит перед IT-специалистами новые вызовы, далеко выходящие за рамки традиционных расчетно-вычислительных задач, для решения которых ЭВМ изначально предназначались. Всеобщая информатизация общества порождает проблему интеграции различных компонентов его IT-инфраструктуры, которые, как правило, не разрабатывались для взаимодействия друг с другом.
Другой задачей, стоящей перед разработчиками современных информационных систем (в первую очередь для предприятий и организаций), является комплексная автоматизация бизнес-процессов предприятия, включая бизнес-процессы по взаимодействию с внешними контрагентами компании. Если на заре эры компьютеров последние предназначались лишь для решения вычислительных задач и автоматизации определенных «элементарных» шагов, то в последнее время информационные системы все чаще призваны заменить человека в бизнес-процессе, сводя роль последнего к контролю её работы.
Одним из неизбежных следствий увеличения сложности и объема исходного кода информационных систем является повышение издержек, связанных с их сопровождением и модификацией. В первую очередь это касается так называемой сквозной функциональности системы, определение которой будет приведено ниже.
В статье будет рассказано о продукте Microsoft BizTalk Server – специально разработанной платформе для решения задач комплексной автоматизации бизнес-процессов и интеграции разнородных систем. Также будет рассказано о применении аспектно-ориентированного подхода к решению проблемы управления сквозной функциональностью в проектах на базе MS BizTalk Server.
MS BizTalk Server – это набор сервисов и утилит для быстрого создания интеграционных решений. Важно отметить, что в результате компиляции любого артефакта BizTalk получается обыкновенная. NET сборка. Приложения для MS BizTalk Server, как правило, представляют собой довольно сложную конструкцию из взаимосвязанных модулей – артефактов BizTalk (оркестровок, каналов доставки, отображений, трансформаций, портов, адаптеров и пр.), собственных вспомогательных библиотек с кодом, библиотек сторонних разработчиков и т. д. Такой способ организации приложения делает сложным его представление в виде традиционной иерархии модулей. Проблема усугубляется тем, что компоненты, из которых состоит приложение, как правило, достаточно автономны и могут использоваться одновременно в нескольких приложениях. Кроме того, главные с точки зрения бизнес-логики компоненты – оркестровки (Orchestrations) – не имеют представления в виде исходного кода в привычном смысле этого слова. Вместо этого они представлены в виде графических диаграмм бизнес-процессов (основанных на языке XLANG). Эти особенности приложений для MS BizTalk Server заставляют обратить внимание на управление сквозной функциональностью. Данное понятие объединяет такие виды функциональных возможностей, идей, принципов, методов, реализация которых принципиально не осуществима в виде лишь одной иерархии взаимосвязанных модулей, а требует, в дополнение к этому, вставки в физически рассредоточенные точки программы фрагментов нового кода. Примерами такой функциональности являются протоколирование и профилирование работы программы (logging and profiling), безопасность многопоточного выполнения кода (multi-threaded safety), аутентификация пользователей и программ, авторизация (authentication and authorization). В приложениях для MS BizTalk Server в силу большой автономности составляющих модулей эти задачи приобретают особую актуальность. Кроме того, сквозная функциональность может оказаться полезной при решении задачи изменения поведения уже разработанной оркестровки.
Задача управления сквозной функциональностью может эффективно решаться при помощи методов аспектно-ориентированного программирования (АОП) – одного из новых подходов к программированию, предназначенного для модуляризации сквозной функциональности и ее автоматизированного, безопасного и надежного добавления в целевую программу, а также поиска (локализации) и модификации в целевой программе некоторой уже реализованной сквозной функциональности. Одной из наиболее перспективных реализаций принципов аспектно-ориентированного программирования для платформы является разработанный в СПбГУ под руководством проф. инструмент . Данный инструмент состоит из двух основных частей – подсистемы внедрения аспектов (weaver), отвечающей за анализ исходного кода и поиск точек присоединения (join points), и Framework – специального расширения (plug-in) Microsoft Visual Studio средствами работы с аспектами.
Благодаря тому, что работает с. NET сборками на уровне двоичного кода, появляется возможность единообразного рассмотрения артефактов BizTalk при модификации уже готовых приложений. Более того, взяв за основу , можно относительно легко создать инструмент, решающий проблему управления сквозной функциональностью проектов для MS BizTalk Server с учетом их специфики. В частности, задача модификации поведения уже готовой оркестровки может быть решена следующим образом: сперва проводится анализ соответствия графического представления оркестровки и генерируемого MSIL кода, а затем разрабатывается инструмент – надстройка над weaver, c помощью которого можно будет внедрять заранее разработанные аспекты в соответствии с выявленными закономерностями и таким образом изменять поведение целевой оркестровки.


