Common Data Service for Apps 웹 서비스 사용Use Common Data Service for Apps web services

Common Data Service for Apps는 데이터와 상호 작용하는 데 사용할 수 있는 두 가지 웹 서비스를 제공합니다.The Common Data Service for Apps provides two web services you can use to interact with data. 요구 사항과 기술에 가장 잘 적합한 웹 서비스를 선택합니다.Choose the one which best matches the requirement and your skills. 자세한 정보: Dynamics 365 고객 관계 개발자 가이드: Dynamics 365 고객 관계에 대한 개발 스타일 선택More information: Dynamics 365 Customer Engagement Developer Guide: Choose your development style for Dynamics 365 Customer Engagement

Web APIWeb API

Web API는 OData v4 RESTful 엔드포인트입니다.The Web API is an OData v4 RESTful endpoint. OAuth 2.0을 사용하여 HTTP 요청 및 인증을 지원하는 모든 프로그래밍 언어에 Web API를 사용합니다.Use this for any programming language that supports HTTP requests and authentication using OAuth 2.0.

자세한 정보: Dynamics 365 고객 관계 개발자 가이드: Dynamics 365 고객 관계 Web API 사용More information: Dynamics 365 Customer Engagement Developer Guide: Use the Dynamics 365 Customer Engagement Web API

조직 서비스Organization service

조직 서비스는 Common Data Service for Apps 플랫폼의 핵심 부분입니다.The Organization service is a core part of the Common Data Service for Apps platform. WCF(Windows Communication Foundation) 서비스이며, 현재 SOAP 엔드포인트만 노출합니다.It is a Windows Communication Foundation (WCF) service and currently exposes only a SOAP endpoint. .NET 개발자는 SDK 어셈블리를 사용하여 데이터 작업을 수행할 수 있습니다..NET developers can use the SDK assemblies to perform data operations. 플러그 인 내에서 SDK 어셈블리를 통한 조직 서비스가 유일한 옵션입니다.Within a Plug-in, the Organization service via the SDK assemblies is the only option.

참고

개발자가 .NET SDK 어셈블리를 사용하지 않고도 조직 서비스의 SOAP 엔드포인트를 사용할 수 있지만, Web API의 RESTful 특성으로 인해 훨씬 뛰어난 대안이 될 수 있습니다.It is possible for developers to use the SOAP endpoint of the organization service without using the .NET SDK assemblies, but the RESTful nature of the Web API makes it a much superior alternative.

자세한 정보: Dynamics 365 고객 관계 개발자 가이드: Dynamics 365 조직 서비스 사용More information: Dynamics 365 Customer Engagement Developer Guide: Use the Dynamics 365 Organization service

웹 서비스 및 플랫폼 정보About the web services and the platform

조직 서비스가 플랫폼을 정의하는 것임을 인식하는 것이 중요합니다.It is valuable to recognize that the organization service is what defines the platform. Web API는 RESTful 프로그래밍 환경을 제공하지만, 궁극적으로 모든 데이터 작업은 기본 조직 서비스를 통해 수행됩니다.The Web API provides a RESTful programming experience but ultimately all data operations go through the underlying organization service.

조직 서비스는 지원되는 작업을 메시지로 정의합니다.The organization service defines the supported operations as messages. 각 메시지에는 이름이 있습니다.Each message has a name. SDK 어셈블리 내에서 각 메시지에는 해당하는 <메시지 이름>Request<메시지 이름>Response 클래스가 있습니다.Within the SDK assemblies each message has a corresponding <message name>Request and <message name>Response class. Microsoft.Xrm.Sdk.dllIOrganizationService 인터페이스는 메시지를 호출하는 데 사용할 수 있는 Execute 메서드뿐만 아니라 일반적인 CRUD 작업에 대한 몇 가지 도우미 메서드도 정의합니다.The IOrganizationService interface in the Microsoft.Xrm.Sdk.dll defines several helper methods for common CRUD operations as well as an Execute method that can be used to invoke messages. 모든 메시지는 기본 OrganizationRequest 클래스를 사용합니다.All messages use the underlying OrganizationRequest Class.

Web API는 조직 서비스와 동일한 작업을 모두 제공하지만, OData v4 프로토콜을 사용하여 RESTful 스타일로 제공합니다.The Web API provides all the same operations as the organization service but presents them in an RESTful style using the OData v4 protocol. OData v4는 함수 또는 작업을 통해 명명된 작업을 제공합니다.OData v4 provides for named operations via functions or actions. 조직 서비스에서 사용할 수 있는 거의 모든 메시지는 해당 명명된 해당 함수 또는 작업으로 공개됩니다.Almost every message available in the organization service is exposed as a corresponding named function or action. CRUD 작업에 해당하는 메시지는 RESTful 서비스로서 GET, POST, PATCH 및 DELETE HTTP 메서드를 사용하는 구현이 있으므로 Web API에서 사용할 수 없습니다.Those messages that correspond to CRUD operations are not available in the Web API because as a RESTful service they have implementations using GET, POST, PATCH, and DELETE HTTP methods.

