Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Development/2.4.0/JPA-RS

< EclipseLink‎ | Development‎ | 2.4.0
Revision as of 20:58, 1 March 2012 by Douglas.clarke.oracle.com (Talk | contribs) (EclipseLink JPA-RS)

EclipseLink JPA-RS

The EclipseLink 2.4.0 release is planning to include an easy to use RESTful interface for interacting with JPA persistence units. This page captures the requirements and design efforts. All feedback is welcome using the discussion page or through the bug 362900.

JPA-RS.png

Requirements

RESTFul API

EclipseLink/Development/2.4.0/JPA-RS/REST-API

Persistence Unit Access

In order for JPA-RS to access a persistence unit it must be made available through one of the following mechanisms:

  1. Available on classpath of running JPA-RS instance so standard JPA bootstrapping can find it
  2. Provisioned: This requires a PUT call to the service to inform it of a PU
    1. Pass in all of the configuration
    2. Pass in minimal information with information about where to retrieve additional config from

Using JPA-RS with static PU

The goal is to make enabling of JPA-RS as easy to do as possible.

JAX-RS

In order to function in standard JAX-RS solution there must be annotated classes in the deployed WAR.

Jersey

The JAX-RS reference implementation is Jersey (jersey.java.net). Additional support will be added to leverage Jersey's (add version) planned support for defining JAX-RS applications and resources using their API. The goal here is to allow JPA-RS to be declaratively configured without requiring any additional code to be included in a user's WAR/EAR.

Dynamic JPA-RS

Dynamic JPA-RS refers to the notion of a JPA-RS application deployment where persistence unit definitions are installed/provisioned on the fly.

Security

There will be no security implemented with JPA-RS. Users wishing to secure their JPA-RS access should follow standard RESTful securing practices.

Configurable Content

By default all entity types CRUD operations and named queries will be exposed by JPA-RS. This must be made configurable so developers can specify what capabilities should be exposed.

Additional URIs

In addition to the URI's for all defined named queries and entity types there should be support in JPA-RS to access server side application logic within EJB session beans.

Back to the top