420 likes | 845 Views
SESSION CODE: OFS201. Chris Johnson Sr. Technical Product Manager, SharePoint Microsoft Corp. Building Office 365 Solutions with Azure. Who is paying attention?. Prizes!. Intelligent Questions. Intelligent Answers.
E N D
SESSION CODE: OFS201 Chris Johnson Sr. Technical Product Manager, SharePoint Microsoft Corp Building Office 365 Solutions with Azure (c) 2011 Microsoft. All rights reserved.
Who is paying attention? • Prizes! • Intelligent Questions • Intelligent Answers • Yelling JACKPOT! as loud as you can when you see the “Honeycomb” transition
In this session, I assume… • You understand the concept of cloud computing. • You have a basic knowledge of Windows Azure. • You have some understanding of SharePoint/SharePoint Online development.
Agenda • Fundamentals • Scenarios • Simple: SharePoint Online app consuming Azure Data • Hybrid: Consuming On-premises LOB data • Reverse: Consuming SPO data from Azure • Windowed: Azure app in SharePoint • Identity & Security • Summary
OOTB Browser Configuration SharePoint Designer 2010 Declarative: Workflows, Forms, Pages, Content Types etc… Export to WSP > Upsize to Visual Studio Visual Studio 2010 Sandbox Solutions Code: Feature Receivers, Event Receivers, Navigation, Web Parts, InfoPath Forms Logic, Custom Declarative Workflow Activities Declarative: Declarative Workflows, Content Types, Site Columns, List Definitions, Lists, Custom Ribbon Actions/Extensions, Web templates, Site Pages, Page Layouts, Master Pages Client Object Model Silverlight, JavaScript .NET SharePoint Online Development
Access to the Farm/Web Application Access to file system Web application-scoped or farm-scoped Features Global Assembly Cache (GAC) Access to web.config Ability to install code/files on server Timer Jobs Admin access beyond site collection Running with elevated privileges Access to External Code/Data Access to external web service calls External code access to SharePoint web services/ Client Object Model BCS SharePoint Online DevelopmentUnsupported SP2010 Platform Features
Sandboxed Solutions • Development • Subset of Microsoft.SharePoint • Scoped SPSite, Partial Trust, CAS • VS2010 support • New Project/Item • Intellisense and compilation • F5 Debugging (on prem) • Packaging • Deployment • Site Collection Admin uploads to Solution Gallery • Executes in sandboxed execution environment • Administration • Solutions consume resource points against quota • Solutions are disabled when quota is exceeded
SharePoint Object Model Server Farm Web Application … Web Application Web Application Web Application Site Collection Site Collection … Site Collection Sites Lists Libraries Sites Lists Libraries Sites
Client-Object Model • New APIs for interacting with SharePoint sites • Easier than SharePoint Web Services, more efficient • Consistent with Microsoft.SharePoint namespace • Scoped to site collection • Supported platforms • .NET 3.5 (and below) • Silverlight 2.0 (and above) • JavaScript/ECMAScript
Simple: Consuming Data from Azure • No external calls from Sandbox code • Code in the Browser • JavaScript • Silverlight • Flash • X-Domain issues • clientaccesspolicy.xml
Cloud Services Service Web Role Instance SharePoint or SharePoint Online
What we saw • Sandbox Solution • Visual Web Part Feature • Silverlight app • Azure WCF Service • Azure Data Market
What do you do if your Line of Business data isn’t conveniently exposed externally?
Hybrid: Consuming On-Premises LOB data • Data on premises • SQL, SAP, CRM, … <insert LOB system here> • Not exposed to the Web usually • Network issues, Security, No UAG/TMG/Reverse proxy • How do you get at this data from SPO?
Windows Azure Options • Azure AppFabric • Connectivity: Service Bus • Security: Access Control (ACS) • Azure Connect • Connectivity: Virtual IP network
Windows Azure Virtual Network Windows Azure • Secure network connectivity between on-premises and cloud • Supports standard IP protocols • Enables hybrid apps access to on-premises servers • Simple setup and management • Web, Worker and VM Roles supported • Supports Windows Azure app domain-joined to corporate Active Directory Enterprise
Create on-premises service Create service and deploy to Windows Azure Connect via Service Bus Connect via remote device You can connect and use the service from any WCF conversant device, application or platform AppFabric Service Bus Proxy WCF Web Service On Premises Listener ServiceWCF SharePoint List or LOB Service Bus
What we saw • Same as Simple Scenario • Sandbox Visual Web Part, Silverlight app, Azure WCF Service • Azure Service Bus • On-Premises WCF Listener • LOB System
Possibilities • Deploy services locally as listeners and connect via Windows Azure Service Bus • Use Windows Azure as a service layer to surface SharePoint or LOB data • Connect to remote devices and platforms • Expose data from cloud-based services • Secure using the Access Control Service (ACS) • Extend on-premises code to the cloud
What if your data is in SharePoint Online? How do you get at it?
Reverse: Consuming SPO data from Azure • Reach into SPO to Return or Save Data • SharePoint Remote API options: • Web Services • Client Side Object Model • Javascript • Sliveright • .Net Managed Code
Authentication to SPO • O365 uses Microsoft Online Services ID • Live ID “like”, not the same • “Headed” • Browser popup for authentication • Suits client applications • Follows MS-OFBA Protocol • “Headless” • No user interaction • Programmatic only
Headless Authentication STS WCF/WIF Azure Application API Call
Write-up and Samples • “Headed” • MSDN: Remote Authentication in SharePoint Online Using Claims-Based Authentication • Code Sample included • Blog: Authentication with SharePoint Online and the Client Side Object Model • “Headless” • Blog: Part 2: “Headless” Authentication with SharePoint Online and the Client Side Object Model • Code sample included
What we saw • Azure Web Role Application • Windows Identity Framework (WIF) • Web Service Calls to O365 Secure Token Service (STS) • Extracting the cookies • Attaching the cookies to the CSOM call • Making a call to SharePoint Online
Simplescenario Hybrid Security Into SPO • Azure ACS • ADFS • SQL Azure • Certificates • Online ID • Impersonation • Service Account • Azure ACS • ADFS • Shared tokens • Azure Connect • Windows Auth • Domain Auth
Summary • Client side code for external calls • Azure services for connectivity fabric • Get LOB data via • AppFabric Service Bus or Azure Connect • Leverage SPO from Azure for what its good at (c) 2011 Microsoft. All rights reserved.
Developer Training KitSharePoint & Windows Azure Developer Kit • Getting Started • WCF, Windows Azure & SharePoint • Windows Azure & Office • Business Connectivity Services & Windows Azure • BI Solutions using SQL Azure • Bing Maps, Windows Azure & SharePoint • … http://www.msdn.com/training
october3–6th2011 Conference 2011 anaheim, ca
Content Slide • 3rd Annual Community SharePoint Conference • Business and Technical Tracks, all levels • Superb Internationally Renowned SharePoint Experts • Discount for Tech.Ed attendees - $675.00 (full price $795.00) • Register: www.sharepointconference.com.au • Enter Discount Code TECHED
Track Resources • http://www.msdn.com/sharepoint “SharePoint Online Resource Center” • http://blogs.msdn.com/cjohnson Authentication posts • SharePoint and Windows Azure Developer Kit Videos, Labs, Articles • http://www.Office365.com Sign up for a Trial and get started
Enrol in Microsoft Virtual Academy Today Why Enroll, other than it being free? The MVA helps improve your IT skill set and advance your career with a free, easy to access training portal that allows you to learn at your own pace, focusing on Microsoft technologies. • What Do I get for enrolment? • Free training to make you become the Cloud-Hero in my Organization • Help mastering your Training Path and get the recognition • Connect with other IT Pros and discuss The Cloud Where do I Enrol? www.microsoftvirtualacademy.com Then tell us what you think. TellTheDean@microsoft.com
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. (c) 2011 Microsoft. All rights reserved.
Resources • www.msteched.com/Australia • Sessions On-Demand & Community • www.microsoft.com/australia/learning • Microsoft Certification & Training Resources • http://msdn.microsoft.com/en-au • Resources for Developers • http:// technet.microsoft.com/en-au • Resources for IT Professionals (c) 2011 Microsoft. All rights reserved.