1 / 34

WELCOME

The SharePoint 2013 App Model Martin Loitzl 19.12.2012. WELCOME. Introduction. Martin Loitzl 3.5 years in SharePoint Development 1 year @ Trivadis AG > 15 years Web Development Studied Information Systems @ TU Graz, Austria MCTS, MCPD, MCT for SharePoint 2010. Agenda.

julian-best
Download Presentation

WELCOME

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The SharePoint 2013 App Model Martin Loitzl 19.12.2012 WELCOME SharePoint 2013 App Model

  2. Introduction • Martin Loitzl • 3.5 years in SharePoint Development • 1 year @ Trivadis AG • > 15 years Web Development • Studied Information Systems @ TU Graz, Austria • MCTS, MCPD, MCT for SharePoint 2010 SharePoint 2013 App Model

  3. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  4. Whatcool andnew in SharePoint 2013? • Yammer Integration (Corporate SocialWeb) • 1 unified Search (FAST everywhere) • Branding Designer (canbeusedby Designers) • New Workflow Engine (Windows AzureWorkflows) • SkyDrivePro • ... andmanymore SharePoint 2013 App Model

  5. The new SharePoint 2013 App Model Common Model Common approach to development across client and server embracing web technologies including HTML5, JavaScript, OpenData and OpenAuth2 – Service Orientation Cross-Device, Online & On-Prem Apps run across devices with cloud deployment options for both SharePoint and Office. In-Product Marketplace New opportunities to monetize apps through an in- product marketplace. SharePoint 2013 App Model

  6. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  7. App Model: Past, Present and Future Azure, IIS, LAMP, etc… SharePoint 2007 SharePoint 2010 SharePoint 2013 SharePoint Sandbox SharePoint iFrame SharePoint 2013 App Model

  8. App Model:End User Experience • Howdoesitfeelforthe End-User? • Office Marketplace, likefor Windows Phone and Windows 8 • User installsanddecidestotrust • Demo @ Office 365 SharePoint 2013 App Model

  9. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  10. SharePoint Server 2013 Development Scenarios DevelopmentOptions Development Tools Deployment Options Web Browser Farm-Trust Solution On-Premise Farm Installation Sandboxed Solutions SharePoint Designer 2013 Office 365 & SharePoint Online SharePoint-Hosted App Visual Studio 2012 Hosted Installation Provider-Hosted App Eclipse, LAMP, Etc. Azure Auto-Hosted App SharePoint 2013 App Model

  11. SharePoint 2013: The new App Package Structure App Package manifest.xml SiteCollection Host Web http://sp.com SharePoint Package .wsp App Installation Process New App Web Web Features App Web http://abc-567adcca.sp.com App Installation Process External App Package http://acme-apps.com SharePoint 2013 App Model

  12. Three Approaches for Hosting Apps Provider Hosted app SharePoint Host Web Your Hosted Site Cloud based apps “Bring your own server hosting infrastructure” Developers will need to isolate tenants Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP Auto Hosted App SharePoint Host Web Azure from WebDeploy, DacPac Windows Azure + SQL Azure provisioned invisibly as apps are installed SharePoint Hosted App SharePoint Host Web • 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 App Web from WSP SharePoint 2013 App Model

  13. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  14. New App Model: User Experience Full page app Implement complete app experiences to satisfy business scenarios • App part app • Create app widgets that can interact with the SharePoint experience • Command extensions • Extend existing functionality with new commands SharePoint 2013 App Model

  15. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  16. SharePoint 2010: Client Object Model API Services SharePoint Foundation: List and Library interaction API surface Access via JavaScript, Silverlight, and .Net Drawbacks Still needs old asmx Services, what about iOS, PHP, Node.JS, … SharePoint Foundation _vti_bin/client.svc Server Execute Query Client JavaScript Library Silverlight Library .Net CLR Library Custom Client Code SharePoint 2013 App Model

  17. App Model: Apps have a new _api API Services Existing SharePoint Client Object Model, User Profiles, Search, Taxonomy, Feeds, Publishing, Sharing, Workflow, E-Discovery, IRM, Analytics Business Data Services, and more! Simplified API surface Focused on the most used API’s and removed redundancy/duplicate paths Symmetric Same object model on the server and all client object models SharePoint Foundation User Profile Search Taxonomy More… _api Server Execute Query Client REST/ ODATA JavaScript Library Silverlight Library .Net CLR Library Custom Client Code SharePoint 2013 App Model

  18. _api: Access to SharePoint Services REST/ODATA http://host/sites/test/_api/Web/Title Managed Code clientContext.Load(clientContext.Web); clientContext.ExecuteQuery(); TextBox1.Text = clientContext.Web.Title; JavaScript ctx.load(ctx.get_web()); ctx.executeQueryAsync(function () { ctx.get_web().get_title() }); SharePoint 2013 App Model

  19. Demo: SharePoint Hosted App Demo SharePoint 2013 App Model

  20. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  21. API accessof a SharePoint 2013 App App maybehosted in IFrame! http://abc-567adcca.sp.com http://sp.com http://acme-apps.com JavaScript JavaScript C#, PHP, JavaScript, … xss Client Server Host Web App Web Cloud App Host App App SharePoint 2013 App Model

  22. OpenAuth: Introduction ? SharePoint 2013 App Model

  23. 1 User navigatestopagecontaining an app OAuth: AuthN and AuthZ flow 2 SharePoint requests a contexttoken 3 ACS returnssignedcontexttoken CloudACS 4 SharePoint renderspagewithIFrame 5 Browser requestsIFrame 6 ACS validatessignatureofcontexttoken 3 7 ACS issues an accesstoken 7 8 App Host accessesdatawithOAuthtoken 2 Browser SharePoint 2013 9 SharePoint returnsdata 1 10 Renderedcontentdelivered 4 6 8 App iFrame 9 5 App Host acme-apps.com 10 SharePoint 2013 App Model

  24. Demo: Cloud Hosted SharePoint 2013 App DEMO SharePoint 2013 App Model

  25. NoCloud ACS OAuth: on-premise? NoContext Token CloudACS No Access Token Establish Trust-Relation withCertificate 3 7 2 Browser SharePoint 2013 1 „Trusted Security Token Issuer“ 4 6 8 App iFrame 9 5 App Host intranet-apps.com 10 SharePoint 2013 App Model

  26. Demo: Provider Hosted SharePoint 2013 App on-prem DEMO SharePoint 2013 App Model

  27. Introductionto Event Handling • Event Handlers in SharePoint 2007 and 2010 • Lists, Webs, etc. (ListItemAdded, Web Provisioned, …) • Possibilitytocapture User Interaction • e.g. new Task in Task List, documentpublished, … • Possibilitytoenforcebusinessrules • e.g. preventdocumentdeletionbased on meta-data, … • SharePoint 2013 Apps:„Remote Event Receivers“ • SharePoint eventsareforwardedto an App endpoint • SharePoint 2013: Remote Event Receivers forBusiness Connectivity Services • BCS: accesstoexternal Line-of-Business systems SharePoint 2013 App Model

  28. 1 User adds Item tosome List Data Access: Remote Event Handler 2 SharePoint asks ACS forcontext Token 3 ACS returnstoken 4 SharePoint calls Remote Event Receiver 5 App doesit‘sjob 6 App send context Token 7 App getsaccess Token 8 App updates SharePoint SharePoint 2013 1 8 5 4 .svc 2 6 3 CloudACS App Host acme-apps.com 7 SharePoint 2013 App Model

  29. Remote Event Receivers: Demo Demo SharePoint 2013 App Model

  30. Agenda Introduction A look back – Why a new App Model? Where do Apps run? The Shape of Apps The ApplicationProgramming Interface (API) Authentication andAuthorization Wrap-up SharePoint 2013 App Model

  31. Choice, Control and Flexibility to acquire and deploy SharePoint and O365 Office.com Public Marketplace IntegratedMarketplace Dev center submission TRIAL/ PURCHASE Developer End users TRIAL/ PURCHASE Direct Negotiated deals/ IT projects Corporate Catalog IT admin SharePoint 2013 App Model

  32. Recap: Threechoicestomake Hosting Entry Points Data Access SharePoint .Net / Silverlight Full Page Auto-Provisioned on Azure JavaScript App Part Developer hosted REST / ODATA Extension SharePoint 2013 App Model

  33. Links For more exotic scenarios:Work with the cross-domain library across different Internet Explorer security zones in apps for SharePointhttp://msdn.microsoft.com/en-us/library/jj612823.aspx How to: Access SharePoint 2013 data from remote apps using the cross-domain libraryhttp://msdn.microsoft.com/en-us/library/fp179927.aspx How to: Access SharePoint 2013 data from remote apps using the cross-domain libraryhttp://msdn.microsoft.com/en-us/library/fp179927.aspx Office/SharePoint Tools for Visual Studio 2012https://www.microsoft.com/web/handlers/WebPI.ashx/getinstaller/OfficeToolsForVS2012GA.appids App Configuration on-premhttp://technet.microsoft.com/en-us/library/fp161236 App AuthPolicyhttp://msdn.microsoft.com/en-us/library/office/apps/fp179892.aspx High Trust S2S on-premhttp://msdn.microsoft.com/en-us/library/office/apps/fp179901.aspxhttp://blog.loitzl.com/?p=229 Tips and FAQs: OAuth and remote apps for SharePoint 2013http://msdn.microsoft.com/en-us/library/fp179932.aspx Registering SharePoint 2013 High-Trust Apps Using S2S the Easy Way (Beta 2 only!)http://www.andrewconnell.com/blog/archive/2012/08/07/registering-sharepoint-2013-high-trust-apps-using-s2s-the-easy.aspx Can App Parts be used on SharePoint-Hosted pages?http://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/abb96582-e5b1-4fbd-9e63-2ffc01780835/ SharePoint 2013 App Model

  34. Trivadis AG Dipl.-Ing. Martin Loitzl Europastrasse 58152 Glattbrugg Tel. +41 79 909 7242 Martin.Loitzl@trivadis.comwww.trivadis.com Thanks! SharePoint 2013 App Model

More Related