CDI spring

Why CDI won't replace Spring

CDI is part of JavaEE 6 and that’s a great move forward. Now, there’s a standard telling vendors and developers how to do DI. It can be refined, but it’s here nonetheless. Norms and standards are IMHO a good thing in any industry. Yet, I don’t subscribe to some people’s points of view that this means the end of Spring. There are multiple DI frameworks around here and Spring is number one. Why is that? Because it was the first? It wasn’t (look at Avalon). My o

A Java language quirk

The boys at Sun made really an amazing thing when designing Java. I mean, everyone is cursing it now, predicting Java is dead because of its verbosity and such but could those persons have done better?  I doubt it. Just consider Java 's penetration in the enterprise…​ Verbosity enforces readibility, a nice feature in the enterprise where people move from position to position, in and out. However, I have stumbled upon a troubling quirk. Most Java’s nuts and bolts are enforced a

Architecture hibernate

The OpenSessionInView antipattern

With such a controversial title, I’m bound to be the target of heated comments. Although provocative, such is not my goal, however, I just want to initiate an educated debate between people that are interested into thinking about the problem. The origin of this post was a simple discussion between developers of different level of experience on Hibernate. The talk was about eager-, lazy-loading and the infamous LazyInitializationException. Since I imagine not everyone has the problem in hi

vaadin

Server-client push with Vaadin

I’m more and more comitted into Vaadin since I see so many advantages to this solution. This time, I’ve investigated how to push server data to the client. Vaadin is a general purpose framework that is wise enough not to force you to code in one way or another. Many features are available in the core distribution but many more are available in the add-ons directory. One such add-on let you add push feature to your simple application. This add-on is based on ICEPush technologies and

event

SoftShake 2010

Monday took place the first Soft-Shake event in Geneva, Switzerland. You’re probably wondering what a Soft-Shake event is. Basically, most events focus on one area: Oracle Technologies, Java, Apple, PM methods, what have you. Most of us, however, have multiple interests. Since even in the pure science field, the trend is to decompartmentalize, it is only natural that computer sciences should take the same path. The answer is Soft-Shake: a cocktail of sessions that mixes different but connec

hibernate

Hibernate hard facts - Part 6

This is the 6th post in the Hibernate hard facts focus series. In this article, I will show you how to use the fetch profile feature introduced in Hibernate 3.5. Lazy loading is a core feature in Hibernate: it saves memory space. The reasoning behind it is, if you don’t use an association, you don’t need the object and thus, Hibernate does not load it into memory. Hibernate fills the lazy loaded attribute with a proxy that makes the SQL request when the getter is called.

The hunt for architectural solutions

At my customer’s site, I have the chance to work in a team of architects. This is rare enough to be mentioned, since most of the time, I’m alone. This is an opportunity to exchange thoughts. Earlier this year, we talked between us about similitudes that sometimes exist between searching for an architectural solution and hunting in 3 phases. At the beginning, it is simple enough: the requirements are clear, and the path to them is straight. You’re tasked with hunting for just

jbehave test

Automate your integration tests

Software testing traditionally has been separated between unit testing - testing classes in isolation - and integration testing - testing across all layers. Whereas unit testing is the domain of developers, integration testing is the domain of analysts. Moreover, most of the time, those tests are not automated and are painfully reexecuted by hand each time they are needed. This means that your build process has a safeguard harness on the unit level but nothing on the feature level (at least nothi