SOA로 비즈니스 서비스를 조합하는 아키텍처 설계

SOA의 서비스 중심 설계, 서비스 레지스트리와 ESB 역할, 구현 기술 및 마이크로서비스와의 차이를 정리한다.

2026-08-14 · 최초 발행 2025-05-23

비즈니스 기능을 서비스로 분리하는 이유

SOA(Service Oriented Architecture)는 비즈니스 서비스를 중심으로 시스템을 설계하는 아키텍처 패러다임이다. 사일로로 분리되고 의존성이 높은 기존 IT 인프라의 한계를 줄이기 위해 등장했으며, 분산 환경에서 비즈니스 요구 변화에 대응하는 방식을 제공한다.

주문, 고객 관리, 결제처럼 비즈니스 기능을 서비스 단위로 모듈화한 뒤 필요한 서비스들을 조합해 복잡한 시스템을 구성한다. 서비스 사이의 의존성은 느슨한 결합(Loosely Coupled)으로 낮추는 것이 핵심이다.

이 구조는 다음과 같은 성격을 가진다.

  • 비즈니스 기능을 독립적인 서비스 단위로 구현한다.
  • 표준화된 인터페이스로 서비스 간 통신을 처리한다.
  • 서비스 컴포넌트를 재사용해 개발 효율을 높인다.
  • 서로 다른 기술 플랫폼에서도 서비스를 이용할 수 있다.
  • 이기종 시스템의 통합과 시스템 확장을 지원한다.

등록·검색·호출로 이어지는 서비스 관계

SOA는 서비스 제공자(Service Provider), 서비스 레지스트리(Service Registry), 서비스 요청자(Service Requester)의 상호작용으로 동작한다.

Service ProviderService RegistryService RequesterService ProviderService RegistryService Requester1. Publish (서비스 등록)2. Find (서비스 검색)3. 서비스 정보 제공4. Bind (서비스 호출)5. 서비스 응답

서비스 제공자는 비즈니스 로직을 캡슐화해 서비스로 제공하고, 서비스 명세를 작성해 레지스트리에 Publish한다. 인터페이스는 WSDL(Web Services Description Language) 등을 통해 정의할 수 있다.

서비스 레지스트리는 서비스 목록을 관리하고 검색 기능을 제공한다. UDDI(Universal Description, Discovery and Integration) 표준을 기반으로 서비스 메타데이터와 위치 정보를 저장한다.

서비스 요청자는 레지스트리에서 필요한 서비스를 Find한 뒤 제공자와 Bind하여 호출한다. 이 과정에서 여러 서비스를 조합해 비즈니스 로직을 구현할 수 있다.

프로세스와 통합을 분리한 계층 구조

SOA는 비즈니스 프로세스, 서비스 오케스트레이션, 서비스 구현 영역이 구분되는 계층 구조를 형성한다.

Business Process Layer -BPMService Orchestration Layer- ESBService ImplementationLayerComponent LayerModule LayerData Layer

비즈니스 프로세스를 다루는 BPM 계층

BPM(Business Process Management)은 프로세스 정의, 모니터링, 최적화와 워크플로우 관리, 비즈니스 규칙 적용을 맡는다. 온라인 쇼핑몰이라면 주문접수, 재고확인, 결제, 배송으로 이어지는 주문처리 프로세스가 이 계층의 대상이 된다.

서비스 호출을 조정하는 ESB 계층

ESB(Enterprise Service Bus)는 서비스 간 통합과 메시지 라우팅을 담당한다. 프로토콜과 메시지를 변환하고, 서비스 호출 순서를 조정·관리한다. 신용카드, 간편결제, 포인트 차감처럼 여러 결제 서비스를 연결하는 경우가 이에 해당한다.

기능을 실제로 제공하는 구현 계층

서비스 구현 계층에는 실제 비즈니스 기능이 놓인다. 컴포넌트, 모듈, 데이터 계층으로 구성되며 서비스 인터페이스를 제공한다. 사용자 인증, 상품 카탈로그, 결제처리 서비스가 대표적인 예다.

웹 서비스와 미들웨어의 역할

SOAP(Simple Object Access Protocol)은 XML 기반 메시지 프로토콜이다. 엄격한 규약과 높은 보안성을 제공하며 금융, 의료 등 보안이 중요한 분야에서 활용된다.

