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?