

Last week I attended JAX '09, the Java User Conference in Mainz, Germany.
Or rather "conferences", because once you're there JAX is indistinguishable from something called SOACON and the Eclipse Forum Europe, which officially take place in parallel. (more...)
Tags: Agile, conference, Eclipse Forum, JAX, SOACON
Filed under Agile, Eclipse, General, Java, OSGi | 4 Comments »
In the previous three blogs about JPA implementation patterns, I covered the basis operations of saving entities, retrieving entities, and removing entities. In this blog I will continue along a different angle, exploring the subject of how entities are lazily loaded and how that affects your application.
Anybody that has been working with Hibernate for a while has probably seen a LazyInitializationException or two, usually followed by a message such as "failed to lazily initialize a collection of role: com.xebia.jpaip.order.Order.orderLines, no session or session was closed" or "could not initialize proxy - no Session". Even though these message may baffle new users of Hibernate, they are a lot better than the NullPointerExceptions OpenJPA gives you in these cases (at least when using runtime bytecode enhancement).
To use JPA to its full potential it is imperative to understand how lazy loading works, as it allows you to model your complete database with all its relations without loading that whole database as soon as you access just one entity.
(more...)
Filed under Hibernate, JPA, JPA implementation patterns, Java, Spring | 15 Comments »
After the GIDS 2008 last year, me and one of my colleague at Xebia expressed our interest in attending Developer Summit this year. Great Indian Developer Summit(GIDS) took place from 23-25 April 2009 at Bangalore , India.
Our journey started with witnessing a huge chaos at the airport. Their systems had gone down so everything was haywire. We joked of representing Xebia here as well to present them a better software solution
@Bangalore , India
The first day saw a huge number of people. A lot of buzz and enthusiasm among the delegates. Big sponsors like Microsoft, Adobe , Red hat , JBoss , IBM , Yahoo , Sony Ericsson were associated with this event. Everyday there were five parallel tracks going on at five different halls.
In this blog I would briefly cover the highlights. (more...)
Tags: Java, Xebia
Filed under General | 1 Comment »
As Josh Bloch writes, for business objects, "overriding the equals method [is] necessary to satisfy programmer expectations." (Effective Java, item 7). Apart from benefits he mentions - conformance to expectations, correct use in maps and sets etc. - I've found that implementing equals (and hashCode) really make you consider what the classes represent. Certainly for business objects, i.e. objects in your domain model, trying to define a business-level identity for your classes is a good way of validating that you've correctly captured a business-relevant concept.
An equals definition can also serve as a useful piece of documentation describing your domain. Here, we'll consider an approach that tries to do this as cleanly and conveniently as possible...declaratively! (more...)
Tags: business key, domain object, equals, hashcode, Java
Filed under Java | 4 Comments »
My colleague Age pointed me at a blog post by Uncle Bob about a presentation where a Mr. Josuttis presented the inevitability of crappy code because "businesses will do whatever it takes to cut costs and increase revenue, and therefore businesses will drive software quality inexorably downward". Uncle Bob proceeds to go against that argument, but I find it to be a technocratic (DSLs and produce better code) and ultimately unsatisfying answer. My answer to the problem?
Face reality, grow up.
Filed under Agile, General, Project Management, Scrum | 8 Comments »
For the last 9 months I've been working as a team member of Xebialabs on a product called Deployit. The product automates deployments of applications. As any Xebia team we use SCRUM for our development. Now at the end of our two week sprint we give a demo to the product owner and stakeholders of what we've been building.
We demo deploying applications onto a variety of Application Servers and other Middleware, like for instance WebSphere/Oracle-Bea Application Server/Portal, MQSeries, HTTP Servers and so on... Sometimes demo-ing a story, like deploy application A to application server B can take 10 to 15 minutes. That means, for an hour of demo time we can not show every user story that we finished in our sprint. So we only show the important ones. But what happens when demoing a story can take up to 45 minutes? How can can we cram multiple finished stories into the hour?
(more...)
Filed under Agile, Multimedia, Scrum, Xebia Labs | No Comments »
Validations are a huge part of any software development. We need to validate that the data being entered from the UI is correct i.e of correct type or we are not leaving a notNull/notEmpty fields to be blank. There are so many ways to fulfill these requirements and we can have UI level validations or persistence level validations.
Tags: Ajax, Hibernate Validation, JSF, Seam
Filed under Ajax, JSF, Seam | 3 Comments »
Recently I was challenged by a client to test a new web application in an Agile project. The team was new at working Agile and even more with working together with a functional tester, altogether this resulted in me getting very little development support from the team.
Because the lack of tooling and support I focussed my efforts on just recording test-scripts using Selenium IDE, hoping I would be able to reuse them once I got the development support I had been requesting. The plan was to integrate the pre-recorded scripts in a more extended test environment in a later stage of the project.
Tags: Agile, fitnesse, Scrum, Selenium, Testing
Filed under Agile, Quality Assurance, Testing, fitnesse | 6 Comments »
In this article we will basically try to understand the basic difference between different ways in which we can do Seam application development. So before we get into details, let have a brief introduction about Seam
Tags: jboss tools, Seam, seam-gen
Filed under Frameworks, Java, Seam | 3 Comments »