다음을 통해 공유


방법: 비즈니스 규칙 정책을 사용하여 여정 선택

목표

이 섹션에서는 받은 메시지의 내용에 따라 여정을 선택하는 데 사용할 수 있는 비즈니스 규칙을 만드는 방법과 이러한 규칙을 호출하도록 램프의 일반 여정 내에서 여정 선택기 파이프라인 구성 요소를 구성하는 방법을 보여 줍니다. 이 섹션에서는 고객이 거주하는 지역에 따라 메시지가 다르게 라우팅되는 비즈니스 시나리오에 대해 설명합니다.

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

  • 고객 글로벌 뱅크의 서부 및 동부 부서에 대한 여정을 모델링합니다.

  • 요청을 처리하기 위한 여정을 선택하는 데 사용할 비즈니스 규칙 정책을 만듭니다.

  • 비즈니스 규칙 정책을 사용하여 적절한 여정을 선택하도록 여정 선택기 파이프라인 구성 요소를 구성합니다.

필수 구성 요소

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

시작하기 전에

이 방법 항목의 뒷부분에서 단계를 수행하기 전에 다음 작업을 완료합니다.

  • GlobalBank West 테스트 메시지를 만듭니다.

  • GlobalBank East 테스트 메시지를 만듭니다.

    다음 절차에서는 이러한 각 작업을 수행하는 방법을 설명합니다.

GlobalBank West 테스트 메시지를 만들려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. NAOrderDoc.xml 복사본을 만든 다음 복사본 이름을 West.xml.

  3. 메모장에서 West.xml 연 다음 customerName 요소의 값을 GlobalBankWest로 변경합니다.

  4. West.xml UTF-8로 저장한 다음 메모장을 닫습니다.

GlobalBank East 테스트 메시지를 만들려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. NAOrderDoc.xml 복사본을 만든 다음 복사본 이름을 East.xml.

  3. 메모장에서 East.xml 연 다음 customerName 요소의 값을 GlobalBankEast로 변경합니다.

  4. East.xml UTF-8로 저장한 다음 메모장을 닫습니다.

단계

BRE(비즈니스 규칙 엔진) 정책을 만들어 사용자 지정 메시지 속성을 사용하여 여정을 선택하려면

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

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

    참고

    이 방법 항목에서는 방법 : 교환 분할 및 고유한 여정을 사용하여 결과 메시지를 여러 파일 위치로 라우팅 항목에서 만든 것과 동일한 비즈니스 규칙 정책 및 여정을 사용합니다. 해당 섹션을 이미 완료한 경우 이 항목의 뒷부분에 있는 "ESB 온 램프를 만들고 구성하려면" 절차로 건너뛸 수 있습니다.

고객 GlobalBank West에 대한 선택 규칙을 추가하려면

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

  2. 팩트 Explorer XML 스키마 탭을 클릭하고 스키마를 마우스 오른쪽 단추로 클릭한 다음 찾아보기를 클릭합니다.

  3. 스키마 파일 대화 상자에서 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB로 이동합니다. DynamicResolution.Schemas에서 NAOrderDoc.xsd를 선택한 다음 열기를 클릭합니다.

    참고

    테스트에 사용할 서부 및 동부 메시지를 만드는 데 사용된 NAOrderDoc.xml 메시지를 정의하는 스키마입니다.

  4. 팩트 Explorer NAOrderDoc.xsd를 클릭하고 속성 창에서 문서 형식 속성을 클릭한 다음 GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc를 입력합니다.

    참고

    스키마의 정규화된 이름입니다.

  5. 팩트 Explorer NAOrderDoc.xsd를 확장한 다음 OrderDoc를 확장합니다.

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

  7. 팩트 Explorer customerName 요소를 조건 아래의 argument1 노드로 끌어옵니다.

  8. argument2 노드를 클릭한 다음 GlobalBankWest를 입력합니다.

  9. 팩트 Explorer 어휘 탭을 클릭합니다. ESB를 확장합니다. 여정 어휘를 확장하고 버전 1.1을 확장한 다음 일정 이름 설정 정의를 작업으로 끌어옵니다.

  10. 빈 문자열>을 클릭한< 다음 GlobalBankWestItinerary를 입력합니다.

    참고

    이 방법 항목의 뒷부분에서는 GlobalBank West의 메시지를 처리하는 이 여정을 만듭니다.

