Thursday, April 29, 2010

Countdown To The Terracotta Toolkit Beta

Countdown To The Terracotta Toolkit Beta

Over the last year, Terracotta has launched four great products backed by the snap-in HA and scalability of the Terracotta Server Array: Enterprise Ehcache, BigMemory for Enterprise Ehcache, Web Sessions and Quartz Scheduler. Building these products has left us feeling a bit greedy. In order to free ourselves from this guilt we've created a toolkit that has allowed us to rapidly build these easy-to-use, high-scale/HA products.

The Revolution Begins

So why should we be the only ones who have all the fun. Lots of smart people out there can build clustered caches, frameworks, and tools? So we are creating the Terracotta toolkit and adjacent Terracotta Compatibility Kit. We will be releasing a set of standard parts like highly concurrent distributed maps, clustered evictors, queues, locks, counters, cluster events etc that can be used by anyone so that they might realize their vision of what the developers of the world should use. This kit was built with a few core goals in mind:

  • Ease of use is paramount - For both the developers that leverage the Terracotta toolkit and the people who use the stuff built using the Terracotta toolkit
  • Stable API matters - We are building a compatibility kit and will maintain a strict and clear versioning scheme so that framework developers can rely on and clearly know what versions of Terracotta can work with the API version used in the application. Your users can just drop in any version of the terracotta-toolkit.jar that implements the version of the API you coded against.
  • Parts is Parts - Get all the useful parts we use to build our products packaged and out for others to use.
  • Scale Continuum - The parts should work both clustered and unclustered continuing our vision of a scale continuum.
The beta of this toolkit is a few short weeks away and we can't wait to see what great stuff people will build on it. Come show us how a cache should be built, come show us what tools we haven't even thought of.

With this toolkit pretty much any framework developer will be able to build out their HA, distributed and scale out dreams.


pveentjer said...

Great to hear.

I have been following this feature for some time and I'm going to see if it is a good match to make a distributed STM.

Peter Veentjer
Multiverse: Software Transactional Memory for Java

Sergio Bossa said...

Hi Steve,

that sounds very great.
I'd like to know if it will be possible to:
1) Easily use Terracotta core APIs (such as the lock manager).
2) Embed the Terracotta master.


Sergio B.

Steve Harris said...

Hey Sergio,
The answer to question 1) is a resounding yes. For one thing there will actually be a Terracotta core API which has never really existed before. It supports things like wait and notify, has a cyclic barrier and reentrant read write lock etc.

This doesn't really have any impact on whether you can embed the Terracotta master. The Terracotta master can be embedded now (we do it in testing) it's just not something we recommend

dflan said...

> 2) Embed the Terracotta master.

Yes, being able to embed the master would be awesome.

Cocoa for Java Developers said...

Hi Steve,

is this toolkit available now?


Steve Harris said...

yep shipped with terracotta 3.3