I just returned from The ServerSide JavaSymposium Europe. Great conference, with interesting tracks and good opportunities to get to know people. The conference was in Barcelona, which was interesting, because hardly anyone (taxi drivers and waiters included) understand English here. It’s the first time where I’ve been a place where I am totally unable to communicate verbally with people around me. So it as a bit of an adventure. My only gripe about the location is the price of WiFi access in Spanish hotels.
In the tracks I attended, there seemed to be two recurring themes: Grid-technology and EJB 3. JPA looks like it is coming along nicely, and after discussing with spec lead Mike Keith some issues I’ve had with JPA, I am fairly convinced we will attempt a migration soon.
The Grid-based talks were Terracotta, JGroups, GigaSpaces and Coherence (which I did not attend). I especially liked Nati Shalom’s view of the tierless architecture. GigaSpaces has Spring-like DAO support, which makes it as natural-feeling to use as Jdbc. This lowers the barrier of entry quite a bit, but it brings forth a problem with spaces-based technologies: The level of abstraction is currently that of a DAO, not that of an ORM. This means: As far as I could see, you will not have a rich domain model with references between your domain objects if you use spaces. You will also have to implement referencial integrity yourself. (I hope to write up a little piece on creating lazy loaded abstractions on top of tuplespaces in the future, this might help address the issue).
A second problem with grid based data is that of the fragmented cluster/split brain. For those who do not know what Split Brain means, consider the following: A large grid usually has a failover that elects a new master if the old master is unavailable. Now, if the network is split in the middle, there will be two nodes that both think they are the master. The split brains will each update the data, and when they reconnect again, the data will have to be merged. Even with databases, this is not a painless operation, but I expect that with a tuplespace, it will potentially be unrecoverable.
Bela Ban was the only speaker I attended who covered fragmentation satisfactory. I wish that he had explored merging in more detail, though. Jonas Bonér seemed quite unprepared for the same question.
I don’t need split brain remerging to be perfect, but I need to be confident that the vendor has understood the issues and that the whole space won’t be corrupted when it gets back up again.
- John Davies: It was very interesting to hear John Davies speak. C24 has some outstanding technology within the banking sector, and I am really looking forward to seeing if my company can make use of this technology
- Kirk Pepperdine: The performance anti-patterns talk was very interactive and fun. Kirk gave out chocolate to attendees, which is always a good way to win me over.
- Heinz Kabutz: I went to both of Heinz’ talks. He is a very entertaining speaker. Sadly, I knew most of what he talked about already.
Ideas of my own
With the help of people I talked to during the conference, a few new ideas have started germinating in my head. I hope to be writing more about this in the future:
- The SOA battle: More voices who are critical to SOA should be heard. I may reengadge myself in this
- Object-based queries: I hope to be working on a portable version of TopLink Expressions/Hibernate Queries. The query language is the last thing preventing persistence technology portability
- Myopic Development: I had good results focus testing the term “myopic development” instead of “agile development”. I will write more on this later
- Lazy loading: Lazy loading, like dynamic proxies, is not hard, but people are afraid of it. I’d like to see custom lazy-loading become more mainstream
Stay tuned for updates.