Dali Java Persistence API Tools

Similar documents
Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Accelerated Java EE Open Source Development with Eclipse CON1905

Developing an EJB3 Application. on WebSphere 6.1. using RAD 7.5

Web Development with the Eclipse Platform

OTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics

This presentation will provide a brief introduction to Rational Application Developer V7.5.

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

JReport Server Deployment Scenarios

Java EE 7: Back-End Server Application Development

Performance Evaluation of Java Object Relational Mapping Tools

Web Tools Platform (WTP) 3.5

EclipseLink. Solutions Guide for EclipseLink Release 2.5

SAP Web Application Server 6.30: Learning Map for Development Consultants

Exam Name: IBM InfoSphere MDM Server v9.0

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

DB2 Application Development and Migration Tools

PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS HASEEB YOUSAF. (Under the Direction of John A. Miller)

JBoss EntErprisE ApplicAtion platform migration guidelines

Developing Web Services with Eclipse

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Building and Using Web Services With JDeveloper 11g

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang

Software Development Kit

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

OWB Users, Enter The New ODI World

The Oracle Fusion Development Platform

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Toad for Oracle 8.6 SQL Tuning

JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES

Java Server Faces (JSF) 1.1 for Java EE5. The reference implementation can be obtained from:

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

Converting Java EE Applications into OSGi Applications

JSR-303 Bean Validation

What Business and Process Analysts Need to Know About BPM Suites

SAP HANA Core Data Services (CDS) Reference

Rapid Application Development. and Application Generation Tools. Walter Knesel

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

A standards-based approach to application integration

Building Web Services with Apache Axis2

Oracle Application Development Framework Overview

Aplicações empresariais de elevada performance com Oracle WebLogic e Coherence. Alexandre Vieira Middleware Solutions Team Leader

SAP NetWeaver Portal Development Kits for.net and Java

PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

SQL Server Training Course Content

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

Data Integration and ETL with Oracle Warehouse Builder: Part 1

Framework Adoption for Java Enterprise Application Development

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead

Administering batch environments

Oracle Data Integrator: Administration and Development

ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM

Glassfish Architecture.

Struts Tools Tutorial. Version: M5

Oracle BI 11g R1: Build Repositories

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

Semantic Stored Procedures Programming Environment and performance analysis

ORACLE BUSINESS INTELLIGENCE WORKSHOP

Building Your EDI Modernization Roadmap

FreeForm Designer. Phone: Fax: POB 8792, Natanya, Israel Document2

Reporting and Visualization of Healthcare Data Using Open Source Technology. Virgil Dodson, Actuate

Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation

Oracle Warehouse Builder 10g

Application Development With Data Studio

Instrumentation Software Profiling

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

IBM DB2 XML support. How to Configure the IBM DB2 Support in oxygen

Glassfish, JAVA EE, Servlets, JSP, EJB

Enterprise Service Bus

SCA & SDO Implementations Open Source and Vendor Products

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

1. Introduction What is Slice? Background Why Slice? Purpose of this Document Intended Audience...

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Talend for Data Integration guide

SSIS Training: Introduction to SQL Server Integration Services Duration: 3 days

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

How To Create A C++ Web Service

TIBCO ActiveMatrix SOA Concepts. Software Release November 2012 BPM

SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package Information Design Tool User Guide

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)


Maximise your Microsoft investment to provide Legal Matter Management

Understanding class paths in Java EE projects with Rational Application Developer Version 8.0

The end. Carl Nettelblad

The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

IBM Rational Web Developer for WebSphere Software Version 6.0

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

Developing Apps with the ArcGIS Runtime SDK for Android. Ben Ramseth Esri Inc. Instructor Technical Lead

Transcription:

<Insert Picture Here> Dali Java Persistence API Tools Neil Hauge neil.hauge@oracle.com Project Lead

