Introducing Collabion Charts for SharePoint Delightful chart web part for SharePoint.
Introducing the new SharePoint 2013 app model
-
Upload
jeremy-thake -
Category
Technology
-
view
3.870 -
download
2
description
Transcript of Introducing the new SharePoint 2013 app model
The SharePoint 2013 App Model: How it Impacts and Expands Azure Development Opportunities
Jeremy ThakeChief Architect, AvePoint Inc.
© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
SpeakerAuthor
AvePoint Labs
Chief ArchitectText/Icon/Pic
Jeremy Thake
Agenda
• App Model• OAuth• Marketplace• Getting started• NAPA
SP Apps – From pieces to “ready to use solutions”
• Web Parts• Lists• Content types• Controls• …
• Packaged solutions• Ready to use apps• Reusable as such
animated
SharePoint2007
SharePoint2010
SharePoint W15
Services (IIS, Apache, Other, …)
Services (Azure, IIS, Apache, Other…) Services
(Azure, IIS, Apache,Other, etc…)
SP2007 SP2010 SP2013
Declar. App & Workflow Events
Custom Code
Custom Code
CSOM
_vti_bin_vti_bin
_api
_api
Evolution of customizations in SharePoint
Customization packaging and deployment options
Farm
• Full trust solutions
• Customizations to file system of servers
• Classic model from 2007
Sandbox
• Declarative elements
• Partially trusted code service still included for limited server side support
• Resource monitored
SP Apps
• New Apps model
• Deployed from corporate catalog or office market place
• Manage permission and licenses specifically
• Preferred option
Online vs. On-premises
Farm
• Server-side OM• Client-side OM• No marketplace• On-premises
only• No OAuth• UI integration
Sandbox
• Limited Server-Side OM
• Client-side OM• No marketplace• On-premises
and Online• No OAuth• UI integration
SP Apps
• Client-side OM only
• Marketplace• Online only• OAuth• No UI
integration
SharePoint Hosted App – what is it?
• Sub web of site collection• “One app – one Web (SPWeb)”
– Host header SPWeb – each app has its own http address• Apps can deploy only web scoped features
– Site collection resources deployed using classic solution options
• None of app deployed features are visible outside of app
• End users cannot manipulate app web to avoid breaking of the apps using browser or SharePoint Designer
• Apps can not talk to each other
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Architecture of Apps
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
SharePoint
SharePoint Azure Web & Worker Roles
Web application
IIS Web Server
Site CollectionRoot Site
App 1 App 2 App 3
App 2Web
App 2Worker
App 3Web
Sub Site
App 3
SP App Design - A Choice of Three Approaches
App Web (from WSP)
Parent Web
SharePoint-hosted AppProvision 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
Azure Auto-Provisioned AppWindows Azure + SQL Azure provisioned invisibly as apps are installed
Azure (from
WebDeploy,
DacPac)
SharePoint Web
Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP
Cloud-based Apps
Developer-Hosted App“Bring your own server hosting infrastructure”Developers will need to isolate tenants
SharePoint
Web
Your Hosted
Site
animated
App Project Anatomy
PAGES
Home.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
STYLESApp.css
Template style sheet
Elements.xmlInstalls css to isolated app site
APP MANIFESTAppManifest.xml
ProductID, Version, TitleTile and StartPage UrlsAppEvent Urls: Installed, Uninstalling, UpgradedApp Permission requests
Example use cases for SP Apps
• Services and applications hosted in Azure to provide extended services for portal users
• On-premises LOB systems hosted in other web applications– Examples – HR systems, vacation booking, travel
expenses– Easy integration of existing applications to
SharePoint without requirement to host them there• Integration of other cloud based systems to on-
premises or hosted SharePoint environments without requirements to install customizations
Scenario - B2B sales models – Case Office Supplies
• B2B app for Intranet’s of larget enterprises• Exposes simple UI for ordering Office Supplies• Hosted in cloud – orders processed using
Azure service bus from numerious customers
Tracking
Drivers
Service Bus
animated
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Versioning
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
SharePoint
SharePoint Azure Web & Worker Roles
Web application
IIS Web Server
Site CollectionRoot Site
App 1V1.0
App 2V1.0
App 3V1.0
App 2WebV1.0
App 2Worker
V1.0
App 3WebV1.0
Sub Site
App 3V1.0
App 2WebV1.1
App 2Worker
V1.1
App 2WebV2.0
App 2Worker
V2.0
App 3V1.1
App 3WebV1.1
Marketpla
ce
SP App upgrade process
animated
New Version Available
1.0.0.01.0.1.0
OAuth
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
App Trust
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
OAuth Token Example
SharePoint
SharePoint Azure Web & Worker Roles
Web application
IIS Web Server
Site CollectionRoot Site
App 1 App 2 App 3
App 2Web
App 2Worker
App 3Web
Site CollectionRoot Site
App 3
App Scopes
• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is at
http://<sharepointserver>/<content>/<tenant>/
• performing search queries, accessing taxonomy data, user profiles, etc.
App Rights
• Rights:– Read-Only–Write–Manage– Full Control
• Not customizable!• If an app is granted permission to a
scope– the permission applies to all children of
the scope
Setting App Rights
• App rights are set when:– An app is installed by an SPWeb administrator– An app is explicitly granted permission by a tenant
administrator or SPWeb administrator– An end user gives consent– An app is removed
• Once provisioned, the rights for an app cannot change – they can only be revoked in whole– This ensures the app will not have to account for
missing rights, i.e. become broken after installation
Marketplace
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Manage license
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
License Management
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
UI integration
Apps and Market place process
Marketpla
ceApp Submission
SP Platform
Sto
refro
nt
1
2 3
4 6
animated
Office AppHub Office.com
5
7
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Apps Competition
http://blogs.msdn.com/b/officeapps/archive/2012/08/07/game-on-win-big-prizes-in-the-app-contest.aspx
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Concerns
• Submission process approves SharePoint manifest– No control over external changes– Once App granted permissions
• App can do what it likes in that scope
• Trust element of vendor– Will hurt small unknown companies– Different to phone market – corporate data
Getting started
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Local Development environment
• Has to be on Windows Server• 10Gb RAM server (SharePoint, SQL, VS2012)• Don’t develop in Production!– Debug Provider-Hosted
• VM’s
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Development Machine
Cloud-hosted Apps dev environment
SharePoint Azure Web & Worker Roles
Web application
Visual Studio 2012
SQL 2012
IIS Web Server
Site CollectionRoot Site
App 1 App 2 App 3
App 2Web
App 2Worker
App 3Web
Remote Development with NAPA
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Remote Development environment
• “NAPA”• Sign up for Office 365 Developer Site• SharePoint-Hosted Apps only– Client-Side only
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Debugging NAPA from Visual Studio
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Wrapping up
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
Call to action!
• Sign up for Office 365 2013 Previewhttp://www.microsoft.com/office/preview/en
• Get in the competition…because I can’t ;-)• Bring your existing Apps “into SharePoint”
Q&AJeremy Thakewww.NothingButSharePoint.comwww.AvePoint.com
[email protected]@jthakewww.linkedin.com/in/jeremythake
References
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
http://delicious.com/jthake/%23sharepoint2013
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
https://www.nothingbutsharepoint.com
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
https://www.yammer.com/spyam