Wrapper와 Mediator로 이기종 시스템 통합 설계하기

Wrapper와 Mediator 패턴의 역할, 차이, 결합 구조를 통해 레거시·클라우드·외부 시스템 통합 방식을 정리한다.

2026-08-14 · 최초 발행 2025-08-10

인터페이스의 차이와 통신 복잡성을 분리한다

기업 환경에는 레거시 시스템, 클라우드 서비스, 외부 API, 데이터베이스처럼 서로 다른 방식으로 동작하는 구성요소가 함께 존재한다. 이들을 연결할 때는 인터페이스 차이와 시스템 간 상호작용의 복잡성이 동시에 문제된다.

Wrapper와 Mediator는 이 두 문제를 각각 다루는 아키텍처 패턴이다. Wrapper는 개별 시스템을 접근 가능한 형태로 바꾸고, Mediator는 표준화된 시스템 사이의 통신을 조정한다.

Wrapper가 기존 기능을 새 인터페이스로 감싸는 방식

Wrapper는 기존 시스템이나 컴포넌트를 새로운 인터페이스로 감싸는 설계 패턴이다. 원래 시스템의 기능을 수정하지 않은 채 다른 접근 방식을 제공하며, 호환되지 않는 인터페이스를 연결한다는 점에서 Adapter 패턴으로도 불린다.

레거시 시스템을 현대적인 환경에 연결하거나, 기존 기능을 코드 변경 없이 재사용해야 할 때 유용하다. 특정 기능이나 컴포넌트를 추상화해 시스템 간 의존성과 전체 복잡성을 낮출 수 있다.

구현 형태는 기존 클래스를 상속해 새 인터페이스를 제공하는 클래스 래퍼, 기존 객체를 다른 객체로 감싸는 객체 래퍼, 웹 서비스나 API를 표준화된 방식으로 노출하는 서비스 래퍼로 나뉜다.

ClientTargetInterface+request()Wrapper-legacySystem+request()LegacySystem+specificRequest()

레거시 금융 시스템을 REST API로 노출하는 서비스, JDBC API를 통해 ODBC 드라이버에 접근하는 JDBC-ODBC 브리지, XML 기반 시스템을 JSON 기반 인터페이스로 변환하는 서비스가 이 역할에 해당한다.

Mediator가 시스템 사이의 대화를 한곳에 모으는 방식

Mediator는 여러 컴포넌트 사이의 상호작용을 캡슐화하는 설계 패턴이다. 컴포넌트가 서로 직접 통신하는 대신 중앙의 통신 채널을 거치게 하므로, 복잡한 상호작용과 비즈니스 로직을 한곳에서 관리할 수 있다.

이 구조는 N:N 통신을 1:N 통신으로 단순화한다. 각 컴포넌트는 Mediator만 알면 되므로 상호 의존성이 줄고, 시스템의 확장성과 유지보수성도 높아진다.

구현은 추상 인터페이스로 컴포넌트를 연결하는 방식, 이벤트 발행·구독 모델을 사용하는 방식, ESB(Enterprise Service Bus)처럼 서비스 버스 형태로 구성하는 방식으로 나눌 수 있다.

Mediator+notify(sender, event)ConcreteMediator-componentA-componentB-componentC+notify(sender, event)Component-mediator+setMediator(mediator)+send(event)ComponentA+operationA()ComponentB+operationB()ComponentC+operationC()

항공 교통 관제 시스템에서 비행기 간 통신을 조정하는 구조, 사용자 간 메시지를 중재하는 챗룸 서버, 여러 기업 시스템의 통신을 담당하는 ESB가 Mediator의 사례다.

Wrapper와 Mediator의 역할 차이

특성 Wrapper Mediator
주요 목적 기존 시스템에 새로운 인터페이스 제공 여러 시스템 간 상호작용 중재
관계 패턴 1:1 관계 (래퍼와 래핑 대상) N:1:N 관계 (여러 컴포넌트와 중재자)
결합도 래핑 대상에 강하게 결합 모든 컴포넌트가 중재자에만 결합
주요 활용 레거시 시스템 통합, 인터페이스 변환 복잡한 시스템 간 상호작용 관리
확장성 각 시스템별 래퍼 필요 중재자 확장으로 여러 시스템 지원

