다음을 통해 공유


Microsoft Dynamics CRM와의 Azure 통합

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Dynamics 365 이벤트 실행 파이프라인을 Microsoft Azure 서비스 버스에 연결하여 Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트을 Microsoft Azure 플랫폼과 연결할 수 있습니다. 이 연결로 인해 현재 Dynamics 365 작업의 일부가 된 데이터를 버스에 게시할 수 있습니다. “Dynamics 365를 인식”하는 Microsoft Azure 서비스 버스 솔루션은 Microsoft Dynamics 365 서비스 버스에 게시된 데이터를 수신하고 읽을 수 있습니다. 게시된 데이터는 런타임에 Microsoft Dynamics 365 비동기 플러그 인에 전달된 IExecutionContext 의 확장된 버전인 RemoteExecutionContext 클래스 인스턴스에 저장됩니다.

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

이 항목의 내용

연결의 핵심 요소

CRM의 서비스 버스 시나리오

CRM과 Azure 솔루션 간의 계약 설정

런타임 오류 관리

연결의 핵심 요소

Microsoft Dynamics 365 및 Microsoft Azure 서비스 버스 간 연결을 구현하는 핵심 요소는 다음과 같습니다.

  • 비동기 서비스
    비동기 서비스는 Microsoft Dynamics 365 원격 실행 컨텍스트를 Microsoft Azure 서비스 버스에 게시하는 작업을 담당합니다. 각 게시물은 비동기 서비스의 시스템 작업으로 수행됩니다. 사용자는 Microsoft Dynamics 365 웹 응용 프로그램을 사용하여 각 시스템 작업을 상태를 볼 수 있습니다.

  • 플러그인
    연결 기능에서 지원하는 비동기 등록 플러그 인은 Dynamics 365에서 제공하는 기본 제공(OOB) 플러그 인과 사용자 지정 플러그 인의 두 종류가 있습니다.Microsoft Azure에서 비동기 플러그 인 사용에 대한 자세한 내용은 알림 서비스 액세스를 참조하십시오.

    Azure 인식 플러그 인이 Dynamics 365에 제공됩니다. 이 플러그 인은 Microsoft Dynamics 365 플랫폼에서 완전 신뢰 수준으로 실행됩니다.Microsoft Dynamics 365에 등록하면 플러그 인은 비동기 서비스에 현재 요청의 컨텍스트를 Microsoft Azure 서비스 버스에 게시함을 알릴 수 있습니다. 개발자는 이 플러그 인에 서비스 버스 게시 기능을 사용할 수 있도록 대상 메시지 및 엔터티를 식별하는 단계를 등록해야 합니다.

    "Azure 인식"의 사용자 지정 플러그 인을 작성할 수도 있습니다. 사용자 지정 플러그 인은 샌드박스에서 부분 신뢰 모드로 실행할 수 있으며 모든 Microsoft Dynamics CRM SDK 메서드를 호출할 수 있습니다. 사용자 지정 플러그 인은 비동기 서비스에 요청 컨텍스트를 알리는 표준 코드 줄을 몇 줄 포함하여 Microsoft Dynamics 365 컨텍스트를 서비스 버스에 게시하기 시작할 수 있습니다. 이 클라우드 관련 코드는 플러그 인을 "Azure 인식"으로 만듭니다. 일반적인 플러그 인에 대한 자세한 내용은 플러그 인 작성을 참조하십시오.Azure 인식 플러그 인에 대한 자세한 내용은 사용자 지정 Azure 인식 플러그 인 작성을 참조하십시오.

  • 사용자 지정 워크플로 활동
    현재 요청의 데이터 컨텍스트를 Microsoft Azure 서비스 버스에 게시하기 위해 사용자 지정 워크플로 활동을 작성할 수 있습니다.추가 정보:샘플: Azure 인식 사용자 지정 워크플로 활동.

  • Microsoft Azure 서비스 버스
    서비스 버스는 Microsoft Dynamics 365과 Microsoft Azure 서비스 버스 솔루션 수신기 사이의 원격 실행 컨텍스트를 전달합니다.Microsoft Azure Active Directory 액세스 제어 서비스(ACS)는 클레임 기반 인증 보안을 관리합니다.

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

    Microsoft Dynamics 365 원격 실행 컨텍스트를 서비스 버스에 게시할 수 있도록 솔루션 규칙을 구성해야 합니다. 이 게시를 활성화하려면 ACS에서 Dynamics 365 배포를 지원되는 발급자로 인식해야 합니다.추가 정보:Microsoft Dynamics CRM 2015와의 Azure 통합 구성.

중요

Microsoft Azure 플랫폼에 대한 솔루션 수신기를 개발하려면 Microsoft AzureSDK 버전 1.7 또는 1.8을 개발 컴퓨터에 설치해야 합니다.

CRM의 서비스 버스 시나리오

이제 앞에서 언급한 연결 구성 요소를 구현하는 시나리오를 식별해 보겠습니다. 필수 구성 요소로 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. ACS는 Microsoft Dynamics 365에 게시된 클레임을 인증합니다. 그런 다음 서비스 버스는 수신기에 원격 실행 컨텍스트를 전달합니다. 수신기는 컨텍스트 정보를 처리하고 해당 정보를 사용하여 일부 비즈니스 관련 작업을 수행합니다. 서비스 버스가 비동기 서비스의 성공적인 게시를 통보하고 관련 시스템 작업을 완료 상태로 설정합니다.

CRM과 Azure 솔루션 간의 계약 설정

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


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

    Microsoft Dynamics 365에서 지원되는 큐에는 메시지 버퍼 큐와 영구 큐 두 가지가 있습니다. 메시지 버퍼 큐의 경우 보통 10분 미만의 미리 구성된 시간 안에 읽지 않으면 큐의 메시지가 자동으로 삭제됩니다. 영구 큐에는 코드에 지정할 수 있는 훨씬 더 긴 메시지 사용 가능 기간이 있습니다.

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

  • 양방향
    양방향 계약은 문자열 값이 수신기에서 Microsoft Dynamics 365으로 반환될 수 있는 점을 제외하고 단방향 계약과 비슷합니다.

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

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

중요

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

메시지 버퍼 큐가 삭제되고 Microsoft Dynamics CRM SDK의 이후 릴리스에서는 지원되지 않습니다.

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

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

런타임 오류 관리

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

참고 항목

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

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