다음을 통해 공유


다양한 유형의 앱과 함께 작업하세요

Microsoft Dataverse는 모든 유형의 앱(모바일, 웹, 데스크톱), 디바이스, 시스템 또는 서비스에 통합하는 여러 가지 방법을 제공합니다. 클라우드 솔루션의 경우 솔루션이 배포되는 모델(IaaS(Infrastructure as a Service), PaaS(Platform as a Service) 또는 SaaS(Software as a Service))에 관계없이 통합하는 방법이 있습니다. IaaS 기반 솔루션의 경우 솔루션이 컨테이너 내에서 실행되는 경우에도 통합 방법이 잘 작동합니다.

경우에 따라 Dataverse에 포함된 비즈니스 논리를 사용하여 앱과 통합할 수 있습니다. 다른 경우에는 이벤트, Dataverse OData API 또는 플러그 인을 통한 통합이 포함됩니다.

비즈니스 논리 정의

Dataverse의 테이블은 풍부한 서버 쪽 논리 및 유효성 검사를 사용하여 데이터 품질을 보장하고 테이블에서 데이터를 만들고 사용하는 각 앱에서 반복적인 코드를 줄일 수 있습니다.

  • 비즈니스 규칙: 여러 열 및 테이블에서 데이터의 유효성을 검사하고 데이터를 만드는 데 사용되는 앱에 관계없이 경고 및 오류 메시지를 제공합니다. 추가 정보: 테이블에 대한 비즈니스 규칙 만들기

  • 비즈니스 프로세스 흐름: 사용자가 데이터를 일관되게 입력하고 매번 동일한 단계를 수행하도록 안내합니다. 비즈니스 프로세스 흐름은 현재 모델 기반 앱에 대해서만 지원됩니다. 추가 정보: 비즈니스 프로세스 흐름 개요

  • 워크플로: 사용자 상호 작용 없이 비즈니스 프로세스를 자동화합니다. 추가 정보: 클래식 Dataverse 워크플로

  • 코드가 포함된 비즈니스 논리: 고급 개발자 시나리오를 지원하여 코드를 통해 직접 앱을 확장합니다. 추가 정보: 코드를 사용하여 비즈니스 논리 적용

이벤트를 사용하여 앱과 통합

앱 통합의 일반적인 방법은 이벤트를 사용하는 것입니다. 예를 들어 Dataverse에서 새 행 추가와 같은 이벤트가 발생하며, 이 이벤트는 작업을 수행할 수 있도록 연결된 시스템에 전달되어야 합니다. 예를 들어 새 지원 요청이 발생한 경우 할당된 지원 직원에게 SMS 메시지를 보내도록 트리거할 수 있습니다.

이 대화형 작업은 반대 방향으로도 발생할 수 있습니다. 외부 시스템의 업데이트로 인해 Power Platform 환경에서 데이터가 추가, 업데이트 또는 삭제될 수 있습니다.

Dataverse에서 가장 인기 있는 접근 방식에는 웹후크, Azure 메시징(Service Bus, Event Hubs), Azure Logic Apps 또는 Power Automate가 포함됩니다.

Dataverse의 이벤트입니다.

웹훅들

Dataverse를 사용하면 웹후크를 사용하여 서비스에서 발생하는 이벤트에 대한 데이터를 웹앱으로 보낼 수 있습니다. 웹후크는 웹 API 및 서비스를 게시 및 구독 모델에 연결하기 위한 간단한 HTTP 패턴입니다. 웹후크 보낸 사람이 이벤트에 대한 일부 정보를 사용하여 수신기 엔드포인트에 요청하여 수신자에게 이벤트에 대해 알립니다.

