다음을 통해 공유


Microsoft Dynamics CRM 2015에 대한 프로그래밍 모델

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Microsoft Dynamics 365은 사용자의 요구에 가장 적합한 것을 결정하기 위해 유연성을 제공하도록 설계된 몇 가지 프로그래밍 패러다임을 제공합니다. 초기 바인딩 엔터티 데이터 모델은 스택과 통합되고 엔터티 값을 .NET Framework 개체로 노출하는 "개체 서비스" 계층을 포함하도록 추가되었습니다. 런타임에 바인딩 시나리오를 사용할 수도 있습니다.

프로그래밍 시나리오

다음 다이어그램은 Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트에 대한 주요 프로그래밍 시나리오에 대해 설명합니다.

프로그래밍 시나리오

다음의 경우에 이러한 Microsoft Dynamics 365 프로그래밍 패러다임을 사용합니다.

  • 초기 바인딩 – Microsoft Dynamics 365은 엔터티 데이터 모델 및 WCF(Windows Communication Foundation) 데이터 서비스 기술을 사용하여 Microsoft Dynamics 365과 상호 작용하는 인터넷 연결 응용 프로그램 개발을 간소화하는 새로운 도구 집합을 제공합니다. 개체에 대한 변경 내용을 추적하고 Microsoft Dynamics 365에서 데이터를 검색하는 .NET LINQ(Language-Integrated Query) 쿼리를 지원하는 조직 서비스 컨텍스트와 같은 추가 프로그래밍 패러다임도 있습니다. 자세한 내용은 코드에 초기 바인딩 엔터티 클래스 사용을 참조하십시오.

  • 런타임에 바인딩 – 이 프로그래밍 패러다임을 사용하면 아직 정의되지 않은 엔터티에 액세스하는 코드를 작성할 수 있습니다. 예를 들어 만든 사용자 지정에 관계 없이 이를 사용하여 모든 Microsoft Dynamics 365 설치에 작동하는 사용자 지정 검색 유틸리티를 작성할 수 있습니다. 자세한 내용은 코드에 런타임에 바인딩 엔터티 클래스 사용을 참조하십시오. 이 패러다임은 특정 유형의 엔터티가 필요 없는 일반적인 방식으로 코드를 작성할 수도 있습니다.

  • REST – AJAX 및 Microsoft Silverlight 클라이언트에 대한 REST 끝점은 Microsoft Dynamics 365 데이터에 사용할 수 있는 다른 인터페이스를 제공합니다.SOAP 기반 웹 서비스를 직접 호출하는 대신 URI를 기반으로 하는 서비스를 사용하여 요청을 실행할 수 있습니다. 자세한 내용은 웹 리소스와 함께 OData 끝점 사용을 참조하십시오.

  • WSDL – 이 프로그래밍 패러다임을 사용하면 .NET 이외 클라이언트에서 코드를 개발할 수 있고 Microsoft Dynamics 365 어셈블리 사용에 종속되지 않습니다. 예를 들어 이 프로그래밍 모델을 사용하여 Java에서 Microsoft Dynamics 365에 대한 코드를 작성할 수 있습니다. 자세한 내용은 Java 및 .NET 이외 다른 클라이언트 응용 프로그램 작성을 참조하십시오.

초기 및 런타임에 바인딩을 사용하는 프로그램

Microsoft Dynamics 365에서 사용자의 요구에 가장 적합한 모델을 찾기 위해 여러 프로그래밍 시나리오에서 선택할 수 있습니다.

Microsoft .NET Framework용 Microsoft Dynamics 365에 대한 기본 개발 시나리오는 초기 바인딩 및 런타임에 바인딩 유형 둘 다에 대해 Microsoft Dynamics 365 시스템에 연결할 수 있는 두 가지 어셈블리를 참조합니다. 이 시나리오는 런타임에 바인딩 또는 느슨한 유형으로 설명될 수 있습니다. 런타임에 바인딩 유형을 사용하려면 Entity 클래스를 사용합니다. 이 클래스는 특성의 값을 가져오고 설정하는 데 사용할 수 있는 특성 모음을 정의합니다. 이 모델을 사용하려면 정확한 논리적 이름이 문자열로 알려져야(지정) 합니다.

또한 모든 사용자 지정을 포함하는 메타데이터에서 직접 생성된 초기 바인딩 클래스를 사용할 수 있습니다. 생성된 클래스는 초기 바인딩 및 IntelliSense를 제공하여 사용자 지정 코드를 작성할 때 도움을 줍니다. 자세한 내용은 코드 생성 도구(CrmSvcUtil.exe)를 사용하여 초기 바인딩 엔터티 클래스 만들기을 참조하십시오.

엔터티 클래스 구조는 다음과 같습니다.

CRM 2011용 엔터티 클래스 계층

DynamicEntity 클래스는 기본 클래스 Entity로 교체되었습니다. 즉 모든 유형은 모든 강력한 유형의 엔터티를 이제 느슨한 유형의 엔터티로 만들어 빌드 타임 및 런타임에서 검색할 수 있습니다. 다음 예제와 같이 동일한 코드에서 프로그래밍 시나리오 둘 다를 사용할 수 있습니다.

Account entity = new Account();
entity["name"] = "My Account"; //loosely typed, late binding
entity.AccountNumber = "1234"; //strongly typed, early binding

Microsoft Dynamics CRM SDK 설명서에는 프로그래밍 시나리오 둘 다를 사용하는 샘플이 포함됩니다. 초기 바인딩 샘플은 코드 생성 유틸리티를 사용하여 사용자 지정되지 않은 Microsoft Dynamics 365 새 설치에서 생성된 강력한 유형의 클래스 파일을 사용합니다. 샘플을 실행하려면 설치에서 강력한 유형의 클래스의 파일을 생성해야 합니다. 샘플에서 수행한 것처럼 생성된 코드 파일에서 프록시 어셈블리를 만들지, 아니면 프로젝트에서 파일을 직접 포함할지 결정할 수 있습니다. 개발 스타일 옵션에 대한 자세한 내용은 관리형 코드에 대해 개발 스타일 선택을 참조하십시오.

참고 항목

개발자 개요
Microsoft Dynamics CRM 2015에 대해 지원되는 확장
Microsoft Dynamics CRM 2015 SDK에 포함된 어셈블리
엔터티 및 특성 명명 규칙
Microsoft Dynamics CRM 2015에서 엔터티에 대한 소개
Microsoft Dynamics CRM 2015의 엔터티 특성 소개

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