본문 바로가기
Azure로운 Power Platform/Power Platform

[Power Apps] Power Apps 란? (파워앱스/canvas app/model-driven app/portal)

by Azure Racoon 2022. 9. 11.

오늘도 Azure로운 Power Platform :D

 

Power Apps가 근래에 엄청난 속도로 업데이트 되기 시작했습니다. 작년과 비교했을 때 너무 새로워 졌죠.

그러면서 Power Apps가 뭔지, 어떻게 사용하면 좋을지 고민하시는 분들도 많아지고 있습니다.

 

이미지 출처: https://www.microsoft.com

 

해당 포스팅은 다음과 같은 내용으로 구성되어 있습니다.

Power Apps 란?
Canvas App, Model-driven app, 그리고 Portal
Power Apps와 Dynamics 365
Power Apps의 사용

 


Power Apps란?

MS의 공식 문서를 보면 Power Apps를 다음과 같이 설명합니다.

Power Apps is a suite of apps, services, and connectors, as well as a data platform, that provides a rapid development environment to build custom apps for your business needs.

파워앱스는 앱, 서비스, 커넥터, 데이터 플랫폼으로 이루어져 있으며, 이들은 당신의 비즈니스 요구를 위한 커스텀 앱을 빠르게 개발할 수 있는 환경을 제공합니다.

 

정리하자면, Power Apps는 웹 및 모바일 앱 애플리케이션을 제작하는 로우-코드, 웹/클라우드 기반 플랫폼입니다.

Power Apps로 모바일이나 태블릿 PC 등에서 동작하는 반응형앱을 개발하여 비즈니스용으로 사용할 수 있습니다.

 


Canvas App, Model-driven app, 그리고 Portal

Power Apps 환경에서는 canvas app, model-driven app, 그리고 portal을 개발할 수 있습니다.

 

Canvas App

더보기

 

이미지 출처: https://dynamicconsultantsgroup.com

 

모바일 기기에 최적화된 앱을 개발할 수 있습니다. UI가 직관적이라 접근성이 높고 개발 난이도가 낮습니다. (MS가 소개하기로는 파워포인트와 UI가 유사해서 쉽게 개발 할 수 있다는데 그건 잘 모르겠...)

물론 drag and drop 방식으로 컴포넌트들을 컨트롤 할 수 있죠.

 

이미지 출처: https://www.techtarget.com

 

low-code 플랫폼 답게 본래 C#과 같은 언어로 개발하던 앱들을 엑셀 수식과 비슷한 fx 함수를 사용하여 동작을 정의할 수 있습니다. 가령 버튼 클릭시 다음 페이지로 넘어가거나 작성한 내용을 제출하는 동작 등을 Navigate()과 SubmitForm() 등의 함수로 쉽게 정의 할 수 있다는 의미입니다.

 

이미지 출처: https://docs.microsoft.com

 

또한 별도의 API 개발없이 데이터를 쉽게 연결할 수 있도록 굉장히 많은 데이터 커넥터를 제공합니다. 지금도 계속 새롭게 추가되고 있죠. 이미 사용중이시던 Office 365 제품들과의 연계도 수월하여 비즈니스 앱 개발에는 큰 장점을 가지고 있습니다.

 

개발한 앱을 사용자들과 공유하여 웹 브라우저나 모바일 기기에서 사용할 수 있고, SharePoint, Power BI, 그리고 Teams에 임베디드 하여 사용할 수도 있습니다.

 

Model-driven app

더보기

Power Apps에 대해 설명을 드리다 보면 많은 분들이 이해하기 어려워하는 컨셉 중 하나가 model-driven app입니다.

Canvas app과 Portal에 대해서는 금방 이해하지만 Model-driven app은 무엇을 위한 앱이고, 어떻게 사용하는지 의문을 표하시더라고요.

 

간단히 정의하자면 Model-driven app은 사용자가 데이터 입력 및 처리를 간편히 할 수 있게 하는 앱입니다.

 

Model-driven 앱은 Dataverse만을 데이터 소스로 사용할 수 있습니다. Dataverse를 사용하지 않을 것이라면 Model-driven app의 사용은 접어두고, Canvas app의 사용을 고려해야합니다.

 

Model-driven app은 이름에서 알 수 있는 것처럼 데이터 모델을 기반으로 개발 및 운영되는 앱입니다. 그렇기 때문에 Parents 테이블과 Child 테이블간의 관계정의(table relationship)가 탄탄히 되어 있어야 해당 앱을 fully 사용할 수 있습니다.

 

