In our February article entitled Under the Covers: Alfresco's SharePoint Services (WSS) Killer we looked at Alfresco's (news, site) take on providing basic document and collaboration services for free. Alfresco's project is called Alfresco Share

When we posited that Alfresco Share was after SharePoint Services' marketshare, it sparked a bit of chatter -- some positive, some not so much.

Voices in the SharePoint camp said that the two solutions should not be compared, that SharePoint  was a platform -- much more than a simple collaborative document management solution, whereas Alfresco was only providing some services.

While we believe the comparison was fair, we also agree that there's more to SharePoint than immediately meets the eye. By the same token, there's more to Alfresco than just Share, much of which we alluded to in the article.

Is it worth it to look at a side-by-side view of SharePoint and Alfresco from a platform perspective? Is it possible that one is significantly better than the other? Maybe, but the answer you get may not be the one you expected.

Eyeballing a Platform

When you review a solution from the platform perspective what kinds of things does one look closely at?

  1. The technology stack used
  2. The APIs, web services and protocols supported
  3. Office/productivity suite integration
  4. Application development tools
  5. Existing third party integrations
  6. The health of the ecosystem

This is not a review of pricing or support. Nor will we comment on whether it's easier to develop on one or the other. On those topics, you will have to find your own way.

The Ten Thousand Foot View

Both Alfresco and SharePoint are considered platforms, not simply products. This means their functional scope is intended to be expanded by the owner -- either via custom development or via third party integration. No one considers either of these products black box tools which cannot be modified.

SharePoint Overview

SharePoint is comprised of two primary components. First you have Windows SharePoint Services (WSS). WSS is the foundation of SharePoint and as you can see in the diagram below includes all the core capabilities. WSS 3.0 is free. You can download, install it and be on your merry way.

If you want a little more "out of the box" functionality (and you have a budget), then you move forward and buy Microsoft Office SharePoint Server 2007 (MOSS).

MOSS builds on WSS, giving you six pillars of core functionality. For more information on MOSS' core functionality, see our article SharePoint 2007 Review - Six Pillars of MOSS.

WSS is the key to understand the platform take on SharePoint. It, of course, is built upon Microsoft servers and technologies such as the .NET framework, SQL Server and Windows Workflow Foundation.

The SharePoint Platform

Alfresco Overview

Alfresco is a dual license, open source enterprise content management system. At its core is the Alfresco JSR-170 content repository. You build on that repository using a number of development approaches including REST, SOAP Web Services, CMIS, Java and the MS Office SharePoint protocol.

On top of the Repository is where all the Alfresco content management solutions sit, including Share, Document Management and Web Content Management.

The Alfresco Enterprise CMS Platform

There are 2 flavors of Alfresco, with 3 corresponding source code licenses: Alfresco Labs -- the free community version licensed under GPL or if embedded in a commercial product licensed under an OEM Commercial License, and Alfresco Enterprise -- the enterprise version that you get via subscription, also with a commercial license.

The Technology Stacks

SharePoint is a Microsoft solution. It therefore sits on a complete Microsoft stack including Windows Server, SQL Server, Internet Information Server, etc. There are no options here.

Alfresco on the other hand is said to run on just about any stack that can support Java. So while they likely encourage an open source stack such as Apache, Linux and MySQL, the platform can also be installed on Microsoft Windows Server and use MS SQL.

APIs, Web Services, Protocols

SharePoint sits on a Microsoft stack, so one develops SharePoint solutions using Microsoft technologies -- ASP.NET, WCF, SOAP-based Web Services, XML and so on. For Rich Internet Applications (RIA) you have Silverlight and ASP.NET AJAX.

To develop solutions for Alfresco, you have scripting languages like JavaScript, PHP and Freemarker, and Java. The repository is accessed via REST API, Web Services, SharePoint Office Protocol and a number of other standards. Both platforms support RSS and WebDAV.

Of course the Content Interoperability Specification (CMIS) is also important to mention. Alfresco's latest versions support the currently proposed implementation, and have demonstrated that in a number of ways. SharePoint does not yet implement the standard itself -- we expect to see that in SharePoint 2010 -- but Microsoft is supportive of CMIS and have demonstrated how MOSS currently can integrate with another CMIS-compliant repository.

Office Integration

One would have thought that this is an area that SharePoint would win hands down, but it that's not the case. Microsoft opened the doors to interoperability when they released MS Office and SharePoint's technical specifications to the broader public.