REST(Representational State Transfer)는 HTTP 프로토콜을 기반으로 한 경량 웹 서비스 구현 방식이다. 간결한 인터페이스를 제공하며 모바일 앱과 웹 서비스에 널리 활용된다.

미들웨어에서는 ESB가 서비스 간 메시지를 중계하고 프로토콜 변환, 메시지 라우팅과 변환을 수행한다. IBM Integration Bus, Oracle Service Bus, MuleSoft가 예시다. BPM은 비즈니스 프로세스 모델링과 실행, 프로세스 모니터링과 최적화를 담당하며 IBM Business Process Manager, Appian, Camunda가 예시로 제시된다.

산업 시스템에서의 적용 모습

A은행 차세대 시스템은 기존 메인프레임 기반 시스템을 SOA로 재구축한 사례다. 계좌 서비스, 고객 서비스, 상품 서비스 등으로 기능을 모듈화해 재사용성을 높였고, 신규 상품 출시 기간 60% 단축과 시스템 유지보수 비용 40% 절감이라는 결과가 제시됐다.

B자동차 공급망 관리 시스템은 부품 조달부터 생산, 재고관리까지를 SOA 기반으로 통합했다. 재고 관리 정확도는 95%로 향상됐고 생산 계획 수립 시간은 70% 단축됐다. 공급업체 시스템과의 연계를 강화해 실시간 정보 공유도 구현했다.

재사용성의 대가로 따라오는 운영 부담

SOA는 서비스 컴포넌트를 재활용해 개발 시간과 비용을 줄이고, 시장 변화에 대응할 수 있는 비즈니스 유연성을 제공한다. 이기종 시스템 통합이 쉽고 전체 시스템을 한 번에 바꾸지 않는 점진적 도입도 가능하다. 비즈니스 프로세스와 IT 서비스를 직접 매핑해 비즈니스-IT 연계성을 강화하는 효과도 있다.

반면 초기 SOA 인프라에는 상당한 투자가 필요하다. 서비스 관리, 버전 관리, 거버넌스가 복잡해지고 서비스 호출 오버헤드로 성능 저하가 발생할 수 있다. 분산 환경의 보안 관리와 서비스 품질, SLA(Service Level Agreement) 관리도 추가 부담이 된다.

마이크로서비스와 달라지는 통합 경계

SOA와 마이크로서비스는 모두 서비스 기반 아키텍처이며, 모듈화된 컴포넌트와 비즈니스 기능 중심 설계를 공유한다. 다만 서비스 통합과 데이터 관리, 배포 방식에는 차이가 있다.

마이크로서비스DB A서비스 ADB B서비스 BDB C서비스 CAPI GatewaySOA공유 DB서비스 A서비스 B서비스 CESB

SOA는 대규모 환경을 대상으로 ESB 중심의 통합과 공유 DB 방식을 사용한다. 마이크로서비스는 소규모 서비스 단위를 독립적으로 운영하며 API Gateway를 통해 연결하고, 서비스별 DB를 둔다. 배포도 SOA는 전체적인 방식에 가깝고 마이크로서비스는 독립적으로 수행한다.

도입 과정에서 함께 설계할 운영 체계

SOA를 도입할 때는 서비스 개발 표준, 품질 관리, 생명주기 관리가 포함된 거버넌스 체계가 필요하다. 서비스 등록과 검색 체계를 구성하고 SLA 관리 기준도 마련해야 한다.

적용 범위는 비즈니스 가치가 높은 영역부터 잡고, 파일럿 프로젝트로 검증한 후 확대할 수 있다. 기존 시스템과의 연동 방안도 초기 설계에 포함해야 한다.

경영진의 지원과 이해, 충분한 교육과 변화관리, 명확한 ROI 측정 방안, IT와 비즈니스 부서 간 협업 체계가 구현의 성공 요소가 된다. 마이크로서비스와 클라우드 네이티브가 발전한 환경에서도 서비스 중심 설계와 느슨한 결합이라는 SOA의 원칙은 레거시 시스템 현대화와 비즈니스 민첩성 확보에 활용할 수 있다.

SOA서비스 지향 아키텍처ESBBPM소프트웨어 아키텍처