An approach for microservice functionality identification utilizing use-case models
Si‐Hyun Kim, Jaewon Oh · The Journal of the Korean Institute of Information and Communication Engineering · 2023
전통적인 방식의 소프트웨어 아키텍처인 모노리식 아키텍처는 여러 서비스가 하나의 코드베이스에 담겨 있어 유지 보수가 어렵고 복잡하다. 반면에 비교적 최근 등장한 마이크로서비스 아키텍처의 경우 서비스들이 느슨하게 결합되어 있고, 각 서비스를 독립적으로 개발하고 배포할 수 있어 유지 보수가 쉽고 확장성이 뛰어나다. 이에 따라 모노리식 아키텍처를 마이크로서비스 아키텍처로 전환하기 위해 기존 모노리식 웹 앱으로부터 마이크로서비스를 식별하는 다양한 연구들이 제안되고 있다. 그러나 기존 연구들은 식별 결과로 각 마이크로서비스가 어떤 구성 요소를 갖는지에 관한 정보를 제공할 뿐, 각 마이크로서비스가 어떤 기능을 수행하는지에 관한 정보는 제공하지 않는다. 본 논문은 식별된 마이크로서비스의 기능을 이해하기 위한 새로운 접근 방식을 제안한다. 이 접근 방식에서는 유스케이스 모델을 사용하여 모노리식 웹 앱의 기능을 표현하고, 이 웹 앱으로부터 식별된 마이크로서비스의 기능을 마이크로서비스에 속한 컴포넌트들에서 추출된 핵심 단어들로 표현한다. 최종적으로 유스케이스와 마이크로서비스의 핵심 단어들을 대응시킴으로써 마이크로서비스가 제공하는 기능을 식별한다. 그리고 오픈 소스 웹 앱을 대상으로 실험을 진행하여 제안하는 기법의 유용성을 검증한다.