SlideShare a Scribd company logo
1 of 20
MULTI-TENANT
PROVIDER HOSTED
APPS
From Idea to Office Store
Biserka Cvetkovska
BISERKA CVETKOVSKA
SharePoint & Office365 Specialist
@biserka_
biserkacvetkovska.com
biserka.cvetkoska@agitavit.com
INTRODUCTION TO MULTI-TENANT
PROVIDER HOSTED APPS
THE SHAREPOINT APP (ADD-IN) MODEL
• It came along with SharePoint 2013
• 4 terms to simplify the understanding of SharePoint
• Site
• People
• Apps
• Themes
• Benefits
• Initial core functionalities stay intact by custom solutions
• Cloud-ready solutions
• Openness
PROVIDER HOSTED APPS
MULTITENANCY
• The same version of the app is installed on multiple tenants
• Why should you develop multi-tenant apps?
• Easy to maintain
• Easily managed upgrades
• No different versions of the app to take care of
Multi-tenant provider hosted apps
DEVELOPMENT OF MULTI-TENANT
PROVIDER HOSTED APPS
DEVELOPMENT TOOLS AND TEMPLATES
• Tools required for SharePoint apps development
• MS Visual Studio v2013+
• MS Azure SDK for .NET
• Microsoft Office Developer Tools
• OOB SharePoint app template
• SharePoint App  SharePoint Project
• Remote Web App  ASP.NET MVC Web Project
• Web API in case of an extendibility in the future (with native mobile
app in mind)
MULTI-TENANT DATABASE ARCHITECTURE
DATA ACCESS IN A MULTI-TENANT APP
• Entity Framework
• Code First
• Creating tables on demand
• “Fixing” EF to work with a multi-tenant database
IDENTITY MANAGEMENT IN A MULTI-TENANT APP
• Identity management is hard. There are too many things to worry about
• Storing passwords and secrets
• Dealing with different parameters that work with different identity providers
• Preventing prompts for credentials
• …
• Integration with Azure AD
• OpenID Connect
• ADAL (Azure Directory Authentication Library)
OPENID CONNECT & ADAL - A TALE OF FRIENDSHIP
PROVISIONING MULTI-TENANT APPS IN AZURE AD
• Multi-tenant apps that enable authentication towards Azure AD must be
registered in
• Your company’s AD &
• Each organization’s AD that will be using the app
• Register your app by implementing a consent flow
• Only global administrators can consent
• Consent & give permissions to the app so it can access resources in your Azure AD
CONSENT FLOW FOR MULTI-TENANT APPS
DEMO
PUBLISHING THE APP TO OFFICE
STORE
OFFICE STORE
• Introduced to contribute to the simplicity of the App Model
• Benefits
• For users
• Simple & fast installation of apps
• Increasing productivity through apps that suit your needs
• For developers
• Great opportunity to promote your work
• Get feedback from your users
• Get paid through the Store
• Publish your app to Office Store
• How does the process go?
“OPEN CREATIVITY. STRONGER COMMUNITY.”
• The app model makes SharePoint to be more accessible for both users
and developers
• In addition makes the community even stronger
• Not just the SharePoint community but the Web community in general
• With Office Store and technologies (such as SPFx) that are yet to come,
MS finally set SharePoint on the right path
THANK YOU
BISERKA CVETKOVSKA
SharePoint & Office365 Specialist
@biserka_
biserkacvetkovska.com
biserka.cvetkoska@agitavit.com

More Related Content

What's hot

Coders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and NodeCoders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and NodeApigee | Google Cloud
 
New Enterprisre Capabilities in Telerik Platform
New Enterprisre Capabilities in Telerik PlatformNew Enterprisre Capabilities in Telerik Platform
New Enterprisre Capabilities in Telerik PlatformLohith Goudagere Nagaraj
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app serviceNabeel Khan
 
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...WSO2
 
About JustplugIt services
About JustplugIt servicesAbout JustplugIt services
About JustplugIt servicesJustPlugIt
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformRonald Courville
 
Firebase Introduction
Firebase Introduction Firebase Introduction
Firebase Introduction 9xdot
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsInnoTech
 
Running Web & Mobile App on Azure App Service
Running Web & Mobile App on Azure App ServiceRunning Web & Mobile App on Azure App Service
Running Web & Mobile App on Azure App ServicePuja Pramudya
 
Introduction to Salesforce UI API
Introduction to Salesforce UI APIIntroduction to Salesforce UI API
Introduction to Salesforce UI APIAtul Gupta(8X)
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialBizTalk360
 
