방법: LDAP 쿼리를 사용하여 이메일 주소로 메시지를 동적으로 라우팅하는 여정 만들기
목표
이 섹션에서는 LDAP(Lightweight Directory Access Protocol)를 통해 전자 메일 주소를 쿼리한 다음 BizTalk Server SMTP 어댑터를 사용하여 확인된 엔드포인트로 전자 메일 메시지를 보내는 여정을 만드는 방법을 보여 줍니다.
이 방법 항목에서는 다음 단계를 완료합니다.
LDAP 쿼리를 사용하여 메시지를 동적으로 라우팅하는 여정 라우팅 쪽지를 만듭니다.
여정 테스트 클라이언트 샘플 애플리케이션을 사용하여 여정을 테스트합니다.
사전 요구 사항
이 방법 항목의 절차에서는 개발 활동에 대한 필수 구성 요소를 완료해야 합니다.
이 섹션을 완료할 컴퓨터에는 Microsoft Active Directory 디렉터리 서비스를 구성하고 실행해야 합니다(컴퓨터가 도메인 컨트롤러일 필요는 없지만 도메인에 연결되어야 함). 또한 SMTP 서버를 구성하고 실행해야 합니다. 이 방법 항목의 결과를 테스트하려면 ESB에서 보낸 전자 메일을 검사 클라이언트가 있어야 합니다.
이 섹션의 지침에서는 프로필에 유효한 전자 메일 주소(예: johne@globalbank.com)가 있는 John Evans라는 사용자가 포함된 Employees라는 Active Directory 조직 구성 단위가 있는 globalbank.com 도메인이 있는 Global Bank라는 organization 가정합니다. 이러한 환경 요인을 복제할 필요는 없습니다. 그러나 사용자 환경에서 이 구현을 다시 만들기 위해 이러한 요소를 고려하고 필요에 따라 대체합니다.
단계
ESB 여정 DSL(도메인별 언어) 모델을 만들려면
Visual Studio에서 C:\HowTos\Patterns\Patterns.sln 엽니다.
솔루션 탐색기 여정라이브러리 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 여정을 클릭합니다.
새 항목 추가 대화 상자의 이름 상자에 LdapResolution을 입력하고 추가를 클릭합니다.
여정의 속성을 구성하려면
Visual Studio에서 LdapResolution.itinerary의 디자인 화면을 클릭합니다. LdapResolution 속성 창 다음 속성을 구성합니다.
모델 내보내기 드롭다운 목록에서 XML 여정 내보내기를 클릭합니다.
Extender Settings 섹션 아래의 여정 XML 파일 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.
XML 파일 선택 대화 상자의 파일 이름 상자에 C:\HowTos\Itineraries\LdapResolution을 입력하고 저장을 클릭합니다.
참고
이 단계를 통해 여정을 XML로 로컬 파일 위치로 내보낼 수 있습니다. 여정 데이터베이스 대신 로컬 파일 위치로 여정을 내보내면 ESB 테스트 클라이언트 애플리케이션을 사용하여 여정을 테스트할 수 있습니다. 이 방법 항목의 뒷부분에서 이 프로세스를 완료합니다.
여정의 구조를 정의하려면
도구 상자에서 On-Ramp 모델 요소를 디자인 화면으로 끌어옵니다. OnRamp1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 ReceiveNAOrder를 입력합니다.
Extender 드롭다운 목록에서 On-Ramp ESB Extender를 클릭합니다.
BizTalk 애플리케이션 드롭다운 목록에서 Microsoft.Practices.ESB를 클릭합니다.
수신 포트 드롭다운 목록에서 OnRamp.Itinerary를 클릭합니다.
도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어온 다음 On-Ramp 모델 요소의 오른쪽에 놓습니다. ItineraryService1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 RouteMessageEmail을 입력합니다.
여정 서비스 확장기 드롭다운 목록에서 메시징 확장기를 클릭합니다.
참고
이 속성은 프로세스가 파이프라인(메시징)에서 수행되도록 정의합니다. 또는 프로세스가 오케스트레이션에서 수행되는 경우 여정 서비스 Extender 속성을 Orchestration Extender로 설정합니다.
컨테이너 드롭다운 목록에서 ReceiveNAOrder를 확장한 다음 수신 처리기를 클릭합니다.
서비스 이름 드롭다운 목록에서 Microsoft.Practices.ESB.Services.Routing을 클릭합니다.
RouteMessageEmail 모델 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 LdapResolver를 입력합니다.
해결 프로그램 구현 드롭다운 목록에서 LDAP 확인자 확장을 클릭합니다.
전송 이름 드롭다운 목록에서 SMTP를 클릭합니다.
전송 위치 속성을 클릭한 다음 {mail}을 입력합니다.
SearchRoot 속성을 클릭한 다음 ou=Employees,dc=globalbank,dc=com을 입력합니다.
참고
"필수 구성 요소" 섹션의 사양에 따라 환경을 설정하지 않은 경우 이전 속성의 값을 환경에 적합한 값으로 바꿉니다.
Filter 속성을 클릭한 다음 값을 (&(objectClass=User)(|()로 변경합니다. givenName=john)))
참고
이전 값을 입력하여 기존 텍스트를 바꿉니다.
ThrowErrorIfNotFound 드롭다운 목록에서 True를 클릭합니다.
속성 창 엔드포인트 구성 속성을 클릭한 다음 줄임표 단추(...)를 클릭합니다.
엔드포인트 구성 대화 상자에서 EmailBodyText 속성을 클릭한 다음 Order is ready to processed를 입력합니다.
From 속성을 클릭한 다음 을 입력합니다orders@globalbank.com.
MessagePartsAttachment 속성을 클릭한 다음 2를 입력합니다.
Subject 속성을 클릭한 다음 {givenName}에 대해 Order를 입력합니다.
로컬 환경에 대한 연결 정보를 사용하여 SMTPAuthentication, SMTPHost, UserName 및 Password 속성을 구성합니다.
확인을 클릭하여 엔드포인트 구성 대화 상자를 닫습니다.
LdapResolver 확인자를 마우스 오른쪽 단추로 클릭한 다음, 테스트 해결 프로그램 구성을 클릭합니다.
출력 창에서 확인된 엔드포인트 구성 값의 제목이 Order for John인지 확인한 다음 확인된 전송 위치 가 Active Directory의 사용자 계정과 연결된 전자 메일 주소인지 확인합니다(예 johne@globalbank.com: ).
도구 상자에서 커넥터를 클릭합니다. ReceiveNAOrder 모델 요소에서 RouteMessageEmail 모델 요소로 연결을 끌어옵니다.
도구 상자에서 Off-Ramp 모델 요소를 디자인 화면으로 끌어온 다음 RouteMessageEmail 모델 요소의 오른쪽에 놓습니다. OffRamp1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 EmailNAOrderDoc를 입력합니다.
Extender 드롭다운 목록에서 오프 램프 ESB Extender를 클릭합니다.
BizTalk 애플리케이션 드롭다운 목록에서 GlobalBank.ESB를 클릭합니다.
송신 포트 드롭다운 목록에서 DynamicResolutionOneWay를 클릭합니다.
도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어서 RouteMessageEmail 모델 요소와 EmailNAOrderDoc 모델 요소 사이에 배치합니다. ItineraryService1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 SendPortFilter를 입력합니다.
여정 서비스 확장기 드롭다운 목록에서 경사로 확장기를 클릭합니다.
램프 끄기 드롭다운 목록에서 EmailNAOrderDoc를 확장하고 처리기 보내기를 클릭합니다.
도구 상자에서 커넥터를 클릭합니다. RouteMessageEmail 모델 요소에서 SendPortFilter 모델 요소로 연결을 끌어옵니다.
도구 상자에서 커넥터를 클릭합니다. SendPortFilter 모델 요소에서 EmailNAOrderDoc 모델 요소로 연결을 끌어옵니다.
여정 테스트 클라이언트와 함께 사용할 모델을 내보내려면
Visual Studio에서 LdapResolution 여정의 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 모델 내보내기를 클릭합니다.
참고
일정의 XML 버전이 Visual Studio에서 열립니다.
모든 프로젝트 아티팩트 저장
Windows Explorer C:\HowTos\Itineraries로 이동하여 여정 XML(LdapResolution.xml)을 만듭니다.
여정을 테스트하려면
개발 활동(C:\HowTos\ESB.Itinerary.Test.exe - 바로 가기)에 대한 필수 구성 요소 중에 만든 바로 가기를 사용하여 여정 테스트 클라이언트 샘플 애플리케이션을 엽니다.
여정 테스트 클라이언트에서 WCF 서비스 검사 사용 상자의 선택을 취소한 다음 여정 로드를 클릭합니다.
일정 파일 열기 대화 상자에서 C:\HowTos\Itineraries로 이동합니다. LdapResolution.xml를 선택한 다음 열기를 클릭하여 여정을 로드합니다.
확인 을 클릭하여 적재된 여정 메시지의 선택을 취소합니다.
여정 테스트 클라이언트에서 메시지 로드 상자 옆에 있는 줄임표 단추(...)를 클릭합니다.
로드할 XML 문서 선택 대화 상자에서 C:\HowTos로 이동합니다. NAOrderDoc.xml를 선택한 다음 열기를 클릭하여 테스트 메시지를 로드합니다.
요청 제출 단추를 클릭합니다. 테스트가 완료되면 확인을 클릭하여 표시되는 확인을 해제합니다.
Microsoft Outlook Express(또는 선택한 메일 클라이언트)를 열고 John Evans의 전자 메일로 메시지 배달을 확인합니다.
추가 리소스
자세한 내용은 다음 관련 항목을 참조하십시오.