architettura

La struttura di Jdbf può essere logicamente composta da due grandi sistemi. Questi sistemi sono:
  • MMS (Mapping Management System)
  • SMS (Sql Management System)
Mapping Management System
Mapping Management System è il sistema che si occupa di gestire il mapping tra gli oggetti Java e il database relazionale. Questo mapping è rappresentato dal file repository file dove attraverso XML viene specificata la tabella mappata all'oggetto Java e le colonne di essa che vengono mappate con le proprietà dell'oggetto stesso. Un esempio del repository è mostrato sotto
	    <repositoryView name="product" table-name="Product" object-name="Product" database-name="jdbf">
	      <item property-name="OID" primary-key="yes" data-type="int" column-name="id" />
	      <item property-name="name" primary-key="no" data-type="string" column-name="name" />
	      <item property-name="price" primary-key="no" data-type="int" column-name="price" />          
	      <item property-name="groupId" primary-key="no" data-type="int" column-name="group_id" />          
	      ....
	    </repositoryView>
	  
E' molto semplice mappare una particolare tabella con un oggetto Java. Importante è notare come avviente il mapping tra colonna e proprietà di un oggetto Java. Questo avviene con l'utilizzo del tag <item/> dove viene specificato il nome della proprietà, il nome della colonna corrispondente e altre informazioni. A partire da questo file Jdbf creerà in modo automatico e del tutto trasparente le nostre query, utilizzando l'altro importante sistema: SMS.
Sql Management System
Sql Management System è un sistema più modulare. Infatti è composto logicamente da altri moduli che hanno il compito di gestire le operazioni che intercorrono tra la creazione dello statement e la sua esecuzione.
Questi moduli sono:
  • Data Caching System (DCS) modulo che gestisce la cache degli oggetti
  • Transaction System (TS) modulo che gestisce le transazioni
  • Key Generation System (KGS) modulo che gestisce la generation di chiavi univoche per l'oggetto
  • Query Builder System (QBS) modulo che gestisce la creazione degli statement sql
  • Database Connection System (DCoS) che modulo che gestisce la creazione e l'utilizzo delle connessioni