POWERAPPS, THE DEVELOPER STORY:
BUILD AN API TO INTEGRATE
CORPORATE DATA
Bram de Jager
Lead Architect
What about every
other need your
business faces?
Secure
Scalable
Managed
Integrated
Compliant
Fast
Iterative
Cross-platform
Beautiful
Easy
VS
TRENDS
MOBILE BUSINESS
PROCESS WILL GO
MOBILE
“50% of business processes
that involve human tasks will
require near-real-time
responses that are mobile-
enabled” (Source: Gartner
2014)
EXPECTATION GAP
BETWEEN BUSINESS
& IT
Real world business process
cross multiple apps and
cloud services
Information & technology
still fails to meeting
expectations of business
users
RESOURCING IS
CONSTRAINED &
SHIFTING
“Through 2017 market
demand for mobile app dev.
services will grow at least 5X
faster than internal IT
organization capacity to
deliver” (Source: Gartner
2015)
“By 2020, 70% of enterprise
mobile apps used in
enterprises will be developed
or adopted without IT
involvement” (Source Gartner
2016)
Connect to existing
systems and data
sources
MICROSOFT POWERAPPS IS A SERVICE FOR
CREATING AND USING CUSTOM BUSINESS APPS
ACROSS PLATFORMS
Build apps, forms,
and workflows
without writing code
Publish apps
instantly for web
and mobile
BUILD USEFUL APPS WITHOUT WRITING CODE
Craft forms and
screens in a visual
designer that helps
you see exactly what
you’ll get
Take advantage of
device capabilities
like cameras, GPS,
and pen controls
Extend the
capabilities of
connected data
sources, or focus just
on the bits you need
Build business logic
into your apps with
an Excel-inspired
expression language
Quickly generate and customize apps
based on Excel files, SharePoint Online lists,
Oracle, Salesforce records, Wunderlist, and
more. You can even connect custom APIs.
Your apps will be able to fully interact with
underlying sources and will respect the
permissions you’ve already established in
them.
CONNECT TO THE
SYSTEMS YOU’RE
ALREADY USING
Get apps to your team when and where
they’re needed, whether that’s on the
web, iOS or Android—no app store
required.
PUBLISH APPS INSTANTLY
FOR WEB AND MOBILE
Build modern business apps fast
Compose analytics, user experiences, and
using an integrated set of services from Microsoft
More efficient developers
Seamlessly extend capabilities for power users
and leverage powerful Azure platform services
BUSINESS APPLICATION PLATFORM
Empowered power users
People who understand their business needs best
can now build apps quickly without writing code PowerAppsPower BI Microsoft Flow
Common Data Model Connectors & Gateways
Connected data across apps
Whether built on the Common Data Model or
integrated with existing systems, get more value from
your data
MEASURE ACT AUTOMATE
Azure App Services
Azure Functions
…
Azure Logic Apps
Azure API Management
…
Azure Data analytics
SQL Server BI
…
Operational data store
Common Data Model
and custom entities
Real time
sync
Data
API
PowerAppsPower BI Microsoft Flow
COMMON DATA PLATFORM
Backbone for your business data
NOW, LET’S
CREATE A
POWERAPP!
PowerApps, the
Developer Story: Build
an API to Integrate
Corporate Data
Now, let’s create a PowerApp!
VISITOR REGISTRATION APP
› Business scenario
› Reception welcomes visitors during the day
› It’s unclear for the receptionist who is inside the building
› For safety regulation a list of people accessing the building needs to
be available in case of emergency
› Business needs
› The app should support the registration process
› Visitors need to register themselves to prevents misspelling names
› On arrival a visitor needs to check-in
› On departure the visitor needs to check-out
DEVELOPING
AZURE API APP
FOR
POWERAPPS
PowerApps, the
Developer Story: Build
an API to Integrate
Corporate Data
Developing Azure API App for PowerApps
APIS IN POWERAPPS
Tons of out-of-box APIs ready to use
Expose your own APIs hosted anywhere
Automatic AAD authentication
Advanced user based authorization
API definition discovery
Connectivity to SaaS systems, data in cloud or on-
premises
Developing Azure API App for PowerApps
CUSTOM APIS
› REST APIs used to connect with 3rd party services
› Authentication supports Basic Auth and OAuth 2.0
› Register the custom API using Swagger definition
› Use the function in PowerApps or Flow like any other function
Developing Azure API App for PowerApps
SWAGGER ACTION
A simple yet powerful representation of a RESTful API
Swagger enables: interactive documentation, client SDK
generation and discoverability
Open source standard, language-agnostic interface to
REST APIs
AZURE API APP SUPPORTS SWAGGER 2.0 API OUT OF THE BOX,
OTHERWISE USE SWASHBUCKLE NUGET PACKAGE
Developing Azure API App for PowerApps
SOMETHING TO REMEMBER
ALL GOODNESS COMES WITH
LIMITATIONS, LEARN TO DEAL WITH
IT AND YOU MASTER IT
You can create only one
custom API per user in
PowerApps for Office 365.
Custom APIs that are
shared with you don't
count against this quota.
For each connection
created on a custom API,
users can make up to 500
requests per minute.
Keep in mind that deleting
a custom API deletes all the
connections created to the
API.
HOOK UP OUR
POWERAPP
WITH A WEBAPI
PowerApps, the
Developer Story: Build
an API to Integrate
Corporate Data
Hook up our PowerApp with an Azure API app
SCENARIO
Visitor comes in and registers with barcode
Meeting is being retrieved from MeetingsApi based on
barcode
Visitor selects his details to check in
App shows overview of check in information
Visitor confirms check in
App updates the ‘Visitors Registration’ list in SharePoint
Online
Hook up our PowerApp with an Azure API app
DEMO STEPS
Build a WebApi from scratch
Deploy API to Azure
Register the API within PowerApps
Use the API within a PowerApp
WRAP-UP
PowerApps, the
Developer Story: Build
an API to Integrate
Corporate Data
Wrap-up
PRICING
For Office 365 and
Dynamics 365
Included
in select Office 365
and Dynamics 365
plans
For business users
€5.90*
per user
per month
For app makers and
admins
€33.70*
per user
per month
PowerApps for Office 365 and Dynamics 365 PowerApps Plan 1 PowerApps Plan 2
* for current pricing see https://powerapps.microsoft.com/en-us/pricing
Connect to existing
systems and data
sources
MICROSOFT POWERAPPS IS A SERVICE FOR
CREATING AND USING CUSTOM BUSINESS APPS
ACROSS PLATFORMS
Build apps, forms,
and workflows
without writing code
Publish apps
instantly for web
and mobile
Wrap-up
THANK YOU
@bramdejager
bram.dejager@delaware.pro
bramdejager.wordpress.com

