Do we store relational data in SharePoint?

This week I am doing some consultancy work for a big pharmaceutical here in the UK and they asked my help to guide them building a couple of POCs illustrating to their business what they could be doing with SharePoint (both WSS and MOSS). If you know me, then you know that I have a very developer-focused vision on WSS and MOSS seeing definitely the first one as a development platform (as I like to refer to it ASP.NET++) and for me it was very hard but a good lesson to experience that companies often have another perception of what SharePoint can mean for them. The goal was to come up with a solution involving no-trivial types of business processes support and workflows on top of WSS without major customizations and no development at all.

One of the questions was: Is WSS an environment where we can store very relational type of data and enforce these relationships with what is there out of the box? Nope! WSS and MOSS are places where you can store unstructured content, collaborate on it and manage it in a decent way but no way it is going to replace a good old SQL Server database for storing this type of data. You can of course built all of this on top of the platform (and it is actually a nice opportunity to build a layer on top of WSS to enforce relationships between lists and libraries) but it will require plenty of custom development and customization.

Am I convinced that SharePoint delivers the out-of-the-box experience to support all of your business needs? Nope! Did we manage? Not really. We got about 60% of what the business wanted (remember minimum of customizations and extensions). I managed to get the relational data out of SharePoint and into a SQL Server database and squeeze in a couple of custom Web Services to interact with. Hey! I could not live without doing some C# this week smile_regular.

But what I just wanted to communicate with this post (and it is not about the company in focus this week, there are many companies thinking this way), SharePoint is a platform for delivering solutions that target information workers. I know that plenty of companies can live with the OOB-experience but do know that for many many of the requests of the business there is a certain degree of customization and development involved. My message to these companies is: if you don't get the stuff out of SharePoint OOB, there are only two options 'build or buy'.