EMC announced this week that they are releasing an “embeddable” OEM version of their Enterprise Content Management system. I was aware that something like this was coming, but it is still not clear what it is and apparently it won’t be available until the end of the year. It’s a good bet that it won’t be freely downloadable. In the meantime, Alfresco http://www.alfresco.com is already available as an embeddable ECM system.
There is a paucity of information with the data sheet from the web site on the OEM product page as the best source. From what’s described here it looks like it is just the repository and API, none of the apps that make up an ECM suite. A database is included (what database?) and a search engine (is it the FAST system?). Why don’t they let us know what these components are? Have they even decided?
Alfresco was the first embeddable Enterprise Content Management system, despite what has been claimed on the press release. Alfresco has already been embedded in a number of software applications and many others in development. It was designed from the beginning to be embeddable and even fits neatly in small devices. We don't need to have a separate data sheet since the system itself is embeddable. Because it is open source, you can try it yourself.
Here were some of the things that we took into account from architectural perspective to make sure that Alfresco was embeddable:
- How modular and integrated is the embedded component? Alfresco is a 100% Java war file that just drops into a Tomcat application server. Documentum is not really a component - it is a whole system with its own infrastructure and entire directory structure.
- How small is the embedded package? Alfresco is less than 40M with the database and can be reduced even further if necessary. In fact, the Alfresco system can be run directly from a USB thumb drive. We have to assume, based upon previous experience that Documentum is many hundreds of megabytes and then again with the database. There has been some development of a version that works on MySQL, which might cut down on some size for the database.
- What trade-offs in functionality are made for the embedded system? With Alfresco, there is no difference between the enterprise version and the embedded version. All the functionality and applications are there. Because Alfresco is 100% open source, you can see for your self. With the Documentum embedded system, there is only the repository and the applications such as the document management user interface, web content management, records management and integrations are not - at least as implied by the data sheet.
- How lightweight and fast is the embedded system? Alfresco can run either in the same JVM as a Java application or remotely from any other applications and is also very, very fast as we will show in some upcoming benchmarks. Alfresco also provides lean, yet secure access to data and content streaming directly to the repository. Using a client/server protocol for everything as the Documentum system does is very clunky and not very fast for an embedded system.
- Is the embedded system exposed with standards-based interfaces to allow substitution? Developers of Alfresco embedded systems often use JSR-170 to allow for substitution of the embedded repository and to allow for interoperability of other systems. EMC has not yet published a date for when JSR-170 will be available, at least not as far as I am aware.
- How complex and interoperable are the dependent parts? Alfresco has used best of breed, lightweight open source components in its architecture which lend themselves to be easily embeddable. Lucene is a much lighter weight package than the FAST system that is the default for Documentum. Documentum may not have used FAST, but if not what did they use and how dependent is the FS-DQL query language on the FAST implementation. In addition, Alfresco can use a small, lightweight Java database like Hypersonic or Derby. Finally, these components can either be shared or isolated from each other in the embedded package.
- How self-manageable is the embedded package? Alfresco has smart defaults based upon where it is installed and how it is being used on the system. The vast majority of customers are up and running in a matter of minutes complete with sophisticated functionality like CIFS integration. Documentum describes its embedded system as completely hidden, which means that any administration and configuration is up to the application. However, a default configuration with no administration is something that has been attempted before and it will be interesting to see what happens.
Alfresco is designed from the bottom up for a whole new world of enterprise software, where software has moved beyond the client/server world and can be embedded in anything. It was designed for a world that is federated rather than centralized and meets the needs of individual departments or even individuals, yet provides the global view of where content is and what is happening to it. Alfresco has a tremendous future being embedded in enterprise software that has content, but no repository, in devices where memory and space are at a premium and in hosted solutions that require performance and flexibility.
More importantly, the business model for Alfresco is much more conducive to embedding. As open source, you can see exactly what you are getting and you can also change the system to make it work the way you want it to work. The low cost of Alfresco support is there to support the open source model and to distribute to places that have never had enterprise content management before. We are not looking to protect an existing high cost distribution and sales model, we are seeking to commoditize and simplify the existing model of ECM.
Consider carefully when choosing an embedded ECM. Do you want one that doesn’t exist yet or one that was designed to be embedded and thrives on that?

With the enterprise license, you can embed the system with no attribution clause. This license for OEMs is affordable and negotiable. We wanted to avoid the viral effects of the GPL license in using the modified GPL license. We realize that it is not applicable for all parts of the product and we in the process of considering removing attribution in a large part of the product. This is not uncommon as companies like Zimbra have done the same thing.
Posted by: John Newton | 2007.01.29 at 12:18 PM
Hi John.
Just curious - do you think anyone in Open Source community will dare to embed Alfresco in their app, provided they will need to pot on every interface screen: "Supplied free of charge with no support, no certification, no maintenance, no warranty and no indemnity by Alfresco Software..."?
Posted by: Alexander | 2007.01.24 at 02:08 PM
Any thoughts on http://duckdown.blogspot.com/2006/12/enterprise-content-management-and.html
Posted by: James | 2006.12.15 at 01:26 PM
Hi John,
We just signed up as a Gold Partner of Alfresco for some of the same reasons you are stating above.
In today's enterprise, the ability to embed and integrate an organization’s ECM into other products and applications is a key quality that we see our clients wanting. The “stovepipe” ECM will not survive in an enterprise anymore and most of the big vendors realize this and are now adding web service interface wrappers to accommodate the need. However, these are merely wrappers and do not offer the rich APIs required by the complex integration requirements demanded by enterprises today. Alfresco’s embeddable architecture was thought about from the beginning and not a reaction to the market. Alfresco's open standards based technology stack enables it to be easily integrated into an existing enterprise at all levels.
Keep up the good work.
Best,
Matt
http://www.citytechinc.com
Posted by: Matt Van Bergen | 2006.11.28 at 01:14 PM
Best place to seek support on the open source version of Alfresco is on the forums at http://forums.alfresco.com
Posted by: John Newton | 2006.11.27 at 09:01 AM
hi ,
i am facing problem while using the alfresco in cluster environment.we r using alfresco as a plug in in our application for cms purpose.we configured alfresco as per the wiki alfresco help but we can not find proper solution for that.can any tell any good document or stpes need to done for alfreaco cluste configuration.
thanks
sivakumar
Posted by: sivakumar | 2006.11.26 at 07:52 AM