다음을 통해 공유


Microsoft Dynamics 365와의 Azure 통합

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dynamics 365 이벤트 실행 파이프라인을 Microsoft Azure 서비스 버스에 연결하여 Microsoft Dynamics 365(온라인 및 온-프레미스)을 Microsoft Azure 플랫폼과 연결할 수 있습니다. 이 연결이 구성되면 현재 Dynamics 365 작업의 일부가 된 데이터를 서비스 버스에 게시할 수 있습니다. 'Dynamics 365-인식'인 Microsoft Azure 서비스 버스 솔루션은 서비스 버스의 Microsoft Dynamics 365 데이터를 수신하고 읽을 수 있습니다.

Microsoft Dynamics 365과 Microsoft Azure 플랫폼 간 연결은 Dynamics 365 런타임 데이터를 외부 클라우드 기반 비즈니스 응용 프로그램(LOB)과 통신하여 안전한 채널을 제공합니다.

이 항목의 내용

연결의 핵심 요소

Dynamics 365 및 서비스 버스 시나리오

Dynamics 365와 Azure 솔루션 간의 계약 설정

런타임 오류 관리

연결의 핵심 요소

Microsoft Dynamics 365 및 Microsoft Azure 서비스 버스 간 연결을 구현하는 핵심 요소는 다음과 같습니다. 다음 섹션의 다이어그램은 작업의 이 같은 요소를 보여 줍니다.

  • 데이터 컨텍스트
    데이터 컨텍스트에는 현재 Dynamics 365 작업의 일부가 되어 있는 비즈니스 데이터가 있습니다. 이 프로세싱은 사용자, 워크플로 또는 응용 프로그램에서 Dynamics 365 플랫폼으로 특정 작업을 수행할 요청을 만들 때 시작됩니다. 데이터 컨텍스트는 이벤트 파이프라인으로 등록된 플러그 인 또는 사용자 지정 워크플로로 전달되어 현재 처리 중인 특정 요청 및 엔터티 혼합에 대해 실행합니다. 데이터 컨텍스트는 이벤트 실행 파이프라인을 따라 전달되는 경우 IPluginExecutionContext 유형이고 서비스 버스에 게시될 때는 RemoteExecutionContext 유형입니다.

    Microsoft Azure 서비스 버스에 게시되는 Message 내에 포함된 데이터 컨텍스트는 기본.NET 바이너리 형식 뿐만 아니라 XML 이나 JSON에서 서식을 지정할 수 있습니다. 이렇게 하면 Azure 호스팅된 비-.NET 클라이언트가 서비스 버스에서 Dynamics 365 데이터를 읽을 수 있는 플랫폼간 상호 운용이 가능해 집니다.이 기능은 CRM Online 2016 업데이트 1 및 CRM 2016 서비스 팩 1(온-프레미스)에서 소개되었습니다..

    에 대한 자세한 내용은 위에서 설명한 기술은 플러그 인에 전달된 데이터 컨텍스트 이해, 이벤트 실행 파이프라인Microsoft Azure 솔루션에 대한 수신기 응용 프로그램 작성를 참조하십시오.

  • 플러그 인
    플러그 인은 Microsoft Azure 서비스 버스에 데이터 컨텍스트를 포함한 Message 게시를 시작할 때 사용되는 메시지 또는 사용자 지정 워크플로 활동 메서드 중 하나입니다. Dynamics 365-Azure 연결 기능으로 지원되는 두 종류의 플러그 인에는 OOB(기본 제공) 및 사용자 지정 두 가지가 있습니다. 어느 경우든 최적의 시스템 성능을 위해 비동기적으로 실행하는 플러그인을 등록하는 것이 좋습니다.

    Azure-인식 OOB 플러그 인은 Dynamics 365로 제공되며 SDK 다운로드의 플러그 인 등록 도구를 사용하여 등록할 수 있습니다. 이 플러그 인은 Microsoft Dynamics 365 플랫폼에서 완전 신뢰 수준으로 실행됩니다. Message를 식별하는 이벤트 실행 파이프라인과 알림 게시를 실행 및 수행할 플러그 인을 유발하는 엔터티 조합에 플러그 인 '단계'를 등록해야 합니다. 실행 시, 플러그 인이 서비스 끝점 알림 서비스(IServiceEndpointNotificationService)를 통해 비동기 서비스를 알려 Microsoft Azure 서비스 버스에 현재 요청 데이터 컨텍스트를 게시합니다.

    "Azure 인식"의 사용자 지정 플러그 인을 작성할 수도 있습니다. 사용자 지정 플러그 인은 샌드박스에서 부분 신뢰 모드로 실행할 수 있습니다. 사용자 지정 플러그 인 서비스 끝점이 알림 서비스를 통해 서비스 버스에 대한 데이터 컨텍스트의 게시를 시작할 수 있습니다. 이 서비스를 호출하는 코드를 추가하면 플러그 인을 'Azure-인식'으로 만듭니다. 일반적인 플러그 인에 대한 자세한 내용은 플러그 인 작성을 참조하십시오.Azure 인식 플러그 인에 대한 자세한 내용은 사용자 지정 Azure 인식 플러그 인 작성을 참조하십시오.

  • 사용자 지정 워크플로 활동
    플러그 인과 마찬가지로 사용자 지정 워크플로 활동을 작성하여 서비스 끝점 알림 서비스(IServiceEndpointNotificationService)를 사용하여 Microsoft Azure 서비스 버스에 현재 요청 Message 데이터 컨텍스트 게시를 시작할 수 있습니다.추가 정보:샘플: Azure 인식 사용자 지정 워크플로 활동.

  • 비동기 서비스
    서비스 끝점 알림 서비스의 알림을 받으면, 비동기 서비스가 이벤트 실행 파이프라인이 현재 처리 중인 요청 Message의 데이터 컨텍스트를 Microsoft Azure 서비스 버스로 게시하는 작업을 처리합니다. 각 게시물은 비동기 서비스의 시스템 작업으로 수행됩니다. 사용자는 Microsoft Dynamics 365 웹 응용 프로그램의 시스템 작업 보기를 사용하여 각 시스템 작업을 상태를 볼 수 있습니다.

    에 대한 자세한 내용은 비동기 서비스는 Microsoft Dynamics 365의 비동기 서비스를 참조하십시오.

  • Microsoft Azure 서비스 버스
    서비스 버스는 Microsoft Dynamics 365 및 Microsoft Azure 서비스 버스 솔루션 수신기 응용 프로그램 간에 요청 메시지 데이터 컨텍스트를 전달합니다. 서비스 버스는 데이터 보안 역시 제공하여 인증된 응용 프로그램만 게시된 Dynamics 365 데이터에 액세스할 수 있도록 합니다. 서비스 버스로 데이터 컨텍스트를 게시하고 해당 컨텍스트를 읽는 수신기 응용프로그램용 Microsoft Dynamics 365의 인증은 Microsoft Azure Active Directory 액세스 제어 서비스(ACS) 또는 Microsoft Azure SAS(공유 액세스 서명)으로 관리됩니다.

    참고

    SAS 인증 정보: 이 기능은 CRM Online 2016 업데이트 1 및 CRM 2016 서비스 팩 1(온-프레미스)에서 소개되었습니다. SAS는 보다 현대적인 인증 양식이며 ACS에 비해 더 나은 성능을 보입니다.

    에 대한 자세한 내용은 서비스 버스는 서비스 버스를 참조하십시오.에 대한 자세한 내용은 서비스 버스 인증은 서비스 버스 인증 및 권한 부여를 참조하십시오.

  • Microsoft Azure 솔루션
    작업할 Dynamics 365-Azure 연결의 경우 솔루션에 하나 이상의 서비스 끝점이 있는 Microsoft Azure 서비스 버스 솔루션 계정에 하나 이상의 솔루션이 있어야 합니다. 릴레이 끝점 계약의 경우 'Dynamics 365 인식'인 수신기 응용 프로그램은 서비스 버스에서 Dynamics 365 요청에 대한 끝점을 활발하게 수신하고 있어야 합니다. 큐 끝점 계약의 경우 수신기는 활발하게 수신하고 있을 필요가 없습니다. 유형 RemoteExecutionContext가 정의되도록 Microsoft.Xrm.Sdk 어셈블리에 연결하여 수신기를 "Dynamics 365 인식"으로 만듭니다.추가 정보:Microsoft Azure 솔루션에 대한 수신기 응용 프로그램 작성

    Microsoft Dynamics 365은 Azure 이벤트 허브 솔루션으로 이벤트 데이터 전송을 지원합니다.이 기능은 CRM Online 2016 업데이트 1 및 CRM 2016 서비스 팩 1(온-프레미스)에서 소개되었습니다..에 대한 자세한 내용은 이벤트 허브는 Azure 이벤트 허브 솔루션의 Dynamics 365 이벤트 데이터로 작업을 참조하십시오.

