The Evolution of Java Persistence

Similar documents
ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

Java EE 7: Back-End Server Application Development

Introducing EclipseLink: The Eclipse Persistence Services Project

CO Java EE 7: Back-End Server Application Development

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

EclipseLink. Solutions Guide for EclipseLink Release 2.6. June Beta Draft

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8

JVA-563. Developing RESTful Services in Java

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

TopLink Grid: Scaling JPA applications with Coherence

<Insert Picture Here> Java Virtual Developer Day

Developing Applications with Java EE 6 on WebLogic Server 12c

1 Markus Eisele, Insurance - Strategic IT-Architecture

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Polyglot Persistence. EclipseLink JPA for NoSQL, Relational, and Beyond. Shaun Smith Gunnar Wagenknecht

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Contents at a Glance

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Java EE 5 Development for WebSphere Application Server V7

Web Application Development Using JEE, Enterprise JavaBeans and JPA

<Insert Picture Here> Future<JavaEE>

JavaEE.Next(): Java EE 7, 8, and Beyond

Java EE 6: Develop Business Components with JMS & EJBs

SHORT NOTES / INTEGRATION AND MESSAGING

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

An Oracle White Paper July Oracle WebLogic Suite 12c (12.1.2) Technical White Paper

1Z Java EE 6 Web Services Developer Certified Expert Exam Summary Syllabus Questions

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

Oracle Corporation

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

open source community experience distilled

Deccansoft Software Services. J2EE Syllabus

Migrating traditional Java EE applications to mobile

Eclipse Persistence Services The Full Monty

IBM C IBM WebSphere App Server Dev Tools V8.5, with Liberty.

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

ORACLE WEBLOGIC SERVER

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

(9A05803) WEB SERVICES (ELECTIVE - III)

Oracle Enterprise Pack for Eclipse 11g Hands on Labs

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

Java Training Center, Noida - Java Expert Program

What is it? What does it do?

ORACLE WEBLOGIC SERVER 10g R3 ENTERPRISE EDITION

Oracle. Exam Questions 1z Java Enterprise Edition 5 Web Services Developer Certified Professional Upgrade Exam. Version:Demo

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

1. Introduction. 2. Technology concepts

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Development with Oracle Open Source: Not just JET

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

User s Guide 12c (12.2.1)

Oracle Fusion Middleware 11g: Build Applications with ADF I

DOC // JAVA TOMCAT WEB SERVICES TUTORIAL EBOOK

Enterprise JavaBeans, Version 3 (EJB3) Programming

ActiveVOS Technologies

"Web Age Speaks!" Webinar Series

1Z Oracle. Java Platform Enterprise Edition 6 Web Services Developer Certified Expert

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Courses For Event Java Advanced Summer Training 2018

Programming Web Services in Java

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

Object-relational mapping tools and Hibernate

How To Get Database Schema In Java Using >>>CLICK HERE<<<

Oracle Application Development Framework Overview

Java J Course Outline

Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager

Red Hat JBoss Enterprise Application Platform 7.2

The Wait is Over, Activiti 6 is Here. Doug Johnson (Thomas De Meo) Mario Romano

Table of Contents. I. Pre-Requisites A. Audience B. Pre-Requisites. II. Introduction A. The Problem B. Overview C. History

J2EE Application Development : Conversion and Beyond Osmond Ng

Oracle Fusion Middleware 11g: Build Applications with ADF I

CO Java EE 6: Develop Database Applications with JPA

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Oracle Developer Day

<Insert Picture Here> Productive JavaEE 5.0 Development

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Supports 1-1, 1-many, and many to many relationships between objects

Web Application Development Using Spring, Hibernate and JPA

JBoss SOAP Web Services User Guide. Version: M5

IBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release

Chapter 6 Enterprise Java Beans

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Peter Moskovits Principal Product Manager Oracle Corporation. Sue Vickers Group Manager Oracle Corporation

WebSphere Application Server What s new in WAS V7.0 for Developers

Java EE 6: Develop Web Applications with JSF

Oracle Enterprise Pack for Eclipse

CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1

JVA-163. Enterprise JavaBeans

Java SE 8 Fundamentals

Web Application Development Using Spring, Hibernate and JPA

Oracle Developer Day

Building the Enterprise

High Performance Persistence with EclipseLink

Transcription:

The Evolution of Java Persistence Doug Clarke Oracle Ottawa, Canada Keywords: Java, Persistence, JPA, JAXB, JSON, REST Introduction The data access requirements of today s Java applications keep expanding and have grown to include features such as tenant data isolation for cloud deployment, extensible models to support per tenant customization, JSON binding for RESTful web services, the ability to store Java objects in NoSQL databases and more. EclipseLink, included in Oracle TopLink, is well known as an object-relational mapping framework and as the JPA 2.0 reference implementation in Java EE 6, but it continues to evolve and now provides a comprehensive set of data services for Java developers building enterprise and cloud applications in Java EE and SE. Java Persistence: The Problem Space Java Persistence is most commonly associated with Relational Database usage. Object-Relational mapping was first standardized by the Java Persistence API (JPA) specification within EJB 3.0. However, the scope of the problem space most developers actually deal with in today s application is much larger. It includes not only physical storage of the data but also in transformations dealing with XML and JSON and the service interfaces that require these. The ability to bind objects to XML with JAXB and soon to JSON must also be considered part of the persistence problem space (Figure 1). Figure 1: The Problem Space

