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/Development/DBWS/RestfulComponent/UseCases"

Line 1: Line 1:
 
__NOTOC__== DBRS Use Cases ==
 
__NOTOC__== DBRS Use Cases ==
The DBRS utility starts by reading some initial configuration information:
 
<source lang="text" enclose="div">
 
prompt > DBRSBuilder [-builderFile {path to dbrsbuilder.properties}] -stageDir {path to stageDir}
 
        (if command-line arg -builderFile not present, default to look in current working directory)
 
prompt > DBRSBuilder running, connected to port 8884 ... Press <Return> to finish
 
 
dbrsbuilder.properties:
 
 
# builder properties
 
builder.port=8884
 
#builder.mode=production
 
builder.mode=test
 
builder.test.port=8885
 
 
# project properties
 
project.name=projectname
 
project.entities=employee, other entities ...
 
 
# database properties
 
db.driver=com.mysql.jdbc.Driver
 
db.url=jdbc:mysql://localhost:3306/db
 
db.user=user
 
db.pwd=password
 
db.platform=org.eclipse.persistence.platform.database.MySQLPlatform
 
logging.level=info
 
</source>
 
If the table name does not match the entity name, the user may specify an alias:
 
<source lang="text" enclose="div">
 
# project properties
 
alias.employee.tablename=EMP
 
</source>
 
The DBRS utility will login in to the database using the given database credentials and 'scrape' the meta-data for the <tt>employee</tt> table: column names and datatypes, PKs, foreign-key relationships, etc. If the built-in pluralization does not generate acceptible URIs, the user can add an alias for that as well - e.g. if the entity is <i>person</i>, the plural should be <i>people</i>, not <i>persons</i>:
 
<source lang="text" enclose="div">
 
# project properties
 
alias.person.plural=people
 
</source>
 
 
 
There are three scenarios to consider:
 
There are three scenarios to consider:
 
# (<b>Existing Entities</b>) the database contains the specified entities: the typical scenario where the Project's entities are exposed via a RESTful CRUD application.
 
# (<b>Existing Entities</b>) the database contains the specified entities: the typical scenario where the Project's entities are exposed via a RESTful CRUD application.
 
# (<b>Greenfield Entities</b>) the database does <b>not</b> contain the specified entities: the so-called <i>greenfield</i> scenario where the Project's entities do not yet exist on the database.
 
# (<b>Greenfield Entities</b>) the database does <b>not</b> contain the specified entities: the so-called <i>greenfield</i> scenario where the Project's entities do not yet exist on the database.
# (<b>Provided Meta-data</b>) meta-data describing the specified entities is provided through an alternative mechanism: the scenario where the Project's entities are described via a JPA <tt>.orm</tt> file.
+
# (<b>Meta-data Entities</b>) meta-data describing the specified entities is provided through an alternative mechanism: the scenario where the Project's entities are described via a JPA <tt>.orm</tt> file.
  
 
=== Existing Entities ===
 
=== Existing Entities ===
Line 48: Line 11:
 
TBD
 
TBD
  
=== Provided Meta-data ===
+
=== Meta-data Entities ===
 
TBD
 
TBD

Revision as of 14:24, 18 October 2011

DBRS Use Cases

There are three scenarios to consider:

  1. (Existing Entities) the database contains the specified entities: the typical scenario where the Project's entities are exposed via a RESTful CRUD application.
  2. (Greenfield Entities) the database does not contain the specified entities: the so-called greenfield scenario where the Project's entities do not yet exist on the database.
  3. (Meta-data Entities) meta-data describing the specified entities is provided through an alternative mechanism: the scenario where the Project's entities are described via a JPA .orm file.

Existing Entities

TBD

Greenfield Entities

TBD

Meta-data Entities

TBD

Back to the top