Dynamics 365 및 서비스 버스 시나리오

이제 앞에서 언급한 연결 구성 요소를 구현하는 시나리오를 식별해 보겠습니다. 필수 구성 요소로 ACS는 Microsoft Dynamics 365을 지원되는 발급자로 인식하도록 구성되고 Microsoft Azure 서비스 버스 솔루션은 Microsoft Dynamics 365에서 수신기가 수신하는 끝점에 게시할 수 있도록 하는 규칙으로 구성되어 있어야 합니다.

다음 다이어그램은 시나리오를 구성하는 물리적 요소를 보여 줍니다.

서비스 버스 시나리오에 대한 Microsoft Dynamics CRM

이 다이어그램에서 식별되는 이벤트 순서는 다음과 같습니다.

  1. 수신기 응용 프로그램은 Microsoft Azure 서비스 버스 솔루션 끝점에 등록되면 서비스 버스에서 Microsoft Dynamics 365 원격 실행 컨텍스트를 활발하게 수신하기 시작합니다.

  2. 사용자는 등록된 OOB 플러그 인 또는 사용자 지정 Azure 인식 플러그 인의 실행을 트리거하는 Microsoft Dynamics 365에서 몇 가지 작업을 수행합니다. 플러그 인은 비동기 서비스 시스템 작업을 통해 현재 요청 데이터 컨텍스트를 서비스에 게시하기 시작합니다.

  3. Microsoft Dynamics 365에 게시된 클레임을 인증합니다. 그런 다음 서비스 버스는 수신기에 원격 실행 컨텍스트를 전달합니다. 수신기는 컨텍스트 정보를 처리하고 해당 정보를 사용하여 일부 비즈니스 관련 작업을 수행합니다. 서비스 버스가 비동기 서비스의 성공적인 게시를 통보하고 관련 시스템 작업을 완료 상태로 설정합니다.

