1 / 68

Building end-to-end apps for SharePoint with Windows Azure and Windows 8

Building end-to-end apps for SharePoint with Windows Azure and Windows 8. Rob Howard, Donovan Follette Sr. Program Manager, Sr. Technical Evangelist 3-022. Agenda. Demo end-to-end solution Introduction to _ api Meet the new App Principal Remote Event Receivers. Key Takeaway.

jera
Télécharger la présentation

Building end-to-end apps for SharePoint with Windows Azure and Windows 8

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. Building end-to-end apps for SharePoint with Windows Azure and Windows 8 Rob Howard, Donovan Follette Sr. Program Manager, Sr. Technical Evangelist 3-022

  2. Agenda • Demo end-to-end solution • Introduction to _api • Meet the new App Principal • Remote Event Receivers

  3. Key Takeaway • With the new cloud app model for SharePoint and its rich service APIs, your apps can now consume SharePoint better than ever before.

  4. Scenario Overview • Business: • Company wishes to create a mobile enabled toolset for sales personnel to efficiently respond to sales leads and win business • Technical: • Company wants a 100% cloud-based solution and use desktop applications and mobile devices to access the toolset

  5. Microsoft Word with Apps For Office Internal O365 SharePoint Site Windows Azure Cloud Services • Send notifications • Create SOWs • Update data in Excel documents • Create SharePoint project sites • View / approve SOWs • Display Excel Services charts in Word • Contact internal sales personnel to follow up on requests for quotes • Contact vendors to follow up on requests for quotes • Approve SOWs • Display, Create, Update, Delete Sales Leads • Store Excel Documents • Store SOWs • Host team sites for projects • BCS External List Windows Azure Workflow Server Windows 8 Application • Facilitate SOW creation, approval, submission, and follow up tasks • View client companies • View sales leads • Receive toast and tile and raw notifications • View Excel Services charts • Create estimates Windows AzureAccess Control Service • OAuth Public O365 SharePoint Site Windows Azure SQL Database • Submit requests for quote • Store sales request data Cloud Clients (Desktop/Tablet/Mobile)

  6. Lead Tracking app for SharePoint Online • Demo using Windows 8, Windows Azure SQL Database, Web Sites and Access Control Services

  7. Introduction to _api

  8. Introducing the all new _api OAuth Enabled Client/Server/Mobile Symmetrical 2,000+ Classes _API JSON Declarative, Remote Events Fully Remote JQuery Compatible 6,000+ Members OData Private and Public Clouds

  9. SharePoint 2013 and SharePoint Online _api SharePoint Foundation User Profile Search Taxonomy Feeds More… _api SharePoint Execute Query Client OData / REST JavaScript Library Silverlight Library .Net CLR Library Custom Client Code

  10. Consistent Access to Services

  11. Consistent Usage REST/OData https://contoso.sharepoint.com/_api/web/Title Managed Code ClientContextctx = newClientContext("https://contoso.sharepoint.com"); ctx.Load(ctx.Web.Title); ctx.ExecuteQuery(); JavaScript varctx = new SP.ClientContext("https://contoso.sharepoint.com");ctx.load(ctx.get_web().get_title());ctx.executeQueryAsync();

  12. Sample REST / OData Calls • Base endpoint • GET http://<weburl>/_api • Get the web’s title • GET http://<weburl>/_api/Web/title • Get the collection of lists in the web • GET http://<weburl>/_api/Web/lists • Get the lists in the web with a BaseTemplate of 104 (announcement lists) • GET http://<weburl>/_api/Web/lists?$filter=BaseTemplate eq 104 • Create a new list • POST http://<weburl>/_api/web/Lists • Body: { 'd' : {'__metadata': {'type': 'SP.List'},'Title': 'My New List,'Url': 'newlist','TemplateType': 101,'TemplateFeatureId': '00BFEA71-E717-4E80-AA17-D0C71B360101'}}

  13. SharePoint _API • demo

  14. Meet the App Principals

  15. (Rob)

  16. Contoso photo

  17. Contoso photo Contoso

  18. ? Contoso photo Contoso

  19. Contoso photo Contoso

  20. View Contoso photo Contoso View

  21. View, Upload, Tag, Comment Contoso photo Contoso View, Upload, Tag, Comment

  22. View, Upload, Tag, Comment, Change Password Contoso photo Contoso View, Upload, Tag, Comment, Change Password

  23. Contoso photo Contoso View, Upload, Tag, Comment, Change Password

  24. Contoso photo Contoso View, Upload, Tag, Comment, Change Password

  25. Contoso photo Contoso View, Upload, Tag, Comment, Change Password

  26. View Contoso photo Contoso View, Upload, Tag, Comment, Change Password

  27. View Contoso photo Contoso View, Upload, Tag, Comment, Change Password

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

  29. OAuth 2.0 What: The protocol to handle the authorization flow. Based on existing internet implementations Why: Functionality App and User identities Established model for granting app access Simple Other Engineering efficiencies Good adoption Clear architectural roadmap

  30. Authentication User credentials provided? Start User only context Yes No App token provided? App token Includes user? User + App context Yes Yes No No App only context End Anonymous context

  31. SharePoint Context Token

  32. 1) User browses to a SharePoint page with an app from app.com on it https://rhoward.sharepo

  33. 2) SharePoint asks ACS to create and sign a token which contains context information (e.g. the current user) and an auth code https://rhoward.sharepo

  34. 3) ACS returns the signed context token https://rhoward.sharepo

  35. 4) SharePoint renders the page including an iframe, which will POST the context token to app.com https://rhoward.sharepo SP API Review POST https://app.com/ … SPAppToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.e…

  36. 5) The iframe causes the browser to request a page from app.com including the context token https://rhoward.sharepo SP API Review

  37. 6) App.com validates the signature on the context token, extracts the auth code, and uses its credentials to request an access token from ACS https://rhoward.sharepo SP API Review

  38. 7) Windows Azure Access Control Service (ACS) returns an access token https://rhoward.sharepo SP API Review

  39. 8) App.com makes a web service request to SharePoint, passing the access token https://rhoward.sharepo SP API Review

  40. 9) SharePoint returns information to App.com https://rhoward.sharepo SP API Review

  41. 10) App.com renders the iframe contents https://rhoward.sharepo SP API Review 7 Unassigned Changes 21 Pending Reviews 17 Active API Bugs Auto-Assign Nag Mail Nag Mail

  42. A basic remote app • demo

  43. The OAuth 2.0 Authorization Protocol The OAuth 2.0 Authorization Protocol: Bearer Tokens JSON Web Token (JWT) IETF OAuth WG homepage OAuth Standards Resources

  44. SharePoint 2013 & Windows Azure Workflow SharePoint Designer Visual Studio SharePoint Events Content Collab People WF3 Host SharePoint OM OAuth2 MTW _API Workflow Services Manager Azure Access Control Azure Service Bus Azure Workflow Instances Interop Deployment Messaging WF4 Service Application Proxy

  45. Remote Event Receivers

  46. Remote Event Receivers App Server Remote Event Push Notifications

  47. Remote Event Receivers • demo

More Related