2018.04.17

기고 | 파워앱스, 유연한 기업을 위한 유연한 앱 개발 도구

Simon Bisson | InfoWorld
기업 입장에서는 ‘IT 직원만이 아닌 모든 직원’의 모바일 기기에 업무용 앱을 신속하게 연결할 수 있게 해주는 애플리케이션 개발 툴이 필요하다. 마이크로소프트가 2015년 처음 선보이고 2016년 베타 서비스를 개시한 파워앱스(PowerApps)를 최근 개선한 이유가 바로 이것이다.

현대의 기업용 애플리케이션은 노코드(No Code)와 로우코드(Low Code)에서부터 대규모 서비스 지향적 클라우드 애플리케이션까지 개발의 범위를 넓히고 있다. 대부분 그리 복잡하지 않아 그리 큰 개발 역량을 요구하지는 않는다. 그러나 단순히 구성요소 연결을 끌어다 놓는 것 이상의 수준이 필요한 부분도 있다.

세일즈포스가 최근 수십억 달러를 들여 API 통합 플랫폼 뮬소프트(MuleSoft)를 인수한 것에서 알 수 있듯이 이러한 연결성은 무척 중요하다. 마이크로소프트는 현재 이 분야에서 다양한 애플리케이션과 서비스를 보유하고 있다. 그러나 그 중에서도 아마 가장 중요한 것이 있다면 아마 이번에 업그레이드된 파워앱스일 것이다. 파워앱스는 세일즈포스의 뮬소프트와 마찬가지로 마이크로소프트에게 비즈니스 데이터를 사용자와 연계시키는 플랫폼으로써 동작한다.

파워앱스는 오늘날의 비즈니스 컴퓨팅을 위한 4GL이다
예전에도 이런 적이 있었다. 1990년대, 포르테(Forte) 같은 4세대 언어(4GL)와 비주얼 베이직(Visual Basic)의 1세대는 메인프레임(Mainframe)과 미니컴퓨터 그리고 처음으로 네트워크화된 데스크톱 PC사이에서 가교를 제공했다. 개발자들이 클라이언트-서버 애플리케이션을 신속하게 구축할 수 있는 프로그래밍 언어와 환경을 제공함으로써 비즈니스 컴퓨팅의 양상이 바뀌었고 새로운 워크플로(Workflow)와 새로운 작업 방식이 지원됐다.

이제 우리는 이와 유사한 변곡점에 다다랐다. 애플리케이션은 구내 데이터와 SaaS 플랫폼을 연계하여 직원이 휴대하는 기기에 과업 지향적인 사용자 환경을 제공해야 한다. 서비스 엔지니어는 그 방향성과 역할을 파악해야 하며 보안 책임자는 핵심 쟁점을 다루어야 한다. 이들 서비스 직원들은 모두 SaaS 애플리케이션과 기업 데이터 저장소에 데이터를 공급해야 한다.

이전의 4GL과 마찬가지로 파워앱스는 데스크톱 및 모바일 사용자 환경을 구축하기 위한 사용자 환경 구성요소 라이브러리를 제공한다. iOS 및 안드로이드용 플레이어 앱(player ap)이 있으면 파워앱 사용자는 앱 스토어에서 앱을 다운로드할 필요가 없다. 그리고 IT 부문의 앱 승인이 있기 전에 앱을 제공 받을 수 있다.

커넥터(Connector)와 CDS(Common Data Service)
사용자 환경을 구축하면 일련의 문제들이 신속하게 해결된다. 그러나 파워앱스 같은 4GL의 진정한 가치는 코드를 백엔드(Back-end) 시스템과 연결하는 일련의 사전 개발 사용자 정의 커넥터로 실현된다.

파워앱스에는 마이크로소프트의 서비스뿐만이 아니라 인기 클라우드 플랫폼과 레거시(Legacy) 구내 시스템에 대한 커넥터가 포함되어 있다. 세일즈포스, 아마존 레드시프트(Amazon Redshift), IBM DB2 연결성을 위한 커넥터는 오피스365 또는 다이나믹스(Dynamics) 계정 외에 추가적인 프리미엄 구독이 필요하지만 파워앱스 계정을 설정한 후 사용할 준비만 하면 된다.

마이크로소프트의 비즈니스 애플리케이션 그룹 중 특히 중요한 것이 있다면 CDS일 것이다. CDM(Common Data Model)을 전신으로 하는 CDS는, 애플리케이션 또는 일련의 비즈니스 분석의 중추를 신속하게 형성할 수 있는 공통적인 비즈니스 객체를 위한 일련의 사전 정의된 데이터 모델이다. 파워앱스는 마이크로소프트의 최근 비즈니스 소프트웨어 플랫폼 업데이트에 포함된 CDSAs(Common Data Service for Apps)라는 모델의 하위 집합에 기초해 구축됐다.