About Neil Project Lead of Eclipse Dali JPA Tools Project and WTP PMC member Development Tools Lead for Oracle TopLink, Oracle's JPA implementation and the basis of the open source TopLink Essentials JPA Reference Implementation Over six years experience developing Java Object- Relational Mapping tools

About Java Persistence API (JPA) Separate document bundled as part of EJB 3.0 specification Suitable for use in different modes Standalone in Java SE environment Hosted within a Java EE Container Standardization of current persistence practices Merging of expertise from persistence vendors and communities including: TopLink, Hibernate, JDO, EJB vendors and individuals

JPA in a Nutshell A Java standard that defines: how Java objects are stored in relational databases (specified using a standard set of mappings) a programmer API for reading, writing, and querying persistent Java objects ( Entities ) a full featured query language a container contract that supports plugging any JPA runtime in to any compliant container.

JPA POJO Entities Concrete classes No required interfaces No required business interfaces No required callback interfaces new() for instance creation Direct access or getter/setter methods Can contain logic (e.g. for validation, etc.) Managed by an EntityManager Can leave the Container (become detached )

Object-Relational Mappings Core JPA Mappings Id Basic Relationships OneToOne OneToMany/ManyToOne ManyToMany And more Can be specified using Annotations or XML

JPA Entity Mappings on Fields @Entity public class Customer { @Id private String name; @OneToOne private Account account; } public String getname() { return name; } public void setname(string name) { this.name = name; } public Account getaccount() { return account; } public void setaccount(account account) { this.account = account; }

JPA Entity Mappings on Properties @Entity public class Customer { private String name; private Account account; } @Id public String getname() { return name; } public void setname(string name) { this.name = name; } @OneToOne public Account getaccount() { return account; } public void setaccount(account account) { this.account = account; }

JPA Entity Mappings in XML <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/o rm" <entity class= Customer"> <attributes> <id name= name /> <one-to-one name= account /> </attributes> </entity> </entity-mappings>

Why do you need JPA Tools? JPA runtime combines: Java Classes Mapping Metadata Database schema Java Classes Mapping Metadata Java SE/EE JPA Persistence Provider Database Schema Relational Database Design Time Runtime

Why do you need JPA Tools? How can you tell if they all match? Deploy and run tests? slow find one problem at a time (fix, run, fix, ) definitive Design time validation? quick finds all issues validates against spec runtime may not match spec Java Classes Mapping Metadata Database Schema Design Time Java SE/EE JPA Persistence Provider Relational Database Runtime

About Dali Support for the definition, editing, and deployment of Object-Relational (O/R) mappings for JPA Entities Simplify mapping definition and editing through: intelligent mapping assistance dynamic problem identification generation and automated mapping wizards Extensible frameworks and tools so vendors and open source projects can provide specific support for their JPA runtimes A subproject of the Web Tools Platform (WTP)

Dali Goals Simplicity Intelligent mapping assistance and automated generation Intuitiveness Use existing and consistent modeling and tooling practices in Eclipse Light-weight views offer assistance but don t get in the way of power users Compliance Support any and all EJB 3.0 compliant runtime implementations Test using EJB 3.0 Reference Implementation Extensibility Provide the ability for vendors and open source projects to seamlessly add their own value-add features

Why Dali? JPA supports The Persistence of Memory which is the title of a well known Salvador Dali painting. Salvador Dalí. The Persistence of Memory. 1931. 2005 Salvador Dalí, Gala-Salvador Dalí Foundation/Artists Rights Society (ARS), New York

The Dali Value Proposition You don t need Dali to build JPA applications but you re going to be way more productive if you do!

Dali Contributions to Eclipse JPA Mapping Validation JPA Structure and Details Views Java Source Editor enhancements

Mapping Validation Annotations and/or XML used to define JPA Entities. JDT validates syntax, but doesn t understand what the annotations mean.

Mapping Validation Java Source Editor enhancements Mapping Problem Markers ADDRESS ID STREET STATE Default mapping won t work!

