Difference between revisions of "GOCDB/Doctrine"

From EGIWiki
Jump to: navigation, search
(Portal URLs)
(Portal URLs)
Line 20: Line 20:
 
https://goc.egi.eu/portal/index.php?Page_Type=View_Object&object_id=123&grid_id=0
 
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.
+
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:
 +
 
 +
<br />
 +
https://goc.egi.eu/portal/index.php?Page_Type=Site&id=123
 +
<br />
 +
https://goc.egi.eu/portal/index.php?Page_Type=Service_Endpoint&id=123
 +
<br />
 +
https://goc.egi.eu/portal/index.php?Page_Type=Downtime&id=123
 +
<br />
 +
(...and so on for each GOCDB entity type)

Revision as of 12:50, 17 December 2012

<< Back to GOCDB/Release4/Development

Introduction

By replacing the PROM model with the 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)


PROM SQL
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)