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

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

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

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

TopLink Grid: Scaling JPA applications with Coherence

The Evolution of Java Persistence

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

CO Java EE 6: Develop Database Applications with JPA

Index. setmaxresults() method, 169 sorting, 170 SQL DISTINCT query, 171 uniqueresult() method, 169

JPA The New Enterprise Persistence Standard

Introducing EclipseLink: The Eclipse Persistence Services Project

Java EE 7: Back-End Server Application Development

Pro Hibernate and. MongoDB. Anghel Leonard. Apress-

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

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

What data persistence means? We manipulate data (represented as object state) that need to be stored

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

<Insert Picture Here> Future<JavaEE>

Java Persistence API (JPA)

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

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Lightweight J2EE Framework

Week 2 Unit 1: Introduction and First Steps with EJB. January, 2015

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

Object-relational mapping tools and Hibernate

Sustainable Service Design using Xtext Michael Bischoff arvato Systems GmbH

Putting Oracle Database 11g to Work for Java. Kuassi Mensah Group Product Manager, Java Platform Group db360.blogspot.com

DATA ACCESS TECHNOLOGIES FOR JAVA GENERAL STUDY

Oracle Corporation

Java EE Architecture, Part Three. Java EE architecture, part three 1(57)

Dali Java Persistence Tools

Migrating traditional Java EE applications to mobile

Jakarta EE Meets NoSQL at the Cloud Age

Schema Null Cannot Be Resolved For Table Jpa

Hibernate OGM. Michal Linhard Quality Assurance Engineer, Red Hat. Red Hat Developer Conference February 17 th, 2012

Dynamic Database Schemas and Multi-Paradigm Persistence Transformations

<Insert Picture Here> MySQL Cluster What are we working on

Week 2 Unit 3: Creating a JDBC Application. January, 2015

High Performance Persistence with EclipseLink

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

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

MySQL & NoSQL: The Best of Both Worlds

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

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.

Teneo: Integrating EMF & EclipseLink

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Arun Gupta is a technology enthusiast, a passionate runner, and a community guy who works for Sun Microsystems. And this is his blog!

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

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

Eclipse Persistence Services The Full Monty

Hibernate Overview. By Khader Shaik

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

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

Hibernate OGM Architecture

Java EE Architecture, Part Three. Java EE architecture, part three 1(69)

Generating A Hibernate Mapping File And Java Classes From The Sql Schema

Fast Track to EJB 3.0 and the JPA Using JBoss

Understanding Oracle ADF and its role in the Oracle Fusion Platform

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

Deployment. See Packaging and deployment processes

YeSQL: Battling the NoSQL Hype Cycle with Postgres

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Java Persistence API. Patrick Linskey EJB Team Lead BEA Systems Oracle

Object-relational mapping EJB and Hibernate

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

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

Introduction to JPA. Fabio Falcinelli

CO Java EE 7: Back-End Server Application Development

Creating Ultra-fast Realtime Apps and Microservices with Java. Markus Kett, CEO Jetstream Technologies

"Web Age Speaks!" Webinar Series

Enterprise JavaBeans, Version 3 (EJB3) Programming

Data-and-Compute Intensive Processing: Middle-tier or Database? Trade-Offs and Case Study. Kuassi Mensah Marcelo Ochoa Oracle

Java EE Architecture, Part Three. Java EE architecture, part three 1(24)

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

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

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Setting Schema Name For Native Queries In. Hibernate >>>CLICK HERE<<<

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

Javaentwicklung in der Oracle Cloud

Schema Management In Hibernate Interview. Questions >>>CLICK HERE<<<

Using ElasticSearch to Enable Stronger Query Support in Cassandra

Coherence An Introduction. Shaun Smith Principal Product Manager

JPA Enhancement Guide (v5.1)

The Good, the Bad and the Ugly

Introduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos

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

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

Eclipse Java Ejb 3.0 Tutorial For Beginners With Examples Pdf

object/relational persistence What is persistence? 5

Oracle and Tangosol Acquisition Announcement

Hibernate Search Googling your persistence domain model. Emmanuel Bernard Doer JBoss, a division of Red Hat

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

PaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved

NOSQL DATABASE SYSTEMS: DATA MODELING. Big Data Technologies: NoSQL DBMS (Data Modeling) - SoSe

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle

Developing Applications with Java EE 6 on WebLogic Server 12c

Java J Course Outline

CocoBase Delivers TOP TEN Enterprise Persistence Features For JPA Development! CocoBase Pure POJO

CSE 308. Database Issues. Goals. Separate the application code from the database

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Transcription:

THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER ANY MATERIAL, CODE, OR FUNCTIONALITY, AND SHOULD NOT BE RELIED UPON IN MAKING PURCHASING DECISION. THE DEVELOPMENT, RELEASE, AND TIMING OF ANY FEATURES OR FUNCTIONALITY DESCRIBED FOR ORACLE'S PRODUCTS REMAINS AT THE SOLE DISCRETION OF ORACLE 1