The ability to leverage persistent data within Web Services, both SOAP (JAX-WS) and REST (JAX- RS) based is of great importance and has lead to the introduction Database Web Service (DBWS) solutions for simplifying how persistent data can be exposed and leveraged. Java Persistence Landscape Within the persistence landscape there are several key standards that are available. These include: JPA 2.0, JAXB 2.2, and SDO 2.1.1. Although these are a good base for application development, customers and the technologies they use continue to require innovation within Java Persistence solutions. Some recent innovations we ll look at include: JSON Binding Dynamic JPA Tenant Isolation RESTful JPA NoSQL Looking beyond these topics that will be covered in this session there are also new functionality on the horizon in: JPA 2.1 JSON-B Standardizing Java-NoSQL EclipseLink Project The EclipseLink project (www.eclipse.org/eclipselink) is a key component of the Java Persistence community. EclipseLink delivers the reference implementation for JPA 2.0 and is leading the way with many of the innovations in this space. Within this session we ll highlight some of these innovations as they have been delivered in recent EclipseLink releases. Figure 2: The EclipseLink Project

The EclipseLink Project is composed of three main components: JPA: The object-relational core of EclipseLink enables, optimizes, and scales applications leveraging relational databases. It provides flexible mappings and powerful caching solutions as well as support for extended features of leading databases. MOXy: The JAXB and JSON binding solution simplifies mapping object or JPA entities using standard JAXB annotations or extended XML mapping files. Its fidelity with JPA makes it truly unique and important for developers needing XML or JSON binding support for their JPA entity classes. DBWS: Starting from a JAX-WS based solution focussed on generation of WSDL and supporting infrastructure this component now includes JPA-RS, or RESTful JPA, which simplifies exposing JPA persistence units over REST. This session builds on these three components explaining how the new features evolved based on customer and technology demands and how they can be easily used within any Java EE or SE application MOXy s JSON Binding and JPA Fidelity The EclipseLink project early on recognized the need to map objects into XML based on its own configuration file requirements and the need to support multiple versions of these files to ensure backwards compatibility avoiding the need for customers to upgrade their configuration resources. This support eventually became the Object-XML (OXM) infrastructure and with the creation of the EclipseLink project was named MOXy. This infrastructure evolved to become a compliant JAXB implementation and now serves as the default JAXB implementation within Java EE containers such as Oracle WebLogic. With the growing demand for JSON support with RESTful services the EclipseLink MOXy team evolved its XML binding solution to also work with JSON. Now developers can easily map their persistent classes to JSON or XML using annotations or XML mappings and can select the format to marshal into at runtime through specification of a media type.

In addition to MOXy s expansion into JSON binding it has also adapted to better work with JPA entities. JPA providers generally enhance or extend the JPA entity classes to contain additional state. These enhanced classes and complex mappings do not always work well with JAXB so MOXy has additional support for dealing with these challenges including handling cyclic relationships. This support allows developers to simply map their JPA entity classes to XML/JSON without requiring a parallel object model and the tedious conversion code that goes along with it. Dynamic JPA Another area of evolution within EclipseLink is enhanced support for more dynamic JPA models. This dynamic nature of EclipseLink JPA can be seen in several relatively new feature areas: JPA Entities without.java or.class: entities defined declaratively in XML mapping files Extensible Entities: Entity classes that can have additional mappings defined at runtime These features were introduced to support application developers who are required to build functionality based on relational structures that were not known at development time. Combined with EclipseLink JPA s meta-model functionality application components can now be developed to leverage future storage requirements. Tenant Isolation The ability to support multi-tenant applications where various levels of tenant isolation are required has lead to the introduction of several new features. These features allow EclipseLink based applications to easily share containers and or databases, schema, or even tables. The intent is to simplify how an application can be written and customized or deployed to handle different tenants.

EclipseLink s tenant isolation features for shared database, schema or tables can be easily configured using annotations or XML mapping files. RESTful JPA Based on all of the MOXy and JPA extended features, EclipseLink has developed and released its first RESTful JPA solution which delivers a new breed of persistence service. Developers can now expose their existing JPA persistence unit over REST with automated end point definition and XML/JSON binding. Alternatively a dynamic JPA persistence unit can be defined meaning that the entire service definition is declarative and easily be developed, tested, and deployed in a hosted service. EclipseLink Road Map

Contact address: Doug Clarke Oracle Canada ULC 45 O Connor Street K1P 1A4, Ottawa Canada Email douglas.clarke@oracle.com