При разработке веб-приложений существует ряд ситуаций, когда необходимо ввести в эксплуатацию несколько веб-приложений с идентичной базовой функциональностью, но в то же время сохранить индивидуальность каждого веб-приложения из этого множества. Такая индивидуальность может выражаться в пользовательском интерфейсе, его дизайне или в дополнительных функциях свойственных только этому отдельно взятому веб-приложению.
Проблема, рассматриваемая в данной работе, состоит в том, что на сегодняшний день отсутствует какая-либо выработанная методология использования единой кодовой базы для обеспечения работы множества веб-приложений, которая бы предоставляла возможность централизованного обновления всех приложений и возможность потенциального отделения любого из таких веб-приложений в самостоятельное и независимое от множества приложение.
Актуальность работы обосновывается следующим образом. Поддержка веб-приложений, как и разработка, сопряжена с затратами. Прежде всего это затраты, связанные со временем. В ситуациях, когда одной командой производится разработка или поддержка нескольких однотипных веб-приложений, возникает возможность сократить издержки, исключив необходимость внесения одинаковых изменений в исходный код каждого из веб-приложений.
Целью данной работы является разработка методологии использования единой кодовой базы для обеспечения работы множества веб-приложений и применение этой методологии при разработке реальных приложений.
В рамках данной работы будет произведён реинжиниринг двух однотипных веб-приложений с целью максимального обобщения их кодовых баз.
Таковыми веб-приложениями являются Агримарт и МирСтроек.Ру.
Для достижения цели необходимо выполнить следующие задачи:
1. произвести анализ имеющихся решений проблемы;
2. выявить их недостатки;
3. описать решение, способное устранить эти недостатки;
4. применить данное решение на примере разработки двух однотипных веб-приложений.
В результате выполнения данной работы была разработана и апробирована методология позволяющая использовать единую кодовую базу для обеспечения работы нескольких веб-приложений. В рамках апробации методологии был успешно произведён реинженеринг двух независимых функционирующих веб-приложений с целью обобщениях их кодовых баз. Разработка и применение методологии позволили упростить процесса параллельной разработки и поддержки двух схожих по функциональности приложений. Цель работы достигнута.
В процессе выполнения данной работы были решены следующие задачи:
• разработана методология, объединяющая в себе идеи микросервисной архитектуры и идеи подхода Multi-Instance;
• на основе разработанной методологии спроектированы 2 веб-приложения;
• произведен полный реинженеринг двух веб-приложений с применением методологии.
Также выработан план дальнейших действий:
• доработать портал Агримарт и произвести его развёртывание в production-среду;
• выполнить перенос имеющихся пользовательских данных со старой версии портала Агримарт;
• произвести сбор метрик, позволяющих определить пригодность подхода Single-Page Application для его применения при разработки пользовательского интерфейса для МирСтроек.Ру;
• разработать пользовательский интерфейс для МирСтроек.Ру;
• произвести развёртывание портала МирСтроек.Ру в production-среду;
• выполнить перенос имеющихся пользовательских данных со старой версии портала МирСтроек.Ру.