Plain Old Java Object’s does make my job easier.
When i started programming DCOM and CORBA were very popular and powerful. I was part of a team in HP which had strong programmers in these technologies. As a junior programmer it was tough to understand and implement solutions with these technologies . More than being a good programmer these technologies required lot of experience to become an expert. I can compare these technologies to COBOL. A developer had to master the syntax of all those *@@# divisions before trying to solve the given problem.
Then came EJB. It made life worse !. It gave programmer lot of power but at the same time opened up a new set of problems. The specifications of EJB used to drive me insane. Why on earth should i implement methods that a application container has to use ? I wanted to deal with application specific issues and not worry about the container. Luckily for the programming community lot of projects began to fail because new programmers were not able to write production level code due to the complexity. Maintenance was an issue as well. The java community came together to find a solution to this mess and POJO’s were the answer !.
POJO is not a new technology. It is more of going back to the basics. The programmer has to deal with only the application logic. The framework “wires” application services to the POJOs by intercepting the execution context or injecting service objects to the POJO at runtime. EJB3 and Spring use POJO’s . EJB3 uses annotations whereas Spring uses XML files to define POJO’s. Both technologies use Dependency Injection .
Either way POJO’s have made life easier for the developer. Lot of complex projects have been successfully implemented using frameworks like Spring , Hibernate etc .