마이크로소프트가 보유한 일련의 표준 모음와 사용자 정의 데이터 유형을 융합함으로써 CDS는 모든 애플리케이션을 위한 하나의 데이터 모델 그리고 다이나믹스 애플리케이션, 서버가 없는 마이크로소프트 플로우(Microsoft Flows), 파워앱스와 호환되는 일련의 실체가 사용자의 기초 데이터를 파악할 수 있도록 해준다. 즉 CDS를 이용하는 경우 데이터에 연결하기만 하면 앱을 구축할 수 있다.

-> 첫인상 | 만인을 위한 API 매시업 툴 '마이크로소프트 플로우'

CDS는 액세스(Access)나 파일메이커(FileMaker) 같은 간소화된 데이터베이스이며 저장된 실체(entity)와 실체 관계를 관리하는 툴을 갖추고 있다. 관계형 데이터베이스와 마찬가지로 실체들 사이에서 다양한 관계의 옵션이 존재하지만 각 실체는 자체적인 테이블로써 거동하며 자체적인 필드와 보기가 있다(데이터에 액세스하는 애플리케이션 별로 사용자 정의가 가능하다).

또한 각 실체에 비즈니스 역할을 할당하여 데이터 검증을 처리하고 기본적인 비즈니스 로직을 업데이트에 적용할 수 있다.

파워앱스에서 데이터부터 코드까지 연계하기
데이터 모델을 구축한 후에는 파워 쿼리(Power Query) 같은 서비스를 이용해 외부 소스의 데이터를 CDS로 가져올 수 있다. 아마 비즈니스 분석가들에게는 파워 쿼리가 엑셀의 분석 기능에 포함되어 있고 파워 BI의 핵심 구성요소이기 때문에 익숙할 것이다. 여기에는 ETL에 사용하여 혁신 역량을 활용함으로써 데이터를 포맷하고 선택한 스키마로 맵핑 한다.

파워앱스는 웹에서 블록과 UI 요소를 이용해 코드를 개발하는 시각 프로그래밍 환경이다. 데스크톱 앱은 일부 개발 및 디자인 작업을 처리하지만 웹을 이용해 애플리케이션 통합을 구축하고 관리해야 한다. 엑셀 매크로를 개발한 사람은 누구든 앱을 개발할 수 있지만 애플리케이션 통합 기술이 있고 데이터 소스와 API를 활용할 뿐 아니라 파워앱스 UI를 개발할 수 있는 전담 개발자가 있다면 파워앱스를 적극 활용하게 될 것이다.

한편 파워앱스를 사용할 때는 라이선스 등과 관련된 주의사항이 있다. 모든 요금제에 CDS 등의 기능을 사용하기 위한 올바른 권리가 있는 것이 아니기 때문에 라이선스를 융합하고 비교하여 사용자에게 앱을 제공해야 한다.

예를 들어, 오피스 365 E 요금제는 마이크로소프트 그래프와 호환되는 파워앱스와 오피스 365에 저장된 데이터에 액세스하지만 CDS를 애플리케이션에 추가하는 경우 비즈니스 분석가와 관리자뿐만이 아니라 사용자를 위한 추가적인 파워앱스 요금제가 필요하다. 모든 사용자에게 동일한 요금제가 필요한 것이 아니기 때문에 누가 어떤 요금제를 사용하는지 현명하게 선택하여 비용을 절약할 수 있다.

유연한 기업을 위한 유연한 툴
비즈니스는 유연해야 한다. 또 직원들에게 적절한 애플리케이션을 제공하는 것이 IT부서의 주요 목표가 되어야 한다. 애플리케이션 개발에 수 년이나 수 개월이 소요되어서는 안 된다. 원활한 제공을 위해 IT부서는 통합 플랫폼을 활용해 백엔드 시스템을 묶고 필요에 따라 워크플로와 사용자 환경을 추가해야 한다. 마이크로소프트 중심적인 개발 환경에서 파워앱스는 길잡이가 될 수 있다.

개발자는 정보 노동자의 역할과 의무를 지원하는 복잡한 애플리케이션과 서비스를 개발하는데 많은 시간을 소요하곤 했다. 이로 인해 다른 직원들이 IT지원을 거의 또는 전혀 받지 못하는 상황으로 치닫곤 했다. 파워앱스를 사용하면 이런 관계가 바뀌고 플랫폼에 상관 없이 호환되고 기존의 백엔드 플랫폼과 통합되는 사용성이 높고(교환 가능한) 모바일 애플리케이션을 신속하게 개발하기 위한 플랫폼을 얻을 수 있다.

* 인포월드 칼럼니스트인 Simon Bisson은 학계와 통신 리서치, 컨설팅 분야의 경력을 보유하고 있다. ciokr@idg.co.kr 