PowerApps, the Developer Story: Build an API to Integrate Corporate Data

  • 1.
    POWERAPPS, THE DEVELOPERSTORY: BUILD AN API TO INTEGRATE CORPORATE DATA Bram de Jager Lead Architect
  • 2.
    What about every otherneed your business faces?
  • 3.
  • 4.
    TRENDS MOBILE BUSINESS PROCESS WILLGO MOBILE “50% of business processes that involve human tasks will require near-real-time responses that are mobile- enabled” (Source: Gartner 2014) EXPECTATION GAP BETWEEN BUSINESS & IT Real world business process cross multiple apps and cloud services Information & technology still fails to meeting expectations of business users RESOURCING IS CONSTRAINED & SHIFTING “Through 2017 market demand for mobile app dev. services will grow at least 5X faster than internal IT organization capacity to deliver” (Source: Gartner 2015) “By 2020, 70% of enterprise mobile apps used in enterprises will be developed or adopted without IT involvement” (Source Gartner 2016)
  • 5.
    Connect to existing systemsand data sources MICROSOFT POWERAPPS IS A SERVICE FOR CREATING AND USING CUSTOM BUSINESS APPS ACROSS PLATFORMS Build apps, forms, and workflows without writing code Publish apps instantly for web and mobile
  • 6.
    BUILD USEFUL APPSWITHOUT WRITING CODE Craft forms and screens in a visual designer that helps you see exactly what you’ll get Take advantage of device capabilities like cameras, GPS, and pen controls Extend the capabilities of connected data sources, or focus just on the bits you need Build business logic into your apps with an Excel-inspired expression language
  • 7.
    Quickly generate andcustomize apps based on Excel files, SharePoint Online lists, Oracle, Salesforce records, Wunderlist, and more. You can even connect custom APIs. Your apps will be able to fully interact with underlying sources and will respect the permissions you’ve already established in them. CONNECT TO THE SYSTEMS YOU’RE ALREADY USING
  • 8.
    Get apps toyour team when and where they’re needed, whether that’s on the web, iOS or Android—no app store required. PUBLISH APPS INSTANTLY FOR WEB AND MOBILE
  • 9.
    Build modern businessapps fast Compose analytics, user experiences, and using an integrated set of services from Microsoft More efficient developers Seamlessly extend capabilities for power users and leverage powerful Azure platform services BUSINESS APPLICATION PLATFORM Empowered power users People who understand their business needs best can now build apps quickly without writing code PowerAppsPower BI Microsoft Flow Common Data Model Connectors & Gateways Connected data across apps Whether built on the Common Data Model or integrated with existing systems, get more value from your data MEASURE ACT AUTOMATE Azure App Services Azure Functions … Azure Logic Apps Azure API Management … Azure Data analytics SQL Server BI …
  • 10.
    Operational data store CommonData Model and custom entities Real time sync Data API PowerAppsPower BI Microsoft Flow COMMON DATA PLATFORM Backbone for your business data
  • 11.
    NOW, LET’S CREATE A POWERAPP! PowerApps,the Developer Story: Build an API to Integrate Corporate Data
  • 12.
    Now, let’s createa PowerApp! VISITOR REGISTRATION APP › Business scenario › Reception welcomes visitors during the day › It’s unclear for the receptionist who is inside the building › For safety regulation a list of people accessing the building needs to be available in case of emergency › Business needs › The app should support the registration process › Visitors need to register themselves to prevents misspelling names › On arrival a visitor needs to check-in › On departure the visitor needs to check-out
  • 13.
    DEVELOPING AZURE API APP FOR POWERAPPS PowerApps,the Developer Story: Build an API to Integrate Corporate Data
  • 14.
    Developing Azure APIApp for PowerApps APIS IN POWERAPPS Tons of out-of-box APIs ready to use Expose your own APIs hosted anywhere Automatic AAD authentication Advanced user based authorization API definition discovery Connectivity to SaaS systems, data in cloud or on- premises
  • 15.
    Developing Azure APIApp for PowerApps CUSTOM APIS › REST APIs used to connect with 3rd party services › Authentication supports Basic Auth and OAuth 2.0 › Register the custom API using Swagger definition › Use the function in PowerApps or Flow like any other function
  • 16.
    Developing Azure APIApp for PowerApps SWAGGER ACTION A simple yet powerful representation of a RESTful API Swagger enables: interactive documentation, client SDK generation and discoverability Open source standard, language-agnostic interface to REST APIs AZURE API APP SUPPORTS SWAGGER 2.0 API OUT OF THE BOX, OTHERWISE USE SWASHBUCKLE NUGET PACKAGE
  • 17.
    Developing Azure APIApp for PowerApps SOMETHING TO REMEMBER ALL GOODNESS COMES WITH LIMITATIONS, LEARN TO DEAL WITH IT AND YOU MASTER IT You can create only one custom API per user in PowerApps for Office 365. Custom APIs that are shared with you don't count against this quota. For each connection created on a custom API, users can make up to 500 requests per minute. Keep in mind that deleting a custom API deletes all the connections created to the API.
  • 18.
    HOOK UP OUR POWERAPP WITHA WEBAPI PowerApps, the Developer Story: Build an API to Integrate Corporate Data
  • 19.
    Hook up ourPowerApp with an Azure API app SCENARIO Visitor comes in and registers with barcode Meeting is being retrieved from MeetingsApi based on barcode Visitor selects his details to check in App shows overview of check in information Visitor confirms check in App updates the ‘Visitors Registration’ list in SharePoint Online
  • 20.
    Hook up ourPowerApp with an Azure API app DEMO STEPS Build a WebApi from scratch Deploy API to Azure Register the API within PowerApps Use the API within a PowerApp
  • 21.
    WRAP-UP PowerApps, the Developer Story:Build an API to Integrate Corporate Data
  • 22.
    Wrap-up PRICING For Office 365and Dynamics 365 Included in select Office 365 and Dynamics 365 plans For business users €5.90* per user per month For app makers and admins €33.70* per user per month PowerApps for Office 365 and Dynamics 365 PowerApps Plan 1 PowerApps Plan 2 * for current pricing see https://powerapps.microsoft.com/en-us/pricing
  • 23.
    Connect to existing systemsand data sources MICROSOFT POWERAPPS IS A SERVICE FOR CREATING AND USING CUSTOM BUSINESS APPS ACROSS PLATFORMS Build apps, forms, and workflows without writing code Publish apps instantly for web and mobile
  • 24.

