Диссертация (1148251), страница 3
Текст из файла (страница 3)
В исследовании комбинировалисьдва вида методологии. Первый, типичный для диссертационного исследования:обобщение, анализ и синтез теоретического и практического материала и второй,специфичный для темы исследования и задач практического программированияоблачных веб-приложений на платформе Microsoft Azure.1. Сквозная функциональность из библиотеки Microsoft Enterprise Library(которая реализует в виде функциональных блоков практические методырешения наиболее актуальных задач в разработке программногообеспечения).2.
МетодынизкоуровневогопрограммированияMSIL-сборокдля расширения возможностей Aspect.NET.3. Метод программирования интерпретатора cmd.exe для описаниясобытий пред- и пост-компиляции Microsoft Visual Studio.4. Методикиаспектно-ориентированногопрограммированияи рефакторинга.Степень достоверности. Достоверность и обоснованность результатовподтверждаетсяэкспериментальнымидополняющимиданными,другполученнымидруга,авторомсогласующимисяприразработанных методик для целевых программных продуктов.Обоснованность полученных результатов обеспечивается:применении101) корректнымприменениемтеорииобъектно-ориентированногоиаспектно-ориентированного программирования;2) результатамисравнительногоанализаразработанныхметодовс аналогичными подходами к АОП;3) результатом улучшения метрики интегрированной оценки качестваисходного кода целевого приложения после проведения АОПрефакторинга;4) позитивным опытом внедрения и эксплуатации ПО, разработанногос применением предложенных методов.Научная новизна диссертации заключается в том, что разработаннаятехнологиябесшовногорасширенияфункциональностиоблачныхвеб-приложений на платформе Microsoft Azure с помощью подсистемы примененияаспектов Aspect.NET предложена впервые.
Разработанная автором библиотекааспектовAzureLibraryвпервыепозволиларасширитьфункциональностьоблачных веб-приложений, не затрагивая их исходный код, конфигурационныефайлы или настройки проекта.Кроме того, разработанная в ходе исследования методика интеграциисквознойфункциональностиотличаетсяотранеесозданныхметодикиспользования АОП своей бесшовностью применения. Это позволяет получатьвеб-приложения с высокой производительностью, которые легко сопровождать, иони не будут привязаны к конкретному АОП-инструменту, как это имеет местов альтернативныхметодикахАОП-программированиядляплатформыMicrosoft.NET.Таким образом, в данной работе рассмотрен принципиально новый подходк разработке облачных веб-приложений на платформе Microsoft Azure.
Егопреимуществами перед существующими технологиями являются: бесшовноедобавление функциональности к веб-приложениям, высокая производительность,улучшениекачествасуществующихфункциональности.исходногостороннихкодабиблиотекивозможностьдляиспользованияреализациисквозной11Теоретическаядиссертационногорасширенияипрактическаяисследованияфункциональностизначимостьразработанаоблачныхработы.методикаВдлявеб-приложенийрамкахбесшовногонаплатформеMicrosoft Azure с помощью АОП-инструмента Aspect.NET.
Предложенный способинтеграции Aspect.NET в среду программирования Microsoft Visual StudioповышаетудобствосозданияаспектовдляплатформыMicrosoft.NET.Разработанный набор АОП-рефакторингов облачных ASP.NET веб-приложенийдемонстрирует повышение качества исходного кода целевого приложения за счетпринципа “разделяй и властвуй”. Продемонстрированный в диссертации методиспользования в аспектах стороннего решения Microsoft Enterprise LibraryIntegration Pack дает возможность применять существующие библиотеки,компоненты и веб-сервисы для реализации сквозной функциональности, упрощаясами аспекты.Практическаяценностьзаключаетсявреализациипредложенныхмодификаций в Aspect.NET, создании библиотеки аспектов AzureLibrary ипримеров её применения. Также разработаны примеры, иллюстрирующиеэффективность предложенного набора АОП-рефакторингов.Так,коэффициентсопровождаемостикодацелевыхприложений,подвергнутых АОП-рефакторингу улучшился на 3-25%.
В проекте с Orchard CMSАОП-рефакторингспомощью6аспектовповысилкоэффициентсопровождаемости целевых классов на 5-12%. Таким образом, доказансущественный технический эффект использования предложенных алгоритмов иметодов при написании и сопровождении программных продуктов. Сведения опрактическомиспользованииполученныхавторомдиссертациинаучныхрезультатов приведены в актах о внедрении программных принципов ибиблиотек, разработанных в рамках исследования.Положения, выносимые на защиту1.
Разработана и реализована библиотека аспектов AzureLibrary длярасширения облачных веб-приложений следующими видами функциональности:перенаправление протоколирования в хранилище отладочной информации12Microsoft Azure, кэширование в распределенном облачном кэше информации,получаемой из SQL Azure, и обработки исключений.
Применение AzureLibrary иAspect.NET приводит к добавлению новой функциональности без какой-либомодификации целевого проекта.2. Предложена методика “замещающего” аспектного наследника, которыйпозволяет перехватывать обратные вызовы методов от инфраструктуры MicrosoftAzure, поддерживающая возможность бесшовного применения аспектов вAspect.NET. Также предложено раздельное хранение целевой и аспектнойконфигурации, для этого разработан алгоритм по их слиянию при компиляцииаспектного проекта. Данные предложения реализованы в программном комплексеAspect.NET.3.
Найден способ интеграции компоновщика аспектов Aspect.NET в MicrosoftVisual Studio для обеспечения возможности публикации, а также локальной иудаленной отладки в облаке Azure АОП-программ.4. Разработан метод бесшовной интеграции сквозной функциональностибиблиотеки Microsoft Enterprise Library Integration Pack for Azure в целевоеприложение на примере аспектов логгирования (Logging Application Block),автоматическогомасштабированияоблачногоприложения(AutoscalingApplication Block), реакции на исключительные ситуации (Transient FaultHandling).
Это позволило расширить функциональность облачных приложений спомощью указанной библиотеки. Данные аспекты также реализованы автором врамках библиотеки AzureLibrary.5.Разработанаипротестированаметодикаулучшенияиндексасопровождаемости (Maintanability Index) целевых классов с помощью проведенияих АОП-рефакторинга. Спроектирован набор из 5 аспектно-ориентированныхрефакторингов на основе Aspect.NET для классов облачных веб-приложений.Проведенные эксперименты над типичными веб-приложениями (N2CMS иOrchard CMS) показали улучшение индекса сопровождаемости целевых классовна значения от 2 до 25%.13Кроме этого в диссертации сформулированы рекомендации по применениюрезультатов работы в индустрии и научных исследованиях, заключающиесяв необходимости учитывать следующие ограничения.1.В следствии того, что аспекты являются статическими классами, вмногопоточных приложениях имеет смысл маркировать все разделяемыеданные аспекта атрибутом [ThreadStatic].2.Целевые методы должны обладать аргументами или результатом,типы которых не являются дженериками (generics), так как Aspect.NET неимеет возможности их перехвата.3.Степень эффективности АОП-рефакторинга зависит от количествазависимостей целевого класса от других статических классов, так как толькотакие методы можно вынести в аспект.
При этом точная оценкаэффективности АОП-рефакторинга является открытой исследовательскойзадачей.4.Целевые приложения должны быть разработаны в среде MicrosoftVisual Studio на языке C# или Visual Basic.Также в диссертации определены перспективы дальнейшей разработкитематики, основными из которых являются адаптация предложенных методик длятаких сред разработки на платформе .NET, как MonoDevelop и Unity3D. Кромеэтого, в целях повышения стабильности системы необходимо исследоватьпроцесс тестирования как аспектов, так и результирующей сборки в целом.Все полученные результаты являются новыми.Апробация результатовОсновные результаты и выводы диссертационной работы докладывались иобсуждались на следующих научных конференциях и семинарах: 1) конференция“Технологии Microsoft в теории и практике программирования”, 2011, СПбГПУ,Санкт-Петербург; 2) вторая межвузовская научная конференция по проблемаминформатики “СПИСОК-2011”, 2011, СПбГУ, Санкт-Петербург; 3) всероссийскаянаучная конференция по проблемам информатики “СПИСОК-2012”, 2012,СПбГУ, Санкт-Петербург; 4) конференция “Технологии Microsoft в теории14и практике5)программирования”,межвузовскийи практике2012,конкурс-конференцияпрограммирования”,СПбГПУ,“Технологии2013,Санкт-Петербург;вMicrosoftСПбГПУ,теорииСанкт-Петербург;6) межвузовская научная конференция по проблемам информатики “СПИСОК2013”, 2013, СПбГУ, Санкт-Петербург; 7) всероссийская научная конференция попроблемам информатики “СПИСОК-2014”, 2014, СПбГУ, Санкт-Петербург; 8)international conference on numerical analysis and applied mathematics 2014(ICNAAM-2014), 2014, Rhodes, Greece; 9) всероссийская научная конференция попроблемам информатики “СПИСОК-2016”, 2016, СПбГУ, Санкт-Петербург.Публикации автора по теме диссертацииРезультаты исследований отражены в работах 1–10.