서비스 지향 아키텍쳐
- 서비스 지향 아키텍쳐는 서비스 지향성을 지원하는 아키텍처 스타일이다. 서비스 지향성이란, 서비스 자체, 서비스 기반의 개발, 서비스의 결과 관점에서 생각하는 방식을 의미
- MSA와 SOA는 자율성을 부여받는다. SOA는 서비스 수준의 추상화를 구현하는 반면, MSA는 환경(개발,배포) 수준까지 추상화를 구현한다.
서비스의 정의 다음과 같다.
- 특정한 결과물을 생산할 수 있는 반복적인 비지니스 활동의 논리적인 표현이다.
ex) 자료 제공, 주문 조회, 날씨 데이터 제공 - 자기 완비적이다.
- 다른 여러 서비스들의 조합에 의해 구성될 수 있다.
- 서비스의 사용자에게는 블랙박스처럼 내부가 보이지 않는다.
SOA는 상당히 광범위한 용어이기 때문에, 다양한 방식으로 각각의 그룹 및 조직은 각각의 방법으로 SOA에 접근한다.
그렇다면 MSA와 SOA는 차이점은? 혹은 같은 것인가? 답은 어떻게 SOA를 적용하느냐에 따라 MSA와 비슷할 수 도 있고, 다를 수 도 있다.
1) MSA와 비슷하다.
ex) 서비스 지향 애플리케이션
- 어떤 조직에서는 SOA를 애플리케이션 수준에서 적용하기도 한다. 이런 접근 방식에서 병렬처리, 프로토콜 중개 등 서비스간의 통합 및 데이터 교환을 위해 POJO 서비스를 사용하기도 하는데, 이런 조직에서는 MSA를 SOA의 논리적인 다음 스텝으로 보곤 한다.
2) MSA와 다르다.
ex) 기존 시스템의 현행화 및 서비스 지향 통합
- 기업에서는 기존의 각각의 서비스들을 통합해왔으며, 오라클의 ESB(엔터프라이즈 서비스 버스)와 같은 시스템에 의존해왔다. ESB를 통해, 각 서비스를 통제 혹은 유연성을 제공할 수 있기에 MSA와는 다르다고 볼 수 있다.
'Architecture & Protocol' 카테고리의 다른 글
HTTP2 Protocol 분석 (0) | 2019.04.16 |
---|---|
12 요소 애플리케이션 방법론 (0) | 2019.02.21 |
Websocket Protocol 분석 (0) | 2019.01.28 |
마이크로서비스 아키텍처(MSA) (0) | 2018.12.02 |