Mapping Assistance JPA Details View ADDRESS ID STREET STATE

Mapping Assistance for Basic Mapping ADDRESS ID STREET STATE No Mapping Errors!

JPA Structure View Provides a JPA specific view of Java Class or ORM XML Mapping File A thumbnail sketch of how an Entity is mapped Supports navigation between mappings Automatically adjusts to either property or field mapping in Java Represents structure in Java and XML artifacts

JPA Perspective all your JPA Views

Synchronizing Persistence.xml In Java SE environment, persistence.xml must list the Entities Dali offers synchronization

Synchronizing Persistence.xml

Integrated F1 Help In any Dali view you can hit F1 to get context specific help.

Dali 0.5 Release Features Support for majority of annotations including relationships Integration with WTP RDB components JPA Details view supports mapping using database schema with table and column drop downs Design time validation of mappings against object and data model (including unspecified default mappings) Problems markers (e.g., Entity missing @Id) Wizards for basic Entity generation from tables

Dali 1.0 Features Support for XML Mapping File (orm.xml) configuration Uses same views as JPA Annotation editing Integration with Data Tools Platform (DTP) for database meta-data Facet based functionality for better integration with various WTP project types Enhanced validation Extensibility for vendor specific extensions

Demo

JPA Application Development Scenarios Possible Approaches using Dali Meet in the Middle existing object and data models Bottom Up generate mapped object model from data model Top Down generate data model from mapped object model

Meet In the Middle (MITM) The advantage of MITM is that you can focus on getting your object model and data models correct. Table!= Class 1 Table could be N classes (using embedded) N tables could be 1 class (with secondary table) Use Java language features like inheritance not present in relational model Dali s validation makes MITM practical Avoids map, deploy, debug cycle Provides access to database schema to provide valid choices

Bottom Up Generate Entities from Tables Great way to bootstrap a JPA application from an existing database Uses an Entity == Table approach Do it once and then modify the generated Entities Dali mapping validation will help identify issues resulting from modifications to Entities

Top Down Generate DDL from Entities Some support in Dali 0.5 release Removed in 1.0 in favor of using full featured support implemented by JPA runtimes. Extension point in Dali to allow for plugging in runtime DDL generation.

Demo

Dali Adoption Oracle Providing majority of resources for Dali Planning to build extensions to Dali for Oracle TopLink and TopLink Essentials runtimes RedHat/JBoss Incorporating Dali into JBossIDE as part of Hibernate/JPA toolset BEA Considering incorporating Dali into BEA Workshop SAP IBM Shipped Dali in Eclipse based SAP NetWeaver Developer Studio Java EE 5 preview Incorporating Dali into future tooling projects

Status of Dali 1.0 (of WTP 2.0) High-level goals Support for XML mapping (orm.xml) (Mostly complete) First class component of WTP integrated as project facet (Complete) Enhanced design-time validation for XML and Java Annotations mappings as well as the combination as defined by the spec. (Complete) Migrate from WTP RDB to Data Tools Project for database access. (Complete) Define API for adopters/extenders to add runtime specific features (e.g., DDL generation) (Still adding)

Summary JPA the new Java EE standard for object-relational mapping (inside and outside of a container) Dali the WTP project bringing developer productivity to JPA Mapping validation to avoid the map, deploy, debug cycle Intelligent mapping assistance to avoid problems and speed up the process of mapping Integrated with WTP to support development for Java SE and EE

Getting Started Dali JPA Tools open source tools for JPA development EJB 3.0 & JPA Specification http://www.eclipse.org/dali http://www.jcp.org/en/jsr/detail?id=220 TopLink Essentials open source JPA Reference Implementation http://otn.oracle.com/jpa http://glassfish.dev.java.net/ JPA white papers, tutorials and other resources http://otn.oracle.com/jpa Java Developer s Journal September 2006: Hello Dali!