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?
- The technology stack used
- The APIs, web services and protocols supported
- Office/productivity suite integration
- Application development tools
- Existing third party integrations
- 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 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 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.
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.
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.