sharepoint & azure jan steenbeek, martijn duiveman

21

Upload: everett-shields

Post on 21-Dec-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SharePoint & Azure Jan Steenbeek, Martijn Duiveman
Page 2: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

SharePoint & AzureJan Steenbeek, Martijn Duiveman

Page 3: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

– New development models– No more full trust or sandbox

– How are we going to create the same or better solutions in the cloud as we do on premise?

Introduction

Page 4: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Demo

Page 5: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

– Architecture– Azure Web Jobs SDK– Web Job registration– Demo– Graph API– Registration in Active Directory– Demo– Questions

Contents

Page 6: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Architecture

Active Directory

SharePoint Online tenant Azure Subscription

Web Job

Provider hosted appSharePoint Site

App

New Site

Queue

Graph API

Database

Page 7: SharePoint & Azure Jan Steenbeek, Martijn Duiveman
Page 8: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Comparable with TimerJob’sScheduled / On Demand / Continuous Runs in an Azure Website– .exe, .cmd, .bat– Zip and upload

Triggers en Model BindingWorks with Azure Storage– Azure Blob Storage– Azure Table Storage – Azure Queues

Azure WebJobs SDKAnd Azure Storage

Goal of the SDK“Provide a way to make it easier to use Azure Storage when doing any background processing work.”

Page 9: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Azure StorageTable’s, Blobs en Queue’s

Table Storage Blob Storage Queue Storage

• Stuctured data• Max 252 properties• Max 1MB per entity• Inherit from

Microsoft.WindowsAzure.Storage.Table.TableEntity

• Unstructured data• Large files (100+ Gb per file)• Add using FileStream etc.

• Unstructured data• Small messages (64 KB each)• Millions of messages in queue• Create backlog of tasks to perform

Tables Entities

Customers

Orders

Name = …Email = …

Name = …Email = …

OrderId = …Date = …

Containers Blobs

Pictures

Movies

Img001.jpg

Img002.jpg

Mov1.avi

Queue’s Messages

CreateSiteQueue

ResizeImageQueue

{name: ..., url: ...}

{name: ..., url: ...}

{image: ..., format: ...}

Page 10: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Demo

Page 11: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Registering WebJob in SharePoint (1 / 4)

https://projectb.sharepoint.com/_layouts/15/AppRegNew.aspx

Register an App

Page 12: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Registering WebJob in SharePoint (2 / 4)

https://projectb.sharepoint.com/_layouts/15/AppInv.aspx

Grant Permission to an App

Page 13: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Registering WebJob in SharePoint (3 / 4)

https://projectb.sharepoint.com/_layouts/15/AppPrincipals.aspx

Get Tenant ID

Page 14: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Registering WebJob in SharePoint (4 / 4)

App.Config

Page 15: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

– Install-Package Microsoft.Azure.WebJobs –Pre

– Current version 1.0.0.0 RC1– Storage Account – ConnectionString

– Naam: AzureWebJobsStorage – DefaultEndpointsProtocol=https;

AccountName=[ACCOUNTNAME];AccountKey=[ACCESSKEY]

– Always On

Setup Development Environment

Page 16: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

– CRUD operations on directory data and objects– REST API– Useful in SharePoint context, for example when

– Authorizing users for multiple sites– Delegating authorization management– Getting to properties that are not exposed via the

SharePoint User Profiles

Graph API

Page 17: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Graph APIMapped properties in SharePoint online

Page 18: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Demo

Page 19: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

– Install-Package– Microsoft.IdentityModel.Clients.ActiveDirectory– Microsoft.Azure.ActiveDirectory.GraphClient

– Grant App permissions on Azure AD

Setup Development Environment

Page 21: SharePoint & Azure Jan Steenbeek, Martijn Duiveman

Vragen?