Drag and Drop Application Development with Progress Rollbase
Drag and Drop Application Development with Progress RollbaseDrag and Drop Application Development with Progress Rollbase
Drag and Drop Application Development with Progress RollbaseAbhishek Kant
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareatwork
 
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s Going
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s GoingWSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s Going
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s GoingWSO2
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Alexander Feschenko
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013Alexander Meijers
 
Preparing Big Data for Analysis with Easyl
Preparing Big Data for Analysis with EasylPreparing Big Data for Analysis with Easyl
Preparing Big Data for Analysis with EasylLohith Goudagere Nagaraj
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSPC Adriatics
 

What's hot (20)

Coders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and NodeCoders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and Node
 
New Enterprisre Capabilities in Telerik Platform
New Enterprisre Capabilities in Telerik PlatformNew Enterprisre Capabilities in Telerik Platform
New Enterprisre Capabilities in Telerik Platform
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app service
 
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...
WSO2Con EU 2015: Case Study – Digital Transformation: To Monetise Business by...
 
Firebase Overview
Firebase OverviewFirebase Overview
Firebase Overview
 
About JustplugIt services
About JustplugIt servicesAbout JustplugIt services
About JustplugIt services
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
 
Firebase Introduction
Firebase Introduction Firebase Introduction
Firebase Introduction
 
Intro to DotNetNuke 6
Intro to DotNetNuke 6Intro to DotNetNuke 6
Intro to DotNetNuke 6
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
 
Running Web & Mobile App on Azure App Service
Running Web & Mobile App on Azure App ServiceRunning Web & Mobile App on Azure App Service
Running Web & Mobile App on Azure App Service
 
Introduction to Salesforce UI API
Introduction to Salesforce UI APIIntroduction to Salesforce UI API
Introduction to Salesforce UI API
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - Tutorial
 
Drag and Drop Application Development with Progress Rollbase
Drag and Drop Application Development with Progress RollbaseDrag and Drop Application Development with Progress Rollbase
Drag and Drop Application Development with Progress Rollbase
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
 
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s Going
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s GoingWSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s Going
WSO2Con USA 2015: WSO2 Cloud - What it is, How it Works, and Where it’s Going
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 
Share point unvealed apps in sharepoint 2013
Share point unvealed   apps in sharepoint 2013Share point unvealed   apps in sharepoint 2013
Share point unvealed apps in sharepoint 2013
 
Preparing Big Data for Analysis with Easyl
Preparing Big Data for Analysis with EasylPreparing Big Data for Analysis with Easyl
Preparing Big Data for Analysis with Easyl
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija Blagus
 

Viewers also liked

How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...DevOpsDays Tel Aviv
 
Presentación softeng agile-eu gimbernat
Presentación softeng  agile-eu gimbernatPresentación softeng  agile-eu gimbernat
Presentación softeng agile-eu gimbernatMICProductivity
 
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...ChemAxon
 
Servicios y Soluciones Ecommerce
Servicios y Soluciones Ecommerce Servicios y Soluciones Ecommerce
Servicios y Soluciones Ecommerce Viewnext
 
Servicios de Movilidad
Servicios de MovilidadServicios de Movilidad
Servicios de MovilidadViewnext
 
Valo Intranet in a Nutshell - Fall in ♥ with Your Intranet
Valo Intranet in a Nutshell - Fall in ♥ with Your IntranetValo Intranet in a Nutshell - Fall in ♥ with Your Intranet
Valo Intranet in a Nutshell - Fall in ♥ with Your IntranetValo
 
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...ChemAxon
 
Servicios Gestionados de Seguridad IT
Servicios Gestionados de Seguridad ITServicios Gestionados de Seguridad IT
Servicios Gestionados de Seguridad ITViewnext
 
Master pages
Master pagesMaster pages
Master pagesteach4uin
 
Servicios de Migración SAP HANA
Servicios de Migración SAP HANAServicios de Migración SAP HANA
Servicios de Migración SAP HANAViewnext
 
HVAC Control Systems— Get it Right the First Time! (Part 3)
HVAC Control Systems— Get it Right the First Time! (Part 3)HVAC Control Systems— Get it Right the First Time! (Part 3)
HVAC Control Systems— Get it Right the First Time! (Part 3)Dynamix Energy Services
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Viewnext
 
Gestión de Activos Empresariales MAXIMO - VIEWNEXT
Gestión de Activos Empresariales MAXIMO - VIEWNEXTGestión de Activos Empresariales MAXIMO - VIEWNEXT
Gestión de Activos Empresariales MAXIMO - VIEWNEXTViewnext
 
