It was a pleasure to show Terracota presentation by its creator Ari Zilka, organized by the very innovative company Zenika.
Terracota is a JVM cluster, it allows to synchronize JVM, based on the principle of NAS but for memory: NAM for Network Attached Memory. Forget serialization session, finished storage state of objects in database, Terracotta allows you to focused on the essentials and reduce dependency with the database. The example showed how to better manage the principle of registering on a web site with email confirmation. The classic method is to store basic identification data with a status and change that status when the email is received. With Terracotta this data remains in memory and is shared by all JVMs, it is stored on database only upon receipt of the email. In addition Terracotta stored on disk the memory status, used to manage a server crash.
For my part, although I am interested in this tool since its creation and i’ve mentioned on this blog when it become open source, I have not implemented yet. Even working on WebObjects the advantage is obvious, in fact Apple had thought it deployment solution for this framework with one JVM launched for each WebObjects application instance. The whole managed by a simple and handy tool: Monitor. The Apple Store is still deployed with this solution. This approach is due to EOF (ORM from NeXT) that has only one flaw: it is not multithread. So for individual instance of application know the status of each other on enterprise objects they use in common, each database access (change, create, delete) is stored in a table that is read by other applications to synchronize their objects. With Terracotta you simply implement the DSO (Distributed Shared Objects) concept on the graph object to share and that’s it. To go even further and be more generic i should implement this on the EOF cache layer like it was done with EHCache and Hibernate. I have to take a serious look on it, this will be a next news with a good example of implementation of Terracotta.
Note that this is the first of a (hopefully) long series of Zenika event, so thanks again and see you next time …