Archive for the ‘Solutions’ Category

Developer access unlimited

Monday, September 20th, 2010

Maybe you have noticed: we have recently changed our developer access formula - based on customer feedback. Whereas the ‘old’ formula used to be ticket-based and expired after 1 month, the new developer access is as follows:

  • There is no limit on the number of issues
  • Expiry is after either 3 or 6 months (your choice) - which gives you plenty of time to experiment
  • There is, however, a limit of 1 named contact at the side of the customer

Again, this is based on input we got from several customers and prospects. Thanks for your feedback!

PS yes, the old formula has been discontinued: we too experienced problems with the issue limit…

SOA: when to favor components over services

Saturday, August 21st, 2010

When implementing a service-oriented architecture (SOA), there is always the choice between components (included modules of reusable functionality) versus services (deployed once, reused by calls over the network).

How do you know which one to choose? There is a lot of things to consider, but these will give you a head-start:

  • if there is a need for different configuration parameters per consumer, favor a component
  • if performance of remote network calls is problematic, favor a component
  • if deploy-once is crucial, favor a service
  • if you have no control over the deployment parameters, favor a service (e.g., if the provider is a third party)
  • to dynamically switch between both, choose service component architecture (SCA)

Also, keep in mind that components require setting up the required infrastructure (database schema, queues, etc) for each deployment.

Probably most readers of this blog post will know about components, because you probably use TransactionsEssentials as a component :-)

Developing transactional J(2)EE apps with Spring

Monday, July 19th, 2010

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

On the cost of the appserver

Tuesday, 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

Monday, 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

Tuesday, 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

Monday, 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”.

Quick Update: Maven

Thursday, 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!

Configuring Hibernate JPA+Infinispan+Atomikos

Monday, February 1st, 2010

Here is an interesting post at JBoss about configuring Hibernate, Infinispan’s caching and Atomikos JTA (among other JTA implementations). Sample code and configuration files are included.

Regards

Fabric3 (SCA) Integration of Atomikos TransactionsEssentials

Wednesday, December 2nd, 2009

Those of you who have been watching our RoadMap know that SCA is one of the topics on our list of things to watch.

Well, it turns out that the team of Fabric3 has been integrating TransactionsEssentials into the Fabric3 SCA runtime. Nice work!