Upload
code-mastery
View
116
Download
2
Tags:
Embed Size (px)
DESCRIPTION
In this session we cover various ways of integrating SharePoint 2010 with Windows Azure and look at benefits and limitations of the different options. From simple to complex integration patterns, session will include SQL Azure and SharePoint integration with External Lists and Visual Web Parts, Azure hosted WCF Services integration with SharePoint using Silverlight and jQuery, and using SharePoint Event Handlers and workflows with Azure.
Citation preview
SharePoint and Azure IntegrationIn this session we will cover various ways of integrating SharePoint 2010 with Windows Azure and look at benefits and limitations of the different options.
Contact Us About Me:201 Mission Street Amit ChachraSan Francisco, CA Principal Consultant,(415) 962-4600 Magenic [email protected] [email protected]
Agenda» Introductions» SharePoint Online with Sandbox Solutions
» Overview» Advantages» Limitations» Workarounds and Addressing Limitations
» Windows Azure» Introduction to the platform» Why integrate SharePoint 2010 and Windows Azure» Integration Approaches» Points of Integration
SharePoint Online
SharePoint Online is a cloud-based service, hosted by Microsoft, for businesses of all sizes. Instead of installing and deploying Microsoft SharePoint Server 2010 on premises, any business can now simply subscribe to SharePoint Online to provide their employees with an enterprise-grade solution for creating sites to share documents and information with colleagues and customers.
SharePoint Online customization capability patternsCustomization Capability Tools and PatternCreate and deploy no-code workflows Use SharePoint Designer to create and deploy no-code workflows.
Customize content types Use SharePoint Designer to customize content types.Brand master pages and create page layouts Use SharePoint Designer to brand master pages.Create and deploy site templates Use SharePoint Designer to create and deploy site templates.
Consolidate, filter, roll up, and render data Use the Data View Web Part to create mash-ups, filtered views, rollups, and general renderings of SharePoint data or data consumed from web services or RSS feeds.
Create browser-based forms Use Microsoft InfoPath 2010 to design browser-based forms for lists and workflows.
Access and manipulate data from HTTP requests
Use the SharePoint web services to access and manipulate data from HTTP requests without writing code for that manipulation.Workflows also support new events that enable complex business processes to be chained together in a modular, manageable way.
Create and deploy custom code-based solutions
Use Visual Studio 2010 to create code-based sandboxed solutions that can be deployed to SharePoint Online environments.
5
Sandbox Solutions
Enables developers to deploy solutions without IT action
Enables IT to maintain health of SharePoint servers
Isolates custom code from running in SharePoint process
Quicker time-to-market solutions for site owners
6
Sandbox Solutions contd…» A sandboxed solution looks and behaves like a farm solution, but a sandboxed
solution’s assembly must be marked to allow partially trusted callers. » Remember that a sandboxed solution can be deployed as a full-trust solution
and gain the expanded capabilities that come with running in full trust because nothing in the .wsp solution file specifies it as a sandboxed solution or a farm solution. This is determined by how the solution is deployed.
» Sandboxed solutions have access to a large subset of functionality in the Microsoft.SharePoint namespace. Essentially all the classes below SPSite are available.
» In general, the sandbox process prevents you from accessing data outside the site collection where the solution has been deployed.
7
Sandbox Solutions - Advantages»Work directly with the customer (site collection owner)»Predictable limitations defined by SharePoint [SharePoint Online]»Speed to market – no need to involve administrator in deployment»Errors won’t affect the hosting SharePoint site
8
Sandbox Solutions - Limitations» Can only access subset of SharePoint 2010 server API» Blocked from making remote calls
» Web service requests» ATOM feed requests» Custom database calls
» Blocked from connecting to on-premise LOB systems» Limited to working in current site collection only» Blocked from accessing the Page object» Subject to resource monitoring & automatic throttling
9
Addressing Sandbox limitations
• Resource libraries that register specific actions• Deployed as farm trust solution• Sandboxed solutions can call these deployed
actions
Sandbox Solutions
can Utilize “Full-Trust”
Proxies
• Client-side Web Part – JavaScript / jQuery / etc• Silverlight Web Part
Move Business Logic off Server
10
Processing model - Sandboxed solution calls a full-trust proxy
DemoFull trust proxy operation from a Sandboxed solution in SharePoint
Azure is an operating system in the cloud that enables reach, reusability and scale
Windows Azure Platform
14
Addressing SharePoint challenges with Windows Azure
• Mitigate constraints imposed by sandbox• Achieve things not possible in the
sandbox in Windows Azure
Break out of the Sandbox
with Windows Azure
• Move business logic to Windows Azure• Host long-running processes• Access On-Prem systems via Service Bus• Advanced authentication via ACS
Windows Azure can solve
a different problem
Why integrate Azure and SharePoint?» Scalable endpoint cloud-based data and services with SharePoint
solutions» Migrate to hybrid or cloud-based custom services» Cost optimization» Integrate cloud with core features of SharePoint
» E.g. Workflow, collaboration, search, document management, Silverlight, etc.
» Extend Azure applications into Office» Parity across SharePoint & Office 365
Points of IntegrationAzure Integration HowSharePoint Client Object Model Interact with Windows Azure data in a list.Business Connectivity Services (BCS) Model data from Windows Azure or build external list to SQL Azure.
Silverlight Create UI against Windows Azure services or data.Sandboxed Solutions/SharePoint Online
Silverlight application leveraging Windows Azure deployed to site collection.
Office Custom Client Consume data directly from Windows Azure or BCS list exposing data.
Standard/Visual Web Parts Leverage services and data from Windows Azure.Open XML Manage Windows Azure data in a document.REST Use REST to interact with Windows Azure data to integrate with SharePoint.
Office Server Services Combine with Open XML to auto-gen docs (such as PDFs) on a server.
Workflow/Event Receivers State or events that tie into Windows Azure services, workflows or data.
LINQ Use for querying Windows Azure data objects.Search Federate search to include Windows Azure data.
Integrating SharePoint 2010 & Windows Azure» Consume Windows Azure-based solution in SharePoint
» Content Editor Web Part» Sandboxed Web Part» Business Connectivity Services / External Content Type» Search
» Enable Windows Azure-based solution to interact with SharePoint» SharePoint Client Object Model (CSOM)» REST / OData feeds» SharePoint’s authentication configuration considerations
» Classic Mode» Claims Based Authentication (ex: SharePoint Online)
SharePoint 2010 and Azure Integration scenarios
Simple• SharePoint hosted IFRAME
Moderate• Client side solutions (CEWP)
with JavaScript & jQuery• BCS with SharePoint
Designer 2010
Complex• Programmatic BCS• Consuming custom Azure-
hosted services• Securing custom Azure-
hosted services with certificates
• Azure Access Control Services
• Pluggable workflow services• Azure calling SharePoint via
CSOM / REST / Web Services
ASP.NET and iFrame
SharePoint
Content Editor Web Part
ASP.net and iFrame
Pros ConsSimple& lightweight Styling & Formatting
No code No ‘deep’ integration
No deployment to SP No Distribution through SP artifact
DemoCreate a Simple Azure Web Role and access it from within SharePoint using iFrame
Azure Blob Storage
Azure Blob Storage and SharePoint
DemoAzure Blob Storage and SharePoint Integration
Consume Azure hosted service/data with Silverlight Web Part
Web Part
Silverlight
…
BCS
DemoConsume a WCF service that is deployed to Windows Azure in a SharePoint Web Part
External Content Types - BCS
DemoExposing SQL Azure data using SharePoint External Content Types in Rich Office Client
Azure DataMarket Data with SharePoint Excel Services
DemoIntegrating Azure DataMarket Data with SharePoint using Excel Services
Windows Azure AppFabric• Use the Windows Azure
AppFabric service bus to connect services deployed to Windows Azure (or the cloud in general) so that they can access and interact with SharePoint.
• Interacting with SharePoint can mean reading and writing list data, updating site information, or creating new sites or content types in SharePoint (or literally anything you can do with the SharePoint APIs).
High Level Architecture – AppFabric Service Bus to access SharePoint
Summary» Sandbox Solutions
» Overview» Challenges» Addressing Limitations
» Building Apps with SharePoint Solutions» Addressing SharePoint Challenges with Windows Azure» Integrating SharePoint & Windows Azure
ReferencesFor Download» Download SharePoint VM
» http://www.microsoft.com/downloads/details.aspx?familyid=751FA0D1-356C-4002-9C60-D539896C66CE&displaylang=en» Download Azure Developer Center
» http://msdn.microsoft.com/en-us/azure/default.aspx» Download SharePoint and Windows Azure Development Kit
» http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24398 » Windows Azure Marketplace DataMarket Whitepaper
» http://go.microsoft.com/fwlink/?LinkID=201129&clcid=0x409For Reference» Check out Steve Fox’s blog for code and walkthroughs
» http://blogs.msdn.com/steve_fox» Channel 9 SharePoint Developer Training Kit
» http://channel9.msdn.com/learn/courses/SharePoint2010Developer/» Channel 9 Azure Developer Training Kit
» http://channel9.msdn.com/learn/courses/Azure/
Questions and Answers?Thank you