SharePoint Web Service Caching using WCF Custom Channel

The New SharePoint App Architecture

To be honest, I’ve had this code for a while now sitting in the blog cupboard. It was originally intended to be used as part of a global content management system delivering content from a single SharePoint authoring point to many distributed content delivery systems. Since then, events have conspired to bring it back out of the cupboard but for a slightly different purpose. As I said in my previous blog, two things have happened in the world of SharePoint:

  • SharePoint went “Online” which means it is hosted centrally in a data centre (most likely) far-far away.
[Keep reading] “SharePoint Web Service Caching using WCF Custom Channel”

Ideal Workloads for Cloud

Working in the fast changing world of IT, sometimes is good to stop, take a breather and reflect on where we are and how we got here. Cloud computing is certainly no exception and has had an enormous amount of hype over the past 5 years, but has it lived up to the promise?

Looking Back

I and many others at PDC 2008 listened to the announcement of Azure and the follow up communications as Microsoft went “all in” on the cloud.… [Keep reading] “Ideal Workloads for Cloud”

Latency, Caching and Cloud

Q: What is the one unavoidable issue when moving services to the cloud?

Security? Reliability? Ownership? Performance? Nope

A: Latency!

Physics 101

Latency is the amount of time required to communicate between one point and another and is limited by the speed of light. Using high school physics and geography:

Circumference of planet: 40,000km
Longest distance point to point: 20,000km
Speed of Light: 300,000 km/s
Send time: 66mS
Ping time (send and reply): 133mS
That is the theoretical minimum for sending a message to the other side of the planet and getting an answer.… [Keep reading] “Latency, Caching and Cloud”

SharePoint Online Web Service Authentication using WCF Client-side behaviour

With the release SharePoint in 2013 and the ever increasing numbers taking up the SharePoint Online offering, it’s a good time to start looking at some of the challenges when moving to these platforms.

SharePoint has traditionally been a presentation technology with its own unique SharePoint development model utilising SharePoint designer and custom Web Part development. With the latest release, SharePoint 2013 that development model has been challenged by a new autonomous development model where the complexities and constraints of SharePoint as a development and deployment platform has been replaced by a service oriented integration platform for multiple independently hosted applications.… [Keep reading] “SharePoint Online Web Service Authentication using WCF Client-side behaviour”

Use SkyDrive Pro as a SharePoint Content Replicator

What’s in a name?

SkyDrive Pro might be the worst named of all of the products to come out of Microsoft in a while. I sometimes think about the meetings that must happen in Redmond, Developers on one side of the room and Marketing on the other.

Marketing: “Yeah it’s just like SkyDrive where you can store all your files but more corporate because it links to SharePoint”
Development: “Huh? But it doesn’t have anything to do with SkyDrive”
Marketing: “Yeah but SharePoint is moving to the cloud and SkyDrive is in the cloud so it’s the same isn’t it?”… [Keep reading] “Use SkyDrive Pro as a SharePoint Content Replicator”

Using SkyDrive (or OneDrive) for Source Code

I don’t keep anything on my laptop and haven’t done for some time. Of course there is the very simple problem of losing a device or a hard disk, but now, with the advent of multiple virtual machines and physical devices, I find myself working on a large number of different machines that may or may not be on my physical laptop. That means I need a home for source code that is available from many machines and backed up somewhere safe.… [Keep reading] “Using SkyDrive (or OneDrive) for Source Code”

Build a RESTful Router using WCF (Browse Azure Table Storage with Excel)

In the Visualise Azure Table Storage with Excel and Fiddler I described how to use Fiddler as a handy proxy that can be used to inject the protocol differences between standard oData and the non-standard oData supported by Azure Table storage. While Fiddler is a handy desktop tool to illustrate the solution, it is not really appropriate as a part of a system architecture. A simple request to host the same Azure Table Storage to oData functionality as a hosted service lead me down a long and windy road in the world of WCF, but one worth documenting.… [Keep reading] “Build a RESTful Router using WCF (Browse Azure Table Storage with Excel)”

A Better Dynamic TableServiceEntity

When working with Azure Table Storage the recommended class to use is the provided TableServiceEntity class. This abstract class is designed to be inherited from in the data class which then requires the implementation of PartitionKey, RowKey and the addition of the attribute DataServiceKey which tells the underlying persistence system which properties map to those mandatory Azure Table Storage columns; like this:

[DataServiceKey(“PartitionKey”, “RowKey”)]
public class DomainClass : TableServiceEntity
{
   public DomainClass()
: base(“PartitionKey”, “1”)
   {
   }
   public string PropertyOne { get; set; }
   public string PropertyTwo { get; set; }

There are plenty of blogs on the .NET… [Keep reading] “A Better Dynamic TableServiceEntity”

Add oData Paging to Azure Table Storage

After reading my previous blog, one of my Kloud colleagues raised a good point:

“What about continuation tokens?”

“Hmm, not sure, let me check. They should just pass through.”

Not so much.

Continuation tokens are used by the Azure Table Storage API as a way to move through a result set which may be larger than the maximum (1000) or has been limited using a $top parameter. Sure enough, a quick check shows that the previous solution is limited to 1000 rows in Excel.… [Keep reading] “Add oData Paging to Azure Table Storage”

Visualise Azure Table Storage with Excel and Fiddler

Today I came across an interesting problem;

I’m a big fan of Table Storage but its potential is yet to be realised because the tool support just isn’t a match for databases. We’ve got a solution which lays down a lot of data into Azure Table storage but the options to view that data is limited. There are plenty of available viewers including Visual Studio, Azure Storage Explorer and others. The problem with all of these viewers is they are limited to plain old tablular data views.… [Keep reading] “Visualise Azure Table Storage with Excel and Fiddler”