조직 서비스 SOAP 엔드포인트에 대한 .NET SDK 어셈블리는 IOrganizationService 인터페이스를 기반으로 하는 기본 플랫폼 서비스를 자세히 모델링하도록 설계되었습니다.The .NET SDK assemblies for the organization service SOAP endpoint were designed to closely model the underlying platform services based on IOrganizationService interface. 그러나 이러한 어셈블리는 동일한 구성 요소가 아니며, 서로 혼동되지 않아야 합니다.However they are not the same components and should not be confused with one another.

조직 서비스에 대한 SOAP 엔드포인트는 2011년에 도입되었으며 더 이상 사용되지 않는다고 발표했습니다.The SOAP endpoint for the organization service was introduced in 2011 and we have announced that it is deprecated. 즉, 이 엔드포인트는 제거할 때까지 계속 작동하고 지원될 것입니다.This means that it will continue to work and be supported until we remove it. 또한 SOAP 엔드포인트가 제거된 후에도 계속 작동하도록 .NET SDK 어셈블리를 업데이트할 것이라고 발표했습니다.We have also announced that we will update the .NET SDK assemblies so that they will continue to work after the SOAP endpoint is removed. 즉, SOAP 엔드포인트를 제거하기 전에 업데이트된 SDK 어셈블리를 사용할 수 있으며, 개발자가 이후의 특정 시점에서 이러한 새 어셈블리를 사용하도록 코드를 업데이트해야 합니다.This means that there will be updated SDK assemblies available before the SOAP endpoint is removed and developers will be required to update their code to use these new assemblies at some point in the future.

검색 서비스Discovery services

각 Common Data Service for Apps 사용자는 여러 개의 Common Data Service for Apps 인스턴스에 액세스할 수도 있습니다.Each Common Data Service for Apps user may be able to access multiple Common Data Service for Apps instances. 검색 서비스를 사용하면 사용자가 사용하는 Microsoft 계정에 따라 연결할 수 있는 인스턴스 목록을 제공하는 코드를 작성할 수 있습니다.Discovery services let you write code to provide users a list of instances they can connect to based on the Microsoft account they use. 각 인스턴스에는 선택한 인스턴스에 연결하는 데 사용할 수 있는 URL이 포함되어 있습니다.Each instance includes a URL that you can then use to connect to the instance they choose.

검색 서비스는 Web API 또는 조직 서비스를 통해 액세스됩니다.A Discovery service is accessed through either the Web API or the Organization Service.

사용자 지정 작업 사용Use custom actions

프로세스에서 사용할 수 있는 선언적 옵션 중 하나는 사용자 지정 작업을 만드는 것입니다.One of the declarative options available for processes is to create a custom action. 사용자 지정 작업은 기본적으로 조직 서비스에 새 메시지를 만드는 것입니다.A custom action is essentially creating a new message in the organization service. 사용자 지정 작업을 사용하여 작업 집합을 다시 사용할 수 있는 명명된 작업으로 결합할 수 있습니다.You can use custom actions to combine a set of operations into a named reusable operation. 예를 들어 중요한 고객에게 심각한 문제가 발생했을 때 올바른 사람에게 알리는 데 관련된 표준 작업 집합을 결합한 new_Escalate라는 새 메시지를 만들 수 있습니다.For example, you might create a new message called new_Escalate that combines a standard set of operations that are involved in notifying the correct people when an important customer is experiencing a serious issue.

사용자 지정 작업을 정의할 때 반환되는 결과에 포함될 입력 매개 변수와 속성을 정의하여 작업의 시그니처를 선택합니다.When you define a custom action, you choose the signature of the operation by defining input parameters and properties to be included in any result that is returned. 그러면 사용자 지정 작업은 디자이너 또는 코드를 사용하여 선언적 프로세스에서 호출할 수 있습니다.Custom actions can then be invoked from a declarative process using the designer or by code.

사용자 지정 작업의 고유한 값은 다른 프로세스 또는 호출하는 코드에 영향을 주지 않고 디자이너를 사용하는 개발자가 아닌 사용자가 포함된 특정 작업을 수정할 수 있다는 것입니다.The unique value of custom actions is that the specific operations they contain can be modified by someone who is not a developer using the designer without impacting other processes or code that calls it. 작업의 시그니처가 변경되지 않는 경우에도 마찬가지입니다.This remains true if the signature of the action does not change. 다른 입력 매개 변수 또는 출력 속성이 필요한 경우, 기존 작업을 사용하여 프로세스 또는 코드가 손상되지 않도록 다른 사용자 지정 작업을 새로 만들어야 합니다.If you need different input parameters or output properties, you should create a new, different custom action to avoid breaking any processes or code using an existing one.