Customer GlobalBank East에 대한 선택 규칙을 추가하려면

  1. 정책 Explorer SetGlobalBankWestItinerary 규칙을 마우스 오른쪽 단추로 클릭한 다음 복사를 클릭합니다.

  2. 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 붙여넣기를 클릭합니다.

  3. 새 규칙 이름 대화 상자에서 SetGlobalBankEastItinerary를 입력하고 확인을 클릭합니다.

  4. 정책 Explorer SetGlobalBankEastItinerary 규칙을 클릭합니다.

  5. 조건 섹션에서 GlobalBankWest를 마우스 오른쪽 단추로 클릭한 다음 인수 다시 설정을 클릭합니다.

  6. argument2를 클릭한 다음 GlobalBankEast를 입력합니다.

  7. 작업 섹션에서 GlobalBankWestItinerary를 마우스 오른쪽 단추로 클릭한 다음 인수 다시 설정을 클릭합니다.

  8. 빈 문자열>을 클릭한< 다음 GlobalBankEastItinerary를 입력합니다.

    참고

    방법 항목의 뒷부분에서 이 여정을 만들어 GlobalBank East의 메시지를 처리합니다.

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

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

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

GlobalBank West 메시지에 대한 ESB 여정 DSL(도메인별 언어) 모델을 만들려면

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

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

  3. 새 항목 추가 대화 상자의 템플릿 창에서 여정Dsl을 클릭합니다.

  4. 이름 상자에 GlobalBankWestItinerary를 입력하고 추가를 클릭합니다.

GlobalBank West 여정의 속성을 구성하려면

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

    1. 모델 내보내기 드롭다운 목록에서 데이터베이스 여정 내보내기를 클릭합니다.

    2. 여정 데이터베이스 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.

    3. 연결 속성 대화 상자에서 여정 리포지토리 데이터베이스를 호스트하는 SQL Server 선택한 다음 데이터베이스의 이름을 지정합니다(기본 이름은 EsbItineraryDb).

  2. 여정 상태 드롭다운 목록에서 배포를 클릭합니다.

    참고

    이 단계를 통해 여정을 중앙 리포지토리로 내보낼 수 있습니다. 메시지 수신 시 이 리포지토리에서 일정을 선택하고 첨부할 수 있습니다. 나중에 BRI(비즈니스 규칙 엔진 확인자)를 사용하여 인바운드 메시지를 평가하고 이 리포지토리에서 적절한 여정을 선택하도록 여정 선택기 파이프라인 구성 요소를 구성합니다.

여정의 구조를 정의하려면

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

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

    2. Extender 드롭다운 목록에서 On-Ramp ESB 서비스 확장을 클릭합니다.

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

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

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

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

    2. Extender 드롭다운 목록에서 오프 램프 ESB 서비스 확장을 클릭합니다.

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

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

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

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

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

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

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

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

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

    3. 전송 이름 드롭다운 목록에서 파일을 클릭합니다.

    4. 전송 위치 속성을 클릭한 다음 C:\HowTos\Out\West%MessageID%.xml입력합니다.

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

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

모델을 여정 데이터베이스로 내보내려면

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

    참고

    여정은 여정 데이터베이스로 내보내졌으며 이제 여정 선택기 구성 요소에서 사용할 수 있습니다.

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

GlobalBank East 메시지에 대한 ESB 여정 DSL 모델을 만들려면

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

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

  3. 새 항목 추가 대화 상자의 템플릿 창에서 여정Dsl을 클릭합니다.

  4. 이름 상자에 GlobalBankEastItinerary를 입력하고 추가를 클릭합니다.

