SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model...
-
Upload
cecilia-casey -
Category
Documents
-
view
247 -
download
0
Transcript of SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model...
![Page 1: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/1.jpg)
![Page 2: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/2.jpg)
Productivity
Henrik Mønsted, Morten Schioldan
SharePoint Apps and the Architecture of the new Cloud App Model
Microsoft Services
![Page 3: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/3.jpg)
Agenda
SharePoint Apps and the Architecture of the new Cloud App Model
• Introducing Cloud App Model• Designing Apps • SharePoint-hosted Apps• Key Learnings
![Page 4: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/4.jpg)
Objectives
Introduction to SharePoint Apps and the new Cloud App Model. Learn how to create and deploy SharePoint Apps to Office 365. Get introduced to new development client-based models and learn how to build modern responsive apps for SharePoint 2013.
Objectives:
• Introduction to SharePoint Apps
• Learn how to build your first SharePoint App for Office 365
![Page 5: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/5.jpg)
Quiz
Why do customers want to customize?
Why do customers want to upgrade?
What’s the number one cost driver in projects?
What’s the number one reason for support cases?
What’s the number one issue blocking upgrade?
![Page 6: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/6.jpg)
SharePoint Application Evolution
2003 – What is an Application?SharePoint was not an Application Platform, except web partsInvestments were in portals and content
2007 – Everything is an Application!Push to embrace SharePoint for LOB applicationsExperience was to write custom server side code
2010 – Choose the right ApplicationSharePoint and Developer Tools come togetherSilverlight, CSOM and other new capabilitiesPartially trusted code reduces impact and risk to farm
2013 – Redefine Application as App…Client side experience via html or iFrameLeverage CSOM and REST APIs from Azure and other clientsInvestments in app discovery and management via SharePoint store
![Page 7: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/7.jpg)
SharePoint 2010 Application Challenges
Custom Code on server
• Root cause of most SharePoint outages and issues
• Lots to deploy
• Requires a big server touch
• Not possible in hosted environments
Sandbox Solutions
• Possible in hosted environment
• Limited set of things you can do
• In both, developers must know SharePoint API
![Page 8: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/8.jpg)
Introducing Cloud App Model
![Page 9: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/9.jpg)
A new cloud app model for developers
New apps
A new class of apps enabling new scenarios and user experiences.
Familiar toolsets
Embracing web standards to provide developers with choice and flexibility.
Flexible lifecycle
Deploy and maintain your apps publically or internally with flexibility and control.
![Page 10: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/10.jpg)
SharePoint 2013 App Development Scenarios
Deployment Options
On-Premise Farm Installation
Hosted Installation
Development Options
Farm-Trust Solution
SharePoint-Hosted App
Cloud-Hosted App
Development Tools
Web Browser
SharePoint Designer
Visual Studio
Eclipse, LAMP, Etc.
![Page 11: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/11.jpg)
Distributing Apps
Public Marketplace
• Similar Windows Phone Marketplace
• Subject to submission process & approval
• Admin approval possible
Corporate Catalog
• Apps developed internally
• Apps acquired and approved for internal use
Custom Deployment Process
• Developers can use remote / local SharePoint & Windows Azure APIs to deploy apps with custom code
• These APIs are restricted to the developer site for tooling scenarios
![Page 12: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/12.jpg)
When to Use Apps or Solutions?
New SharePoint App Model is the preferred route for building app scenarios
• Provides most flexibility in development technologies, capabilities & infrastructure choices
• Provides highest level of process, user & data isolation
Both full-trust & sandbox solutions ideal for deep customizations to SharePoint, for example:
• Provisioning custom master pages, page layouts, branding assets
• Deploying advanced administration scenarios, like timer jobs
![Page 13: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/13.jpg)
DemoEverything is an App
![Page 14: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/14.jpg)
Designing Apps
![Page 15: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/15.jpg)
App Shapes / Entry PointsShape Description Example
Immersive App(Full Page)
App that implements a new scenario for customers
Resource Tracking, Budgeting
App Part Provides new parts you can add to your sites
Weather, Team Mascot, News
Extension App(Custom Action)
Add new actions for documents and items
Display Document Visualization, Print to Print Service Vendor
![Page 16: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/16.jpg)
Hosting: Three Architecture Approaches
App Web
Parent Web
SharePoint-Hosted App
Provision an isolated sub web on a parent web• Reuse web elements
(lists, files, out-of-box web parts)• No server code allowed; use client JavaScript for
logic, UX
Provider-Hosted App
“Bring your own server hosting infrastructure”
SharePoint
Web
Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP
Cloud-based Apps
Your Hosted Site
Autohosted App
Windows Azure + SQL Azure provisioned invisibly as apps are installed
Azure SharePoint Web
![Page 17: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/17.jpg)
Common App ArchitectureBrowser
Office JSOM
SharePoint JSOM
Web Server
Other Devices
Client-side CodeHTML / CSS / JavaScript
APP
Server-side CodeAny language
SharePoint
CSOM CSOMREST
Autohosted Provider-hosted
Other
E.g. LAM
P
IIS / ASP.N
et
Windows AzureWeb Sites
Workflow
SQL
Cloud Services
![Page 18: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/18.jpg)
JavaScript Library
Silverlight Library
.Net CLR Library
Custom Client Code
Client
Server
_api is new alias for _vti_bin/client.svc
SharePoint 2013 Remote API
RESTODataJSON
CSOM
![Page 19: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/19.jpg)
SharePoint-hosted Apps
![Page 20: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/20.jpg)
SharePoint-hosted App – what is it?
Sub web of site collection (SharePoint-hosted)
“One app – one Web (SPWeb)”
Apps can deploy only web scoped features
Can include app parts or ribbon and ECB custom actions
Site collection resources deployed using classic solution options
End users cannot manipulate app web to avoid breaking of the apps using browser or SharePoint Designer
![Page 21: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/21.jpg)
App for SharePoint Anatomy
Host Web
App Web
• Lists / Libraries• Declarative Pages• CSS Files• JavaScript Files
• Custom Actions for app
• Client Web Parts
![Page 22: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/22.jpg)
Understanding the App URL• Scenario: App installed in
http://intranet.contoso.com
• Dissecting the App URL: • http://tenant-APP1UID.domain.com/GUIDAPP1
http://app-bf473b5225nn0f.apps.contoso.com/6763273b-fde9-402a-a30e-9c4f20856dde
APP1UID
Unique ID given to each app installation in tenancy
Makes each app domain unique
GUIDAPP1
Name of SPWeb under where app is installed
Developers have control
![Page 23: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/23.jpg)
Office Developer Tools for Visual Studio 2012
• PAGES
Default.aspxMain page of the appWeb Part PageScript and Style references
Elements.xmlInstalls home page to the isolated app site
SCRIPTSApp.js
Template script fileElements.xml
Installs script file to isolated app site
APP MANIFESTAppManifest.xml
ProductID, Version, TitleTile and StartPage UrlsAppEvent Urls: Installed, Uninstalling, UpgradedApp Permission requests
![Page 24: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/24.jpg)
DemoBuilding your first App
![Page 25: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/25.jpg)
Key Learnings
![Page 26: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/26.jpg)
First…
It is V1 (but quickly maturing)
![Page 27: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/27.jpg)
ALM
For on-premise installations no single App Catalog for multiple web applications and farms
No auto-activate for apps
Not all artefacts can be included in apps (like web templates)
![Page 28: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/28.jpg)
Business Continuity for Apps
Backup/restore
Protecting against data loss (the app is uninstalled)
![Page 29: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/29.jpg)
Securing Against Malicious Apps
No way to secure against malicious apps in Office store
We can add Admin reviews, but no guarantee
![Page 30: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/30.jpg)
Internet / Anonymous
Current version of Apps not really suited for anonymous Internet Scenarios
![Page 31: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/31.jpg)
Zones and AAM
Apps do not work with several zones (e.g. AAM). All requests are served out of default zone
(eg. authenticated zone for authors and anon zone for public users)
![Page 32: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/32.jpg)
Go Do’s
Start doing
• Evaluate Apps as preferred option
• Use CSOM or REST
• Leverage JavaScript frameworks, like Knockout
• Host business logic outside SharePoint
• Use remote provisioning
Stop doing
• Server OM C# Code!
• New Full Trust Code solutions
• Sandboxed solutions
![Page 33: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/33.jpg)
EvaluationCreate a Text message on your phone and send it to 1919 with the content:
PR307 5 5 5 5 I liked it a lotSession Code
Morten Performance
(1 to 5)
Match of technical Level
(1 to 5)Relevance
(1 to 5)
Comments(optional)
Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good!
Questions:• Speaker Performance• Relevance according to your work • Match of technical level according to
published level• Comments
Henrik Performance
(1 to 5)
![Page 34: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.](https://reader033.fdocuments.net/reader033/viewer/2022050819/5697bf861a28abf838c88062/html5/thumbnails/34.jpg)
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Thank you