다음을 통해 공유


어댑터 변수

모든 사용자 지정 어댑터는 몇 가지 변수를 반드시 처리해야 합니다. 이러한 변수에 할당하는 값은 어댑터가 구현하는 사용자 지정 논리에 영향을 줍니다. 전송 관련 구성 속성 또는 응용 프로그램 관련 구성 속성도 솔루션을 지원하는 데 도움이 될 수 있습니다. 다음 표는 이러한 일반적인 변수를 보여 줍니다. 사용자 지정 어댑터를 구성할 때는 각 변수를 어댑터에서 지원할지 여부를 결정해야 합니다.

각 옵션에 대해 어댑터는 특정 인터페이스를 구현해야 합니다. 다음에 나오는 표에는 변수 옵션 및 디자인 결정 사항을 지원하기 위해 어댑터 코드를 작성하는 방법을 볼 수 있는 링크 목록이 나와 있습니다.

어댑터 변수 Description
통신 방향 수신. 수신 어댑터가 들어오는 메시지의 프로토콜 관련 주소를 수신 대기합니다. 메시지가 수신되면 수신 어댑터는 메시지를 메시징 엔진에 보내고, 메시징 엔진은 수신 파이프라인을 통해 메시지를 전달하는 방식으로 메시지가 MessageBox 데이터베이스에 보관됩니다.

송신. 특정 엔드포인트에 메시지를 보내야 할 경우 메시징 엔진이 해당 메시지를 송신 파이프라인에 전달합니다. 송신 어댑터는 송신 파이프라인을 통해 전달된 메시지를 받은 후 송신 포트에 보냅니다.
어댑터 호스팅 In Process. in-process 어댑터는 BTSNTSvc.exe BizTalk 서비스 프로세스 내에서 만들어지고 호스트됩니다. 호스트가 64비트인 경우 프로세스 이름은 BTSNTSvc64.exe. 편의상 이 섹션에서는 64비트 프로세스에 대해서는 더 이상 설명하지 않습니다.

즉, BizTalk Server 어댑터의 수명을 만들고 관리하고, 전송 프록시를 사용하여 초기화하고, 어댑터가 요청하는 서비스를 제공하고, 서비스 종료 시 어댑터를 종료합니다.

in-process 어댑터의 경우 BizTalk Server 처리기, 송신 포트 및 수신 위치 구성을 포함하여 런타임에 어댑터에 구성 정보를 제공합니다. 또한 서비스 윈도와 같은 구성은 메시징 엔진에서 처리하기 때문에 어댑터에서 수신 위치나 송신 포트가 서비스 윈도 외부에 있는지 확인하지 않아도 됩니다.

모든 송신 어댑터는 In Process 어댑터이므로 BTSNTSvc.exe 프로세스에서 실행되어야 합니다.

Isolated. 어댑터는 BizTalk Server 런타임의 일부가 아닌 격리된 호스트에서 만들어집니다. Isolated 어댑터의 예로는 IIS(인터넷 정보 서비스)의 처리 공간에서 실행되는 HTTP 수신 어댑터가 있습니다.

IIS 프로세스 모델의 경우에는 IIS가 ASP.NET 응용 프로그램 및 ISAPI 확장의 수명을 관리합니다. BizTalk Server 어댑터의 수명을 관리할 수 없는 경우 어댑터를 격리된 어댑터라고 합니다.

BizTalk Server 격리된 어댑터의 인스턴스화를 관리하지 않으므로 어댑터는 자체 전송 프록시를 만들고 해당 전송 프록시에 등록해야 합니다.

BizTalk Server 아키텍처는 불필요한 프로세스 간 통신을 제거합니다. Isolated 어댑터와 BizTalk 스택은 동일한 프로세스에 존재하기 때문에 어댑터가 메시징 엔진을 호출할 경우 별도의 프로세스 간 통신이 필요하지 않습니다. 유일한 프로세스 간 통신은 메시징 엔진과 데이터베이스 사이의 통신뿐입니다.

COM+ 응용 프로그램은 비관리 코드로 작성된 송신 어댑터를 호스트할 수 없습니다.
메시지 교환 패턴 단방향. 메시지가 들어오거나 나가기만 합니다.

