The Claims, Azure and SharePoint Integration Toolkit Part 1

This is the first in a series of blog posts that I’m actually pretty excited about and I hope when all is said and done you will be too.  I’ve been working the last couple of months on a new framework for connecting SharePoint and Windows Azure together, and also incorporating claims identity in a way that allows your identity to flow seamlessly across application and even data center boundaries.  The output of that effort – from this point forward known as the CASI (Claims, Azure, and SharePoint Integration) Kit – is a combination of guidance, base class assembly, web part, and sample applications.  Together these pieces will allow you to create WCF applications that are claims aware and host them in the Windows Azure cloud.  The base class will be used to provide all of the Azure and claims glue that connects them with SharePoint.  The web part gives you an easy “out of the box” way to simply plug in that data from Azure into your SharePoint site.  Oh, and by the way, it does this asynchronously with a client-side call so your web site doesn’t come to a grinding halt while a bunch of server-side calls are made from your SharePoint pages out to a potentially latent cloud-based service.  For today, this is as close to cloud plug and play as you’re going to find.

Here’s a little more detail on the blog posts that are going to be coming out and the content I’ll be covering:

·         Part 2:  in the next posting I’ll cover the guidance part of the CASI Kit.  It starts with making WCF the front end for all your data – could be datasets, Xml, custom classes, or just straight up Html.  In phase 1 we take your standard WCF service and make it claims aware – that’s what allows us to take the user token from SharePoint and send it across application or data center boundaries to our custom WCF applications.  In phase 2 I’ll go through the list of all the things you need to do take this typical WCF application from on premises to hosted up in Windows Azure.  Once that is complete you’ll have the backend in place to support a multi-application, multi-datacenter with integrated authentication.

·         Part 3:  next up will be a post that describes the custom toolkit assembly that provides the glue to connect your claims-aware WCF application in the cloud and your SharePoint farm.  I’ll go through how you use the assembly, talk about the pretty easy custom control you need to create (about 5 lines of code) and how you can host it in a page in the _layouts directory as a means to retrieve and render data in web part.  The full source code for the sample custom control and _layouts page will also be posted.

·         Part 4:  here I’ll cover the web part that I’m including with the CASI Kit.  It provides an out of the box, no-code solution for you to hook up and connect with an asynchronous client-side query to retrieve data from your cloud-hosted service and then display it in the web part.  It also has hooks built into it so you can customize it quite a bit and use your own JavaScript functions to render the data.

·         Part 5:  in the final part in this series, I’ll do a brief walk-through of a couple of sample applications that demonstrate some other scenarios for using the custom control you build that’s described in part 3 in a couple of other common scenarios.  One will be using the control to retrieve some kind of user or configuration data and storing it in the ASP.NET cache, then using it in a custom web part.  The other scenario will be using the custom control to retrieve data from Azure and use it a custom task; in this case, a custom SharePoint timer job.  The full source code for these sample applications will also be posted.

Hopefully that’s enough to pique your interest.  Watch this site for the subsequent postings and sample code.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s