SlideShare a Scribd company logo
SP Apps, New Model, New App
Store: The Office Store
Alberto Díaz Martín (@adiazcan)
Juan Carlos González Martín (@jcgm1978)
Session Agenda
• Overview of the SharePoint Apps model
• SharePoint-Hosted Apps
• Autohosted Apps
• Provider-Hosted Apps
• Development Tools & Technologies
• Show me the money: The Office Store
Microsoft Vision: Modernizing the Platform
Today’sMarket Today’sTrends Our Principles
Evolution of SharePoint Development
2007 2010 2013
So…What are SharePoint Apps?
• Apps are self-contained pieces of functionality that extend the
capabilities of a SharePoint site
• Apps integrate the best of the web and SharePoint; they are
targeted and easy-to-use, and do a great job at solving user
needs
App
App ManifestWeb Page
<XML>HTML/CSS/JS
The Result: A new Cloud Apps Model
ServerClient
BrowserHost
Common Apps Architecture
WebServerHost
SharePoint
& Exchange
OtherDevices
&Clients
Office
APP
3rdPartyServices
ClientAPIs
ServerAPIs
App Permissions
• App permissions are configured in the App manifest:
– Developers specify the permissions the App needs to be able to
run
• Apps request permissions during installation:
– Granting App permissions is all or nothing – It’s not possible to
pick or choose what permissions are granted to the App
• App permissions are granted by the user installing and
executing the App:
– Users can only grant the permissions they have
CREATING A SHAREPOINT APP WITH
NAPA
DEMO
Apps Hosting Models
 “Bring your own server
hosting infrastructure”
 Your hosted site
Any Web Server
(Online or On-premises)
SharePoint
(Online)
Windows Azure
 Host your code in SharePoint
 Client side technologies and
declarative workflows
SharePoint
(Online or On-premises)
Cloud-based Apps:
 Get remote events from SharePoint
 Use CSOM/REST + OAuth to work with SP
 Reuse web elements
(lists, files, out-of-box web parts)
 No server code allowed; use client
