Aaron H. Kim Fearless Integration Maniac

BizTalk Q&A : 파이프라인이 뭔가요?

2008-09-01
Aaron Kim

이 글은 기획 강의 BizTalk Q&A 200의 일부입니다.

답변(번역) :

비즈토크(BizTalk) 파이프라인이란 Pipes and Filters Integration 패턴을 구현한 마이크로소프트 비즈토크(BizTalk) 서버의 컴포넌트입니다. 파이프라인은 메시지들이 MessageBox 데이터베이스에 들어가거나 나올 때 준비를 위한 메시지 변환을 수행합니다. 파이프라인의 주요 작업은 수신받은 데이터를 알맞은 Xml 메시지로 변환하는 것이 되겠습니다.</font>

역자 보충 설명 :

비즈토크(BizTalk) 서버는 기본적으로 통합(EAI/B2Bi)을 위한 플랫폼이므로 여러 시스템들과 다양한 포맷의 문서를 주고 받을 수 있어야 합니다. 그리고 비즈토크(BizTalk) 엔진은 내부적으로 Xml 만을 사용하므로, Xml이 아닌 다른 포맷의 문서를 Xml로 변환하고, 이를 또 다른 포맷으로 변환할 방법이 있어야 겠지요. 포맷 변환시에는 메시지 전송자 인증이라던가, 암/복호화, 압축/해제 등 다른 처리를 필요할 수도 있습니다.

이와 같은 일련의 작업들을 논리적인 그룹으로 나누고, 변경이 일어났을 때 수정이 용이하도록 설계된 것이 바로 파이프라인입니다. 파이프라인에는 수신과 송신 두 가지 종류가 있는데 서로 정반대의 역할을 수행합니다.

메시지 흐름과 파이프라인의 역할

이외에도 파이프라인은 서로 다른 기능을 수행하는 여러 Stage들로 구성되어 있습니다. 여기서 Stage란 비슷한 처리 작업들의 논리적인 그룹입니다. 각 Stage들은 0~255개까지의 컴포넌트를 가질 수 있으며 송신 파이프라인의 어셈블(Assemble) Stage만 예외적으로 0~1개의 컴포넌트를 갖습니다.

송신(좌), 수신(우) 파이프라인

각 Stage에 들어갈 컴포넌트만 넣어주고 빌드하면 손쉽게 사용할 수 있고, 이미 비즈토크(BizTalk)에서 제공하는 기본 파이프라인 컴포넌트들이 있기 때문에 실질적으로 파이프라인 작성시 개발 공수가 드는 것은 각 Stage에 들어갈 “사용자 파이프라인 컴포넌트”를 개발해야 하는 경우 뿐입니다. 파이프라인은 수신 위치 또는 송신 포트에 위치하여 메시지들이 해당 포트를 지날 때 작업을 수행합니다.

이렇게 쉽게 사용하고 있는 파이프라인 역시 사실은 Pipes and Filters 패턴을 구현한 컴포넌트입니다. 다음 참조 자료들을 보시면 파이프라인이 해당 Integration 패턴의 장점과 단점을 고스란히 물려받고 있다는 점을 확인할 수 있습니다.

Pipes and Filters – Microsoft Patterns & Practices

Implementing Pipes and Filters with BizTalk Server 2004 – Microsoft Patterns & Practices

Pipes and Filters – Evacast (데브피아 동영상)


Similar Posts

Comments