Michael Keith, Oracle Corporation

Standards-Based Persistence through Web Services

As more and more solution architectures introduce Web services to replace outdated and customized systems, the problems that the legacy software needed to address inevitably surface in the Web services context. While these are being considered in turn, systems must be able to resolve these issues in current new architectures, often ahead of the specifications.

Persistence must be integrated with the transaction mechanism, which in turn must be coordinated within the Web service. We will discuss the choices that Web services developers have to persist their objects and artifacts, and the benefits and pitfalls of each of the existing standards. In-depth discussion of specific persistence specifications will include J2EE, EJB, and JDO. The persistence models and features of these standards will be described in detail, including queries, transactions, invocation, caching and locking. Strategies, patterns and anti-patterns for persisting will also be proposed, and implementation hints on how to use these standards will be offered.

Evolution of the EJB Entity

When EJB first emerged it was heralded as the component programming model of the future. It formalized portable client/server Java paradigms and server capabilities that had previously been reinvented by every application server vendor. A common model for security, transactions, concurrency and persistence became available for developers courtesy of the EJB Container. While session beans and message-driven beans became widely adopted as tools for server applications, the persistence machinery embodied within the entity bean did not reach the same levels of popularity.

The entity bean has evolved considerably since EJB 1.0, as entities attempted to balance a level of persistence granularity usable to developers, yet remain consistent with the EJB programming model. By examining the history of the entity and the characterizing features of each version, developers can make a well-informed assessment about their relevance and applicability to the most common application styles. This presentation will explore the strengths and weaknesses of the entity bean with code examples. Ensuing discussions and demonstrations will show the recent EJB 3.0 specification is revolutionizing the way that entity beans will be used.

Picture of Michael Keith

Michael Keith has 15 years of teaching, research and practical experience in object-based and object-oriented systems, specializing in object persistence. He has a Master’s degree in computing, specializing in distributed persistent object systems and has designed and implemented numerous persistent object systems for Fortune 100 corporations. He has been involved in EJB since its initial release through spec reviews and CMP implementation products. He is a chief architect for Oracle’s TopLink product and has recently been engaged in the integration of TopLink into OC4J. He has spoken previously at JavaOne and other conferences, and currently represents Oracle on the EJB 3.0 expert group.

Email: michael.keith@oracle.com

Back to...

Dan Johnsson

On to...

Chris Laffra