Difference between revisions of "EclipseLink/Development/Summit/Topics"

From Eclipsepedia

Jump to: navigation, search
(Advanced Caching)
m (JPA 2.0 MetaModel)
 
(42 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
== TUESDAY ==
 
== TUESDAY ==
  
===Architecture Overview===
+
===Welcome===
 +
''Lead: Doug Clarke''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Welcome.ppt
 +
* Introductions
 +
* Logistics
 +
* Goals & Expectations
  
 +
===Overview===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink_Project_Overview.ppt
 +
*JPA - Peter Krogh
 +
** JPA 1.0, 2.0
 +
** Native API
 +
*MOXy - Blaise Doughan
 +
**Key Concepts, benefits, and advanced features
 +
**Shared Models with JPA and MOXy
 +
*SDO - Blaise Doughan
 +
**Key Concepts, benefits, and advanced features
 +
**Using JPA with SDO
 +
*DBWS - Mike Norman
 +
**Key Concepts, benefits, and advanced features
 +
 +
===Architecture===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Architecture-orm.ppt
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Architecture-MOXyAndSDO.ppt
 
* ORM Architetcture
 
* ORM Architetcture
 
** Sessions
 
** Sessions
Line 16: Line 38:
 
** XML Context/Session
 
** XML Context/Session
  
===Mapping & Metamodel ===
+
===Mapping===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/MappingsAndMetadata.ppt
 
Presenters: Guy & Blaise
 
Presenters: Guy & Blaise
  
 +
* Mapping Types
 
* Mapping Options
 
* Mapping Options
 
** JPA: annotations, orm.xml, EL annotations, eclispelink-orm.xml
 
** JPA: annotations, orm.xml, EL annotations, eclispelink-orm.xml
Line 24: Line 48:
 
** Hand coded (API)
 
** Hand coded (API)
 
* XML Processing using MOXy
 
* XML Processing using MOXy
 +
** Schema Validation
 +
** Schema Version & Backwards Compatibility
 
* JPA Metadata Processing
 
* JPA Metadata Processing
  
===The Shared Cache===
+
===Cache===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink_Intro_Cache.ppt
  
 
* Identity Management
 
* Identity Management
Line 37: Line 64:
 
* Configuration Best Practices
 
* Configuration Best Practices
  
===Queries & Object Building===
+
===Queries===
 
+
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Queries and Object Building.ppt
* Structure: Query Types, Calls, Statements
+
* Query Execution Path
+
** JPA Query Processing
+
* Cache Usage
+
** Cache Hits
+
** Conforming
+
* Cloning
+
* Policies
+
** Instantiation
+
** Clone/Copy
+
* Query Caches: Named, Descriptor, JPQL Parse Cache
+
* Lazy Loading
+
** ValueHolders: Query Based, UnitOfWork
+
  
 +
* EclipseLink Query Types
 +
** ReadObject, ReadAll, Report (Items), ModifyAll, DataModify, DataReadQuery, DoesExistQuery
 +
** QueryByExample
 +
* Expressions
 +
** Expression Builder
 +
* JPA translation
 +
** JPQL parser, CriteriaBuilder, ResultSetMappingQuery
 +
* Query Caching
 +
* Object Building
 +
** Cache Usage
 +
** Instantiation Policy and Clone Copy Policy
 +
** Refreshing
 +
** FetchGroups
 +
* Lazy Loading and Queries
 +
* Batch Reading / Join Fetch
  
===Transactions: UnitOfWork===
+
===Transactions===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Transactions.ppt
  
 
* UnitOfWork Basics
 
* UnitOfWork Basics
Line 68: Line 98:
 
== WEDNESDAY ==
 
== WEDNESDAY ==
  
=== Eclipse Tooling ===
+
=== Tooling ===
  
 +
''Lead: Karen Butzke''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Persistence Tooling.ppt
 +
 +
* EclipseLink Workbench
 +
* JDeveloper
 
* Dali
 
* Dali
 
** Generic JPA
 
** Generic JPA
 
** EclipseLink JPA
 
** EclipseLink JPA
 
** Library Configuration
 
** Library Configuration
 +
** New In Helios
 +
*** JPA 2.0 platform
 +
**** Canonical Model Generation
 +
**** Element Collection including Map support
 +
**** Derived Identity
 +
**** Caching
 +
**** Mixed Access Type
 +
**** Nested Embeddables, Relationships in Embeddables
 +
*** JAXB Class/Schema Generation
 +
*** Validation Preferences
 +
** Future Direction
  
* EclipseLink Workbench
+
=== JPA 2.0 MetaModel===
 +
''Lead: Michael O'Brien & Guy Pelletier''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink_JPA2_Metamodel.ppt
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/CanonicalModelGen.ppt
 +
 
 +
* Metamodel ''Michael O'Brien ''
 +
** Mapping between JPA 2.0 classes and native metadata metamodel
 +
** Architecture
 +
** Initialization
 +
** Demo
 +
** Challenges/Issues
 +
** Future
 +
*** Extended Metamodel API
 +
 
 +
* Model Gen ''Guy Pelletier''
 +
** Model gen using compiler hooks
 +
** Challenges/Issues/Limitations
 +
** Future
 +
*** EclipseLink extended mapping
 +
 
 +
=== Weaving ===
 +
''Lead: Tom Ware''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink-Weaving.ppt
 +
 
 +
* Features Woven
 +
** Lazy Loading
 +
** Change Tracking
 +
** State Caching: Identity, Session
 +
* Configuration
 +
** Persistence Unit Properties
 +
** Dynamic Weaving
 +
** Static Weaving
 +
* Challenges/Issues
 +
* Future Direction
  
 
=== Advanced Querying ===
 
=== Advanced Querying ===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/AdvancedQueries.ppt
  
* Expression Framework
+
* Execution
* Optimizations
+
** EclipseLink query execution
** Joining
+
*** Query To SQL translation
** Batching
+
* Cursored Streams
** FetchGroup
+
* Query Redirection
** Projections (ReportQuery)
+
* Custom Calls
* Cache Usage
+
** StoredProcedure calls
** Conforming
+
* InmemoryQuerying / Conforming
** In-memory
+
** Conforming limitations
* Query Redirectors
+
** InMemoryQueryIndirectionPolicy
* Query Life-cycle Events
+
* Query Options
* Stored Procedures
+
** CacheUsage
  
 
=== Advanced Caching ===
 
=== Advanced Caching ===
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Advanced-Cache.ppt
  
* Isolated/Transactional Caching
+
* Isolated Caches
* Stale Cache Management
+
** JPA Cacheable(false)
** Refreshing
+
* Invalidation
** Cache Coordination
+
** JPA Cache.evict()
* Interceptors
+
* Cache concurrency
 +
** ReadLocks
 +
** DeferredLocks
 +
** Active Locks
 +
** WriteLockManager
 +
*Cache Interceptors
 +
** distributed cache integrations
  
 
=== Management, Diagnostics, & Tuning===
 
=== Management, Diagnostics, & Tuning===
 +
''Lead: James Sutherland''
  
=== Documentation ===
+
* Logging
 +
* MBeans
 +
* Profilers
 +
* Performance Tuning Infrastructure
 +
** Guidelines for Developers
 +
* User Best Practices
  
 
=== Customization ===
 
=== Customization ===
  
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Customizing.ppt
 
* Customizers: Session & Descriptor
 
* Customizers: Session & Descriptor
 
* Listeners: Session & Descriptor
 
* Listeners: Session & Descriptor
* Mapping Customizing
+
* User Defined Data Types and Converters
 +
* Custom Platforms
 +
* Mapping Customizing: policies
 
* Query Customizing
 
* Query Customizing
 +
* Future
 +
** [[EclipseLink/Development/ConfigProfiles|Configuration Profile]] - {{bug|293766}}
 +
 +
=== Dynamic Persistence ===
 +
''Lead: Doug Clarke''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Dynamic Persistence.ppt
 +
 +
* Background and Usage Examples
 +
* Solution Design
 +
** Config: Native XML, API, eclipselink-orm.xml
 +
* Challenges/Issues/Limitations
 +
* Future
  
 
== THURSDAY ==
 
== THURSDAY ==
 +
 +
===EclipseRT===
 +
''Presenter: Jeff McAffer, EclipseSource''
 +
 +
===EclipseLink and OSGi===
 +
''Lead: Tom Ware''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink-OSGi.ppt
 +
 +
* Impact of OSGi enabling EclipseLink
 +
** Commiter Do's and Don'ts
 +
* Migrating to Gemini JPA
 +
** Gemini in a Nutshell
 +
** javax.persistence
 +
** backwards compatibility
 +
* Future Direction
 +
** Further bundle refactoring
 +
 +
=== Documentation ===
 +
''Lead: Rick Sapir''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink-Documentation.odp
 +
* Current State
 +
* Requirements Review
 +
* Proposed Future Direction
 +
* Challenges and Issues
 +
* Roles of tech Writers and Developers
 +
 +
===Process===
 +
''Lead: Peter Krogh''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/Process.ppt
 +
* Eclipse Processes
 +
** IP process, log, use of Bugzilla
 +
** Annual Release Train
 +
** Header: License and contribution log
 +
* EclipseLink Development process
 +
** Using Bugzilla
 +
** Project Plans
 +
** Releases, Milestones, and patch-sets
 +
* Future Direction Discussion
 +
** Utilities: Find Bugs, Code formatting, Code Coverage
 +
** Incubator
 +
** GIT?
 +
 +
===Build===
 +
''Lead: Eric Gwin''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/
 +
 +
* Current Build Overview
 +
* Challenges/Issues
 +
* Future
 +
** PDE Build?
 +
 +
===Test===
 +
''Lead: Tom Ware''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/EclipseLink-Testing.ppt
 +
 +
* Current Test Overview
 +
* Challenges/Issues
 +
** JPA
 +
*** Persistence Units
 +
*** Weaving
 +
 +
===Road Map===
 +
''Lead: Doug Clarke''
 +
* http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/incubator/summit-2010/RoadMap.ppt
 +
 +
* Release infrastructure
 +
** Project Plans
 +
** Wiki
 +
** Web Site
 +
* Post 2.1 (Helios Planning)
 +
** Themes
 +
** Releases/Patches before next annual
 +
** Next Annual Release

Latest revision as of 16:01, 8 September 2010

Contents

[edit] EclipseLink Summit Topics

[edit] TUESDAY

[edit] Welcome

Lead: Doug Clarke

[edit] Overview

[edit] Architecture

  • MOXy Architecture
    • XML Context/Session

[edit] Mapping

Presenters: Guy & Blaise

  • Mapping Types
  • Mapping Options
    • JPA: annotations, orm.xml, EL annotations, eclispelink-orm.xml
    • Native: sessions.xml, deployment (project) xml
    • Hand coded (API)
  • XML Processing using MOXy
    • Schema Validation
    • Schema Version & Backwards Compatibility
  • JPA Metadata Processing

[edit] Cache

  • Identity Management
  • Cache Structure:
    • IdentityMaps
    • CacheKey
    • Locking
  • Concurrency & Locking
  • Invalidation
  • Configuration Best Practices

[edit] Queries

  • EclipseLink Query Types
    • ReadObject, ReadAll, Report (Items), ModifyAll, DataModify, DataReadQuery, DoesExistQuery
    • QueryByExample
  • Expressions
    • Expression Builder
  • JPA translation
    • JPQL parser, CriteriaBuilder, ResultSetMappingQuery
  • Query Caching
  • Object Building
    • Cache Usage
    • Instantiation Policy and Clone Copy Policy
    • Refreshing
    • FetchGroups
  • Lazy Loading and Queries
  • Batch Reading / Join Fetch

[edit] Transactions

  • UnitOfWork Basics
    • Change Tracking
    • ChangeSets
    • ChangeTracking
    • Commit/flush process
    • Merge
  • RepeatabaleWriteUnitOfWork
    • FlushMode
  • Session Events

[edit] WEDNESDAY

[edit] Tooling

Lead: Karen Butzke

  • EclipseLink Workbench
  • JDeveloper
  • Dali
    • Generic JPA
    • EclipseLink JPA
    • Library Configuration
    • New In Helios
      • JPA 2.0 platform
        • Canonical Model Generation
        • Element Collection including Map support
        • Derived Identity
        • Caching
        • Mixed Access Type
        • Nested Embeddables, Relationships in Embeddables
      • JAXB Class/Schema Generation
      • Validation Preferences
    • Future Direction

[edit] JPA 2.0 MetaModel

Lead: Michael O'Brien & Guy Pelletier

  • Metamodel Michael O'Brien
    • Mapping between JPA 2.0 classes and native metadata metamodel
    • Architecture
    • Initialization
    • Demo
    • Challenges/Issues
    • Future
      • Extended Metamodel API
  • Model Gen Guy Pelletier
    • Model gen using compiler hooks
    • Challenges/Issues/Limitations
    • Future
      • EclipseLink extended mapping

[edit] Weaving

Lead: Tom Ware

  • Features Woven
    • Lazy Loading
    • Change Tracking
    • State Caching: Identity, Session
  • Configuration
    • Persistence Unit Properties
    • Dynamic Weaving
    • Static Weaving
  • Challenges/Issues
  • Future Direction

[edit] Advanced Querying

  • Execution
    • EclipseLink query execution
      • Query To SQL translation
  • Cursored Streams
  • Query Redirection
  • Custom Calls
    • StoredProcedure calls
  • InmemoryQuerying / Conforming
    • Conforming limitations
    • InMemoryQueryIndirectionPolicy
  • Query Options
    • CacheUsage

[edit] Advanced Caching

  • Isolated Caches
    • JPA Cacheable(false)
  • Invalidation
    • JPA Cache.evict()
  • Cache concurrency
    • ReadLocks
    • DeferredLocks
    • Active Locks
    • WriteLockManager
  • Cache Interceptors
    • distributed cache integrations

[edit] Management, Diagnostics, & Tuning

Lead: James Sutherland

  • Logging
  • MBeans
  • Profilers
  • Performance Tuning Infrastructure
    • Guidelines for Developers
  • User Best Practices

[edit] Customization

[edit] Dynamic Persistence

Lead: Doug Clarke

  • Background and Usage Examples
  • Solution Design
    • Config: Native XML, API, eclipselink-orm.xml
  • Challenges/Issues/Limitations
  • Future

[edit] THURSDAY

[edit] EclipseRT

Presenter: Jeff McAffer, EclipseSource

[edit] EclipseLink and OSGi

Lead: Tom Ware

  • Impact of OSGi enabling EclipseLink
    • Commiter Do's and Don'ts
  • Migrating to Gemini JPA
    • Gemini in a Nutshell
    • javax.persistence
    • backwards compatibility
  • Future Direction
    • Further bundle refactoring

[edit] Documentation

Lead: Rick Sapir

[edit] Process

Lead: Peter Krogh

[edit] Build

Lead: Eric Gwin

  • Current Build Overview
  • Challenges/Issues
  • Future
    • PDE Build?

[edit] Test

Lead: Tom Ware

  • Current Test Overview
  • Challenges/Issues
    • JPA
      • Persistence Units
      • Weaving

[edit] Road Map

Lead: Doug Clarke

  • Release infrastructure
    • Project Plans
    • Wiki
    • Web Site
  • Post 2.1 (Helios Planning)
    • Themes
    • Releases/Patches before next annual
    • Next Annual Release