People are now starting to know more about EJB 3.0, and many are already using it extensively. Others are still in the exploratory phases of discovering how it makes their applications easier to develop and maintain.
Borrowing from the popular Java Puzzlers format by Josh Bloch and Neal Gafter, this talk highlights some of the common and less common points of the EJB 3.0 specification. Situations having to do with the EJB 3.0 simplified API as well as JPA persistence will be shown and examined for potential outcomes. You will have a chance to vote for the answer that describes your expectation of the outcome.
This session will appeal to EJB 3.0 novices and experts alike, so developers anywhere in the range of “somewhat familiar with” to “I’m an expert in” EJB 3.0 will enjoy this session and learn from the explanations that follow. It will also help you to recognize potentially tricky situations – and even more importantly to impress your friends at geek parties.
The Java Persistence API has been declared the unifying standard for POJO persistence in the enterprise. It offers enterprise runtime portability in exchange for using its runtime API, and metadata portability if its annotation or XML format is used to specify O/R mapping and/or persistence metadata.
While the first release of the Java Persistence API specification includes the most important and heavily used persistence features it does not specify every feature that has been uncovered by over a decade of O/R mapping and Java object persistence. The most useful of these currently excluded features are supported by many of the current O/R persistence products and will likely be added to a subsequent JPA specification release. Until that time, however, persistence developers should be aware of the features that are standard and those that currently lie outside the standard. This talk will outline some of the boundaries defined by the current JPA 1.0 specification and examine practices that could cause an application to stray from the portability path. Some of the different aspects of portability will be discussed, including source code, compile-time and link-time incompatibilities, as well as semantic and metadata-based dependencies.
Some existing applications may make use of exotic features that are slightly off the beaten path, and some of these applications may not be willing to sacrifice such features for the sake of portability. We will show how hooks provided by JPA can be used to access features outside the specification, thus allowing an application to maintain and leverage existing custom features within the framework of a standard API.
The tips and tricks contained in this talk will be of interest to developers who want to write portable persistence code using JPA, and attendees will come away with a general awareness of portable persistence in relation to JPA.
© 1997 2008 Kovsky Conference Productions Inc.; All rights reserved.