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

Bram de Jager
Bram de JagerLead Architect at delaware à delaware Netherlands
PowerApps, the
Developer Story: Build an
API to Integrate
Corporate Data
Bram de Jager
Lead Architect, Delaware Consulting, The Netherlands
What about every other need your
other need your business faces?
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
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)
Real world business
process cross multiple apps
and cloud services
Information & technology
still fails to meeting
expectations of business
users
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,
Salesforce records 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 automation
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
Connected data across apps
Whether built on the Common Data Model or integrated
with existing systems, get more value from your data
Azure AppServices
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
Common Data Platform
Backbone for your business data
PowerApps and Flow preview
Public preview from the beginning of May till GA in October
124,000+
creators
46,000+
organizations
143
countries
Now, let’s build some stuff!
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
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 need
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
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
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
Swagger
What is Swagger?
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
How do I use Swagger in my project?
ASP.NET Web API project » Install the Swashbuckle NuGet package
Azure API App » supports Swagger 2.0 API metadata out of the box
What’s required to get started?
Prerequisites
Visual Studio 2015 with the Azure SDK for .NET with Azure App Service Tools v2.9.1 or
higher
Azure account with Azure App Service
Office 365 account with PowerApps
Quota and throttling
You can create up to five custom APIs in a PowerApps account. 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 an Azure API app
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
Demo steps
Build a Azure API App from scratch
Deploy API App to Azure
Add the API App to PowerApps
Use the API App within a PowerApp
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
Steps for this screen
Scan the barcode
Retrieve the meeting from the MeetingsApi
(custom Azure API)
Show meeting details
Click Next-button
Set Textbox.Text function
MeetingsApi.MeetingsGetByBarcode(BarcodeC
ontrol.Text).Subject
Steps for this screen
This screen shows the registered attendees for
the selected meeting (from the previous screen)
The data is retrieved from the MeetingsApi
Select one of the attendees to navigate to the
next screen
Set Gallery.Items function
MeetingsApi.MeetingsGetByBarcode(BarcodeC
ontrol.Text).Attendees
Set Arrow.OnSelect function
Navigate(CheckInScreen,ScreenTransition.Non
e)
Steps for this screen
This screen shows the selected attendee (from
the previous screen)
Enter license plate (txtLicensePlate)
When the Check in-button is clicked the
SharePoint list ‘Visitors Registration’ is updated
with data from the MeetingsApi.
CheckIn and LicensePlate fields are updated.
Set Button.OnSelect function
UpdateIf('Visitor
Registration',Title=Gallery.Selected.Fullname,{C
heckIn:Now(),LicensePlate:txtLicensePlate.Text
})
Update is performed on this list item. Based on
Gallery.Selected.Fullname with value “Emma Lowton”
Columns LicensePlate and CheckIn are updated
from the formula
1
2
Wrap-up
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps packaging
• Included with O365 and D365
workloads
• PowerApps & Flow capabilities
• Create & run within the context
of Office 365 and Dynamics
365 data sources
Quotas (per user; pooled tenant-
wide):
• 2.000 flow runs per month
• PowerApps & Flow capabilities
• Access Common Data Model
and premium connectors
• Run any app or flow & build
against any existing data
source
Quotas (per user; pooled tenant-
wide):
• 4.500 flow runs per month
• 20 MB Data Storage
• 2 GB File Storage
• Included in full D365 Plans
Includes everything in P1, plus
• Create any app or flow
• Model your business data and
create custom entities (CDM)
• Create/manage environments
• Set policy and view usage
Quotas (per user; pooled tenant-
wide):
• 15.000 flow runs per month
• 200 MB Data Storage
• 20 GB File Storage
PowerApps & Flow roadmap
Q4 Calendar 2016 H1 Calendar 2017
oPower BI integration across the platform
oSolution packages
oPro-developer control extensibility
oRe-usable, dynamic business process & logic
oCommon Data Platform Office 365 data sync
oEnhanced mobile Flow integration
oExtended Common Data Platform security model
oEmbedded, in-context SharePoint Online
oAdditional embedded experiences
oSovereign cloud deployments
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
Enjoyed this session?
Call to action, provide feedback!
Don’t forget to rate this session at
sharepointeurope.com/MyESPC16
Related sessions
Build business apps for Office 365 - InfoPath, PowerApps, Flow and more
Wednesday 16:45 - 17:45 | W33 | Chris McNulty
Discover PowerApps with SharePoint - Is it a Good Fit?
Thursday 15:15 – 16:15 | Th31 | Benjamin Niaulin
Thank you
@bramdejager
bram.dejager@delawareconsulting.com
http://bramdejager.wordpress.com
1 sur 32

