Microsoft released PowerApps to a selective audience as a private preview in November 2015. It’s a service for enterprises to connect data across clouds to create intelligent business apps faster than ever before and share them to any device. Besides addressing the business developer and power user, it also provides opportunities for developers. This enables enterprises to expose corporate internal sources to be used within PowerApps and unleash the power of PowerApps combined with internal data sources. This session goes into the details of the possibilities for developers to leverage the Azure App Services and build APIs to use within your PowerApps. Live demos cover building and managing the API which exposes the internal data within a PowerApp on your device.
4. 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)
5. 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
6. 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
7. 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
8. 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
9. 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
…
10. 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
12. 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
14. 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
15. 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
16. 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
17. 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.
18. HOOK UP OUR
POWERAPP
WITH A WEBAPI
PowerApps, the
Developer Story: Build
an API to Integrate
Corporate Data
19. 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
20. 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
22. 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
23. 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
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)
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.
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
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
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/
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
An operational data store (or "ODS") is a database designed to integrate data from multiple sources for additional operations on the data.
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/
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/
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