Power Platform은 Power Apps에 대한 비즈니스 논리를 만들 수 있는 다양한 기능을 제공합니다. 이 문서에서는 기본 방법에 대해 설명하고 사용할 방법에 대한 지침을 제공합니다.
Power Apps과 Power Fx
Power Fx는 Excel 및 Power Platform에서 공유하는 로우코드 함수형 프로그래밍 언어입니다. Power Platform 커넥터를 사용하여 데이터에 액세스하고 사용자 지정 앱 논리를 만들 수 있습니다.
Power Fx 지원:
라이브: 캔버스 Power Apps는 Excel 스프레드시트처럼 다시 계산합니다. 앱과 상호 작용할 때 Power Fx는 백그라운드에서 데이터를 요청하고 Dataverse를 사용하여 앱 상태를 최신 상태로 유지합니다.
위임: Power Fx는 가능한 모든 것을 서버에 자동으로 위임합니다.
Filter(),Lookup(),Search()와 같은 함수를 사용하면 앱이 서버 측 필터링을 사용하여 데이터에 액세스할 수 있으므로 관련 데이터만 앱으로 가져와 환경 및 기능 논리를 지원할 수 있습니다. 위임이 불가능한 경우 함수는 로컬 JavaScript 컨텍스트(즉, 로컬 브라우저)에서 실행됩니다.Dataverse에 최적화됨: Dataverse는 Power Apps의 기본 데이터 저장 서비스이며, 이로 인해 Power Fx를 Dataverse와 함께 사용하는 데 필요한 레이어가 적습니다(낮은 대기 시간 액세스). 또한, Power Fx는 Dataverse에서 사용 가능한 다대일 관계 및 일대다 관계를 지원합니다.
오프라인: Dataverse 데이터는 모바일 플레이어를 통해 오프라인으로 전환하여 현장에서 사용할 수 있습니다. 양쪽의 변경 사항은 다시 연결될 때 동기화됩니다. 앱에 정의된 비즈니스 로직은 오프라인 상태에서도 실행됩니다.
Power Automate
Power Platform 커넥터 에코시스템을 기반으로 구축된 로우코드 워크플로 서비스를 통해 Power Automate는 Power Apps를 빌드할 때 다음 기능을 추가합니다.
비동기: Power Automate 클라우드 흐름은 본질적으로 비동기식입니다. 흐름이 시작되면 대기열 시스템을 사용하여 다양한 하위 작업을 관리합니다. Power Automate의 비동기 특성으로 인해 장기간 실행되는 복잡한 논리 시퀀스에 적합합니다.
자세한 로깅: 모든 흐름은 실행 시 발생한 일에 대한 기록을 생성하며 이를 실행 기록이라고 합니다. 로깅은 추적 가능성을 제공하고 발생한 일과 이유에 대한 감사 기록이 있는지 확인합니다.
다중 커넥터: 다중 커넥터 Power Apps 논리를 만들 수 있지만 Power Apps의 라이브 특성으로 인해 커넥터 수를 늘리면 성능이 저하됩니다. 이러한 복잡한 다중 커넥터 시나리오는 앱의 라이브 실행에서 이러한 사례를 오프로드하는 Power Automate를 사용하기에 좋은 곳입니다.
Power Fx를 사용하는 Dataverse 플러그 인
많은 개발자가 Dataverse 플러그 인을 사용하여 비즈니스 논리를 작성합니다. 로우코드 옵션으로 Power Fx를 사용하여 플러그 인을 만들 수 있습니다.
이러한 플러그 인은 위임 및 Dataverse 최적화를 제공합니다.
트랜잭션: Power Fx 플러그 인은 데이터베이스를 업데이트하는 Dataverse 트랜잭션에서 실행됩니다. 보조 테이블을 업데이트하는 데 문제가 있는 경우 모든 변경 내용이 롤백되어 데이터베이스가 일관된 상태로 유지됩니다.
오류 보고: 앱 또는 흐름에서 최종 사용자에게 오류를 보고하는 것은
Error()함수를 호출하는 것만큼 간단합니다. 최종 사용자는 작업의 결과로 오류를 확인하고 즉시 수정 작업을 수행한 다음 작업을 다시 시도합니다.일반 초크 포인트: 플러그 인을 피할 수 없습니다. 일반적인 비즈니스 논리는 모든 앱, 흐름 및 기타 Power Platform 엔드포인트에 대해 한 곳에서 작성되고 유지 관리됩니다.
효율성: 플러그 인은 Power Automate 흐름에서 여러 단계의 스토리지 및 네트워킹 오버헤드 없이 여러 커넥터 및 데이터베이스 호출을 연속적으로 수행할 수 있습니다.
보안 강화: Dataverse 가상 네트워크 지원을 통해 개인 네트워크 내의 리소스에 대한 아웃바운드 연결을 보호할 수 있습니다. 이러한 방식으로 네트워크 정책에 따라 Power Platform의 송신 트래픽을 안전하게 관리할 수 있습니다. 또한 서버 측 플러그인에서 액세스를 래핑하여 클라이언트로부터 데이터를 격리하고 보호할 수 있습니다.
사용 시기
Power Fx는 Power Apps에서 비즈니스 논리를 만드는 기본 방법이어야 합니다. 그러나 다른 도구와 마찬가지로 강점과 한계가 있으며 다른 도구를 사용하는 것이 더 적절할 수 있는 상황이 있습니다.
낮은 대기 시간 사용 사례
Power App의 짧은 대기 시간이 초점인 경우 Power Fx 함수의 라이브 특성은 Power Fx를 통해 대기 시간이 짧은 비즈니스 논리를 제공할 수 있는 최상의 기능을 가지고 있음을 의미합니다. 짧은 대기 시간을 달성하는 것은 작업의 복잡성과 관련된 데이터 세트의 크기에 따라 크게 달라집니다. Power Fx를 통해 짧은 대기 시간을 달성할 수 있지만, 수행하려는 작업과 그것이 어떻게 설계되었는지가 성능에 직접적인 영향을 미친다는 것을 강조하는 것이 중요합니다. 자세히 알아보기: Power Apps의 성능 고려 사항.
일반적인 데이터 액세스 시나리오의 경우 Power Fx와 결합된 Dataverse가 가장 빠른 방법입니다.
복잡한 시퀀스 및 다중 커넥터
여러 커넥터와 관련된 복잡한 작업 시퀀스의 경우 Power Automate는 Power App에서 처리를 오프로드하는 비동기 메커니즘 역할을 합니다. 비동기식 특성으로 인해 Power App는 워크플로를 시작하고 응답을 기다리지 않고 작업을 계속하여 사용자 경험을 직접 향상시킬 수 있습니다.
중앙 집중식 비즈니스 로직
비즈니스 로직에 레코드를 추가하기 전에 데이터 유효성 검사와 같이 데이터베이스에 대한 변경 사항을 제어하는 경우 Power Fx와 결합된 Dataverse 플러그 인이 권장되는 솔루션입니다. 이 접근 방식은 Dataverse 트랜잭션과 직접 통합되어 변경을 시작한 사용자에게 오류를 다시 전달할 수 있다는 점에서 독특합니다. 이 피드백 메커니즘을 통해 사용자는 작업을 수정하고 다시 시도하여 프로세스 전체에서 데이터베이스 일관성을 보장할 수 있습니다. 플러그인은 중앙 집중식 제어 지점 역할을 하여 모든 애플리케이션(캔버스 및 모델 기반 모두), 흐름 및 기타 엔드포인트에서 일관된 비즈니스 로직을 적용합니다.
또한 Power Automate와 마찬가지로 Power Fx가 있는 Dataverse 플러그 인은 데이터베이스를 반드시 변경하지 않는 사용자 지정 작업을 정의하기 위한 중앙 집중식 위치를 제공합니다. 이 설정은 모든 Power Platform 엔드포인트에서 Power Fx 기반 비즈니스 논리의 공유를 용이하게 하여 일관성과 재사용성을 촉진합니다.