Contenu connexe

Tendances(20)

En vedette

PowerApps Deep DivePowerApps Deep Dive
PowerApps Deep DiveSPC Adriatics
5.3K vues32 diapositives
Power apps presentationPower apps presentation
Power apps presentationInnoTech
13.6K vues21 diapositives
Infopath dasInfopath das
Infopath dashyesayan
670 vues82 diapositives

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

Similaire à PowerApps, the Developer Story: Build an API to Integrate Corporate Data(20)

01 mvp skill_power platform overview01 mvp skill_power platform overview
01 mvp skill_power platform overview
Kumton Suttiraksiri745 vues
PowerApps.pptxPowerApps.pptx
PowerApps.pptx
aditya55532016 vues

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

  • 1. PowerApps, the Developer Story: Build an API to Integrate Corporate Data Bram de Jager Lead Architect, Delaware Consulting, The Netherlands
  • 2. What about every other need your other need your business faces? business faces?
  • 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 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) Real world business process cross multiple apps and cloud services Information & technology still fails to meeting expectations of business users
  • 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, Salesforce records 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 automation 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 Connected data across apps Whether built on the Common Data Model or integrated with existing systems, get more value from your data Azure AppServices 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 Common Data Platform Backbone for your business data
  • 11. PowerApps and Flow preview Public preview from the beginning of May till GA in October 124,000+ creators 46,000+ organizations 143 countries
  • 12. Now, let’s build some stuff! PowerApps, the Developer Story: Build an API to Integrate Corporate Data
  • 13. 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 need 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 PowerApps, the Developer Story: Build an API to Integrate Corporate Data
  • 15. 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
  • 16. 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
  • 17. Swagger What is Swagger? 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 How do I use Swagger in my project? ASP.NET Web API project » Install the Swashbuckle NuGet package Azure API App » supports Swagger 2.0 API metadata out of the box
  • 18. What’s required to get started? Prerequisites Visual Studio 2015 with the Azure SDK for .NET with Azure App Service Tools v2.9.1 or higher Azure account with Azure App Service Office 365 account with PowerApps
  • 19. Quota and throttling You can create up to five custom APIs in a PowerApps account. 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.
  • 20. Hook up our PowerApp with an Azure API app PowerApps, the Developer Story: Build an API to Integrate Corporate Data
  • 21. Demo steps Build a Azure API App from scratch Deploy API App to Azure Add the API App to PowerApps Use the API App within a PowerApp
  • 22. 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
  • 23. Steps for this screen Scan the barcode Retrieve the meeting from the MeetingsApi (custom Azure API) Show meeting details Click Next-button Set Textbox.Text function MeetingsApi.MeetingsGetByBarcode(BarcodeC ontrol.Text).Subject
  • 24. Steps for this screen This screen shows the registered attendees for the selected meeting (from the previous screen) The data is retrieved from the MeetingsApi Select one of the attendees to navigate to the next screen Set Gallery.Items function MeetingsApi.MeetingsGetByBarcode(BarcodeC ontrol.Text).Attendees Set Arrow.OnSelect function Navigate(CheckInScreen,ScreenTransition.Non e)
  • 25. Steps for this screen This screen shows the selected attendee (from the previous screen) Enter license plate (txtLicensePlate) When the Check in-button is clicked the SharePoint list ‘Visitors Registration’ is updated with data from the MeetingsApi. CheckIn and LicensePlate fields are updated. Set Button.OnSelect function UpdateIf('Visitor Registration',Title=Gallery.Selected.Fullname,{C heckIn:Now(),LicensePlate:txtLicensePlate.Text })
  • 26. Update is performed on this list item. Based on Gallery.Selected.Fullname with value “Emma Lowton” Columns LicensePlate and CheckIn are updated from the formula 1 2
  • 27. Wrap-up PowerApps, the Developer Story: Build an API to Integrate Corporate Data
  • 28. PowerApps packaging • Included with O365 and D365 workloads • PowerApps & Flow capabilities • Create & run within the context of Office 365 and Dynamics 365 data sources Quotas (per user; pooled tenant- wide): • 2.000 flow runs per month • PowerApps & Flow capabilities • Access Common Data Model and premium connectors • Run any app or flow & build against any existing data source Quotas (per user; pooled tenant- wide): • 4.500 flow runs per month • 20 MB Data Storage • 2 GB File Storage • Included in full D365 Plans Includes everything in P1, plus • Create any app or flow • Model your business data and create custom entities (CDM) • Create/manage environments • Set policy and view usage Quotas (per user; pooled tenant- wide): • 15.000 flow runs per month • 200 MB Data Storage • 20 GB File Storage
  • 29. PowerApps & Flow roadmap Q4 Calendar 2016 H1 Calendar 2017 oPower BI integration across the platform oSolution packages oPro-developer control extensibility oRe-usable, dynamic business process & logic oCommon Data Platform Office 365 data sync oEnhanced mobile Flow integration oExtended Common Data Platform security model oEmbedded, in-context SharePoint Online oAdditional embedded experiences oSovereign cloud deployments
  • 30. 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
  • 31. Enjoyed this session? Call to action, provide feedback! Don’t forget to rate this session at sharepointeurope.com/MyESPC16 Related sessions Build business apps for Office 365 - InfoPath, PowerApps, Flow and more Wednesday 16:45 - 17:45 | W33 | Chris McNulty Discover PowerApps with SharePoint - Is it a Good Fit? Thursday 15:15 – 16:15 | Th31 | Benjamin Niaulin

