One of the new features delivered in Alfresco Enterprise 3.4 is the ability to replicate content between servers. Introducing this new feature has made me remember a project I worked on back in 1995. At the time I was at Documentum and working with a large global petroleum company. They were using Documentum to manage the creation and approval of Standard Operating Procedures (SOP’s). But they needed to make these available to remote drilling stations, often in distant parts of the world. Of course network reliability and bandwidth stopped them providing direct online access. Content replication would have been ideal but was not available.
This is exactly the type of problem that the Alfresco content replication service is designed to solve. Content can now be replicated between servers, providing fast local access to key information. Replication can be scheduled to take place at regular intervals, run manually or triggered on an event (i.e. when new content is approved).
In the diagram below the SOP’s are replicated between the head office in Texas and the remote drilling stations. Having local copies mean that the remote workers are not affected should something happen to the network or source server.
I have presented this solution a number of times and two questions always come up:
- Is replication the same as Clustering? No. Clustering is a means to support large-scale deployments by clustering the application over multiple systems. This is used to improve performance and reliability. But even though the application is spread over many servers it is still a single instance of Alfresco. With Alfresco replication you are running multiple, separate, instances of Alfresco and replicating a subset of the content between these servers.
- Can’t I do the same thing with database replication? Some vendors use database replication, but this is more complex and is not as flexible as true content replication. First off, the content needs to be stored in the database (as BLOBS) or you need to synchronize both the database AND the file systems. Secondly the whole database is typically replicated – which is overkill if I only need to share a few files with the remote site. With Alfresco users have the flexibility to select a set of files and have these, and only these, replicated to a number of different servers.
The introduction of content replication in Alfresco Enterprise is a great new feature… I just wish it had been available 15 years ago!