웹후크를 사용하면 개발자와 ISV가 외부 서비스에서 호스트되는 자체 사용자 지정 코드와 Dataverse 데이터를 통합할 수 있습니다. 웹후크 모델을 사용하면 인증 헤더 또는 쿼리 문자열 매개 변수 키를 사용하여 엔드포인트를 보호할 수 있습니다. 이는 Azure Service Bus 통합에 사용되는 공유 액세스 서명 인증 모델보다 간단합니다.

  • 웹후크는 호스트된 웹 서비스가 메시지를 처리할 수 있는 지점으로만 확장할 수 있습니다.

  • 웹후크는 동기 및 비동기 단계를 사용하도록 설정합니다.

  • 웹후크는 JSON 페이로드를 사용하여 POST 요청을 보내며 어디서나 호스트되는 프로그래밍 언어 또는 웹앱에서 사용할 수 있습니다.

  • 플러그 인 또는 사용자 지정 워크플로 작업에서 웹후크를 호출할 수 있습니다.

Azure Service Bus (아주르 서비스 버스)

Service Bus는 Dataverse 런타임 데이터와 외부 클라우드 기반 LOB(기간 업무) 앱 간에 안전하고 안정적인 통신 채널을 제공합니다. 이 기능은 서로 다른 Dataverse 시스템 또는 기타 Dataverse 서버를 비즈니스 데이터 변경 내용과 동기화하는 데 특히 유용합니다.

이벤트 시퀀스는 다음과 같습니다.

  • 수신기 앱은 Service Bus 솔루션 엔드포인트에 등록되고 Service Bus에서 Dataverse 원격 실행 컨텍스트를 적극적으로 수신 대기하기 시작합니다.

  • 사용자는 Dataverse에서 등록된 기본 제공 플러그 인 또는 사용자 지정 Azure 인식 플러그 인의 실행을 트리거하는 일부 작업을 수행합니다. 플러그인은 비동기 서비스 시스템 작업을 통해 현재 요청 데이터 컨텍스트를 Service Bus에 전송을 시작합니다.

  • Dataverse에서 게시한 클레임이 인증됩니다. 그런 다음 Service Bus는 원격 실행 컨텍스트를 수신기에 릴레이합니다. 수신기는 컨텍스트 정보를 처리하고 해당 정보를 사용하여 일부 비즈니스 관련 작업을 수행합니다. Service Bus는 성공적인 게시를 비동기 서비스에 알리고 관련 시스템 작업의 상태를 완료로 설정합니다.

Service Bus는 Dataverse와 Service Bus 솔루션 수신기 앱 간에 요청 메시지 데이터 컨텍스트를 릴레이합니다. 또한 Service Bus는 권한 있는 앱만 게시된 Dynamics 365 데이터에 액세스할 수 있도록 데이터 보안을 제공합니다. 데이터 컨텍스트를 Service Bus에 게시하고 수신기 앱이 데이터를 읽을 수 있도록 Dataverse의 권한 부여는 Azure 공유 액세스 서명에 의해 관리됩니다.

추가 정보: Service BusService Bus 인증 및 권한 부여

Logic Apps 및 Power Automate

Azure 및 Microsoft Power Platform을 통해 제공되는 Power Automate를 통해 제공되는 Logic Apps는 일정에 따라 또는 데이터베이스, 시스템, 서비스 또는 SaaS의 활동에 의해 애플리케이션 이벤트 및 데이터와 통합하는 데 사용할 수 있는 워크플로를 트리거할 수 있습니다.

Dataverse를 사용한 Logic Apps 및 Power Automate.

이러한 워크플로는 데이터베이스, PaaS 및 SaaS에 대한 수백 개의 커넥터를 사용하여 논리를 실행하고 이러한 시스템과 상호 작용할 수 있습니다.

예를 들어 SQL과 같은 관계형 데이터베이스에 행을 추가하면 Dataverse에 이 데이터를 삽입할 수 있는 워크플로가 트리거될 수 있습니다.

서비스에 대해 Open API(이전의 Swagger) 정의를 사용하여 사용자 지정 커넥터를 만들 수 있으므로 IaaS 및 AKS(Azure Kubernetes Service)에서 실행되는 서비스, 함수 및 코드를 간단하게 포함할 수 있습니다.

OData API를 사용하여 Dataverse를 앱에 통합

인기 있는 모든 프로그래밍 언어는 REST 기반 API와의 통합 형식을 지원합니다.

