Share via


방법: 비즈니스 규칙 정책을 사용하여 메시지 컨텍스트에 따라 동적으로 메시지 라우팅

목표

이 섹션에서는 BIZTALK SERVER BRE(비즈니스 규칙 엔진) 정책을 사용하여 메시지 컨텍스트 속성에 따라 메시지 엔드포인트를 결정하는 여정을 만든 다음 BizTalk Server FILE 어댑터를 사용하여 메시지를 라우팅하는 방법을 보여 줍니다.

이 방법 항목에서는 다음 단계를 완료합니다.

  • 메시지 유형을 평가하는 비즈니스 규칙 정책을 만듭니다.

  • 비즈니스 규칙 정책을 사용하여 동적으로 라우팅하는 여정 라우팅 쪽지를 만듭니다.

  • 여정 테스트 클라이언트 샘플 애플리케이션을 사용하여 여정을 테스트합니다.

필수 구성 요소

이 방법 항목의 절차에서는 개발 활동에 대한 필수 구성 요소를 완료해야 합니다.

단계

메시지 컨텍스트 속성을 사용하여 메시지를 라우팅하는 BRE 정책을 만들려면

  1. 작업 표시줄에서 시작을 클릭하고 모든 프로그램, BizTalk Server 차례로 가리킨 다음 비즈니스 규칙 작성기를 클릭합니다.

  2. 정책 Explorer 정책을 마우스 오른쪽 단추로 클릭한 다음 새 정책 추가를 클릭합니다. 정책 이름을 RouteBasedOnMessageType으로 지정합니다.

    북미 주문에 대한 라우팅 규칙을 추가하려면

  3. RouteBasedOnMessageType 정책에서 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 새 규칙 추가를 클릭합니다. 규칙 이름을 SetNAOrderEndpoint로 지정합니다.

  4. 규칙 창에서 조건을 마우스 오른쪽 단추로 클릭하고 조건자를 가리킨 다음 같음을 클릭합니다.

  5. 팩트 Explorer ESB를 확장합니다. ContextInfo 어휘를 확장하고 버전 1.0을 확장한 다음 컨텍스트 메시지 유형 팩트 를 조건 아래의 argument1 노드로 끌어옵니다.

    참고

    Microsoft BizTalk ESB 도구 키트에는 규칙을 만드는 데 사용할 수 있는 몇 가지 어휘가 포함되어 있습니다. 이들 중 일부는 사용자 고유의 어휘로 바꾸거나 보강해야 합니다. 예를 들어 DynamicRunTimeMaptypes 정책에는 GlobalBank 샘플에 제공된 맵에 대한 정의가 있습니다.

  6. argument2 노드를 클릭한 다음, 를 입력합니다.http://globalbank.esb.dynamicresolution.com/northamericanservices/#OrderDoc

  7. 팩트 Explorer ESB를 확장합니다. EndPointInfo 어휘를 확장하고 버전 1.0을 확장한 다음 엔드포인트 아웃바운드 전송 위치 설정 정의를 작업으로 끌어옵니다.

  8. 빈 문자열>을 클릭한< 다음 C:\HowTos\Out\NorthAmerica%MessageID%.xml

  9. 팩트 Explorer 엔드포인트 아웃바운드 전송 유형 설정 정의를 작업으로 끌어옵니다.

  10. 팩트 Explorer ESB를 확장합니다. TansportTypes 어휘를 확장하고 버전 1.0을 확장한 다음 Adaptor 공급자 정의를 빈 문자열>로< 끕니다.

  11. 작업 창에서 어댑터 공급자 드롭다운 목록을 확장하고 파일을 클릭합니다.

    정책을 게시하고 배포하려면

  12. 정책 Explorer RouteBasedOnMessageType 정책에서 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 게시를 클릭합니다.

  13. 정책 Explorer RouteBasedOnMessageType 정책에서 버전 1.0 - 게시됨을 마우스 오른쪽 단추로 클릭한 다음 배포를 클릭합니다.

    ESB 여정 DSL(도메인별 언어) 모델을 만들려면

  14. Visual Studio에서 C:\HowTos\Patterns\Patterns.sln을 엽니다.

  15. 솔루션 탐색기 여정라이브러리 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 여정을 클릭합니다.

  16. 이름 상자에 MessageType을 입력한 다음 추가를 클릭합니다.

    여정의 속성을 구성하려면

  17. Visual Studio에서 MessageType.itinerary의 디자인 화면을 클릭합니다. MessageType 속성 창 다음 속성을 구성합니다.

    1. 모델 내보내기 드롭다운 목록에서 XML 여정 내보내기를 클릭합니다.

    2. Extender 설정 섹션의 여정 XML 파일 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.

    3. XML 파일 선택 대화 상자의 파일 이름 상자에 C:\HowTos\Itineraries\MessageType을 입력하고 저장을 클릭합니다.

      참고

      이 단계를 통해 여정을 XML로 로컬 파일 위치로 내보낼 수 있습니다. 여정 데이터베이스 대신 로컬 파일 위치로 여정을 내보내면 ESB 테스트 클라이언트 애플리케이션을 사용하여 여정을 테스트할 수 있습니다. 이 방법 항목의 뒷부분에서 이 프로세스를 완료합니다.

    여정의 구조를 정의하려면

  18. 도구 상자에서 On-Ramp 모델 요소를 디자인 화면으로 끌어옵니다. OnRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 ReceiveOrders를 입력합니다.

    2. Extender 드롭다운 목록에서 On-Ramp ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 Microsoft.Practices.ESB를 클릭합니다.

    4. 수신 포트 드롭다운 목록에서 OnRamp.Itinerary를 클릭합니다.

  19. 도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어온 다음 On-Ramp 모델 요소의 오른쪽에 놓습니다. ItineraryService1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 BreRoute를 입력합니다.

    2. 여정 서비스 확장기 드롭다운 목록에서 메시징 확장기를 클릭합니다.

      참고

      이 속성은 프로세스가 파이프라인(메시징)에서 수행되도록 정의합니다. 또는 프로세스가 오케스트레이션에서 수행되는 경우 여정 서비스 Extender 속성을 Orchestration Extender로 설정합니다.

    3. 컨테이너 드롭다운 목록에서 ReceiveOrders를 확장한 다음 수신 처리기를 클릭합니다.

    4. 서비스 이름 드롭다운 목록에서 Microsoft.Practices.ESB.Services.Routing을 클릭합니다.

  20. BreRoute 모델 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 ByMessageType을 입력합니다.

    2. 해결 프로그램 구현 드롭다운 목록에서 Bre Resolver 확장을 클릭합니다.

    3. 정책 드롭다운 목록에서 RouteBasedOnMessageType v 1.0을 클릭합니다.

  21. 도구 상자에서 커넥터를 클릭합니다. ReceiveOrders 모델 요소에서 BreRoute 모델 요소로 연결을 끌어옵니다.

  22. 도구 상자에서 Off-Ramp 모델 요소를 디자인 화면으로 끌어온 다음 BreRoute 모델 요소의 오른쪽에 놓습니다. OffRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendBasedOnType을 입력합니다.

    2. Extender 드롭다운 목록에서 오프 램프 ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 GlobalBank.ESB를 클릭합니다.

    4. 송신 포트 드롭다운 목록에서 DynamicResolutionOneWay를 클릭합니다.

  23. 도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어온 다음 BreRoute 모델 요소와 SendBasedOnType 모델 요소 사이에 배치합니다. ItineraryService1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendPortFilter를 입력합니다.

    2. 여정 서비스 확장기 드롭다운 목록에서 경사로 확장기를 클릭합니다.

    3. 램프 끄기 드롭다운 목록에서 SendBasedOnType을 확장한 다음 송신 처리기를 클릭합니다.

  24. 도구 상자에서 커넥터를 클릭합니다. BreRoute 모델 요소에서 SendPortFilter 모델 요소로 연결을 끌어옵니다.

  25. 도구 상자에서 커넥터를 클릭합니다. SendPortFilter 모델 요소에서 SendBasedOnType 모델 요소로 연결을 끌어옵니다.

    여정 테스트 클라이언트와 함께 사용할 모델을 내보내려면

  26. Visual Studio에서 MessageType 여정의 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 모델 내보내기를 클릭합니다.

    참고

    일정의 XML 버전이 Visual Studio에서 열립니다.

  27. 모든 프로젝트 아티팩트 저장

  28. Windows Explorer C:\HowTos\Itineraries로 이동하여 여정 XML(MessageType.xml)을 만듭니다.

    여정을 테스트하려면

  29. 개발 활동(C:\HowTos\ESB.Itinerary.Test.exe - 바로 가기)에 대한 필수 구성 요소 중에 만든 바로 가기를 사용하여 여정 테스트 클라이언트 샘플 애플리케이션을 엽니다.

  30. 여정 테스트 클라이언트에서 WCF 서비스 검사 사용 상자의 선택을 취소한 다음 여정 로드를 클릭합니다.

  31. 일정 파일 열기 대화 상자에서 C:\HowTos\Itineraries로 이동합니다. MessageType.xml를 선택한 다음 열기를 클릭하여 여정을 로드합니다.

  32. 확인 을 클릭하여 적재된 여정 메시지의 선택을 취소합니다.

  33. 여정 테스트 클라이언트에서 메시지 로드 상자 옆에 있는 줄임표 단추(...)를 클릭합니다.

  34. 로드할 XML 문서 선택 대화 상자에서 C:\HowTos로 이동합니다. NAOrderDoc.xml를 선택한 다음 열기를 클릭하여 테스트 메시지를 로드합니다.

  35. 요청 제출 단추를 클릭합니다. 테스트가 완료되면 확인을 클릭하여 표시되는 확인을 해제합니다.

  36. Windows Explorer C:\HowTos\Out\으로 이동합니다. NorthAmerica%MessageID%.xml 메시지가 디렉터리에 기록되었는지 확인합니다.

추가 리소스

자세한 내용은 다음 관련 항목을 참조하십시오.