|• Sticks with accepted standards including J2SE 5.0, JSR-168, WebDAV and JSR-127 (Java Server Faces)|
|• Incorporates Java-based open source packages including Lucene and Spring|
|• Modular and scalable repository architecture|
|• Lacks vertical-industry solutions and prebuilt content applications|
|• Limited process modelling capabilities|
|• Official support and training are expensive|
Founded in 2005 as an open source enterprise content management system provider, Alfresco has in a short time garnered more than its fair share of (mostly favorable) attention. Its notoriety stems in part from its impressive pedigree. The system was architected by a founder of Documentum, and the firm is staffed largely by ex-Documentum and ex-Interwoven employees. Alfresco has also made a substantial investment in professional public relations, rare for an open source vendor and a good clue that Alfresco is well funded (another rarity in the open source world).
Alfresco sees itself as a challenger to commercial vendors such as EMC, IBM, Oracle, and Microsoft as a content management platform player, but -- not surprisingly for a young company and project -- the technology is not intently focused on any specific business scenarios. Indeed, Alfresco looks to partners to develop specific content applications, and the company has built a decent support channel of systems integrators and consultants.
Although the software itself is freely available for download, when you factor in the inevitable services work required to build a complex application, along with the relatively steep maintenance and support fees that Alfresco itself charges, an Alfresco-driven ECM project may only be modestly less costly than a commercial competitor's suite. Like most open source efforts, real long term value will reside in the depth of the support and development community that emerges around Alfresco. For now, ISV's and other developers will likely take the lead in building on what is otherwise a scalable and capable platform.
Click to enlarge in another window
Alfresco ECM incorporates social networking and collaborative capabilities that let users share comments on documents and blog posts.
A Look at the Technology
As an ECM platform provider, Alfresco will stand or fall on its underlying architecture. Indeed, most of the development effort to date has gone into the core structure. Alfresco has benefited from the notable advantages of starting from scratch, having good funding and tapping the deep experience of veteran employees of Documentum and Interwoven. The last distinction is not always an advantage, however, as the "clean slate" often seems influenced Documentum and Interwoven approaches.
At its essence, Alfresco is a Java repository framework with a built-in rules engine and a separate indexing and categorization engine, with metadata stored in a DBMS (such as Oracle or MySQL). The repository is quite sophisticated. Unusually for an ECM system, Alfresco provides a high-availability environment with built-in redundancy and replication. Its automatic failover capabilities are only matched at the highest end of the market (and even those are not always as well done).
Alfresco takes advantage of several other Java projects, including Lucene (the open source search engine), Hibernate (object-relational mapping) and Spring (J2EE application framework). Particularly important is the fact that Alfresco has been built with Java Server Faces (JSF), using Aspect-Oriented Programming (AOP). JSF is a winning bet for a Java application framework, and commercial ECM vendors are just beginning to replace their less-standardized application frameworks with JSF.
AOP is not quite as proven and accepted, particularly among object-oriented developers and architects. AOP theoretically reduces communications between system elements, with resulting performance improvements, but developers should do their own tests during proof-of-concept projects to verify this. There's a better case to be made that AOP improves developer productivity, but this is only true for programmers who have truly embraced the method.
Where Partnerships Fall Short
Not surprisingly, nearly all Alfresco technology partnerships and integrations have transpired with other open source projects, including the major open source portal efforts and significant Apache Java initiatives. The breadth of participation here is impressive. You should remember, however, that technology partnerships are as finicky and difficult to manage in the open source world as in the commercial world. The advantage in open source is that at least you should have some visibility into the politics and divergent roadmaps, as well as the code.
The real question is, are licensees willing to work in an all-open-source environment? For example, the package surely has promise as an open source, Java-based alternative to SharePoint, but Alfresco is somewhat hamstrung by its arms-length relationship with Microsoft. In contrast, commercial ECM vendors (even those that compete with SharePoint) can establish close ties with Microsoft's Windows and Office teams to develop tight integrations between the Windows desktop, Office files and their own repositories. For Alfresco, and for much of the rest of the open source world (especially the Java sub community), Microsoft remains officially untouchable.
For Developers Only
Alfresco wants to provide the open source alternative to the likes of EMC/Documentum, IBM/FileNet and Open Text/Hummingbird, but these major commercial ECM platforms boast extensive portfolios of mature applications built atop their repositories. Alfresco just isn't there yet. The system provides a more credible alternative for larger enterprises undertaking SOA projects that simply want access to a bare-bones (but scalable) repository. Alfresco is also well suited to its original target market of independent software vendors ("ISVs") looking for a cost-effective platform on which to build specific content management applications.
In sum, Alfresco is a high-end ECM development platform that happens to run on an open source business model. As an ECM platform, Alfresco's technology is scalable enough to slug it out with the best of its competitors in high-volume projects, but at the application level it remains immature. If you are looking for industry-specific, out-of-the-box solutions, you'll want to look elsewhere. By putting so much emphasis on the underlying architecture and so little on how it might be employed in a business context, Alfresco leaves little doubt that this is an ECM platform for developers.
• Alfresco uses the GNU General Public License and support comes in Gold and Platinum, priced at $15,000 per CPU and $20,000 per CPU annually, respectively. Test and development CPUs are $3,750 and $5,000, respectively. The basic difference between Gold and Platinum is the response time built into the service level agreement.
Alan Pelz-Sharpe is a Principal Analyst at CMS Watch. Previously Enterprise Content Management Consulting Practice Lead at Wipro, he is the author of the just-released The ECM Suites Report, which offers in-depth analysis of all leading ECM products.