GlobalBank 동부 여정의 속성을 구성하려면

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

    1. 모델 내보내기 드롭다운 목록에서 데이터베이스 여정 내보내기를 클릭합니다.

    2. 여정 데이터베이스 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.

    3. 연결 속성 대화 상자에서 여정 리포지토리 데이터베이스를 호스트하는 SQL Server 선택한 다음 데이터베이스의 이름을 지정합니다(기본 이름은 EsbItineraryDb).

  2. 여정 상태 드롭다운 목록에서 배포를 클릭합니다.

    참고

    이 단계를 사용하면 여정을 중앙 리포지토리로 내보낼 수 있습니다. 메시지를 받으면 이 리포지토리에서 여정을 선택하고 연결할 수 있습니다. 나중에 BRI 확인자를 사용하여 인바운드 메시지를 평가하고 이 리포지토리에서 적절한 여정을 선택하도록 여정 선택기 파이프라인 구성 요소를 구성합니다.

여정의 구조를 정의하려면

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

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

    2. Extender 드롭다운 목록에서 On-Ramp ESB 서비스 확장을 클릭합니다.

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

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

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

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

    2. Extender 드롭다운 목록에서 오프 램프 ESB 서비스 확장을 클릭합니다.

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

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

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

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

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

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

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

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

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

    3. 전송 이름 드롭다운 목록에서 파일을 클릭합니다.

    4. 전송 위치 속성을 클릭한 다음 C:\HowTos\Out\East%MessageID%.xml입력합니다.

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

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

모델을 여정 데이터베이스로 내보내려면

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

    참고

    여정은 여정 데이터베이스로 내보내졌으며 이제 여정 선택기 구성 요소에서 사용할 수 있습니다.

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

ESB 온-램프를 만들고 구성하려면

  1. 작업 표시줄에서 시작을 클릭하고 모든 프로그램을 가리킨 다음 BizTalk Server 가리킨 다음 BizTalk Server 관리를 클릭합니다.

  2. BizTalk Server 관리 콘솔에서 BizTalk 그룹을 확장하고 애플리케이션을 확장한 다음 Microsoft.Practices.ESB를 확장합니다.

  3. 수신 위치를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 단방향 수신 위치를 클릭합니다.

  4. 수신 포트 선택 대화 상자에서 OnRamp.Itinerary를 클릭한 다음 확인을 클릭합니다.

  5. 수신 위치 속성 대화 상자의 이름 상자에 OnRamp.Itinerary.HowTo를 입력합니다.

  6. 형식 드롭다운 목록에서 FILE을 클릭한 다음 구성을 클릭합니다.

  7. 파일 전송 속성 대화 상자의 수신 폴더 상자에 C:\HowTos\DropFolder를 입력하고 확인을 클릭합니다.

여정 선택기 파이프라인 구성 요소를 구성하려면

  1. 수신 위치 속성 대화 상자의 수신 파이프라인 드롭다운 목록에서 여정SelectReceiveXml을 클릭한 다음 줄임표 단추(...)를 클릭합니다.

  2. 파이프라인 구성 대화 상자를 사용하여 다음 여정 선택기 구성 요소 속성을 구성합니다.

    1. ItineraryFactKey 속성을 클릭한 다음 Resolver.Itinerary를 입력합니다.

    2. ResolverConnectionString 속성을 클릭한 다음 BRI:\\policy=ResolveItineraryBasedOnCustomer를 입력합니다. useMsg=true; recognizeMessageFormat=true;

    3. 확인을 클릭하여 파이프라인 구성 대화 상자를 닫습니다.

  3. 확인을 클릭하여 수신 위치 속성 대화 상자를 닫습니다.

  4. BizTalk Server 관리 콘솔에서 OnRamp.Itinerary.HowTo 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.

일정 선택기 및 비즈니스 규칙을 테스트하려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. East.xml 파일을 복사(이동 안 함)하고 DropFolder 폴더에 West.xml.

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

    참고

    고객 요소의 값을 제외하고 동일하지만, 여정 선택기 파이프라인 구성 요소의 해상도에 따라 다른 여정을 사용하여 메시지가 처리되었습니다.

  4. BizTalk Server 관리 콘솔에서 OnRamp.Itinerary.HowTo 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용 안 함을 클릭합니다.

  5. OnRamp.Itinerary.HowTo 수신 위치를 사용하지 않도록 설정한 후 마우스 오른쪽 단추로 클릭한 다음 삭제를 클릭합니다. 수신 위치 삭제 확인 대화 상자에서 예를 클릭합니다.

추가 리소스

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