JavaScript for logic, UX
App Hosting Models
• Cloud-Hosted vs. SharePoint-Hosted?
Cloud Hosted Apps SharePoint Hosted Apps
Preferred hosting model for almost all types
of apps
Good for smaller apps & resource storage
Full power of web – choose your
infrastructure & technology
SharePoint-based; no server-side code
May require your own hosting Automatically hosted in SharePoint
May require you own handling of
multitenancy & permission management
Inherent multitenancy & isolation
SharePoint-Hosted Apps
• Why SharePoint-Hosted Apps?
INHERENT
MULTI-TENANCY
& ISOLATION
NO ADDITIONAL
COST
NO NEED FOR
ADDITIONAL
INFRASTRUCTURE
AUTHENTICATION
IS AUTOMATIC
SYMMETRIC
IN OFFICE 365
AND ON-PREM
SharePoint component isolation
• 1 app installation = 1 “app web”
• App webs are isolated in their own domain:
• Leverages web browser same-origin policy for script isolation
Host
web
App
web
https://contoso.sharepoint.com/site/
https://contoso-appUID.sharepoint.com/site/app/
App Layers & Components
Data Layer
• Lists & Libraries:
• Fields & Content
Types
• Data Stored in
Content DB
• WebProxy: Any data
source
• App scoped BDC
models & ECTs
Business Layer
• JavaScript:
• CSOM & REST API
• Workflows
• Custom Actions
UX Layer
• Declarative Pages &
HTML Pages
• Custom Actions
• OOB Web Parts
• App Parts
• Other elements:
• CSS files
Business Layer – JS CSOM & REST API
• JavaScript CSOM:
• REST/OData:
var ctx = new SP.ClientContext("http://mydomain-appUID.spo.com/site/app");
ctx.load(ctx.get_web().get_title());
ctx.executeQueryAsync();
http://contoso-appUID.spo.com/site/app/_api/web/Title
UX Layer - User Experience
• Get styling for free:
– App Web Template:
• Blank starting place
• SharePoint provides OOB CSS to style contents and the whole App 
Integrated & aligned with the core UX SharePoint experience
• App Master page for chroming (app.master)
• App lock down feature hides dangerous UI entry points inside appweb
• Reusable UI components:
– List view web part
– Reusable UI controls like dialogs and callouts
– Custom Actions let you extend menus, ribbon, and script
UX Layer - App Web Custom Actions
• Target to any location: Ribbon, ECB, ScriptLink
• Web scoped
• You can add your own business logic
CREATING A SHAREPOINT-HOSTED
APP IN VISUAL STUDIO
DEMO
Autohosted Apps
Tenant A
Tenant B
App Layers & Components
Data Layer
• Lists & Libraries
• Relational DBs:
• Hosted in SQL
Azure
• App scoped BDC
models & ECTs
• Others: be careful
with latency
Business Layer
• CSOM (.NET) &
REST API
• Workflows
• Custom Actions
UX Layer
• Declarative Pages
• Custom Actions
• OOB Web Parts
• App Parts
• Other elements:
• CSS files
• JS for Chroming
UX Layer - Optimizing UX
• Leverage the chrome control:
– Allows full-screen Apps to be framed in the chrome and styles
similar to the host web: placeholders for icons, breadcrumbs,
menus, …
• Import styles from host web:
– Add reference to: http://<host web
domain>/_layouts/15/defaultcss.ashx in the head of app page
• The chrome control automatically adds styles from the host web,
so this approach is only required for pages displayed in app parts
or modal windows
App Permissions
• Azure Access Control Service (ACS) plays the role of the
authorization server:
– Azure ACS stores basic information about the app and provides
apps access tokens for calling SharePoint APIs
Usage Model and Licensing
• Microsoft-owned Azure account:
– All Autohosted Apps for SharePoint are provisioned into a Microsoft-owned
Azure account that only Microsoft has access to
• Licensing through the Office 365 tenant:
– Azure hosting costs passed through to tenant…developers don’t pay for
hosting
• App Catalog:
– Great for company-specific customizations
– 1 App Catalogue per Office 365 tenant
• SharePoint Store:
– Great for ISVs or developers looking a way of monetizing SharePoint Apps
– The bad news: Autohosted Apps are not supported in the SharePoint Store yet
Autohosted Apps Key Takeaways
• Easy to Develop:
– Familiar tools, simple deployment, and automatic DR
• Simplified Upgrade:
– Autohosted Apps provide a reliable upgrade path: just deploy a new version of your App, and the
upgrade is automatically done
• Cloud Ready:
– Autohosted Apps are designed to provide an uncompromised cloud experience in Office 365
• Rich SharePoint Integration:
– New APIs allow the Autohosted Apps to run on top of Azure but richly integrated with SharePoint
• Low Cost of Entry for Developers:
– No more bulky development environment:
• A Surface Pro + Visual Studio + An Office 365 Tenant
Provider-Hosted Apps
• What technologies can we use?
Data Layer
• Any Data Store:
SQL, mySQL,
Oracle, CSV, Access,
FoxPro, DB2,
SQLite, …
• Lists & Libraries
• App scoped BDC
models & ECTs
• Indeed any data
source
Business Layer
• CSOM (.NET) +
REST API
• Use any server side
code technology of
your choice:
• .NET Code (C#,
VB.NET), CGI,
Java, Perl, Ruby,
Node.js, …
UX Layer
• UX Technologies:
• HTML4/5,
ASP.NET, JSP, …
• Client Side Code:
JavaScript, jQuery,
AJAX, PHP, …
Anything!
Development Tools & Technologies
Traditional Tools New Tools
App Shapes
Full page
Implement complete app experiences
to satisfy business scenarios
App Parts (aka Client Web Part)
Create app parts that can interact
with the SharePoint experience
UI command extensions
Add new commands to the ribbon and item
menus
App Shapes
• Client WebPart
– Wizard creates XML & page
– Shine through parts of your app
– Create convenient launch points
– Content hosted in an iFrame
• UI Extensions
– Show on the ribbon
– Add to item menu (ECB)
– Wizard creates XML
Web to SharePoint Communication
• Use of OAuth for secure communications:
– SharePoint & web application trust
third party (ACS)
• Trusted communication process using a
ClientId & a ClientSecret:
– SharePoint & ACS know the ClientId
– Web application & ACS know the
ClientSecret
Debugging Apps – Just press F5
• No app registration required:
– ClientId & ClientSecret are generated by Visual Studio for you
• IIS Express is used to host Web project:
– ~remoteAppUrl token updated so it points to an IIS Express Url
• LocalDB is used for SQL database:
– Connection string updated in web.config from SQL project
• Local workflow service is started & configured
Deploying an App from the IDE
• Supported only for SharePoint-Hosted & Autohosted
• App is packaged (.app) and provisioned to:
– SharePoint 2013 OnPremise (Only SharePoint-Hosted)
– O365 (SharePoint Online) & Azure (both App types)
Publishing an App
• Use when App is ready for…
– Testing by another person or team
– Being uploaded to the Store or the App Catalog
• SharePoint-hosted & Autohosted Apps:
– No App registration required
– Everything is included in the .app package
• Provider-hosted Apps:
– Developer must acquire ClientId & ClientSecret
– SharePoint artifacts are included in .app package
– Web assets are included in the Web Deploy package - developer must deploy
» Developer must publish & deploy SQL assets in case they are not included in the Web Deploy
package
Remote Event Receivers & App Events
• Implemented as WCF services:
– Support for synchronous and asynchronous events
• App Events:
– App install, app upgrade, app uninstalling
• http://msdn.microsoft.com/en-
us/library/office/jj220048(v=office.15).aspx
• Some Remote Event Receiver events:
– Item added, item changed, item deleted …
BUILDING A SHAREPOINT APP
FROM SCRATCH
DEMO
Office Store or
App Catalog
Consumers &
Corporate Users
Developer
Web Server
(Internet or Intranet)
App manifest (.xml)
or .app package
Document
Sharing
Office Store
• App Packaging and Deployment
Web Page
Introducing the Office and SharePoint Store
OfficeandSharePointPlatforms
Data
Visualization
Content
Management
Vertical
specific…
Function
specific….
DataMigration Infrastructure Deployment Managed
Services
FREE/
TRIAL/
PURCHASE
OFFICE
APP
VALIDATION
Choice of distribution channel
Making money on the store
adspaid apps
in-app
purchases
Making money on the store
• Paid Apps:
– The user can download and use the app, in perpetuity, for a one-time charge
• In-App purchases: purchases are done through the App once it’s installed:
– You can include in-App purchases in your App as long as you follow the Office
Store validation guidelines published by Microsoft:
• http://msdn.microsoft.com/en-us/library/office/apps/jj220035.aspx
• Through Advertisements added to the App:
– You can include Adds in your App as long as you follow the Office Store
validation guidelines published by Microsoft:
• http://msdn.microsoft.com/en-us/library/office/apps/jj220035.aspx
Making money with paid apps
per seat price organization wide price
X
subscription
The store caters a wide variety of Apps
Data
VisualizationApps span enterprise and
consumer scenarios
All apps are tested by
Microsoft before publishing
on the store
Communication
Lifestyle
Content
Management
Project
Management
Social
Reference
Financial
Management
A QUICK LOOK TO THE OFFICE
(SHAREPOINT) STORE APPS
DEMO
SP Apps, New Model, New App Store: The Office Store