Viewnext 2017
Viewnext 2017Viewnext 2017
Viewnext 2017Viewnext
 
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...Amazon Web Services
 
Conoce mi último programa: #MENTORDYNAMICS365
Conoce mi último programa: #MENTORDYNAMICS365Conoce mi último programa: #MENTORDYNAMICS365
Conoce mi último programa: #MENTORDYNAMICS365Pablo Peralta
 
What’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLWhat’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLAmazon Web Services
 
Best Practices running SQL Server on AWS
Best Practices running SQL Server on AWSBest Practices running SQL Server on AWS
Best Practices running SQL Server on AWSAmazon Web Services
 
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...SOFTENG
 

Viewers also liked (20)

How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...How we took our server side application to the cloud and liked what we got, B...
How we took our server side application to the cloud and liked what we got, B...
 
Presentación softeng agile-eu gimbernat
Presentación softeng  agile-eu gimbernatPresentación softeng  agile-eu gimbernat
Presentación softeng agile-eu gimbernat
 
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...
EUGM15 - Zoltán Simon (Printnet): Drug Profile Matching - Drug Discovery by P...
 
Servicios y Soluciones Ecommerce
Servicios y Soluciones Ecommerce Servicios y Soluciones Ecommerce
Servicios y Soluciones Ecommerce
 
Servicios de Movilidad
Servicios de MovilidadServicios de Movilidad
Servicios de Movilidad
 
Valo Intranet in a Nutshell - Fall in ♥ with Your Intranet
Valo Intranet in a Nutshell - Fall in ♥ with Your IntranetValo Intranet in a Nutshell - Fall in ♥ with Your Intranet
Valo Intranet in a Nutshell - Fall in ♥ with Your Intranet
 
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...
EUGM 2013 - Ian Berry, Bob Marmon (Evotec): Classification and analysis of 21...
 
Servicios Gestionados de Seguridad IT
Servicios Gestionados de Seguridad ITServicios Gestionados de Seguridad IT
Servicios Gestionados de Seguridad IT
 
Master pages
Master pagesMaster pages
Master pages
 
Servicios de Migración SAP HANA
Servicios de Migración SAP HANAServicios de Migración SAP HANA
Servicios de Migración SAP HANA
 
HVAC Control Systems— Get it Right the First Time! (Part 3)
HVAC Control Systems— Get it Right the First Time! (Part 3)HVAC Control Systems— Get it Right the First Time! (Part 3)
HVAC Control Systems— Get it Right the First Time! (Part 3)
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
 
The Social Intranet
The Social IntranetThe Social Intranet
The Social Intranet
 
Gestión de Activos Empresariales MAXIMO - VIEWNEXT
Gestión de Activos Empresariales MAXIMO - VIEWNEXTGestión de Activos Empresariales MAXIMO - VIEWNEXT
Gestión de Activos Empresariales MAXIMO - VIEWNEXT
 
Viewnext 2017
Viewnext 2017Viewnext 2017
Viewnext 2017
 
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
 
Conoce mi último programa: #MENTORDYNAMICS365
Conoce mi último programa: #MENTORDYNAMICS365Conoce mi último programa: #MENTORDYNAMICS365
Conoce mi último programa: #MENTORDYNAMICS365
 
What’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLWhat’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQL
 
Best Practices running SQL Server on AWS
Best Practices running SQL Server on AWSBest Practices running SQL Server on AWS
Best Practices running SQL Server on AWS
 
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...
El secreto para migrar tus aplicaciones a azure optimizando el consumo y mejo...
 

Similar to Developing Multi-tenant provider hosted apps: From Idea to Office Store

The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...CSIRO National AI Centre
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!SPC Adriatics
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesSPC Adriatics
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureTobias Lekman
 
Introduction to AngularJS with the Microsoft Graph
Introduction to AngularJS with the Microsoft GraphIntroduction to AngularJS with the Microsoft Graph
Introduction to AngularJS with the Microsoft GraphSPC Adriatics
 
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft Graph
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft GraphSPC Adriatics 2016 - Introduction to AngularJS with the Microsoft Graph
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft GraphSébastien Levert
 
Keynote speech
Keynote speechKeynote speech
Keynote speechBizTalk360
 
Univeral App using O365 API
Univeral App using O365 APIUniveral App using O365 API
Univeral App using O365 APISenthamil Selvan
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appJoris Poelmans
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventrySPC Adriatics
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenITProceed
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja Madsen
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformBizTalk360
 
