캔버스 앱 실행 단계 및 데이터 호출 흐름 이해하기

사용자가 캔버스 앱을 열면 다음 여러 실행 단계를 거쳐 사용자 인터페이스를 표시합니다. 앱이 로드되는 동안 SharePoint, Microsoft Dataverse, SQL Server(온-프레미스), Azure SQL Database(온라인), Excel 및 Oracle과 같은 다른 data sources—에 연결됩니다.

이 기사에서는 이러한 다양한 실행 단계와 앱이 데이터 소스에 연결하는 방법에 대해 알아 봅니다.

캔버스 앱의 실행 단계

캔버스 앱은 사용자에게 인터페이스를 표시하기 전에 다음 실행 단계를 거칩니다.

  1. 사용자 인증 : 앱에 필요한 모든 연결에 대한 자격 증명으로 로그인하라는 메시지를 처음으로 사용자에게 표시합니다. 그 사용자가 앱을 다시 열면 조직의 보안 정책에 따라 해당 사용자에게 다시 메시지가 표시될 수 있습니다.

  2. 메타데이터 가져오기: 앱이 실행되는 Power Apps 플랫폼의 버전 및 데이터를 검색해야 하는 소스와 같은 메타데이터를 검색합니다.

  3. 앱 초기화: OnStart 속성에 지정된 모든 작업을 수행합니다.

  4. 화면 렌더링: 앱에 데이터로 채워진 컨트롤을 사용하여 첫 번째 화면을 렌더링합니다. 사용자가 다른 화면을 열면 앱이 동일한 프로세스를 사용하여 렌더링합니다.

캔버스 앱의 데이터 호출 흐름

캔버스 앱의 데이터 호출은 OData 프로토콜을 통해 커넥터를 사용하여 데이터 소스를 보냅니다. OData는 백 엔드 레이어로 흐름을 요청하여 대상 데이터 원본에 연결하고 클라이언트에 대한 데이터를 검색하거나 데이터를 데이터 원본에 커밋합니다.

캔버스 앱에서 OData 요청이 이동하는 방식을 이해하면 캔버스 앱 성능과 백 엔드 데이터 원본을 최적화할 수 있습니다.

이 섹션에서는 서로 다른 데이터 원본 유형을 사용하여 캔버스 앱에서 데이터 호출을 수행하는 방식에 대해 알아봅니다.

온라인 데이터 원본을 사용한 데이터 호출 흐름

다음 다이어그램은 캔버스 앱(왼쪽)의 일반적인 데이터 요청이 서버 쪽 레이어를 이동하고 대상 데이터 원본(오른쪽)에 연결한 다음 데이터를 클라이언트로 반환하는 방법을 보여줍니다.

Dataverse 용 커넥터를 제외한 모든 커넥터에 대한 일반적인 데이터 호출 흐름

앞선 다이어그램의 각 레이어는 빠르게 수행되거나 요청을 처리하는 동안 약간의 오버헤드가 있을 수 있습니다. 많은 앱에서 두 가지 특정 지점이 일반적으로 눈에 띄는 오버헤드를 나타낼 수 있습니다.

  • 백 엔드 데이터 원본: 요청을 처리하는 동안 나타냅니다.

  • 클라이언트: 요청을 보내는 동안— 또는 힙 메모리에서 수신된 데이터를 조작하고 연관된 JavaScript 함수를 실행하여 화면에 표시할 데이터를 처리하는 동안 오버헤드를 나타냅니다.

온-프레미스 데이터 게이트웨이를 사용한 데이터 호출 흐름

캔버스 앱이 SQL 서버와 같은 온-프레미스 데이터 원본에 연결되면 온 프레미스 데이터 게이트웨이라는 다른 레이어가 필요합니다. 이 게이트웨이는 온-프레미스 데이터 원본에 액세스하는 데 필수입니다. OData 프로토콜 요청을 SQL 데이터 조작 언어(DML) 문으로 변환하는 작업을 담당합니다.

다음 다이어그램은 온-프레미스 데이터 게이트웨이를 배치하고 데이터 요청을 처리하는 위치와 방법을 보여줍니다.

온-프레미스 데이터 게이트웨이에 대한 데이터 호출 흐름

앱이 데이터 원본 온-프레미스를 사용하는 경우 데이터 게이트웨이의 위치와 사양도 데이터 호출 성능에 영향을 미칩니다.

Common Data Service 커넥터를 사용한 데이터 호출 흐름(Dataverse 환경용)

Common Data Service 커넥터를 사용하여 Dataverse 환경에 액세스하면 데이터 요청이 Azure API Management를 거치지 않고—직접 환경 인스턴스로 이동합니다. 이 때문에 데이터 호출의 성능은 나머지 데이터 원본에 비해 훨씬 빠릅니다. Common Data Service 커넥터는 새 캔버스 앱을 만들 때 기본적으로 만들어집니다.

Common Data Service 커넥터에 대한 데이터 호출 흐름

데이터 호출이 이동하는 방식에 대한 이 높은 수준의 개념을 이해하면 앱 성능 검토에 대한 세부 정보를 얻을 수 있습니다. 요약하면, 성능 오버헤드는 클라이언트, API Management, 커넥터, 온 프레미스 데이터 게이트웨이 또는 백엔드 데이터 원본의—모든 레이어에서 발생할 수 있습니다.

다음 단계

캔버스 앱 성능 저하의 일반적인 원인

참조

일반적인 캔버스 앱 성능 문제 및 해결 방법
캔버스 앱 성능 향상을 위한 팁 및 모범 사례
Power Apps의 공통 문제 및 해결
Power Apps의 시작 문제 해결