Dynamics 365와 Azure 솔루션 간의 계약 설정

각 솔루션 끝점에 대해 서비스 버스에서 이러한 원격 실행 컨텍스트 "메시지" 처리를 정의하는 계약과 해당 끝점에서 사용해야 하는 보안을 구성합니다. 서비스 버스 메시지는 여기에 나열된 지원되는 계약 중 하나를 사용하여 끝점에서 수신합니다.


  • 큐 계약은 메시지 큐를 클라우드에서 제공합니다. 큐 계약을 사용하면 수신기는 끝점에서 메시지를 활발하게 수신하고 있을 필요가 없습니다. 큐에는 소거식 읽기와 비소거식 읽기가 있습니다. 소거식 읽기는 큐에서 사용할 수 있는 메시지를 읽고 메시지가 제거됩니다. 비소거식 읽기는 큐에서 메시지를 제거하지 않습니다.

    Microsoft Dynamics 365에서 지원하는 큐 유형은 영구 큐라고 합니다. 영구 큐에는 코드에 지정할 수 있는 길지만 한정된 메시지 사용 가능 기간이 있습니다.

  • 단방향
    단방향 계약에는 활성 수신기가 필요합니다. 끝점에 대한 활성 수신기가 없는 경우, 서비스 버스로의 게시가 실패합니다.Microsoft Dynamics 365은 기하급수적으로 커지는 타임 스팬으로 요청을 게시하는 비동기 시스템 작업이 중단되고 상태가 '실패'로 설정될 때까지 계속해서 게시를 다시 시도합니다.

  • 양방향
    양방향 계약은 일반 계약과 비슷하지만, 수신기에서 플러그 인 또는 게시를 시작한 사용자 지정 워크플로 활동으로 문자열 값을 반환할 수 있다는 점이 다릅니다.

  • REST
    REST 계약은 REST 끝점에서 양방향 계약과 비슷합니다.

  • 항목
    하나 이상의 수신기는 항목을 구독하고 항목에서 메시지를 받을 수 있다는 점을 제외하면 큐와 비슷합니다.

  • 이벤트 허브
    이 계약 유형은 Microsoft Azure 이벤트 허브 솔루션에 적용됩니다.

중요

이러한 계약을 사용하려면 Microsoft AzureSDK v1.7 이상을 사용하여 수신기 응용 프로그램을 작성해야 합니다.

계약이 사용하는 보안 종류를 식별하는 것은 계약 구성의 일부입니다. 계약은 TLS(Transport Layer Security) 또는 SSL(Secure Sockets Layer)(https)을 사용하는 전송 보안을 사용할 수 있습니다.

클레임 인증은 서비스 버스에 대한 보안 액세스에 사용됩니다. 서비스 버스를 인증하는 데 사용된 클레임은 Microsoft Dynamics 365에서 생성되고 Microsoft Dynamics 365 구성 데이터베이스에 지정된 AppFabricIssuer 인증서로 서명됩니다.

런타임 오류 관리

서비스 버스에 게시를 시도한 후 오류가 발생하면 오류에 대한 자세한 내용은 Microsoft Dynamics 365 웹 응용 프로그램에서 관련 시스템 작업의 상태를 확인하십시오. 서비스 버스가 중단되거나 수신기/끝점을 사용할 수 없으면 Microsoft Dynamics 365에서 처리 중인 현재 메시지가 버스에 게시되지 않습니다. 비동기 서비스는 메시지 게시를 기하급수적 패턴으로 계속 시도합니다. 처음에는 자주 게시하고 그런 다음 간격을 점점 더 늘려 시도합니다. 내부 Microsoft Dynamics 365 오류의 경우 메시지 게시가 시도되지 않습니다. 외부 서비스 버스 또는 네트워크 오류의 경우 관련 시스템 작업이 "대기" 상태가 됩니다.

참고 항목

Microsoft Dynamics 365에 대한 Azure 확장
Microsoft Dynamics 365와의 Azure 통합 구성
플러그 인을 작성하여 비즈니스 프로세스 확장
Microsoft Dynamics 365의 비동기 서비스
AsyncOperation(시스템 작업) 엔터티

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보