서비스 변환기는 동일한 서비스 인터페이스의 다중 구현을 단일 엔드포인트 주소 뒤에 그룹화하도록 허용하는 서비스 구현 패턴입니다. 각기 다른 서비스 구현은 다양한 품질의 서비스 또는 동작을 제공할 수 있고, 해당 구현의 요구사항 또는 우선순위에 따라 각 클라이언트 요청을 특정 구현에 일치시킬 수 있습니다.
이 패턴을 사용하여 다음을 수행할 수 있습니다.
서비스 제공자 세트는 동일한 인터페이스를 구현하는 ESB(Enterprise Service Bus) 중개를 배치하여 가상화됩니다. 이 중개는 필수 논리를 구현하여 각 클라이언트 요청의 컨텍스트 및 컨텐츠에 따라 특정 엔드포인트를 선택한 후 선택한 서비스 제공자에게 요청을 라우트합니다. 클라이언트는 중개로 제공된 가상 서비스만 볼 수 있으므로 해당 클라이언트에게는 서비스의 실제 제공자인 것으로 여겨집니다.
서비스 중개는 다음을 포함하여 많은 추가 기능을 구현할 수 있습니다.
다음 다이어그램에서는 서비스 선택 시나리오 예제에 대해 설명합니다.
솔루션은 다음과 같은 중개 플로우를 구현합니다.
요청 플로우는 각각의 인바운드 요청을 사전 구성된 여러 서비스 제공자 엔드포인트 중 하나로 맵핑합니다.
또한, 요청 및 응답 메시지를 로그 및 추적하기 위한 옵션도 제공합니다.