More Related Content

What's hot

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
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
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
SPC Adriatics
 
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
bgerman
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Nik Patel
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point Solutions
Alexander Meijers
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Alexander Meijers
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
Talbott Crowell
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Bram de Jager
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Giuseppe Marchi
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
Kashif Imran
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
Alexander Meijers
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Intro apps
Intro appsIntro apps
Intro apps
BIWUG
 

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
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
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
 
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
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point Solutions
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Intro apps
Intro appsIntro apps
Intro apps
 

Similar to SP Apps, New Model, New App Store: The Office Store

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
Tobias Lekman
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
NCCOMMS
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
SPC Adriatics
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
Giuseppe Marchi
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
Sonja Madsen
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
Brian Culver
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
Sébastien Levert
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
Sébastien Levert
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
Jeremy Thake
 

Similar to SP Apps, New Model, New App Store: The Office Store (20)

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
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
SharePoint Apps model overview
SharePoint Apps model overviewSharePoint Apps model overview
SharePoint Apps model overview
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 
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
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
 

More from Juan Carlos Gonzalez

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
Juan Carlos Gonzalez
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
Juan Carlos Gonzalez
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
Juan Carlos Gonzalez
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
Juan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Juan Carlos Gonzalez
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Juan Carlos Gonzalez
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
Juan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
Juan Carlos Gonzalez
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
Juan Carlos Gonzalez
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Juan Carlos Gonzalez
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
Juan Carlos Gonzalez
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
Juan Carlos Gonzalez
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Juan Carlos Gonzalez
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
Juan Carlos Gonzalez
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
Juan Carlos Gonzalez
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
Juan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Juan Carlos Gonzalez
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
Juan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Juan Carlos Gonzalez
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
Juan Carlos Gonzalez
 

