22
Building SharePoint 2013 Apps 101 Jerry Yasir SharePoint Server MVP, MCT Sr. SharePoint Architect US Tech Solutions @jerry_yasir

@jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Embed Size (px)

Citation preview

Page 1: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Building SharePoint 2013 Apps 101Jerry Yasir SharePoint Server MVP, MCTSr. SharePoint ArchitectUS Tech Solutions

@jerry_yasir

Page 2: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Introduction • Type of Apps• Pre-Configuration• Demo• App Catalog

Agenda

Page 3: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Evolution of SharePoint Development2007

SharePoint

IIS

Code runs from GAC on same w3wp.exe as

SharePoint web application

2010

SharePoint

IIS Sandbox

Code runs on SPUCWorkerProcess.ex

e or calls client.svc (CSOM)

2013

SharePoint

IIS with _api App

Code runs outside of SharePoint but has trust to

leverage capabilities exposed in _api

Page 4: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

What's the Problem• Code Based on DLLs Runs on Server• Bad Code can effect your farm• Upgrading Solutions can be difficult• Permissions are difficult to handle• Impersonate or not to impersonate or use

user permissions

Page 5: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Build a new class of apps that extend and personalize the way we create and consume information right from within Office and SharePoint

The new cloud app model

New AppsA new class of apps enabling newscenarios and new user experiences

Flexible LifecycleDeploy and maintain your apps publicallyon the new Office Store, or internally withFlexibility and control

Familiar ToolsetsEmbracing Web standards to provide developers choice and flexibility

Page 6: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Apps for SharePointApps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. Apps integrate the best of the web and SharePoint; they are targeted and easy-to-use, and do a great job at solving a user need.

Page 7: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

App Hosting Options

SharePoint-Hosted App

Provision an isolated sub web on a parent web (separate domain)• 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 and technology platform”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

Host WebApp Web*

(separate SharePoint domain)

SharePoint

Host WebApp Web*

(separate SharePoint domain)

SharePoint

Host WebApp Web

(separate SharePoint domain)

*App Webs are optional in Cloud-Hosted Apps

SharePoint Cloud

Page 8: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Guideline

SharePoint App Management Configuration

Page 9: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Office Developer Tools for Visual Studio 2012

• Multitenant SharePoint Deployment

• Office 365

• NAPA

• Service Application

• App Management Service

• Site Subscription Management Service

Configuring SharePoint for Apps Development

Page 10: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Site Scope• Installed on a site called “Host Web”

• Tenancy-Scoped Installation• Installed on site called “App Catalog Site”• Single App for All Web

App Installation

Page 11: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• App Manifest• Permissions• Start Page URL• App Web• Host Web• An App Can not Access Host Web Directly

(Prevent Cross Site Scripting)• App-Hosted Domain and App URL

Apps for SharePoint – Things to Know

Page 12: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Start Page• App Parts• UI Custom Actions

• Cloud Hosted Apps• Chrome Control• Direct CSS Reference using JavaScript

Apps UI

Page 13: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

SharePoint 2013 Apps with Demo

Page 14: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Manifested and Lives Inside SharePoint • No Server Side Code Allowed• Consists of ASPX Pages that includes• HTML5, CSS, JavaScript, jQuery

• REST and OData

SharePoint Hosted App

Page 15: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

A SharePoint Hosted AppDemo

Page 16: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Auto-Hosted App Lifecycle

App Developer Tenant Admin

Site Owner

Site Owner

Site Owner

Site OwnerApp

Catalog

SharePoint Store

(Office Marketplace)

Tenant A

Tenant B

.app .app

.app

Web Site SQL DB

Workflow

Web Site SQL DB

Workflow

Web Site SQL DB

Workflow

Web Site SQL DB

Workflow

Page 17: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

An Auto-Hosted App

Demo

Page 18: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• Deployment of Remote Web is by Choice• The Deployed to Remote Web on Remote Web Server• Remote Web + Database Must be Deployed First

Provider Hosted Apps

Page 19: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

A Basic Provider Hosted AppDemo

Page 20: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

SharePoint 2013 App CatalogDemo

Page 21: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

• New Cloud Based App Model• Apps code out of SharePoint• 2 Categories of App• SharePoint Hosted• Cloud Hosted

• 3 Types of Apps• SharePoint Hosted Apps• Azure Auto-Hosted Apps• Provider Hosted Apps

• Configuration of App Development• App Management Service App + Site Subscription Server + App

Domain

Takeaways

Page 22: @jerry_yasir. 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe

Stick around for Q&AThanks!