The Artima Developer Community
Sponsored Link

Java Buzz Forum
DSO: transparent clustering enabled through AOP

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Jonas Bonér

Posts: 77
Nickname: jonas
Registered: Jul, 2003

Jonas Bonér is a ski and jazz addict who tries to squeeze in some time for open source development.
DSO: transparent clustering enabled through AOP Posted: Jun 8, 2005 3:59 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Jonas Bonér.
Original Post: DSO: transparent clustering enabled through AOP
Feed Title: grubbel
Feed URL: http://docs.codehaus.org/dashboard.action
Feed Description: Weblog of Jonas Bonér [jonas AT codehaus DOT org]
Latest Java Buzz Posts
Latest Java Buzz Posts by Jonas Bonér
Latest Posts From grubbel

Advertisement

Terracotta just recently launched a product (DSO) for clustering POJOs in a completely transparent way. What I find interesting in this product is not mainly in the clustering and caching, but how they make use of AOP and loadtime weaving to make it completely transparent.

This sounds a lot like techniques that we have been working on in AspectWerkz last years, and I was not too surprised, although very happy, to learn that they are actually using AspectWerkz. It is really great to see some of the ideas that Alex and I have been working on being used in new and interesting ways and in real-world applications.

They seem to use techniques that are fairly similar to the Unit of Work aspect library that I wrote for the AWare aspect library. Meaning: record field changes to object graphs within a transaction which can be committed/rolled back./etc. add specific methods that are defined declaratively.

However they have extended to this idea by adding semantics currently not available in AOP. For example being able to pick out synchronized blocks. This is a great idea, and when you think of it, it is in a way a hole in the current AOP implementations. Currently you can for example pick out a call to a method that is declared as being synchronized and you can pick out calls to Thread:: notify()/notifyAll()/wait(). Meaning that being able to pick out synchronized blocks are the only missing piece left in order to completely control thread management and locking in Java. The actual bytecode modifications needed to make this work would be fairly simple, but capturing the correct semantics in a good language design would probably be a lot trickier.

All and all a very interesting product that shows the beauty of AOP and loadtime weaving in action, go and check it out.

/Jonas


Read: DSO: transparent clustering enabled through AOP

Topic: Introduction to JGoodies Binding Previous Topic   Next Topic Topic: Introduction to JGoodies Binding

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use