다음을 통해 공유


CRM 데이터를 외부 시스템과 동기화

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

때때로 Microsoft Dynamics 365 데이터를 다른 시스템에 저장된 데이터와 동기화하고 통합해야 합니다. 일반적인 데이터 통합 패턴은 외부 시스템에서 데이터를 가져와 Dynamics 365에 집어 넣고 Dynamics 365에서 데이터를 가져와 외부 데이터 저장소와 동기화하거나 데이터를 손실하지 않고 안전하게 외부 데이터로 Dynamics 365을 업데이트하는 것을 포함합니다. 이제 Microsoft Dynamics CRM Online 2015 업데이트 1에 소개된 여러 가지 새 기능을 사용하여 코드를 작성함으로써 이러한 시나리오를 보다 쉽게 달성할 수 있습니다.

참고

Microsoft Dynamics CRM Online 조직의 경우 이 기능은 조직이 Dynamics CRM Online 2015 업데이트 1로 업데이트된 경우에만 사용할 수 있습니다. 이 기능은 Dynamics CRM(온-프레미스)에서는 사용할 수 없습니다.

이러한 새 기능은 어떠한 상황에서나 필요할 때 개별적으로 사용할 수 있지만 외부 데이터와 데이터를 동기화하고 통합하는 것과 관련한 일반적인 문제를 해결하기 위해 함께 사용할 수 있습니다. 다음 표는 다음과 같은 새 기능을 소개합니다.

기능

설명

구체적인 메시지 제거

Microsoft Dynamics 365에는 레코드를 업데이트하는 특정 작업에 대한 구체적인 많은 메시지가 있습니다. 이러한 메시지는 이 릴리스에서 더 이상 사용되지 않으며 이제 같은 작업을 수행하려면 Update를 사용해야 합니다. 사용되지 않는 메시지는 다음과 같습니다.

  • Assign

  • SetParentSystemUser

  • SetParentTeam

  • SetParentBusinessUnit

  • SetBusinessEquipment

  • SetBusinessUnit

  • SetState

레코드를 단순히 업데이트하는 것은 이러한 메시지를 사용하는 것보다 훨씬 간단하며 데이터 통합과 동기화 시나리오의 개발을 간소화해야 합니다.추가 정보:업데이트를 사용하여 특수한 작업 수행

대체 키

사용자에게 표시할 수 있도록 외부 엔터프라이즈 시스템의 데이터를 Microsoft Dynamics 365에 로드하기 위해 Microsoft Dynamics 365을 엔터프라이즈에 배포하는 것이 일반적입니다. 이러한 외부 시스템은 종종 시스템 동기화에 필요한 GUID라고 하는 Dynamics 365 레코드 식별자를 저장하기 위해 확장할 수 없습니다. 일반적인 해결책은 외부 시스템의 관련 레코드의 식별자를 저장하는 데 사용할 수 있는 Microsoft Dynamics 365에 있는 엔터티에 사용자 지정 특성을 추가하는 것입니다.

Microsoft Dynamics 365에서 레코드를 업데이트하는 데이터 로드 프로세스를 구축하고 Dynamics 365에서 관련 레코드에 대한 참조를 할당할 때는 먼저 추가 Dynamics 365 웹 서비스를 호출하여 이 외부 식별자를 기반으로 대상 Dynamics 365 레코드를 검색해야 합니다. 이 조회는 해당 색인이 사용자 지정 특성에 있지 않은 경우 느려질 수 있으며 CRM Online 시나리오에서 이러한 각 조회를 사용하려면 인터넷에서 비용이 많이 드는 왕복을 수행해야 합니다. 이러한 추가 왕복은 각 Dynamics 365 레코드를 업데이트하는 데 걸리는 시간의 배수만큼 증가할 수 있으며 전반적인 처리 성능이 크게 줄어들 수 있습니다.

이제 웹 서비스 작업은 GUID 대신 하나 이상의 대체 키를 사용하여 Dynamics 365 레코드를 대상으로 할 수 있습니다. 또한 하나 이상의 대체 키를 사용하여 관련된 레코드에 대한 엔터티 참조를 지정할 수 있습니다. 대체 키는 색인화되므로 조회 작업 시 사용자 지정 특성을 식별자로 추가하는 것에 비해 성능이 개선됩니다. 오류가 발생하는 경우 시스템은 오류를 throw하고 모든 변경 내용을 롤백합니다.추가 정보:엔터티에 대한 대체 키 정의

변경 내용 추적

조직이 외부 저장소에 Dynamics 365 데이터를 유지해야 하는 경우 이제 데이터가 처음 추출되었거나 마지막 동기화된 이후로 변경된 데이터를 감지함으로써 효율적인 방식으로 데이터 동기화를 유지하는 방법이 있습니다.RetrieveEntityChangesRequest 메시지는 엔터티에 대한 변경 내용을 검색하는 데 사용됩니다. 자세한 내용은 변경 내용 추적을 사용하여 데이터를 외부 시스템과 동기화을 참조하십시오.

Upsert

외부 시스템에서 Microsoft Dynamics 365으로 데이터를 로드하면 Dynamics 365에 레코드가 이미 있고 업데이트해야 하는지 또는 새 레코드를 만들어야 하는지 여부를 확인하지 못할 수 있습니다. 새로운 UpsertRequest 메시지를 사용하여 한 번의 API 호출로 레코드가 있는 경우 레코드를 업데이트하거나 레코드가 없는 경우 새 레코드를 만듭니다.추가 정보:Upsert를 사용하여 레코드 삽입 또는 업데이트

다음 표는 이러한 새 기능이 있는 경우와 없는 경우의 동기화 복잡성을 비교합니다.

이전

설명

특수 메시지를 사용하여 업데이트

각 레코드에 대해

  1. 계정이 있는지 확인하려면 Dynamics 365을 쿼리합니다. 있을 경우 계정 ID(예: ABC123)를 가져옵니다.

  2. 연락처가 있는지 확인하려면 연락처를 쿼리합니다. 있을 경우 연락처의 전자 메일 ID(예: contact@company.com)를 가져옵니다.

  3. 지역 ID(예: NW)를 가져오거나 설정하려면 쿼리합니다.

  4. 사용자 ID를 가져와 소유자(예: user@mycompany.com)를 설정하려면 쿼리합니다.

  5. 계정을 업데이트합니다.

  6. SetState API를 호출하여 계정의 상태를 설정합니다.

  7. Assign API를 호출하여 소유자를 할당합니다.

이제 새로운 기능을 사용하면 서버를 한 번만 호출하여 위와 같은 작업을 수행합니다.

이후

설명

UpdateRequest를 사용하여 업데이트

단 한 번의 호출로 고유 ID가 ABC123인 계정이 있는지 확인하고 기본 연락처를 contact@company.com으로 설정하고 지역을 NW로 설정하며 소유자를 user@mycompany.com으로, 상태를 활성으로 설정합니다.

이 섹션의 내용

엔터티에 대한 대체 키 정의

대체 키를 사용하여 레코드 만들기

변경 내용 추적을 사용하여 데이터를 외부 시스템과 동기화

Upsert를 사용하여 레코드 삽입 또는 업데이트

샘플: Upsert를 사용하여 레코드 삽입 또는 업데이트

샘플: 변경 내용 추적을 사용하여 데이터를 외부 시스템과 동기화

관련 섹션

업데이트를 사용하여 특수한 작업 수행

Microsoft Dynamics CRM 2015용 사용자 지정에 대한 개발자 가이드

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