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.
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Session 2 Integrating SharePoint 2010 and Windows Azure
1. SharePoint and Azure Integration
In 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 Chachra
San Francisco, CA Principal Consultant,
(415) 962-4600 Magenic Technologies
info@magenic.com amitc@magenic.com
2. 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
3. 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.
4. SharePoint Online customization capability patterns
Customization Capability Tools and Pattern
Create 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 Use the SharePoint web services to access and manipulate data from HTTP
requests 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 Use Visual Studio 2010 to create code-based sandboxed solutions that can be
solutions 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
5
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.
6
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
7
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
8
9. Addressing Sandbox limitations
Sandbox Solutions • Resource libraries that register specific actions
can Utilize • Deployed as farm trust solution
“Full-Trust” • Sandboxed solutions can call these deployed
actions
Proxies
Move Business • Client-side Web Part – JavaScript / jQuery / etc
Logic off Server • Silverlight Web Part
9
14. Addressing SharePoint challenges with Windows Azure
Break out of
• Mitigate constraints imposed by sandbox
the Sandbox
• Achieve things not possible in the
with Windows sandbox in Windows Azure
Azure
Windows • Move business logic to Windows Azure
Azure can solve • Host long-running processes
a different • Access On-Prem systems via Service Bus
• Advanced authentication via ACS
problem
14
15. 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
16. Points of Integration
Azure Integration How
SharePoint 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 Silverlight application leveraging Windows Azure deployed to site collection.
Online
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.
17. 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)
18. SharePoint 2010 and Azure Integration scenarios
Simple Moderate Complex
• SharePoint hosted IFRAME • Client side solutions (CEWP) • Programmatic BCS
with JavaScript & jQuery • Consuming custom Azure-
• BCS with SharePoint hosted services
Designer 2010 • Securing custom Azure-
hosted services with
certificates
• Azure Access Control
Services
• Pluggable workflow services
• Azure calling SharePoint via
CSOM / REST / Web Services
20. ASP.net and iFrame
Pros Cons
Simple& lightweight Styling & Formatting
No code No ‘deep’ integration
No deployment to SP No Distribution through SP artifact
21. Demo
Create a Simple Azure Web Role and access it from within SharePoint using
iFrame
31. 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).
33. Summary
» Sandbox Solutions
» Overview
» Challenges
» Addressing Limitations
» Building Apps with SharePoint Solutions
» Addressing SharePoint Challenges with Windows Azure
» Integrating SharePoint & Windows Azure
34. References
For 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=0x409
For 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/
Windows Azure represents the core compute and management capabilities. For example, itprovides the core service management capabilities; developer tools, a portal through whichyou can configure your applications data, and services; and different types of storage (table,BLOB [binary large object], and queue) that offer non-relational data storage capabilities. Italso provides the Windows Azure Marketplace DataMarket as an offering that provides theability to integrate directly with subscription-based data that can be consumed programmaticallyor via the Marketplace browser user interface.SQL Azure represents the relational data storage for the cloud. You might think of SQL Azureas the SQL Server for the cloud; you can migrate or build relational databases that providerich and queryable data sources for your cloud-based or hybrid applications.Finally, Windows Azure AppFabric provides a set of middleware services and a way for youto build, connect, and manage services directly through the AppFabric service bus. This givesyou more flexibility and control over your cloud-hosted applications and also allows you totake advantage of core security features within the service bus.