Session 2 Integrating SharePoint 2010 and Windows Azure

Preview:

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 Technologiesinfo@magenic.com amitc@magenic.com

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

Recommended