FILE 어댑터
Microsoft BizTalk Server 내부와 외부로 파일을 전송하는 파일 어댑터는 파일 어댑터는 수신 어댑터와 송신 어댑터의 두 어댑터로 구성됩니다.
이 섹션에서는 파일 수신 어댑터와 파일 송신 어댑터 둘 다에 대한 워크플로 및 일괄 처리 지원에 대해 설명합니다.
파일 수신 어댑터를 사용하여 파일에서 메시지를 읽고 서버에 제출합니다. 수신 어댑터는 파일을 읽고 BizTalk Server 메시지를 처리할 수 있도록 BizTalk Message 개체를 만듭니다. 파일에서 읽는 동안 어댑터는 파일 내용을 수정할 수 없도록 파일을 잠급니다.
참고
파일 수신 어댑터는 읽기 전용 파일이나 시스템 파일을 선택하지 않습니다. 성능을 향상시키려면 이러한 파일이 포함되지 않은 파일 마스크가 있어야 합니다.
파일 수신 어댑터는 로컬 파일 시스템 또는 네트워크 공유의 파일에서 메시지를 읽습니다. 네트워크 문제로 네트워크 공유에서 지정된 위치를 사용할 수 없는 경우 수신 어댑터는 읽기 작업을 다시 시도합니다(다시 시도 횟수는 BizTalk Server 관리 콘솔에서 구성 가능). 읽은 메시지가 BizTalk 메시징 엔진에 의해 성공적으로 허용되면 수신 어댑터는 파일 시스템 또는 네트워크 공유에서 해당 파일을 삭제합니다. 메시지를 읽었지만 파이프라인이 메시지를 처리하지 못한 경우에는 어댑터가 일시 중단된 큐에 메시지를 두고 파일 시스템 또는 네트워크 공유에서 해당 파일을 삭제합니다. 파일 수신 어댑터가 메시지를 MessageBox 데이터베이스에 전송하거나 일시 중단할 수 없으면 파일 시스템 또는 네트워크 공유에서 원래 파일을 삭제하지 않습니다.
또한 파일을 처리할 때 이름을 바꾸도록 파일 수신 어댑터를 구성할 수도 있습니다. 수신 위치가 종료되었다가 다시 시작되는 경우 수신 어댑터에서 중복 메시지를 생성하지 않도록 하려면 파일 이름을 바꾸어야 합니다. 이는 파일 수신 위치에 대해 구성할 수 있는 옵션입니다. 기본적으로 이름 바꾸기는 사용할 수 없도록 설정되어 있습니다. 이름 바꾸기를 사용하도록 설정하면 파일 수신 어댑터는 .BTS-WIP라는 확장명을 파일에 추가합니다. 그러면 수신 어댑터는 수신 위치의 이름이 바뀐 파일에서 메시지를 읽고 서버에 이를 전송합니다. 수신 어댑터가 성공적으로 파일을 전송하면 수신 어댑터는 파일 시스템 또는 네트워크 공유에서 이름이 바뀐 파일을 삭제합니다. 메시지를 읽었지만 파이프라인에서 처리되지 않은 경우에는 수신 어댑터가 MessageBox 데이터베이스 일시 중단된 큐에 메시지를 배치하고 네트워크 공유에서 이름이 바뀐 파일을 삭제합니다.
참고
파일의 이름을 바꾸어도 성능에는 아무런 영향을 주지 않습니다.
파일 수신 어댑터가 성공적으로 메시지를 읽었지만 MessageBox 데이터베이스에 메시지를 저장하지 못하면 이름이 바뀐 파일을 .BTS-WIP 확장명이 없는 원래 이름으로 되돌립니다. 이름 바꾸기 옵션이 해제되어 있는 경우에는 수신 어댑터가 확장명 .BTS-WIP가 있는 파일을 읽지 않습니다.
파일 수신 어댑터는 Windows 파일 변경 알림을 사용하여 지정된 디렉터리 또는 공유에서 파일을 선택할 시점을 결정합니다. 지정된 디렉터리 또는 공유에 파일이 완전히 기록되기 전에 파일 수신 어댑터가 Windows 파일 변경 알림을 수신하면 파일이 잠기고 파일 수신 어댑터는 파일을 검색하지 않습니다. 이 시나리오에서 파일 수신 어댑터는 파일 수신 위치를 구성할 때 사용할 수 있는 고급 설정 대화 상자에 지정된 폴링 간격(ms)에 지정된 디렉터리 또는 공유를 적극적으로 폴링합니다. 파일 수신 어댑터는 디렉터리 또는 공유를 폴링할 때 공유에서 잠기지 않은 파일을 검색하여 이를 MessageBox 데이터베이스에 전송합니다.
참고
BizTalk Server 파일 어댑터는 NTFS 파일 시스템에서만 테스트되었으며 지원됩니다.
다음 Windows 파일 변경 알림은 파일 수신 어댑터가 지정된 위치에서 파일을 선택하게 합니다.
FILE_NOTIFY_CHANGE_ATTRIBUTES
확인된 디렉터리 또는 하위 트리에서 속성을 변경하면 변경 알림이 반환할 작업을 기다리게 됩니다.
FILE_NOTIFY_CHANGE_FILE_NAME
확인된 디렉터리 또는 하위 트리에서 파일 이름을 변경하면 변경 알림이 반환할 작업을 기다리게 됩니다. 변경에는 이름 바꾸기, 파일 이름 만들기 또는 삭제가 포함됩니다.
FILE_NOTIFY_CHANGE_SIZE
확인된 디렉터리 또는 하위 트리에서 파일 크기를 변경하면 변경 알림이 반환할 작업을 기다리게 됩니다. 운영 체제는 파일이 디스크에 기록될 때만 파일 크기에서 변경을 감지합니다. 광범위한 캐싱을 사용하는 운영 체제의 경우에는 캐시가 충분히 플러시될 때만 감지가 발생합니다.
FILE_NOTIFY_CHANGE_LAST_WRITE
확인된 디렉터리 또는 하위 트리에서 파일의 마지막 기록 시간을 변경하면 변경 알림이 반환할 작업을 기다리게 됩니다. 운영 체제는 파일이 디스크에 기록될 때만 마지막 기록 시간에 대한 변경을 감지합니다. 광범위한 캐싱을 사용하는 운영 체제의 경우에는 캐시가 충분히 플러시될 때만 감지가 발생합니다.
FindFirstChangeNotification 함수에 대한 자세한 내용은 를 참조하세요https://msdn.microsoft.com/library/windows/desktop/aa364417(v=vs.85).aspx.
파일 수신 어댑터는 메시지를 일괄 처리로 서버에 전송합니다. 파일 수신 어댑터는 수신 위치별 단일 일괄 처리를 빌드하고 수신 위치에서 사용 가능한 읽을 수 있는 모든 파일을 수집하는 것으로 시작합니다. 일괄 처리는 사용 가능한 모든 파일이 수집되거나 수집된 파일의 양이 최대 일괄 처리 크기를 초과할 때 수신 어댑터에 의해 MessageBox 데이터베이스에 전송됩니다.
일괄 처리 내의 모든 메시지를 읽고 MessageBox 데이터베이스로 전송하고 나면 파일 수신 어댑터는 수신 위치에서 해당 파일을 삭제합니다. 일괄 처리 내의 일부 메시지가 처리되지 않은 경우에는 파일 수신 어댑터가 이를 일시 중단하고 수신 위치에서 해당 파일을 삭제합니다. 메시지의 일부 또는 모두를 MessageBox 데이터베이스에 저장하지 못하는 경우 전체 일괄 처리 작업이 롤백되고 수신 위치에서 모든 해당 파일은 변경되지 않은 상태로 유지됩니다.
파일 송신 어댑터는 MessageBox 데이터베이스에서 지정된 대상 주소(URL)로 메시지를 전송합니다. 메시지 컨텍스트 속성과 관련된 와일드카드 문자를 사용하여 파일 경로 및 파일 이름인 URL을 정의합니다. 파일 송신 어댑터는 메시지를 파일에 기록하기 전 와일드카드 문자를 실제 파일 이름으로 확인합니다.
메시지를 파일에 기록할 때 파일 송신 어댑터는 BizTalk 메시지 개체의 본문 부분에서 메시지 내용을 가져옵니다. 파일 송신 어댑터는 BizTalk 메시지 개체에서 다른 메시지 부분은 무시합니다. 파일 어댑터가 파일에 메시지를 기록한 후에는 MessageBox 데이터베이스에서 메시지를 삭제합니다. 파일 어댑터는 직접, 또는 특히 큰 파일에서 성능을 향상할 수 있는 파일 시스템 캐시를 사용하여 파일 시스템에 파일을 기록합니다.
파일 송신 어댑터는 MessageBox 데이터베이스에서 메시지 일괄 처리를 가져오고 파일 시스템 또는 네트워크 공유의 대상 위치에 있는 파일에 이를 기록합니다. 파일 송신 어댑터 일괄 처리 크기는 구성할 수 없으며 20으로 미리 설정됩니다. BizTalk Server가 일괄 처리 내 일부 메시지를 파일에 기록하지 못하면 시스템은 해당 메시지를 MessageBox 데이터베이스에 다시 전송하여 처리를 다시 시도합니다. 다시 시도 간격 및 다시 시도 횟수는 BizTalk Server 관리 콘솔을 사용하여 구성할 수 있습니다.