다음을 통해 공유


배포 웹 서비스 소개

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

배치 서비스를 통해 여러 조직을 위한 지원(멀티 테넌트 지원이라고도 함)을 활용하여 솔루션을 만들 수 있습니다.Microsoft Dynamics 365을 사용하여 단일 배치 내에 여러 고객 조직을 호스팅할 수 있습니다. 이 기능은 조직 내에서 데이터를 분리해야 하는 호스팅 솔루션이나 비즈니스에 도움이 됩니다. 배포 서비스를 사용하면 CRM 서버에 대한 액세스가 필요하므로 Microsoft Dynamics CRM 2015 온-프레미스 배포에만 사용할 수 있습니다.

여러 조직을 지원하면 각 개별 조직의 개인 정보 및 보안을 유지하면서 Microsoft Dynamics 365 웹 응용 프로그램과 웹 서비스에서 저장소 및 여러 비즈니스 조직 간 데이터 검색을 지원합니다. 단일 Microsoft Dynamics 365 구성 데이터베이스는 모든 고객 조직의 메타데이터 및 위치 정보를 저장합니다. 하지만 각 고객 조직에는 Microsoft SQL Server를 실행 중인 서버에 자체 데이터베이스가 있습니다. 배포 서비스에서 제어하는 엔터티 및 구성 설정에 대한 자세한 내용은 배포 엔터티 및 배포 구성 설정를 참조하십시오.

Microsoft Dynamics CRM 2015은 배포 서비스의 이전 버전과 호환되는 끝점을 지원하지 않으므로 Microsoft Dynamics CRM 4.0 배포배포 서비스에 대해 작성된 코드는 모두 새 어셈블리로 업데이트하고 다시 컴파일해야 합니다.

프로젝트에 배포 서비스 추가

SDK\bin 폴더에서 찾을 수 있는 어셈블리 Microsoft.Xrm.Sdk.Deployment.dll에 참조를 추가하여 배포 서비스를 사용할 수 있습니다. 또한 솔루션에 대한 다음 서비스 참조를 추가할 수 있습니다.

http://myservername/xrmdeployment/2011/deployment.svc

svcutil.exe http:// myservername/XRMDeployment/2011/Deployment.svc?wsdl

그러면 구성 파일 및 클라이언트 클래스가 포함된 코드 파일을 생성합니다. 이 두 파일을 클라이언트 응용 프로그램에 추가하고 생성된 클라이언트 클래스를 사용하여 서비스를 호출합니다.

배포 서비스 설치

Microsoft Dynamics 365 배포 엔터티에 대해 호출을 실행하려면 배포 서비스 서버 역할이 Microsoft Dynamics 365 서버에 올바르게 설치되어 있어야 합니다. 배포 서비스 설치에 다음과 같은 조건이 충족되는지 확인합니다.

  • 만들기 또는 업그레이드 같은 조직 작업을 사용하려면 도메인 사용자를 사용하여 배포 서비스 서버 역할을 설치해야 합니다. 도메인 사용자 계정에는 조직 데이터베이스가 호스팅되는 SQL Server에 로컬 관리자 및 시스템 관리자 권한이 있어야 합니다.

  • 배포 서비스는 다른 Microsoft Dynamics 365 서비스 및 응용 프로그램 서버가 아닌 다른 서비스 ID에 실행되어야 합니다. 네트워크 서비스를 사용하는 경우 서버 역할은 설치된 다른 Microsoft Dynamics 365 서버 역할 없이 자체적으로 별도의 서버에 설치해야 합니다. 다른 서버 역할과 함께 배포 서비스 역할을 설치하면 두 서버 모두 네트워크 서비스 계정으로 실행되므로 보안 위험이 발생할 수 있습니다. 네트워크 서비스 계정을 사용할 경우 Windows PowerShell 또는 배포 웹 서비스를 사용하여 조직 작업을 수행할 수 없습니다.

배포 서비스 설치에 대한 자세한 내용은 Microsoft Dynamics CRM 서버 역할을 참조하십시오.

Microsoft Dynamics 365에는 Microsoft Dynamics 365 응용 프로그램 서버와 Microsoft Dynamics 365 서버라는 두 가지 기본 서버 구성 요소가 있습니다. 각 구성 요소에는 설치 프로그램을 실행할 때 설치되는 별도의 서버 역할 그룹이 포함됩니다. 설치 마법사를 사용하여 Microsoft Dynamics 365 플랫폼 서버를 설치하면 배포 서비스 역할이 자동으로 설치됩니다.