Adobe App Builder Overview & Get Started Guideline
Adobe App Builder  Overview & Get Started GuidelineAdobe App Builder  Overview & Get Started Guideline
Adobe App Builder Overview & Get Started GuidelineTuyen Nguyen Ngoc
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...Sébastien Levert
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 

Similar to Developing Multi-tenant provider hosted apps: From Idea to Office Store (20)

SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access Services
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Introduction to AngularJS with the Microsoft Graph
Introduction to AngularJS with the Microsoft GraphIntroduction to AngularJS with the Microsoft Graph
Introduction to AngularJS with the Microsoft Graph
 
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft Graph
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft GraphSPC Adriatics 2016 - Introduction to AngularJS with the Microsoft Graph
SPC Adriatics 2016 - Introduction to AngularJS with the Microsoft Graph
 
Keynote speech
Keynote speechKeynote speech
Keynote speech
 
Univeral App using O365 API
Univeral App using O365 APIUniveral App using O365 API
Univeral App using O365 API
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
 
Custom dev o365
Custom dev   o365Custom dev   o365
Custom dev o365
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Adobe App Builder Overview & Get Started Guideline
Adobe App Builder  Overview & Get Started GuidelineAdobe App Builder  Overview & Get Started Guideline
Adobe App Builder Overview & Get Started Guideline
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Developing Multi-tenant provider hosted apps: From Idea to Office Store

  • 1. MULTI-TENANT PROVIDER HOSTED APPS From Idea to Office Store Biserka Cvetkovska
  • 2. BISERKA CVETKOVSKA SharePoint & Office365 Specialist @biserka_ biserkacvetkovska.com biserka.cvetkoska@agitavit.com
  • 4. THE SHAREPOINT APP (ADD-IN) MODEL • It came along with SharePoint 2013 • 4 terms to simplify the understanding of SharePoint • Site • People • Apps • Themes • Benefits • Initial core functionalities stay intact by custom solutions • Cloud-ready solutions • Openness
  • 6. MULTITENANCY • The same version of the app is installed on multiple tenants • Why should you develop multi-tenant apps? • Easy to maintain • Easily managed upgrades • No different versions of the app to take care of Multi-tenant provider hosted apps
  • 8. DEVELOPMENT TOOLS AND TEMPLATES • Tools required for SharePoint apps development • MS Visual Studio v2013+ • MS Azure SDK for .NET • Microsoft Office Developer Tools • OOB SharePoint app template • SharePoint App  SharePoint Project • Remote Web App  ASP.NET MVC Web Project • Web API in case of an extendibility in the future (with native mobile app in mind)
  • 10. DATA ACCESS IN A MULTI-TENANT APP • Entity Framework • Code First • Creating tables on demand • “Fixing” EF to work with a multi-tenant database
  • 11. IDENTITY MANAGEMENT IN A MULTI-TENANT APP • Identity management is hard. There are too many things to worry about • Storing passwords and secrets • Dealing with different parameters that work with different identity providers • Preventing prompts for credentials • … • Integration with Azure AD • OpenID Connect • ADAL (Azure Directory Authentication Library)
  • 12. OPENID CONNECT & ADAL - A TALE OF FRIENDSHIP
  • 13. PROVISIONING MULTI-TENANT APPS IN AZURE AD • Multi-tenant apps that enable authentication towards Azure AD must be registered in • Your company’s AD & • Each organization’s AD that will be using the app • Register your app by implementing a consent flow • Only global administrators can consent • Consent & give permissions to the app so it can access resources in your Azure AD
  • 14. CONSENT FLOW FOR MULTI-TENANT APPS
  • 15. DEMO
  • 16. PUBLISHING THE APP TO OFFICE STORE
  • 17. OFFICE STORE • Introduced to contribute to the simplicity of the App Model • Benefits • For users • Simple & fast installation of apps • Increasing productivity through apps that suit your needs • For developers • Great opportunity to promote your work • Get feedback from your users • Get paid through the Store • Publish your app to Office Store • How does the process go?
  • 18. “OPEN CREATIVITY. STRONGER COMMUNITY.” • The app model makes SharePoint to be more accessible for both users and developers • In addition makes the community even stronger • Not just the SharePoint community but the Web community in general • With Office Store and technologies (such as SPFx) that are yet to come, MS finally set SharePoint on the right path
  • 20. BISERKA CVETKOVSKA SharePoint & Office365 Specialist @biserka_ biserkacvetkovska.com biserka.cvetkoska@agitavit.com

Editor's Notes

  1. 22:18
  2. 22:18
  3. 22:18