Notes de l'éditeur

  1. To add your image, first delete the place holder image as shown in the white box. Then insert your picture and scale it to be bigger than the size of the white box shown. Finally, right click on your image and select ‘Send to back’ – your image should now be framed correctly.
  2. 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)  
  3. 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.
  4. However : app are still Customer Facing and internal app are still around email/calander and contact (91%) Gartner research results did not segment out customer-facing apps. Anecdotally, we believe that a significant percentage of external mobile app projects are being developed by outside development agencies and directed by marketing organizations. Additionally, research commissioned by AnyPresence, FeedHenry and MobileIron found that the top app deployed in the enterprise is email/calendar/contacts (91%), and that it is not really a development effort, but an infrastructure initiative. The second most common app is intranet access (at 68% use), another infrastructure-related effort (source: "Top 10 Apps in The Enterprise," Mobile Enterprise, December 2014). http://www.gartner.com/document/3157328?ref=feed The problem is only getting more acute as the pace of business increases due to the rise of digital business. !!
  5. 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
  6. 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
  7. Microsoft PowerApps ships with an every growing list of 35+ connector 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/
  8. 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
  9. Preview from beginning of May
  10. Host your own API » Host on-premises https://www.youtube.com/watch?v=iPlTZbsDYT8
  11. AAD authentication and authorization without any code changes API definition, allows to discover in PowerApps the possibilities (call and consume) of the API (consume the metadata from the API) Connectivity to SaaS systems allows to connect, overcome the limited out-of-box APIs, via Data Gateway
  12. Easy to build your API Build in any language: C#, Node.js, PHP, Java, Rubi,… … CORS: allows to call API from JavaScript from any domain API definition discovery to discover Swagger definition Easy to use your Re-use the API in different services: PowerApps, Logic Apps, own custom build apps SDK generation: generate code to call the API independently of the language Easy add to API management in Azure
  13. 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/
  14. https://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-get-started/
  15. https://powerapps.microsoft.com/en-us/tutorials/register-custom-api/#quota-and-throttling
  16. https://admin.powerapps.com
  17. PowerApps for O365 and D365: within context of service P1: is for consumers (users) P2: is for creators Flow is bundled in with PowerApps Also a free Microsoft Flow offering will be available Additional flow runs, data storage, and file storage may be purchased as needed
  18. 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