white bar background yellow bar background
Colorado Software Summit 2007 banner
Colorado Software Summit logo

The Best Way to Master a Technology Is to Teach It to Others

Mike Keith

Oracle Corporation

EJB 3.0 Puzzlers

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.

JPA Portability: What You Should Know When Writing Portable JPA Applications

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.

Photo of Mike Keith

Mike Keith was the co-specification lead for EJB 3.0 (JSR 220) and a member of the Java EE 5 expert group (JSR 244). He co-authored the premier JPA reference book called Pro EJB 3: Java Persistence API and has over 15 years of teaching, research and development experience in object-oriented and distributed systems, specializing in object persistence. He is currently a Java and persistence architect for Oracle and is a popular speaker at numerous conferences and events around the world.

Blog: http://www.jroller.com/mkeith/

Email: michael.keith@oracle.com