sharepoint apps and the architecture of the new cloud app model introducing cloud app model...

34

Upload: cecilia-casey

Post on 20-Jan-2016

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings
Page 2: SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

© 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