OData API를 사용하는 Dataverse입니다.

Dataverse Web API는 다양한 프로그래밍 언어, 플랫폼 및 디바이스에서 사용할 수 있는 개발 환경을 제공합니다. Web API는 풍부한 데이터 원본을 통해 RESTful API를 빌드하고 사용하는 OASIS 표준인 OData(Open Data Protocol) 버전 4.0을 구현합니다. www.odata.org이 프로토콜에 대해 자세히 알아볼 수 있습니다. 이 표준에 대한 자세한 내용은 www.oasis-open.org참조하세요.

Dataverse는 "API 우선" 접근 방식을 사용합니다. 즉, 서비스는 데이터를 쿼리하는 메커니즘을 제공하는 것이 아니라 비즈니스 규칙, 제약 조건 등에 대한 서비스의 메타데이터를 제공하여 지능적이고 응답성이 뛰어난 앱 및 서비스를 빌드하는 데 사용할 수 있습니다.

API는 OAuth를 사용하여 보호됩니다. OAuth에는 인증 공급자가 idtable 필요합니다. Dataverse의 경우 공급자는 idtable Microsoft Entra ID입니다. Microsoft 회사 또는 학교 계정을 사용하여 Microsoft Entra로 인증하려면 MSAL(Microsoft 인증 라이브러리)을 사용합니다.

Dataverse Web API를 시작하는 방법에 대한 자세한 내용은 Dataverse Web API 사용을 참조하세요.

OAuth에서 Dataverse Web API를 사용하는 방법에 대한 자세한 내용은 Dataverse에서 OAuth 사용을 참조하세요.

Plug-ins

Dataverse는 API와 데이터 사이에 있는 코드를 작성하는 기능을 제공합니다. .NET으로 작성된 이 코드를 플러그 인이라고 합니다. 플러그 인은 API와 데이터 사이에 있기 때문에 모든 앱에 동일한 논리를 적용합니다.

플러그 인은 동기 또는 비동기일 수 있으며 다음 작업을 수행합니다.

  • 사용자에게 오류를 반환합니다.

  • Dataverse 데이터를 쿼리하여 수행할 논리를 평가합니다.

  • 데이터 작업을 수행합니다.

  • 아웃바운드 HTTP 요청을 수행합니다.

플러그 인은 여기에 설명된 이벤트 파이프라인의 지점에 등록됩니다.

플러그 인 이벤트 파이프라인

이벤트 파이프라인 내에서 다음 이벤트가 발생할 수 있습니다.

  • 요청 및응답 은 이벤트 파이프라인의 여러 단계에서 검사거부 또는 조작 할 수 있습니다.

  • 유효성 검사 처리기는 사용자 지정 예외를 throw하여 논리가 유효하지 않다고 간주하는 작업을 거부할 수 있습니다.

  • 사전 작업 처리기는 데이터베이스 작업 전에 요청을 수정할 수 있습니다.

  • 사후 작업 처리기는 응답을 수정할 수 있습니다.

  • 비동기 처리기는 응답이 반환된 후 자동화를 수행합니다.

플러그인의 한 가지 제약 조건은 자체적으로 포함되어 있어야 한다는 점입니다. 통합 코드에 다른 라이브러리에 대한 참조가 필요한 경우 Azure Functions를 사용하여 통합을 수행할 수 있습니다.

Azure Functions

Azure Functions는 비즈니스 및 통합 논리에 대한 서버리스 코드 실행 옵션을 제공합니다.

Azure Functions를 사용하는 Dataverse.

함수는 외부 시스템, 서비스 또는 코드의 호출에 의해 트리거됩니다. Dataverse의 경우 해당 트리거는 Service Bus, 웹후크 또는 플러그 인의 호출을 사용하여 Dataverse에서 직접 가져올 수 있습니다. 또한 Azure Functions 호출은 Dataverse 커넥터와 관련된 Logic Apps 또는 Power Automate의 흐름을 통해 시작할 수 있습니다.

추가 정보: 플러그 인을 사용하여 비즈니스 프로세스 확장