4 research outputs found

    MICRO-FRONTENDS FOR WEB CONTENT MANAGEMENT SYSTEMS

    Get PDF
    Content Management Systems are a fundamental part of the modern world wide web. They are used to create various types of web applications. With the advent of service oriented architecture (SOA), it is commonplace for content management systems to be separate from the presentation layer that eventually displays the content. However, as the complexity of the system grows the frontend may become increasingly hard to maintain and scale. This study aims to apply the micro-frontend pattern to the presentation layer of headless web content management systems in order to provide improved maintainability to the frontend. A multivocal literature review which combines academic literature with grey literature is carried out in this study. The review is to determine the implementation strategies currently being used in research and industry as well as the approach to evaluation of micro-frontend architecture. This work provides a model architecture for applying micro-frontends to general purpose content management systems using WordPress as a case study. The success of the micro-frontend implementation is measured using system stability, web performance and code complexity metrics to compare against a functionally equivalent monolithic implementation. The results of the systematic review show the growing popularity of the micro-frontend approach as well as the different tools and techniques used in implementing the architecture. Client-side rendering and unified single page applications (SPA) are the dominant rendering and composition approaches of micro-frontend used in literature. The evaluation results that micro-frontends perform favourably compared to the headless approach. Micro-frontends had a maintainability index of 75.48 compared to an index of 74.64 for the monolithic version. In all the web performance metrics considered, micro-frontends posted a superior score than the monolithic versions. Micro-frontends did show a significant increase in the complexity of individual modules compared to the equivalent modules in the monolith
    corecore