Диссертация (1148251), страница 4
Текст из файла (страница 4)
В статье 2 соискателюпринадлежат рассуждения о применимости АОП к разработке облачныхпрограмм и реализация набора аспектов. Соавторам в этой статье принадлежитописаниепользовательскихтребованийиособенностейреализациигеолокационной системы в облаке. В публикациях 3–10 соискателю принадлежатформулировки, рассуждения, описания и реализация в комплексе программAspect.NET метода бесшовной интеграции аспектов с Microsoft Enterpise LibraryIntegration Pack, разработка и реализация набора АОП-рефакторингов, а такжебиблиотеки аспектов AzureLibrary со сквозной функциональностью.
Соавторампринадлежит общая постановка задачи, модификация компоновщика аспектов иметоды проверки достоверности полученных результатов. Статьи 1, 2 и 3опубликованы в журналах, входящих в перечень ведущих рецензируемыхнаучных журналов и изданий, в которых должны быть опубликованы основныенаучные результаты диссертаций на соискание ученых степеней доктора икандидата наук, утвержденный решением Президиума Высшей аттестационнойкомиссии Минобрнауки России.ВсевыносимыеназащитурезультатыПрограммные реализации выполнены автором.полученыличноавтором.15Структура и краткий план последующих глав диссертации.Определения ключевых понятий вводятся в диссертации в следующейформе: понятие выделено полужирным курсивом, после тире приведено егоопределение.
Краткая форма или аббревиатура (если есть) заключена в круглыескобки.Для некоторых значимых терминов в скобках указано их наименование наанглийском языке, принятое в англоязычной литературе.Во введении обосновывается актуальность работы, формулируются цели,задачи, объект и предмет диссертационного исследования, показана научнаяновизна и практическая ценность полученных результатов. Приводится структурадиссертации.В первой главе приведены основные понятия облачных технологий,описаны их виды и характеристики.
Затем дается краткая история развития ипредпосылки возникновения облачных вычислений, подробно рассмотренытипичные сценарии их использования и преимущества. На протяжении всейглавы делается сравнительный анализ облачных технологий от разныхпоставщиков. Для ряда поставщиков рассмотрены предлагаемые ими облачныесервисы и линейка оборудования. При изложении особенностей Microsoft Azureделается акцент на принципы разработки облачных веб-приложений.Во второй главе диссертации формулируется проблема рассредоточениясквозной функциональности и делается обзор существующих технологий еёреализациинапримерепаттерновобъектно-ориентированногопрограммирования, IoC-контейнеров и АОП. Проведенный анализ показывает,что только АОП позволяет локализовать сквозную функциональность в одноммодуле (аспекте), причем аспект содержит как саму функциональность, так иправила её внедрения в целевой код.
Далее приведена сравнительнаяхарактеристика статического и динамического методов применения аспектов. Длявыбора АОП-инструмента, подходящего к целям диссертационного исследования,описаны требования к производительности и бесшовности процесса внедренияаспектов. Высокая производительность результирующих приложений необходима16для уменьшения затрат при их эксплуатации в облаке, а бесшовная интеграцияпозволяет проводить АОП-рефакторинг и расширение функциональности безмодификации целевого проекта. На основе анализа существующих АОПинструментов для платформ Java и .NET, сделан аргументированный выбор впользу Aspect.NET, который позволяет разрабатывать аспекты для облачных вебприложений и удовлетворяет всем озвученным критериям.В третьей главе исследована возможность применения Aspect.NET дляреализации облачных приложений на платформе Microsoft Azure.
Показананеобходимость и осуществлена интеграция Aspect.NET со средой разработкиMicrosoft Visual Studio через события пред- и пост-компиляции. Также описанареализация в Aspect.NET возможности удаленной отладки результирующихприложений на облачных серверах. Далее в главе проанализирована типичнаясквозная функциональность облачных веб-приложений на базе ASP.NET MVC иреализованорасширениефункциональныхвозможностейAspect.NETдляподдержки её выделения в аспекты, а именно:1) перехват целевых методов обратного вызова, которые вызываютсяплатформой с помощью автоматической замены целевого класса егоаспектным наследником;2) автоматическое слияние конфигурационных XML-файлов аспектногои целевых проектов при компиляции, что позволило сократитьколичество настроек в целевом проекте до минимального количества,необходимого для бизнес-логики.В четвертой главе рассмотрен ряд типичных облачных приложений, изкоторых выделена сквозная функциональность протоколирования, кэширования,обработки исключений и повышения безопасности.
В рамках библиотекиAzureLibrary реализованы соответствующие аспекты, что позволяет расширитьэтой же функциональностью другие веб-приложения.Впятойглаверассмотреныосновыаспектно-ориентированногорефакторинга облачных веб-приложений. Дано описание методики проведенияАОП-рефакторингаоблачныхASP.NETMVCприложенийспомощью17Aspect.NET.
Данная техника позволяет разделить исходный проект на два проекта(с бизнес-логикой и аспектами), что, согласно принципу “разделяй и властвуй”,уменьшаетобщуюсложностьразработкиПО.Сформулированрефакторингов (название, мотивация, решение, практическийнаборпример) ипродемонстрировано улучшение метрик качества исходного кода облачных вебприложений.В шестой главе приводится обзор функциональных блоков библиотекиMicrosoft Enterprise Library Integration Pack for Azure и предложена методика ихбесшовной интеграции в целевое облачное приложение на примере аспектовпротоколирования, автоматического масштабирования облачного приложения,реакции на исключительные ситуации. Данные аспекты также реализованы врамках библиотеки AzureLibary.В заключении подводятся итоги и делаются выводы по диссертационнойработе, формулируются основные результаты, полученные в ходе работы,подчеркивается их научная новизна, теоретическая ценность и практическаязначимость.В приложении приводятся копии актов о внедрении результатовдиссертационного исследования.18Глава 1.
Технологии облачных приложений1.1 Основные понятия и характеристики облачных приложений.Современноебыстроеразвитиеобщества,егоинформационныеимобильные потребности, постоянно бросают вызов разработчикам программногообеспечения.Еслираньшекомпаниямогластатьуспешной,выпустивкомпилятор, операционную систему или текстовый редактор, то сейчас для этоготребуются социальные сети, искусственный интеллект в обработке колоссальногоколичества данных или многопользовательская ролевая онлайн-игра. Успешныйпродукт подразумевает постоянную доступность для широкой аудиториипосредством Интернет.
Гигантские наборы данных (big data) и потребность ввысокой производительности присутствуют во многих областях научнойдеятельности: медицине (биоинформатика), кинематограф (в виде реалистичнойкомпьютерной графики и кадров высокого разрешения), физике (напр., обработкирезультатов с Большого Адронного Коллайдера), астрономии (поиск новыхкосмических объектов) и т.п. В любом случае, приложение должно бытьпроизводительным, постоянно доступным, быть удобным в сопровождении иадминистрировании. Технологии высокопроизводительных вычислений (highperformance computing) успешно применяются в данных задачах, но когдаставится вопрос об организации веб-сервисов, когда результаты и сам процессвычислений стали бы доступны широкой аудитории, то необходимы ужеоблачные технологии. Если поддерживается много пользователей, то веб- илимобильное приложение должно быть доступно из любой точки мира, учитываявсе неоходимые меры безопасности.Другая составляющая этой тенденции — требования бизнеса, который из-запостоянной конкуренции по затратам, ресурсам и кадрам вынужден искать новыерешения по сокращению затрат, особенно в условиях экономического кризиса инестабильной политической ситуации.
Решением этих проблем стало развитие19аутсорсинговых компаний, которые берут на себя часть задач бизнеса,предоставляя в пользование свои сервисы и инфраструктуру, способные хранитьбольшие объемы информации и обеспечивать постоянный доступ к ней. Такимобразом, бизнес освобождается от своей непрофильной деятельности ипроисходит общее снижение издержек, так как, благодаря эффекту экономии намасштабах, аутсорсинговая компания предлагает выгодные условия.Подобная организация бизнеса определила растущий спрос на поставщиков,предоставляющих своё программное обеспечение, хранилища данных, иливычислительные мощности через интернет “в формате услуги” (as a service).Ситуация, когда большие объёмы данных обрабатываются или хранятся наудалённых серверах, удобна для пользователей.
Причём, в последнее времяобъёмы обрабатываемых и хранимых данных таковы, что для их храненияподходят только специализированные дата-центры.Так получила свое начало тенденция, заключающаяся в предоставлениимощностей дата-центров как услуги. Эта тенденция стала основой облачныхвычислений (облачной обработки данных), и на сегодня является уже не простотехнологической новинкой, но и настоящей волной развития IT-индустрии,широко востребованной и применяющейся в различных индустриях бизнеса — отмелкооптовой торговли до энергетики и химической индустрии.Современные облачные сервисы — это следствие развития и примененияконцепции коммунальных вычислений, существующей с 1960-х годов.