More from Juan Carlos Gonzalez (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
 

Recently uploaded

Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

SP Apps, New Model, New App Store: The Office Store

  • 1. SP Apps, New Model, New App Store: The Office Store Alberto Díaz Martín (@adiazcan) Juan Carlos González Martín (@jcgm1978)
  • 2. Session Agenda • Overview of the SharePoint Apps model • SharePoint-Hosted Apps • Autohosted Apps • Provider-Hosted Apps • Development Tools & Technologies • Show me the money: The Office Store
  • 3. Microsoft Vision: Modernizing the Platform Today’sMarket Today’sTrends Our Principles
  • 4. Evolution of SharePoint Development 2007 2010 2013
  • 5. So…What are SharePoint Apps? • Apps are self-contained pieces of functionality that extend the capabilities of a SharePoint site • Apps integrate the best of the web and SharePoint; they are targeted and easy-to-use, and do a great job at solving user needs App App ManifestWeb Page <XML>HTML/CSS/JS
  • 6. The Result: A new Cloud Apps Model
  • 7. ServerClient BrowserHost Common Apps Architecture WebServerHost SharePoint & Exchange OtherDevices &Clients Office APP 3rdPartyServices ClientAPIs ServerAPIs
  • 8. App Permissions • App permissions are configured in the App manifest: – Developers specify the permissions the App needs to be able to run • Apps request permissions during installation: – Granting App permissions is all or nothing – It’s not possible to pick or choose what permissions are granted to the App • App permissions are granted by the user installing and executing the App: – Users can only grant the permissions they have
  • 9. CREATING A SHAREPOINT APP WITH NAPA DEMO
  • 10. Apps Hosting Models  “Bring your own server hosting infrastructure”  Your hosted site Any Web Server (Online or On-premises) SharePoint (Online) Windows Azure  Host your code in SharePoint  Client side technologies and declarative workflows SharePoint (Online or On-premises) Cloud-based Apps:  Get remote events from SharePoint  Use CSOM/REST + OAuth to work with SP  Reuse web elements (lists, files, out-of-box web parts)  No server code allowed; use client JavaScript for logic, UX
  • 11. App Hosting Models • Cloud-Hosted vs. SharePoint-Hosted? Cloud Hosted Apps SharePoint Hosted Apps Preferred hosting model for almost all types of apps Good for smaller apps & resource storage Full power of web – choose your infrastructure & technology SharePoint-based; no server-side code May require your own hosting Automatically hosted in SharePoint May require you own handling of multitenancy & permission management Inherent multitenancy & isolation
  • 12. SharePoint-Hosted Apps • Why SharePoint-Hosted Apps? INHERENT MULTI-TENANCY & ISOLATION NO ADDITIONAL COST NO NEED FOR ADDITIONAL INFRASTRUCTURE AUTHENTICATION IS AUTOMATIC SYMMETRIC IN OFFICE 365 AND ON-PREM
  • 13. SharePoint component isolation • 1 app installation = 1 “app web” • App webs are isolated in their own domain: • Leverages web browser same-origin policy for script isolation Host web App web https://contoso.sharepoint.com/site/ https://contoso-appUID.sharepoint.com/site/app/
  • 14. App Layers & Components Data Layer • Lists & Libraries: • Fields & Content Types • Data Stored in Content DB • WebProxy: Any data source • App scoped BDC models & ECTs Business Layer • JavaScript: • CSOM & REST API • Workflows • Custom Actions UX Layer • Declarative Pages & HTML Pages • Custom Actions • OOB Web Parts • App Parts • Other elements: • CSS files
  • 15. Business Layer – JS CSOM & REST API • JavaScript CSOM: • REST/OData: var ctx = new SP.ClientContext("http://mydomain-appUID.spo.com/site/app"); ctx.load(ctx.get_web().get_title()); ctx.executeQueryAsync(); http://contoso-appUID.spo.com/site/app/_api/web/Title
  • 16. UX Layer - User Experience • Get styling for free: – App Web Template: • Blank starting place • SharePoint provides OOB CSS to style contents and the whole App  Integrated & aligned with the core UX SharePoint experience • App Master page for chroming (app.master) • App lock down feature hides dangerous UI entry points inside appweb • Reusable UI components: – List view web part – Reusable UI controls like dialogs and callouts – Custom Actions let you extend menus, ribbon, and script
  • 17. UX Layer - App Web Custom Actions • Target to any location: Ribbon, ECB, ScriptLink • Web scoped • You can add your own business logic
  • 18. CREATING A SHAREPOINT-HOSTED APP IN VISUAL STUDIO DEMO
  • 20. App Layers & Components Data Layer • Lists & Libraries • Relational DBs: • Hosted in SQL Azure • App scoped BDC models & ECTs • Others: be careful with latency Business Layer • CSOM (.NET) & REST API • Workflows • Custom Actions UX Layer • Declarative Pages • Custom Actions • OOB Web Parts • App Parts • Other elements: • CSS files • JS for Chroming
  • 21. UX Layer - Optimizing UX • Leverage the chrome control: – Allows full-screen Apps to be framed in the chrome and styles similar to the host web: placeholders for icons, breadcrumbs, menus, … • Import styles from host web: – Add reference to: http://<host web domain>/_layouts/15/defaultcss.ashx in the head of app page • The chrome control automatically adds styles from the host web, so this approach is only required for pages displayed in app parts or modal windows
  • 22. App Permissions • Azure Access Control Service (ACS) plays the role of the authorization server: – Azure ACS stores basic information about the app and provides apps access tokens for calling SharePoint APIs
  • 23. Usage Model and Licensing • Microsoft-owned Azure account: – All Autohosted Apps for SharePoint are provisioned into a Microsoft-owned Azure account that only Microsoft has access to • Licensing through the Office 365 tenant: – Azure hosting costs passed through to tenant…developers don’t pay for hosting • App Catalog: – Great for company-specific customizations – 1 App Catalogue per Office 365 tenant • SharePoint Store: – Great for ISVs or developers looking a way of monetizing SharePoint Apps – The bad news: Autohosted Apps are not supported in the SharePoint Store yet
  • 24. Autohosted Apps Key Takeaways • Easy to Develop: – Familiar tools, simple deployment, and automatic DR • Simplified Upgrade: – Autohosted Apps provide a reliable upgrade path: just deploy a new version of your App, and the upgrade is automatically done • Cloud Ready: – Autohosted Apps are designed to provide an uncompromised cloud experience in Office 365 • Rich SharePoint Integration: – New APIs allow the Autohosted Apps to run on top of Azure but richly integrated with SharePoint • Low Cost of Entry for Developers: – No more bulky development environment: • A Surface Pro + Visual Studio + An Office 365 Tenant
  • 25. Provider-Hosted Apps • What technologies can we use? Data Layer • Any Data Store: SQL, mySQL, Oracle, CSV, Access, FoxPro, DB2, SQLite, … • Lists & Libraries • App scoped BDC models & ECTs • Indeed any data source Business Layer • CSOM (.NET) + REST API • Use any server side code technology of your choice: • .NET Code (C#, VB.NET), CGI, Java, Perl, Ruby, Node.js, … UX Layer • UX Technologies: • HTML4/5, ASP.NET, JSP, … • Client Side Code: JavaScript, jQuery, AJAX, PHP, … Anything!
  • 26. Development Tools & Technologies Traditional Tools New Tools
  • 27. App Shapes Full page Implement complete app experiences to satisfy business scenarios App Parts (aka Client Web Part) Create app parts that can interact with the SharePoint experience UI command extensions Add new commands to the ribbon and item menus
  • 28. App Shapes • Client WebPart – Wizard creates XML & page – Shine through parts of your app – Create convenient launch points – Content hosted in an iFrame • UI Extensions – Show on the ribbon – Add to item menu (ECB) – Wizard creates XML
  • 29. Web to SharePoint Communication • Use of OAuth for secure communications: – SharePoint & web application trust third party (ACS) • Trusted communication process using a ClientId & a ClientSecret: – SharePoint & ACS know the ClientId – Web application & ACS know the ClientSecret
  • 30. Debugging Apps – Just press F5 • No app registration required: – ClientId & ClientSecret are generated by Visual Studio for you • IIS Express is used to host Web project: – ~remoteAppUrl token updated so it points to an IIS Express Url • LocalDB is used for SQL database: – Connection string updated in web.config from SQL project • Local workflow service is started & configured
  • 31. Deploying an App from the IDE • Supported only for SharePoint-Hosted & Autohosted • App is packaged (.app) and provisioned to: – SharePoint 2013 OnPremise (Only SharePoint-Hosted) – O365 (SharePoint Online) & Azure (both App types)
  • 32. Publishing an App • Use when App is ready for… – Testing by another person or team – Being uploaded to the Store or the App Catalog • SharePoint-hosted & Autohosted Apps: – No App registration required – Everything is included in the .app package • Provider-hosted Apps: – Developer must acquire ClientId & ClientSecret – SharePoint artifacts are included in .app package – Web assets are included in the Web Deploy package - developer must deploy » Developer must publish & deploy SQL assets in case they are not included in the Web Deploy package
  • 33. Remote Event Receivers & App Events • Implemented as WCF services: – Support for synchronous and asynchronous events • App Events: – App install, app upgrade, app uninstalling • http://msdn.microsoft.com/en- us/library/office/jj220048(v=office.15).aspx • Some Remote Event Receiver events: – Item added, item changed, item deleted …
  • 34. BUILDING A SHAREPOINT APP FROM SCRATCH DEMO
  • 35. Office Store or App Catalog Consumers & Corporate Users Developer Web Server (Internet or Intranet) App manifest (.xml) or .app package Document Sharing Office Store • App Packaging and Deployment Web Page
  • 36. Introducing the Office and SharePoint Store OfficeandSharePointPlatforms Data Visualization Content Management Vertical specific… Function specific…. DataMigration Infrastructure Deployment Managed Services
  • 38. Making money on the store adspaid apps in-app purchases
  • 39. Making money on the store • Paid Apps: – The user can download and use the app, in perpetuity, for a one-time charge • In-App purchases: purchases are done through the App once it’s installed: – You can include in-App purchases in your App as long as you follow the Office Store validation guidelines published by Microsoft: • http://msdn.microsoft.com/en-us/library/office/apps/jj220035.aspx • Through Advertisements added to the App: – You can include Adds in your App as long as you follow the Office Store validation guidelines published by Microsoft: • http://msdn.microsoft.com/en-us/library/office/apps/jj220035.aspx
  • 40. Making money with paid apps per seat price organization wide price X subscription
  • 41. The store caters a wide variety of Apps Data VisualizationApps span enterprise and consumer scenarios All apps are tested by Microsoft before publishing on the store Communication Lifestyle Content Management Project Management Social Reference Financial Management
  • 42. A QUICK LOOK TO THE OFFICE (SHAREPOINT) STORE APPS DEMO