Wrapper는 하나의 시스템을 다른 환경에서 사용할 수 있게 만드는 데 초점이 있다. Mediator는 이미 연결 가능한 여러 시스템이 서로 어떻게 협력할지를 제어하는 데 적합하다.

표준화된 접점을 중재 계층에 연결하기

두 패턴을 함께 사용하면 Wrapper가 개별 시스템의 인터페이스를 표준화하고, Mediator가 표준화된 인터페이스 사이의 상호작용을 관리한다. 새 시스템을 추가할 때도 해당 시스템을 Wrapper로 감싼 뒤 Mediator에 연결하면 되므로 기존 영역의 영향도를 줄일 수 있다.

레거시 시스템 AWrapper A클라우드 서비스 BWrapper B외부 API CWrapper C데이터베이스 DWrapper DMediator클라이언트 1클라이언트 2클라이언트 3

금융권 통합 시스템에서는 다양한 레거시 금융 시스템을 Wrapper로 감싸고 ESB를 Mediator로 사용해 통합할 수 있다. 마이크로서비스 환경에서는 API Gateway가 Wrapper 역할을, Service Mesh가 통신 중재 역할을 맡는다. IoT 플랫폼에서는 디바이스 어댑터로 각 장비를 연결하고 IoT Hub로 통합 관리를 수행한다.

통합 계층을 운영할 때 남는 과제

계층이 추가되는 만큼 Wrapper와 Mediator가 만드는 지연을 최소화해야 한다. 시스템 추가나 변경의 영향도를 제한할 수 있도록 확장성을 설계하고, 한 시스템의 장애가 전체 통합 흐름으로 번지지 않도록 장애 격리를 마련해야 한다. 여러 시스템에 걸친 트랜잭션의 일관성도 별도로 관리 대상이 된다.

구현은 핵심 시스템부터 Wrapper를 순차적으로 만들고 Mediator에 연결하는 방식으로 진행할 수 있다. 모든 Wrapper가 따를 공통 인터페이스를 정의하고, 통합 흐름을 추적할 수 있는 모니터링 체계를 갖춘다. 인터페이스 변경에는 하위 호환성을 유지하는 버전 관리 방안이 필요하다.

클라우드와 데이터 통합에서의 적용

API 게이트웨이는 여러 백엔드 서비스를 감싸는 Wrapper 역할을 하고, 서비스 메시는 마이크로서비스 사이의 통신을 중재하는 Mediator 역할을 한다. 이 조합은 복잡한 마이크로서비스 아키텍처의 관리에 활용된다.

클라우드 통합 환경에서는 다양한 SaaS 서비스를 표준 인터페이스로 감싸고, 이벤트 허브나 메시지 큐로 Mediator를 구현할 수 있다. 하이브리드·멀티 클라우드 환경의 서비스 통합도 같은 구조로 다룬다.

데이터 통합 아키텍처에서는 데이터 소스를 표준화된 형식으로 바꾸는 계층이 Wrapper가 되며, 여러 데이터 소스와 목적지 사이의 흐름을 조정하는 계층이 Mediator가 된다. 데이터 레이크와 웨어하우스 구축에서도 활용할 수 있다.

AI와 이벤트 기반 환경으로의 확장

AI를 이용하면 시스템 간 인터페이스 차이를 분석해 Wrapper 코드를 생성하고, 통신 패턴을 학습해 Mediator 설정을 조정하는 방향을 생각할 수 있다. 통합 오류 예측과 자가 복구 메커니즘도 이 흐름에 포함된다.

이벤트 소싱 기반으로 Wrapper와 Mediator를 구성하면 실시간 데이터 흐름 처리와 시스템 통합을 결합할 수 있다. 이는 확장성과 복원력이 향상된 통합 아키텍처로 이어진다.

블록체인 기반 분산 시스템에서도 두 패턴을 활용할 수 있으며, Edge Computing 환경에서는 지역적 Mediator와 중앙 Mediator를 계층적으로 구성할 수 있다. 초대규모 시스템에서는 분산 Mediator 패턴의 적용이 가능하다.

디자인 패턴시스템 통합WrapperMediator레거시 시스템