Microservice architecture is an architectural style, which allows structuring software as a suite of fine-grained services, each running in its process and deployed independently. Knowing the strengths and limitations...Microservice architecture is an architectural style, which allows structuring software as a suite of fine-grained services, each running in its process and deployed independently. Knowing the strengths and limitations of this architectural style, the development team is responsible to select the appropriate technologies which guarantee the consistency between the implementation and the design. This study proposes an evaluation framework which consists of a set of evaluation criteria that are architectural patterns recognized by the community and covering all the implementation aspects of software;and an evaluation function which combines these criteria for a given technology to determine its compatibility score with the microservice style, while taking into account the specific requirements of the software under development. Applying this approach to Spring Boot and JAVA EE technologies, we found that Spring Boot scores 96.3% while JAVA EE scores 44.4%. These scores reflect the effort required to conform software with the principles of this development style.展开更多
文摘Microservice architecture is an architectural style, which allows structuring software as a suite of fine-grained services, each running in its process and deployed independently. Knowing the strengths and limitations of this architectural style, the development team is responsible to select the appropriate technologies which guarantee the consistency between the implementation and the design. This study proposes an evaluation framework which consists of a set of evaluation criteria that are architectural patterns recognized by the community and covering all the implementation aspects of software;and an evaluation function which combines these criteria for a given technology to determine its compatibility score with the microservice style, while taking into account the specific requirements of the software under development. Applying this approach to Spring Boot and JAVA EE technologies, we found that Spring Boot scores 96.3% while JAVA EE scores 44.4%. These scores reflect the effort required to conform software with the principles of this development style.