Hi all, and thanks to all of you who are participating!
Raghu and I are at Oracle Open World for much of this week, but are checking in frequently. We are definitely enjoying the questions so far, so don't hesitate to ask whatever you like, and we'll take a stab at it.
So, how does EJB 3 is anwering the difficultites and competing with them (technically). After having EJB 3, is it easier to continue with EJB or such frameworks.
EJB 3 has taken the approach of essentially standardizing the programming model in Hibernate and TopLink into the Java Persistence API (JPA). Both Hibernate and TopLink serve as implementations of the JPA, so what you have with EJB 3 is these underlying technologies wrapped up as a standard programming interface. By standardizing it, vendors are free to implement this programming API however they choose, and can compete on performance and extension features. That's the theory, anyhow, and we'll have to see how things turn out. I think it is a very promising approach.
The other benefit of incorporating TopLink and Hibernate into the JPA standard, is that surrounding standards in the Java EE stack, like EJB session beans, can more seamlessly work with this new persistence API. In the absence of standards, it is difficult to develop optimizations and integration between the technologies. Such interactions make for a much smoother development experience, where common core concepts are built into to the Java EE API. As an example, Java EE 5 introduces a common practice of exposing all meta data (with a few necessary exceptions) both through XML and annotations, where the XML always overrides the annotations in the event of a conflict. This common practice pervades EJB session beans and message driven beans, but also JPA entities. The same is true of Java EE web services, and so on. A standard helps to both define and enforce this type of practice.
Regards, Jon [ October 25, 2006: Message edited by: Jon Wetherbee ]