Polyglot Persistence EclipseLink JPA for NoSQL, Relational, and Beyond Doug Clarke Director of Product Management 2

Java Persistence: The Problem Space? Customer id: int name: String creditrating: int Java JPA JAXB DBWS <customer id= > <name> </name> <contact-info> </contact-info> </customer> XML NoSQL CUST ID NAME C_RATING Relational JPA: Java Persistence API JAXB: Java Architecture for XML Binding DBWS: EclipseLink Database WebServices 3

Java Persistence: The Problem Space Customer id: int name: String creditrating: int Java JPA CUST ID NAME C_RATING NoSQL Relational 4

JPA - Background A standardization of industry practices for Java POJO Object Relational Persistence Suitable for use in different modes Standalone in Java SE environment Hosted within a Java EE Container Merging of expertise from persistence vendors and communities including: TopLink, Hibernate, JDO, EJB vendors and individuals 5

Java Persistence API (JPA) - in a Nutshell Defines: How Java objects are stored in relational db A programmer API for reading, writing, and querying persistent Java objects ( Entities ) A full featured query language in JP QL a container contract that supports plugging any JPA runtime in to any compliant container Java Classes Persistence Descriptors Database Schema Java SE/EE Application JPA Provider JDBC Driver 6

NoSQL Databases NoSQL database are increasingly popular No common definition (document, graph, columnar) Differing feature sets Some offer query language/api some not No standards Every database offers a unique API Cost in terms of learning Zero portability across databases 7

EclipseLink NoSQL Support JPA-style access to NoSQL databases Leverage non-relational database support for JCA (and JDBC when available) Define annotations and XML to identify NoSQL stored entities (e.g., @NoSQL) Support JPQL subset for each Key principal: leverage what s available Initial support for MongoDB and Oracle NoSQL. Support mixing relational and non-relational data in single composite persistence unit ( polyglot persistence ) 8

Applicability of JPA to NoSQL Core JPA concepts apply to NoSQL: Persistent Entities, Embeddables, ElementCollection, OneToOne, OneToMany, ManyToOne, Version, etc. Some concepts apply with some databases: JPQL, NamedNativeQuery Pure relational concepts don t apply: CollectionTable, Column, SecondaryTable, SequenceGenerator, TableGenerator, etc. 9

Querying NoSQL with JPA Two kinds of queries JQPL portable query language defined by the spec Native query lets you leverage database specific features Dynamic or static @NamedQuery JPQL translated to underlying database query framework. 10

Example MongoDB Mapped Entity 11

MongoDB Query Examples JPQL Select o from Order o where o.totalcost > 1000 Select o from Order o where o.description like 'Pinball% Select o from Order o join o.orderlines l where l.cost > :cost Native Queries query = em.createnativequery( "db.order.findone({\"_id\":\"" + oid + "\"})", Order.class); Order order = (Order) query.getsingleresult(); 12

Demo NoSQL Persistence 13

Polyglot Persistence Different data storage technologies for different kinds of data First ask, how we want to manipulate the data, then figure out what technology is the best bet for it Apparent even within a single application Cost of complexity http://martinfowler.com/bliki/polyglotpersistence.html NoSQL Distilled (Sadalage and Fowler, 2012) 14

Polyglot Persistence Relational and NoSQL databases each have their strength - choose the right one for the job A single application may have need for both relational and NoSQL data EclipseLink JPA supports use of multiple database technologies in the same application Relationships can span databases and database technologies 15

Demo Polyglot Persistence 16

Experience / Best Practices MongoDB great for Sandbox development Start with NoSQL Go relational when model complete Remember: Two Worlds Think Auto-Commit No complex queries 17

Tools Dali JPA Development Tools NoSQL specific Zero schema development in MongoDB Many MongoDB Admin GUIs (eg. MonjaDB in Eclipse) 18

EclipseLink vs. Morphia Morphia is MongoDB only uses JPA-like mappings clearly the JPA approach is amenable to NoSQL persistence 19

Morphia Observations Cannot combine with other DB technologies Non-Polyglot DB operation order must be managed by developer Extremely painful in practice EclipseLink offers comparable features with distinct advantages Polyglot, technology independent, ease of use 20

EclipseLink vs. Hibernate OGM OGM Object Grid Mapper initially focused on Infinispan Focused on storing entities in the Grid/NoSQL Imposes specific data storage format EclipseLink is focused on JPA access to NoSQL not simply NoSQL as dedicated entity store Relies on Lucene for search No native or JPQL translation to native query 21

Hibernate OGM Storage Format 22

EclipseLink NoSQL Next Step Gather community feedback Please contribute to the conversation! Support additional databases: Cassandra HBase CouchDB Long term standardization? 23

Useful Links EclipseLink http://www.eclipse.org/eclipslink EclipseLink NoSQL Examples http://wiki.eclipse.org/eclipselink/examples/jpa/nosql James Sutherland s Blog http://java-persistence-performance.blogspot.com/ 24