또한 Canvas app과 달리 개발자가 사용자 인터페이스(UI)를 디자인 할 수 없습니다. 개발자는 사용할 테이블과 데이터에 적용할 로직만을 지정할 수 있으며, UI는 Power apps가 제공하는 UI를 사용합니다. UI는 다음과 같습니다. 아래 화면에서 개발자가 편집할 수 있는 것은 좌측의 메뉴 구성(Sitemap) 밖에 없습니다.

 

이미지 출처: https://docs.microsoft.com/en-us/

  

Model-driven app은 크게 다음과 같은 화면으로 나눠볼 수 있습니다.

(물론 이외에 자세히 구분하면 더 많습니다만, 저의 지극히 개인적인 의견으로 가장 큰 기능은 아래 네개라고 생각합니다.)

 

1. Form : 데이터를 입력하는 화면입니다. 테이블에 record, 즉 row를 추가할 수 있는 화면입니다.

이미지 출처: https://docs.microsoft.com

 

복잡해 보일 수도 있는 화면입니다만, 해당 화면에서 하는 일은 데이터 입력이라는 것만 이해하시면 됩니다.

 

2. View : 테이블을 확인 할 수 있는 화면입니다.

이미지 출처: https://docs.microsoft.com

 

3. Business Process Flow : 데이터를 정의된 로직으로 다룰 수 있는 화면입니다.

가령 인보이스 record(row)의 company, cost, recieved date 등의 데이터가 입력된 후에는 자동으로 특정 담당자에게 메일 발송을 보내고, 담당자가 승인 버튼을 누르면 approved date, manager 등의 데이터가 입력되어야 한다는 비즈니스 프로세스가 있다고 한다면 다음과 같이 정리할 수 있습니다.

 

(1) 인보이스 접수 → company, cost, recieved date 입력

(2) 담당자에게 승인요청 메일 발송

(3) 담당자 승인 시 approved date, manager 입력 / 미승인 시 데이터 미입력 및 담당 부서로 재검토 요청 메일 전송

 

위 프로세스를 정의해 놓으면, 접수되는 모든 인보이스는 해당 흐름따라 처리됩니다. 이렇게 특정 데이터에 대해 로직을 한번 정의해 놓으면 해당 데이터는 정의된 단일의 처리 프로세스를 타게된 다는 점이 장점이죠. Power Automate이 들어와 있다고 생각하면 이해가 더 빠를 수 있습니다.

 

단계 하나가 완료된 것이 확인 된 후 다음 단계로 넘어가도록 컨트롤 할 수 있게 되어 있습니다. 흐름 중간에 담당자로부터의 승인을 기다리는 등 사용자와 상호작용이 가능하게도 개발 할 수 있습니다. 해당 화면의 예시는 아래와 같습니다.

이미지 출처: https://pwmather.files.wordpress.com

 

4. Dashboard : 데이터를 시각화한 대시보드입니다. 존재하는 데이터에 대한 overview를 제공합니다.

 

이와 같이 Model-driven app은 데이터 입력, 처리 및 관리를 편하게 합니다. Dataverse를 사용할 수 있는 (고도화된) UI 화면이  생겼다고 받아들이셔도 좋을 것 같습니다.

 

Model-driven app vs. Canvas app

 

Category Model-driven app Canvas app
데이터 플랫폼 Dataverse 전용 Dataverse+ 커넥터를 사용하는 많은 다른 플랫폼
디자인 환경 코드 없는 구성 요소 중심 디자인 Power Fx 표현식을 사용한 컨트롤 속성 조작
UI 컨트롤 제한된, 주로 사용자 정의 전체 컨트롤
앱 일관성 높음 – 선택한 테이블과 보기에 따라 주로 다릅니다. 디자이너가 사용자 경험에 대해 상당한 통제력을 가지고 있음을 감안할 때 종종 낮음
환경 간 마이그레이션 단순함 데이터 소스를 업데이트해야 할 수 있으므로 잠재적으로 복잡함
생성 속도 빠름 디자인의 복잡성에 비해
반응형 자동으로 반응 이러한 방식으로 설계된 경우에만 반응
관계 탐색 자동, 관계가 있는 경우 Power Fx 수식을 사용하여 설계 및 적용한 경우에만
접근성 기능 기본 제공 앱에 설계: 액세스 가능한 캔버스 앱 만들기

 

