본문 바로가기

방법론과 DevOps/방법론&협업관리

헥사고날 아키텍처

헥사고날 아키텍처

 헥사고날 아키텍처(Hexagonal architecture) 는  소프트웨어 아키텍처의 하나로  응용프로그램의 비즈니스 로직을 외부 세계로부터 격리시켜 유연하게 테스트하기 쉬운 구조를 만든 것입니다

 헥사고날의 사전적 의미로는 육각형 건축물을 의미합니다 이러한 패턴은 다방면으로 하나의 sw가 여러 sw 화경에 쉽게 연결할 수 있도록 느슨하게 결한된 것을 의미합니다.  

 

헥사고날 아키텍처의 구성

 

핵사고날 아키텍처는 앞서 언급한 내용 처럼  여러 sw환경에 접근을 용이하게 구성되어 있습니다. 이는 아키텍처의 확장을 용이하게 해주며 유지보수 과정의 효율성을 보장합니다.

 각 구성에 대해 살펴보자면 아래와 같습니다.

  • 내부 도메인 :  내부 영역으로 비즈니스 로직을 캡슐화한 영역을 의미 
  • 외부(인프라 ) :  내부 영역을 제외한 나머지 부분
  • 포트 : 내부 영역을 외부의 노출하는 공개된 API를 의미
  • 인바운드 어댑터 : 외부 애플리케이션이나 서비스와 내부 비즈니스 영역 간 데이터를 교환을 위해 존재하는 영역
  • 아웃바운드 어댑터 :  서비스간의 데이터 교환을 위해 존재하는 어댑터

 

헥사고날 아키텍처의  장단점

장점

  • 도메인 비즈니스 모델에 집중이 가능
  • 모듈 일부만을 배포하는데 용이
  • 기능 확장성 용이
  • 쉬운 테스트 환경 구성 가능
  • 개발 코스트 감소

단점

  • 외부 계층과 철저히 분리되어야 하는 관계로 코드가 많아짐
  • 아키텍처를 도입하기 위한 포트/어댑터에 대한 이해 필요
  • 도메인 영역에 여러 사이트를 매핑할  객체 생성 필요 ( 오버헤드 발생_

 

'방법론과 DevOps > 방법론&협업관리' 카테고리의 다른 글

MSA  (0) 2025.05.20
화면설계와 프로토타이핑  (1) 2022.09.22
폭포수 vs 애자일  (0) 2022.09.05
소프트웨어 개발방법론의 종류  (0) 2022.08.30
소프트웨어 개발 방법론  (0) 2022.03.22