Difference between revisions of "GOCDB/Doctrine"

From EGIWiki
Jump to: navigation, search
(Replaced content with "Moved to GOCDB/Release4/Development/v5")
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<< Back to [[GOCDB/Release4/Development]] <br />
+
Moved to [[GOCDB/Release4/Development/v5]]
 
 
= Introduction =
 
By replacing the PROM model with the [http://www.doctrine-project.org Doctrine ORM] GOCDB will support RDBMSs other than Oracle.
 
 
 
= Benefits =
 
* Write code once, deploy to Oracle, MySQL, Postgres, SQLite.
 
* Much simpler than the [[GOCDB/PROM]] model (see below)
 
 
 
[[File:Get_Site_PROM.png|200px|thumb|left|PROM SQL]]
 
[[File:Get_Site_Doctrine.png|200px|thumb|left|Doctrine SQL]]
 
 
 
= Changes =
 
The move to Doctrine will introduce changes to the GOCDB portal URLs and to the PRIMARY KEY, ID and GOCDB_PORTAL_URL fields of the GOCDB PI.
 
 
 
== Portal URLs ==
 
In PROM, each "entity" (site, service endpoint, downtime) was assigned an ID from a global pool. There is only one object 123, the GRIDOPS-GOCDB site. The following URL is used to access an entity regardless of type:
 
 
 
 
 
https://goc.egi.eu/portal/index.php?Page_Type=View_Object&object_id=123&grid_id=0
 
 
 
In Doctrine, each entity receives an ID unique only to that entity type. There is a site with ID 123, a service endpoint with ID 123 and a downtime with ID 123. The new URL will reflect the entity type:
 
 
 
https://goc.egi.eu/portal/index.php?Page_Type=Site&id=123
 
 
 
https://goc.egi.eu/portal/index.php?Page_Type=Service_Endpoint&id=123
 
 
 
https://goc.egi.eu/portal/index.php?Page_Type=Downtime&id=123
 
 
 
(...and so on for each GOCDB entity type)
 
 
 
[[File:GOCDB_URLs.png|200px]]
 

Latest revision as of 15:51, 5 August 2013