2018.04.17

기고 | 파워앱스, 유연한 기업을 위한 유연한 앱 개발 도구

Simon Bisson | InfoWorld
기업 입장에서는 ‘IT 직원만이 아닌 모든 직원’의 모바일 기기에 업무용 앱을 신속하게 연결할 수 있게 해주는 애플리케이션 개발 툴이 필요하다. 마이크로소프트가 2015년 처음 선보이고 2016년 베타 서비스를 개시한 파워앱스(PowerApps)를 최근 개선한 이유가 바로 이것이다.

현대의 기업용 애플리케이션은 노코드(No Code)와 로우코드(Low Code)에서부터 대규모 서비스 지향적 클라우드 애플리케이션까지 개발의 범위를 넓히고 있다. 대부분 그리 복잡하지 않아 그리 큰 개발 역량을 요구하지는 않는다. 그러나 단순히 구성요소 연결을 끌어다 놓는 것 이상의 수준이 필요한 부분도 있다.

세일즈포스가 최근 수십억 달러를 들여 API 통합 플랫폼 뮬소프트(MuleSoft)를 인수한 것에서 알 수 있듯이 이러한 연결성은 무척 중요하다. 마이크로소프트는 현재 이 분야에서 다양한 애플리케이션과 서비스를 보유하고 있다. 그러나 그 중에서도 아마 가장 중요한 것이 있다면 아마 이번에 업그레이드된 파워앱스일 것이다. 파워앱스는 세일즈포스의 뮬소프트와 마찬가지로 마이크로소프트에게 비즈니스 데이터를 사용자와 연계시키는 플랫폼으로써 동작한다.

파워앱스는 오늘날의 비즈니스 컴퓨팅을 위한 4GL이다
예전에도 이런 적이 있었다. 1990년대, 포르테(Forte) 같은 4세대 언어(4GL)와 비주얼 베이직(Visual Basic)의 1세대는 메인프레임(Mainframe)과 미니컴퓨터 그리고 처음으로 네트워크화된 데스크톱 PC사이에서 가교를 제공했다. 개발자들이 클라이언트-서버 애플리케이션을 신속하게 구축할 수 있는 프로그래밍 언어와 환경을 제공함으로써 비즈니스 컴퓨팅의 양상이 바뀌었고 새로운 워크플로(Workflow)와 새로운 작업 방식이 지원됐다.

이제 우리는 이와 유사한 변곡점에 다다랐다. 애플리케이션은 구내 데이터와 SaaS 플랫폼을 연계하여 직원이 휴대하는 기기에 과업 지향적인 사용자 환경을 제공해야 한다. 서비스 엔지니어는 그 방향성과 역할을 파악해야 하며 보안 책임자는 핵심 쟁점을 다루어야 한다. 이들 서비스 직원들은 모두 SaaS 애플리케이션과 기업 데이터 저장소에 데이터를 공급해야 한다.

이전의 4GL과 마찬가지로 파워앱스는 데스크톱 및 모바일 사용자 환경을 구축하기 위한 사용자 환경 구성요소 라이브러리를 제공한다. iOS 및 안드로이드용 플레이어 앱(player ap)이 있으면 파워앱 사용자는 앱 스토어에서 앱을 다운로드할 필요가 없다. 그리고 IT 부문의 앱 승인이 있기 전에 앱을 제공 받을 수 있다.

커넥터(Connector)와 CDS(Common Data Service)
사용자 환경을 구축하면 일련의 문제들이 신속하게 해결된다. 그러나 파워앱스 같은 4GL의 진정한 가치는 코드를 백엔드(Back-end) 시스템과 연결하는 일련의 사전 개발 사용자 정의 커넥터로 실현된다.

파워앱스에는 마이크로소프트의 서비스뿐만이 아니라 인기 클라우드 플랫폼과 레거시(Legacy) 구내 시스템에 대한 커넥터가 포함되어 있다. 세일즈포스, 아마존 레드시프트(Amazon Redshift), IBM DB2 연결성을 위한 커넥터는 오피스365 또는 다이나믹스(Dynamics) 계정 외에 추가적인 프리미엄 구독이 필요하지만 파워앱스 계정을 설정한 후 사용할 준비만 하면 된다.

마이크로소프트의 비즈니스 애플리케이션 그룹 중 특히 중요한 것이 있다면 CDS일 것이다. CDM(Common Data Model)을 전신으로 하는 CDS는, 애플리케이션 또는 일련의 비즈니스 분석의 중추를 신속하게 형성할 수 있는 공통적인 비즈니스 객체를 위한 일련의 사전 정의된 데이터 모델이다. 파워앱스는 마이크로소프트의 최근 비즈니스 소프트웨어 플랫폼 업데이트에 포함된 CDSAs(Common Data Service for Apps)라는 모델의 하위 집합에 기초해 구축됐다.

