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

Difference between revisions of "EclipseLink/DesignDocs/MultiTenantFeatures"

(New page: '''UNDER CONSTRUCTION''' == Purpose == Outline features available for writes of Multi-tenant applications available in EclipseLink and some enhancements that we could make to improve our...)
 
(Purpose)
Line 1: Line 1:
 +
'''UNDER CONSTRUCTION'''
 +
 
'''UNDER CONSTRUCTION'''
 
'''UNDER CONSTRUCTION'''
  
 
== Purpose ==
 
== Purpose ==
  
Outline features available for writes of Multi-tenant applications available in EclipseLink and some enhancements that we could make to improve our support.
+
EclipseLink provides a number of features that help with the challenges of developing multi tenant applications.  This document will provide an overview of some of the ways EclipseLink can be used to support multi tenant applications.
 +
 
 +
In particular, this document will focus on applications where the application provider provides a core application and the tenant needs to extend the data provided in the application. (like Oracle Applications flex columns)
 +
 
 +
e.g. The application provider provides an Employee class that includes name and address.  The tenant also wants to store the Employee Number.  How can the application be architected to make storing that kind of extra data easy.
 +
 
 +
From a persistence-layer point of view, there are two areas where you must design to allow extra data.
 +
 
 +
# The object model and metadata
 +
# The database
  
This document refers to multitenant applications where the core of the application is predefined and the customer is allowed some additional mappings for data that is not represented in the core model. (e.g. Oracle Applications has a flex column for this type of data)
+
We will outline the options for both areas.
  
There are two components to this type of flexible mapping support.
+
== Object Model and Metadata ==
  
# Designing your object model to allow flexible data
+
== Database ==
# Designing your database to allow flexible data
+
  
 
== Object Model ==
 
== Object Model ==

Revision as of 12:40, 7 December 2010

UNDER CONSTRUCTION

UNDER CONSTRUCTION

Purpose

EclipseLink provides a number of features that help with the challenges of developing multi tenant applications. This document will provide an overview of some of the ways EclipseLink can be used to support multi tenant applications.

In particular, this document will focus on applications where the application provider provides a core application and the tenant needs to extend the data provided in the application. (like Oracle Applications flex columns)

e.g. The application provider provides an Employee class that includes name and address. The tenant also wants to store the Employee Number. How can the application be architected to make storing that kind of extra data easy.

From a persistence-layer point of view, there are two areas where you must design to allow extra data.

  1. The object model and metadata
  2. The database

We will outline the options for both areas.

Object Model and Metadata

Database

Object Model

Back to the top