배포 서비스 인증 및 가장

배포 서비스 인증은 Windows 통합 인증이라고도 하는 Active Directory를 통해 처리됩니다. 원하는 기능 또는 서비스를 제공하기 위해 인증된 다른 사용자 대신 웹 서비스 메서드를 호출할 수 있도록 하는 가장을 사용할 수도 있습니다. 배포 웹 서비스를 호출하려면 Microsoft Dynamics 365 배포 관리자여야 합니다. 자세한 내용은 배포 관리자 추가를 참조하십시오.

다음 샘플에서는 ProxyClientHelper 클래스를 사용하여 기본 자격 증명을 사용하여 배포 서비스를 인증하고 사용하는 방법에 대해 보여 줍니다.

DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://MyServerName/XRMDeployment/2011/Deployment.svc"));
RetrieveAllRequest request = new RetrieveAllRequest()
{   
   EntityType = DeploymentEntityType.DefaultOrganization};   
   RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}

Microsoft Dynamics 365 웹 서비스는 Microsoft Dynamics 365 사용자 대신 다양한 클라이언트 및 서비스에서 호출할 수 있습니다. 모든 호출은 인증된 호출이어야 합니다. 가장은 인증된 Microsoft Dynamics 365 사용자를 대신하여 호출을 실행하는 데 사용됩니다. 가장을 사용하면 웹 서비스(ASP.NET) 코드에서 인증 및 권한 부여 문제를 처리하지 않습니다. 대신 IIS(인터넷 정보 서비스)에 의존하여 사용자를 인증하고 인증된 토큰을 웹 서비스에 전달합니다. 사용자를 인증할 수 없는 경우 IIS는 인증되지 않은 토큰을 전달합니다.

다음 샘플에서는 배포 서비스를 사용하여 가장을 사용하는 방법을 보여 줍니다.

DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://myservername/XRMDeployment/2011/Deployment.svc"));
service.ClientCredentials.Windows.ClientCredential = new NetworkCredential("administrator", "myp@ssword!", "myservernamedom");
RetrieveAllRequest request = new RetrieveAllRequest() 
{   
   EntityType = DeploymentEntityType.DefaultOrganization};   
   RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}

배포 서비스 기능

배포 서비스는 기본 Microsoft Dynamics 365 웹 서비스와 유사한 개발 모델을 따릅니다. 개발 서비스와 상호 작용하는 데 사용하는 엔터티, 메서드 및 메시지가 있습니다. 기본 Microsoft Dynamics 365 웹 서비스 사용에 대한 자세한 내용은 코드에서 Microsoft Dynamics CRM 2015 서비스 사용을 참조하십시오.

배포 서비스의 두 가지 엔터티 유형에는 배포 엔터티와 배포 구성 설정이 있습니다. 둘 다 동일한 메서드 집합을 통해 액세스합니다. 이러한 엔터티에 대한 자세한 내용은 배포 엔터티 및 배포 구성 설정을 참조하십시오.

핵심 배포 엔터티뿐만 아니라 배포 서비스는 메타데이터에 의해 고급 설정을 읽고 편집할 수 있는 기능을 제공합니다. 이러한 고급 설정은 구성 데이터베이스에 저장된 정보에 대한 액세스를 제공합니다.

배포 서비스는 Execute 메서드에 대한 동기 및 비동기 메시지 둘 다를 지원합니다. 자세한 내용은 배포 웹 서비스 메시지을 참조하십시오.

다음 표에는 배포 서비스에서 사용할 수 있는 메서드가 나와 있습니다.

메서드 이름

설명

IDeploymentService.Delete

배포 엔터티에서 레코드를 삭제합니다.

IDeploymentService.Execute

배포 서비스에 대한 요청을 실행합니다. 자세한 내용은 배포 웹 서비스 메시지을 참조하십시오.

IDeploymentService.Retrieve

배포 엔터티 또는 배포 구성 설정에서 레코드를 검색합니다.

IDeploymentService.RetrieveAll

배포 엔터티 또는 배포 구성 설정에 대한 모든 레코드를 검색합니다.

IDeploymentService.Update

배포 엔터티 또는 배포 구성 설정에서 레코드를 업데이트합니다.

참고 항목

IDeploymentService
Microsoft.Xrm.Sdk.Deployment.Proxy
ProxyClientHelper
배포 웹 서비스를 사용하여 배포 관리
배포 엔터티 및 배포 구성 설정
배포 웹 서비스 메시지

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