환경에 사용자 지정 작업이 정의되면 Web API를 사용하여 새 OData v4 작업을 사용할 수 있으며, 조직 서비스 내에서 OrganizationRequest 클래스를 직접 사용하거나 *코드 생성 도구(CrmSvcUtil.exe)*로 생성된 강력한 형식의 클래스를 사용하여 사용자 지정 작업을 호출할 수 있습니다.When a custom action is defined in an environment, a new OData v4 Action is available using the Web API and within the organization service the custom action can be invoked using the OrganizationRequest Class directly or by using a strongly typed class generated using the Code Generation tool (CrmSvcUtil.exe).

자세한 정보:More information:

메타데이터 서비스Metadata services

Web API와 조직 서비스에는 모두 엔터티 스키마에서 CRUD 작업을 수행하는 기능이 포함되어 있습니다.Both the Web API and the organization service include capabilities to perform CRUD operations on the entity schema. 코드를 사용하여 이러한 작업을 수행할 수 있지만, 일반적으로 디자이너를 사용하여 사용자 지정 스키마 요소를 추가, 업데이트 또는 삭제합니다.While you can perform these operations using code, generally you will use designers to add, update, or delete custom schema elements. 스키마 변경 내용을 적용하려면 관리자 권한이 있어야 하지만, 모든 사용자는 메타데이터를 읽을 수 있습니다.Users must have administrator privileges to apply schema changes, but all users can read metadata.

메타데이터 서비스에 대한 더 일반적인 사용은 확장이 실행되는 환경에 대한 메타데이터를 검색하는 것입니다.A more common use for the metadata services is to retrieve metadata about the environment that your extension is running within. 모든 환경이 다를 수 있으며 스키마 메타데이터에는 환경을 구성하는 방법에 대한 많은 정보가 포함되어 있으므로, 확장이 해당 환경에 적용되는 다른 사용자 지정에 적응할 수 있도록 이 정보를 검색해야 할 수도 있습니다.Because every environment can be different and schema metadata contains much of the information about how the environment is configured, you may need to retrieve this information to allow for your extensions to adapt to other customizations that are in effect in that environment.

몇 가지 예:Some examples:

  • 옵션 집합 특성에서 사용할 수 있는 옵션 수가 변경될 수 있습니다.The number of options available in an optionset attribute can change. 사용자 환경에서 값을 하드 코딩하는 대신, 다른 옵션이 있는지 여부를 고려합니다.Rather than hard-code the values in your environment, consider whether different options are present. 시스템을 쿼리하여 현재 환경에 다른 옵션이 있는지를 확인할 수 있습니다.You can query the system to determine whether the current environment has different options.
  • 엔터티에 대한 표시 이름은 변경할 수 있습니다.The display name for an entity can be changed. 계정 엔터티에 대한 기본 표시 이름은 Account입니다.The default display name for the account entity is Account. 이 이름을 Company로 변경할 수 있습니다.This could be changed to Company. 사용자에게 메시지를 표시하고 엔터티의 이름을 참조하려는 경우, 이를 하드 코딩하지 않고, 대신 사용자가 보는 데 익숙한 값과 일치하는 값을 사용하고 엔터티 메타데이터에서 검색된 표시 이름을 사용합니다.If you want to display a message to a user and refer to the name of an entity, you should not hard-code this but instead use the value that matches what the user is accustomed to seeing and use the display name retrieved from the entity metadata instead.

시스템의 메타데이터에 대한 효과적인 이해를 개발하면 Common Data Service for Apps 플랫폼의 작동 방식을 파악하는 데 도움이 될 수 있습니다.Developing a good working understanding of the metadata in the system can help you understand how the Common Data Service for Apps platform works. 메타데이터를 편집할 수 있는 디자이너는 메타데이터에 있는 모든 세부 정보를 표시할 수 없습니다.The designers available to edit metadata cannot show all the details found in the metadata. 메타데이터 브라우저라는 모델 기반 앱을 설치하면 시스템에 있는 숨겨진 모든 엔터티와 메타데이터 속성을 볼 수 있습니다.You can install a model-driven app called the Metadata Browser which will allow you to view all the hidden entities and metadata properties that are found in the system.

자세한 정보: Dynamics 365 고객 관계 개발자 가이드: 조직에 대한 메타데이터 찾아보기More information: Dynamics 365 Customer Engagement Developer Guide: Browse the metadata for your organization

프로그래밍 방식의 메타데이터 작업에 대한 자세한 내용은 다음 항목을 참조하세요.For more information about working with metadata programmatically see:

참고 항목See also

Common Data Service for Apps 개발자 개요Common Data Service for Apps Developer Overview