요청-응답 (양방향). 요청 응답 어댑터는 항상 수신 어댑터입니다. 요청-응답 수신 어댑터는 클라이언트에서 요청 메시지를 수신하고 메시지를 BizTalk Server 제출합니다. BizTalk Server 요청 메시지를 처리한 후 응답 메시지를 어댑터로 다시 보냅니다. 그러면 어댑터는 응답 메시지를 클라이언트에 전송합니다.

Solicit-Response (양방향). 요청 응답 어댑터는 항상 송신 어댑터입니다. 간청-응답 송신 어댑터는 BizTalk Server의 요청 메시지를 대상으로 보내고, 응답 메시지를 기다린 다음 응답 메시지를 다시 BizTalk Server에 보냅니다.
송신 포트 바인딩 동적 송신 포트 및 수신 위치. 동적 바인딩에 사용되는 송신 포트 또는 수신 위치의 URI 변수가 런타임에 결정됩니다.

정적 송신 포트 및 수신 위치. 송신 포트 또는 수신 위치의 URI 변수가 정적이고, 런타임 이전에 구성됩니다.
동기식 송신 어댑터 및 비동기식 송신 어댑터 동기식 송신 어댑터. 송신 작업을 실행하는 동안 메시징 엔진은 일괄 처리 메시지를 보낸 후 반환될 때까지 전송 프록시 스레드를 차단합니다. 전송 프록시는 메시지 전송, 재시도, 일시 중단 및 다음 작업으로의 이동이 완료된 후 메시지 제거 작업을 처리합니다.

비동기식 송신 어댑터. 비동기식 송신 어댑터는 전송 프록시 스레드를 차단하는 대신 송신 작업을 수행하는 동안 별도의 스레드를 사용합니다. 동기식 어댑터와 달리 이 어댑터는 모든 삭제 및 재시도 논리를 자체적으로 구현해야 합니다. 이 경우에는 전송 프록시가 이러한 논리를 처리하지 않습니다.

비동기 메시지를 보내는 어댑터는 동기 메시지를 보내는 어댑터보다 더 나은 BizTalk Server 성능을 허용합니다. 그 이유는 스레드에서 인바운드 또는 아웃바운드 작업이 완료될 때까지 기다리는 데 많은 시간을 소요하기 때문입니다. 메시징 엔진은 CPU와 밀접하게 관련되기 때문에 메시징 엔진 스레드를 차단하면 어댑터 성능이 크게 저하됩니다.

성능을 향상시킬 수 있는 비동기식 전송 방식을 사용하는 것이 좋습니다.
비동기식 수신 어댑터 모든 수신 어댑터는 비동기식입니다. 즉, 어댑터가 BizTalk 메시징 엔진에 새 메시지를 전송한 경우 메시징 엔진은 메시지 처리가 완료될 때까지 기다리지 않고 메시지를 반환합니다.
트랜잭션 지원 트랜잭션 어댑터. 메시지의 트랜잭션 송신 및 수신을 지원합니다. 보내는 쪽의 경우 비동기식 일괄 처리 송신 어댑터만 트랜잭션을 지원합니다.

비트랜잭션 어댑터. 명시적인 트랜잭션의 범위 내에서 메시지를 수신하거나 송신하지 않는 어댑터입니다. 대부분의 어댑터는 Windows 파일 시스템과 같이 트랜잭션을 지원하지 않는 시스템과 메시지를 주고 받으므로 비트랜잭션 어댑터입니다.
일괄 처리 지원 송신 어댑터 및 일괄 처리를 지원하지 않는 송신 어댑터 일괄 처리 지원 어댑터. 송신 어댑터가 일괄 처리 작업으로 메시지를 처리할 수 있습니다.

모든 어댑터가 전송용 메시지를 모두 수집한 후 한꺼번에 MessageBox 데이터베이스로 전송할 수 있기 때문에 필요한 데이터베이스 업데이트 횟수를 줄일 수 있습니다. 이는 경우에 따라 일괄 처리의 길이가 하나임을 의미하기도 합니다. 마찬가지로, 송신 어댑터는 송신할 수 있는 모든 메시지를 수집하여 추출한 다음 한꺼번에 해당 대상으로 송신합니다.

일반적으로 BizTalk Server 일괄 처리를 데이터베이스 업데이트에 대한 작업 단위로 처리합니다. 어댑터는 동일한 일괄 처리 내에서 단방향, 요청-응답 및 간청-응답 메시지를 전송할 수 있으며, 메시지 일시 중단, 메시지 삭제, 메시지 재전송 요청, 백업 전송으로의 메시지 이동 요청 등을 수행할 수 있습니다. 가능한 경우 항상 일괄 전송을 사용하는 것이 좋습니다.