Editor's Notes

  • #3 Developing customer software to if often privileged for a handful of business apps, as building customer applications to meet enterprise requirement has its own challenges : Time consuming : developing of a customer mobile app can take anywhere from 3 to 12 months for a single project, depending on the app complexity (source ADT magazine).  This becomes challenging in situation where LOB wants to respond and implement improvements quickly Cost prohibitive : driven by a shortage of specialized resourcing : 94% of the enterprise organization have a shortage of App developers, as a lot of App developers still prioritize consumer facing Apps (Source ADT Magazine & Vision Mobile). 180K first time development, changes and iterations Off-the-shelf SaaS can only solve so many problems Most ‘off-the-shelf’ SaaS solutions are targeted as solving specific problems` and often come with their own mobile App. These apps provide a mobilize experience of these specific SaaS solutions. However, the onslaught of information from these individual often disconnected SaaS services will virtually make it impossible for workers to follow everyday business processes. More and more business process will span multiple applications and SaaS services. (Source: eWeek)  
  • #4 When building Line-of-business applications there two different requirements sets that need to be addressed, but can often cause friction between.   On one side, requirements set by IT organizations on: Security - for example Apps can only provide access to the line-of-business data the person is entitled to given their role in the organization. Scalability - ensuring the applications can be use by a large enough number of people in a performant way. Managed - making sure application updates can be easily distributed, for example not dependent on an OS-related AppStore Integrated - To reach their full power, Apps need to use existing data sources and systems and can't live in isolation Compliant - the app need to follow any policy compliancy guidance set by the organization While on the other side the line-of- business sets requirement around: Fast - speed at which a new application can be built to meet the minimal requirements from business. There is no time to wait 6-12 month for a new app to be available Iterative - how quickly and easily can iterations be implemented? Eg business processes continuously change, line-of-business apps need to be able to keep up with these changes through quick iterations Cross-platform - applications been to be used on the devices and platforms of our choosing Beautiful - consumerization of IT set increased requirements on the look and feel of Apps, as users transpose their experience of their consumer apps onto enterprise apps. Easy - easy to use application that do not need any end-user training   In the past, these two sets of requirement often conflicted with each other and have kept companies back in innovation and speed of business.
  • #6 MSFT PowerApps is a SaaS service for creating and using custom customer business apps across different mobile and web platforms It connect to excising enterprise systems and data sources you already have allows you to build LOB apps that utilizing the investment you’ve already made in your existing enterprise systems, without have to duplicate data and thus keeping a ‘clean’ single version ‘of the truth’ PowerApps enables you to build Apps without have to write code. It enables you to build Apps declaratively. With PowerApps, business experts can work more efficiently together with their counterparts in IT and consulting partners, literally on the same page in a visual designer—or solve problems on their own. Through an integration with Microsoft Flow, you can trigger flows right from within apps. The Apps can be published instantly to co-workers across web, tablets and mobile devices for easy sharing and consumption within your organization. Now – lets drill into each of these a bit more
  • #7 Building useful line-of-business apps without have to write code is, some of the key highlights through the PowerApps Studio : A visual designer with a familiar user experience that enable you to build the screens you need to power your App. You can build validation rules and business logic right into your screen using an Excel-function inspired expression language. Take advance of the devoice specific sensor capabilities like cameras, GPS and Pen Controles to improve context awareness of the app and build even more powerful apps
  • #8 Microsoft PowerApps ships with an every growing list of 115 connectors to most common used services from common Office 365 services like Outlook and OneDrive to popular collaboration services like Slack and market leading CRM SaaS offerings like SalesForce.com and Dynamics CRM. In addition, more sophisticated flows can be created with for example connecting to the Azure Service Bus or register a custom APIs through simply providing the Swagger end point definition A full list of the most recent connectors available can be found here: https://powerapps.microsoft.com/en-us/tutorials/connections-list/
  • #10 Power Suite / Power Tier: Power BI + PowerApps + Flow Common Data Model Security Model: who can access the data based on roles, who can add, modify data Real time sync: get data into the platform from both cloud services and on-premises data (gateways) Operational Data Store: automatically create the operational data store to use in Azure Analytics (Power BI) Data API: pro development tools based on SDK
  • #11 An operational data store (or "ODS") is a database designed to integrate data from multiple sources for additional operations on the data.
  • #17 The Azure API App project template is equivalent to choosing the Empty ASP.NET 4.5.2 template, clicking the check box to add Web API support, and installing the Swashbuckle NuGet package. In addition, the template adds some Swashbuckle configuration code designed to prevent the creation of duplicate Swagger operation IDs. Once you've created an API App project, you can deploy it to an API app the same way you saw in this tutorial. https://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-get-started/
  • #18 https://powerapps.microsoft.com/en-us/tutorials/register-custom-api/#quota-and-throttling
  • #23 Use the Common Data Service: Only Plan 1, Plan 2, not O365 Premium connectors like Azure Event Hub, Salesforce, MailChimp, DB2: Only Plan 1, Plan 2, not O365 Create custom APIs (per user): Only 1 in O365, unlimited in Plan 1, Plan 2 Is there a plan for developers? Yes, we are working on a free plan for developers. Details will follow soon. Source: https://powerapps.microsoft.com/en-us/pricing/
  • #24 MSFT PowerApps is a SaaS service for creating and using custom customer business apps across different mobile and web platforms It connect to excising enterprise systems and data sources you already have allows you to build LOB apps that utilizing the investment you’ve already made in your existing enterprise systems, without have to duplicate data and thus keeping a ‘clean’ single version ‘of the truth’ PowerApps enables you to build Apps without have to write code. It enables you to build Apps declaratively. With PowerApps, business experts can work more efficiently together with their counterparts in IT and consulting partners, literally on the same page in a visual designer—or solve problems on their own. Through an integration with Microsoft Flow, you can trigger flows right from within apps. The Apps can be published instantly to co-workers across web, tablets and mobile devices for easy sharing and consumption within your organization. Now – lets drill into each of these a bit more