The idempotent receiver myth

July 20th, 2010

In an attempt to ‘increase performance’, many people will try to hack around in JMS - thereby falling into the idempotent receiver trap by checking for duplicate message receipt. The consequence: scalability actually degrades!

Fortunately, the best way to enjoy reliable messaging is also the simplest one, and it scales linearly.

Developing transactional J(2)EE apps with Spring

July 19th, 2010

We’ve uploaded a slideshare presentation on developing transactional applications with Spring. Enjoy!

On the cost of the appserver

July 13th, 2010

Here is another excellent article about the cost of application servers, and why a paradigm shift is needed with lighter-weight alternatives:

http://www.tomcatexpert.com/blog/2010/06/03/migrating-jee-applications-tomcat-motivation-migrating

Interesting note: the author used to work at Bea, so he definitely knows what he is talking about;-)

Light-weight JEE webapps

July 12th, 2010

Check out http://www.tomcatexpert.com/blog/2010/07/07/how-migrate-jee-applications-tomcat for a nice discussion on how to migrate from jee to a light-weight alternative like Tomcat - with Atomikos for JTA if needed.

Of course, you can also use Jetty from Webtide (which has Atomikos pre-integrated into the Hightide edition)…

Integrating Atomikos with JPA/Hibernate, Spring, Infinispan and GWT

June 15th, 2010

Check out this cool blog entry on how this can all work together.

DISCLAIMER: the suggested solution has not yet been verified by Atomikos…

Atomikos: Reliability for the Cloud

May 10th, 2010

The cloud phenomenon is an interesting one, and a natural evolution of the outsourcing model. While a lot is going on around cloud computing itself, little is being said about reliability.

Do clouds offer reliability? In a way yes: caching systems like Terracotta, Gemstone or Oracle’s Coherence offer a fail-safe mode for availability of your data in the form of caches. So if a cloud node goes down, chances are that a live copy of the data still exists somewhere else, which means that your process can continue working elsewhere.

All is fine (or mostly fine) if you are working with a single database and are processing, say, web requests in the cache. After all, if you only have one database and no other resources then you don’t even need something like a transaction manager (or Atomikos, for that matter). There are at least two situations where things change:

  • If you queue cache updates to enable write-behind, then you find yourself in a queuing scenario and are processing jobs from a queue to a database. Enter distributed transactions.
  • If you are not processing web requests but rather get queued requests from the start. Enter distributed transactions.

In both cases you should at least consider using a transaction manager. In both cases, Atomikos is a good choice for the following reasons:

  • It’s open source (or at least our basic version is)
  • It’s very light-weight and easy to deploy (meaning it lends itself easily to cloud-oriented virtualized configurations)
  • It bundles over 10 years of experience and market leadership
  • It provides full crash recovery and all other bells and whistles - unlike many of the built-in solutions that you will find in a cache

So in that way, Atomikos provides “reliability for the cloud”.

TransactionsEssentials 3.6.5 released

April 20th, 2010

Hi,

We’ve just released TransactionsEssentials 3.6.5 - available as usual via our download page or via the Maven repo.

Cheers

Quick Update: Maven

April 8th, 2010

Our maven integration has not been the most fluent thing we ever did, but we now seem to have gained some traction in the right direction (thanks to community hints, some solid teamwork and hours of additional brain-storming). Here is a quick update on where we are:

  • Upload to maven central is working but not yet optimal (we’re working on that).
  • Meanwhile, we’re also re-evaluating our entire build environment to optimize for maven builds (i.e., switching from ant to maven entirely).
  • We’re also restructuring our SVN repository so it has optimal support for our business model.

As you can see, we’re not afraid to throw away anything in our quest to improve things :-) Contrary to what I expected, going from ant to maven seems to simplify our build after all: maven seems to be maturing, and new team members tend to know maven better than ant.

All these changes have quite some impact on the architecture of our build ecosystem, so we can’t just do them overnight. However, we would like to have them ready before we bring out the next major new release(s).

Thank you for your patience!

TransactionsEssentials 3.6.4 released

April 8th, 2010

You can download here

TransactionsEssentials 3.6.3 released

March 15th, 2010

You can download here…