Portal

더보기

Portal은 포탈입니다. 웹사이트죠.

 

Portal 또한 Dataverse만을 data source로 사용할 수 있습니다. 만일 꼭 다른 DB와 소통해야한다면 Canvas app을 임베디드 하는 등 우회방법을 생각해 볼 수도 있지만(추천하지는 않습니다.), 기본적으로 Portal의 데이터소스는 Dataverse 하나입니다.

이미지 출처: https://msdynamicsworld.com

 

Canvas app과 같이 low code기반의 환경입니다. 위와 같은 화면에서 drag and drop 및 click으로 개발할 수 있습니다. 실제 사용화면 예시는 아래와 같습니다. 고급 프로그래밍 언어로 개발된 포털과 비교해도 차이가 전혀 나지 않습니다.

 

이미지 출처: https://dynamicconsultantsgroup.com

Power Apps와 Dynamics 365

Power Apps는 Dynamics 365 위에서 동작할 수도 있습니다. 기능은 위에서 설명한 내용과 다르지 않습니다만, 색깔 및 폰트 같은 UI 디자인이 조금 달라집니다.

이미지 출처: https://docs.microsoft.com

 

이미지 출처: https://readyxrmblog.files.wordpress.com

 

이미지 출처: https://i0.wp.com/ppmblog.org

 


Power Apps의 사용

HR

 

- 직원 온보딩(Onboarding)

: 온보딩 작업, 승인 요청, 작업 대기 관리, 회사 세부 정보 관리, 팀 소개 등을 수행하는 앱 개발

 

- 휴가 관리

: 휴가 적용, 병가 보고, 휴가 계획, 동료 간 커뮤니케이션, HR 및 승인을 관리하는 앱 개발

 

- 복리후생 관리

: 헬스케어, 자기개발, 레크리에이션, 팀 빌딩과 같은 정책은 조직별로 상이. 시중에서 구할 수 있는 표준 솔루션은 조직의 모든 요구 사항에 적합하지 않을 가능성 존재. 해당 경우 Power Apps로 빠르게 커스터마이징 된 관리 앱 개발.

 

Sales and Marketing

 

- 행사 관리

: 마케팅 행사에는 일반적으로 많은 계획 수립 및 일정 관리가 필요. Power Apps로 참석자의 약력을 분석하여 최적화된 사용자 경험(user experience)를 제공하는 end-to-end 이벤트 관리 앱.

 

- 현장 서비스 관리

: 현장의 인력들은 가장 많은 고객 정보를 가지고 있으며 고객에게 더 나은 서비스를 제공하기 위해 실시간으로 의사소통이 필요. 상태 메모, 고객 기록, 영업 및 운영 팀에 대한 실시간 조치 등과 같이 조직, 서비스, 혹은 제품 종류에 따라 맞춤 기능을 가진 현장 서비스 관리 앱 개발

 

Fianacial Tracking

 

- 비용 관리

: 모든 조직은 검토 프로세스에 많은 시간이 필요하기 때문에 비용 청구를 처리하는 데 많은 시간을 투자. Power Apps를 사용하면 짧은 시간에 쉽게 영수증 검토, 비용 청구 과정 추적, 그리고 관리 가능.

 

- 송장 처리

: 많은 기업들이 현재 송장 처리의 많은 부분을 수동 수행. Power Apps의 다양한 템플릿 및 Power Automate 사용을 통해 자동 송장 생성, 경고 및 알림 전송과 같은 워크플로우(work flow)생성 가능.

 

그 외

 

- 헬프 데스크(Customer/Employee Self-service)

: Power Apps의 포털을 사용하여 헬프 데스크 응용 프로그램을 쉽게 생성.

 

- 파트너 포털(Partner Portal)

: 여러 공급업체와 서비스 파트너의 계약 및 커뮤니케이션을 종합적으로 관리 가능.

 

- 공급망 관리(Supply-chain management)

: 하나의 통합된 앱에서 재고, 자산, 생산 및 물류를 관리하여 어디서나 상태(status) 및 활용도(utilization)를 한 번에 확인 가능.

 


 

Power Apps에 있는 여러 기능들을 사용하면 굉장히 빠른 시간안에 고성능의 앱을 개발 할 수 있다는 장점이 있습니다. 비즈니스 관리 앱 및 포털을 고민하고 계신 분들은 한번 시도해볼 가치가 충분히 있을 것 같습니다.

댓글