송신 어댑터와 수신 어댑터 모두 일괄 처리할 수 있지만 비동기식 일괄 처리 송신 어댑터만 트랜잭션을 지원합니다.

일괄 처리를 지원하지 않는 어댑터. 각 메시지가 서버를 독립적으로 호출해야 합니다.
일괄 처리 지원 수신 어댑터 모든 수신 어댑터가 일괄 처리를 지원합니다.
동적 디자인 타임 어댑터 구성 및 정적 디자인 타임 어댑터 구성 동적 어댑터 디자인 타임. 어댑터에서 동적 디자인 타임 구성이 가능하려면 어댑터 메타데이터 추가 마법사에서 작업할 수 있도록 사용자 지정 UI(사용자 인터페이스)를 개발해야 합니다. 이 인터페이스는 사용자가 BizTalk 프로젝트에 추가할 스키마를 선택하는 데 사용되고 WSDL(웹 서비스 기술 언어) 파일을 통해 서비스 설명을 반환합니다. 어댑터는 스키마를 가져오기 위한 사용자 지정 UI를 제공합니다. 어댑터 메타데이터 추가 마법사를 통해 서비스를 가져오면 이 마법사는 스키마를 포함하여 포트 유형, 메시지 유형 및 오케스트레이션을 BizTalk 프로젝트에 추가합니다.

자세한 내용은 정적 Design-Time 어댑터 구성을 참조하세요.

정적 어댑터 디자인 타임. 어댑터에서 정적 디자인 타임 구성이 가능하려면 어댑터 메타데이터 추가 마법사에서 BizTalk 프로젝트에 추가할 스키마를 선택할 수 있도록 표준 인터페이스를 구현해야 합니다. 어댑터에서 사용할 UI는 BizTalk 어댑터 프레임워크가 제공합니다.

샘플 파일 어댑터를 수정하는 방법에 대한 자세한 내용은 동적 Design-Time 어댑터 구성을 참조하세요.
전송 어댑터 및 응용 프로그램 어댑터 전송 어댑터. 전송 어댑터는 특정 프로토콜을 지원하고 스키마를 사용하지 않습니다. 네이티브 어댑터 12개 중 9개는 MSMQ, MQ 시리즈, 파일, FTP, HTTP, SMTP, POP3 및 SOAP의 전송 어댑터입니다.

응용 프로그램 어댑터. 응용 프로그램 어댑터는 데이터 스키마를 사용하여 특정 응용 프로그램에 데이터를 전송합니다. 네이티브 어댑터 중 두 가지는 애플리케이션 어댑터( Windows SharePoint Services 및 SQL)입니다.

사용자 지정 어댑터 코드에서 구현해야 하는 인터페이스에 대한 자세한 내용을 보려면 다음 표에서 원하는 어댑터 유형에 나와 있는 링크를 클릭하십시오. 경우에 따라서는 한 요구 사항을 충족하기 위한 인터페이스와 다른 요구 사항을 충족하기 위해 다른 페이지에 나와 있는 인터페이스를 모두 구현해야 할 수 있습니다.

변수 참조 항목
어댑터 보내기 송신 어댑터 인스턴스화 및 초기화
동기 동기 송신 어댑터용 인터페이스
비동기 비동기 송신 어댑터용 인터페이스
동기식 일괄 처리 지원 동기 일괄 처리 지원 송신 어댑터용 인터페이스
비동기식 일괄 처리 지원 비동기 일괄 처리 지원 송신 어댑터용 인터페이스
트랜잭션 비동기식 일괄 처리 지원 트랜잭션 비동기 일괄 처리 지원 송신 어댑터용 인터페이스
간청-응답 간청-응답 송신 어댑터용 인터페이스
수신 어댑터 수신 어댑터 인스턴스화 및 초기화
주기적 In-Process 수신 어댑터용 인터페이스
격리 Isolated 수신 어댑터용 인터페이스
일괄 처리 지원 일괄 처리 지원 수신 어댑터용 인터페이스
트랜잭션 일괄 처리 지원 트랜잭션 일괄 처리 지원 수신 어댑터용 인터페이스
동기식 요청-응답 동기 요청-응답 수신 어댑터용 인터페이스

참고 항목

사용자 지정 어댑터 개발
어댑터 사용
어댑터 샘플 - 개발