마이크로소프트가 보유한 일련의 표준 모음와 사용자 정의 데이터 유형을 융합함으로써 CDS는 모든 애플리케이션을 위한 하나의 데이터 모델 그리고 다이나믹스 애플리케이션, 서버가 없는 마이크로소프트 플로우(Microsoft Flows), 파워앱스와 호환되는 일련의 실체가 사용자의 기초 데이터를 파악할 수 있도록 해준다. 즉 CDS를 이용하는 경우 데이터에 연결하기만 하면 앱을 구축할 수 있다.

-> 첫인상 | 만인을 위한 API 매시업 툴 '마이크로소프트 플로우'

CDS는 액세스(Access)나 파일메이커(FileMaker) 같은 간소화된 데이터베이스이며 저장된 실체(entity)와 실체 관계를 관리하는 툴을 갖추고 있다. 관계형 데이터베이스와 마찬가지로 실체들 사이에서 다양한 관계의 옵션이 존재하지만 각 실체는 자체적인 테이블로써 거동하며 자체적인 필드와 보기가 있다(데이터에 액세스하는 애플리케이션 별로 사용자 정의가 가능하다).

또한 각 실체에 비즈니스 역할을 할당하여 데이터 검증을 처리하고 기본적인 비즈니스 로직을 업데이트에 적용할 수 있다.

파워앱스에서 데이터부터 코드까지 연계하기
데이터 모델을 구축한 후에는 파워 쿼리(Power Query) 같은 서비스를 이용해 외부 소스의 데이터를 CDS로 가져올 수 있다. 아마 비즈니스 분석가들에게는 파워 쿼리가 엑셀의 분석 기능에 포함되어 있고 파워 BI의 핵심 구성요소이기 때문에 익숙할 것이다. 여기에는 ETL에 사용하여 혁신 역량을 활용함으로써 데이터를 포맷하고 선택한 스키마로 맵핑 한다.

파워앱스는 웹에서 블록과 UI 요소를 이용해 코드를 개발하는 시각 프로그래밍 환경이다. 데스크톱 앱은 일부 개발 및 디자인 작업을 처리하지만 웹을 이용해 애플리케이션 통합을 구축하고 관리해야 한다. 엑셀 매크로를 개발한 사람은 누구든 앱을 개발할 수 있지만 애플리케이션 통합 기술이 있고 데이터 소스와 API를 활용할 뿐 아니라 파워앱스 UI를 개발할 수 있는 전담 개발자가 있다면 파워앱스를 적극 활용하게 될 것이다.

한편 파워앱스를 사용할 때는 라이선스 등과 관련된 주의사항이 있다. 모든 요금제에 CDS 등의 기능을 사용하기 위한 올바른 권리가 있는 것이 아니기 때문에 라이선스를 융합하고 비교하여 사용자에게 앱을 제공해야 한다.

예를 들어, 오피스 365 E 요금제는 마이크로소프트 그래프와 호환되는 파워앱스와 오피스 365에 저장된 데이터에 액세스하지만 CDS를 애플리케이션에 추가하는 경우 비즈니스 분석가와 관리자뿐만이 아니라 사용자를 위한 추가적인 파워앱스 요금제가 필요하다. 모든 사용자에게 동일한 요금제가 필요한 것이 아니기 때문에 누가 어떤 요금제를 사용하는지 현명하게 선택하여 비용을 절약할 수 있다.

유연한 기업을 위한 유연한 툴
비즈니스는 유연해야 한다. 또 직원들에게 적절한 애플리케이션을 제공하는 것이 IT부서의 주요 목표가 되어야 한다. 애플리케이션 개발에 수 년이나 수 개월이 소요되어서는 안 된다. 원활한 제공을 위해 IT부서는 통합 플랫폼을 활용해 백엔드 시스템을 묶고 필요에 따라 워크플로와 사용자 환경을 추가해야 한다. 마이크로소프트 중심적인 개발 환경에서 파워앱스는 길잡이가 될 수 있다.

개발자는 정보 노동자의 역할과 의무를 지원하는 복잡한 애플리케이션과 서비스를 개발하는데 많은 시간을 소요하곤 했다. 이로 인해 다른 직원들이 IT지원을 거의 또는 전혀 받지 못하는 상황으로 치닫곤 했다. 파워앱스를 사용하면 이런 관계가 바뀌고 플랫폼에 상관 없이 호환되고 기존의 백엔드 플랫폼과 통합되는 사용성이 높고(교환 가능한) 모바일 애플리케이션을 신속하게 개발하기 위한 플랫폼을 얻을 수 있다.

* 인포월드 칼럼니스트인 Simon Bisson은 학계와 통신 리서치, 컨설팅 분야의 경력을 보유하고 있다. ciokr@idg.co.kr 

X