saada: un générateur automatique de bases de données astronomiques

41
1 Saada: Un Générateur Automatique de Bases de Données Astronomiques Ngoc Hoan NGUYEN Ngoc Hoan NGUYEN Laurent MICHEL Laurent MICHEL Christian MOTCH Christian MOTCH Observatoire Astronomique de Strasbourg

Upload: tynice

Post on 18-Mar-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Ngoc Hoan NGUYEN Laurent MICHEL Christian MOTCH. Saada: Un Générateur Automatique de Bases de Données Astronomiques. Observatoire Astronomique de Strasbourg. Plan de la présentation. Introduction Conception et Développement Conclusions Questions. Introduction (1). Contexte - PowerPoint PPT Presentation

TRANSCRIPT

11

Saada: Un Générateur Automatique de Bases de Données Astronomiques

Ngoc Hoan NGUYENNgoc Hoan NGUYENLaurent MICHELLaurent MICHELChristian MOTCHChristian MOTCH

Observatoire Astronomique de Strasbourg

22

Plan de la présentationPlan de la présentation IntroductionIntroduction

Conception et DéveloppementConception et Développement

ConclusionsConclusions

QuestionsQuestions

33

Introduction (1)Introduction (1) Contexte Contexte

• Données personnellesDonnées personnelles Observation (espace, sol), SimulationObservation (espace, sol), Simulation Fichier FITS (entêtes et tableaux), non organisé, non Fichier FITS (entêtes et tableaux), non organisé, non

recherchable par le contenurecherchable par le contenu Données hétérogènesDonnées hétérogènes

• Formats variésFormats variés Formats des fichiers (FITS, VOTable/XML)Formats des fichiers (FITS, VOTable/XML) Structures des fichiers (colonnes)Structures des fichiers (colonnes)

• Catégories variées (images, spectres, tables/sources ..)Catégories variées (images, spectres, tables/sources ..)• Gestion et Partage des données personnelles avec la Gestion et Partage des données personnelles avec la

communauté communauté Internet, réseaux locaux ou Observatoire Virtuel (OV)Internet, réseaux locaux ou Observatoire Virtuel (OV)

• Edition et Traitement rapide des requêtes complexesEdition et Traitement rapide des requêtes complexes “ “ Trouver des images contenant des sources soit IR soit Trouver des images contenant des sources soit IR soit

radio et dotées d'une vitesse radiale > 100 km/sec ”radio et dotées d'une vitesse radiale > 100 km/sec ”

Il n’existe pas d’outil générique permettant de créer facilement une base et d’extraire facilement les contenus scientifiques

44

Introduction (2)Introduction (2) Notre Solution SaadaNotre Solution Saada

Saada est un outil de transformation rapide des fichiers non recherchables en données recherchables et interconnectées

Saada n’est pas une base de données. C’est un paquetage Java pour Saada n’est pas une base de données. C’est un paquetage Java pour la génération des bases de données hétérogènesla génération des bases de données hétérogènes

Définition d’une Saada-DBDéfinition d’une Saada-DB• Générée par SaadaGénérée par Saada• Une base locale, opérationnelleUne base locale, opérationnelle• Un système auto-configurableUn système auto-configurable

apdatation du modèle de donnéesapdatation du modèle de données description des données à archiverdescription des données à archiver archivage automatique sans codagearchivage automatique sans codage

• Un système Objet-RelationelUn système Objet-Relationel Java/J2ee, TomcatJava/J2ee, Tomcat Postgresql ou SybasePostgresql ou Sybase

55

Introduction (3)Introduction (3) Applications du Saada

• Gestion des données personnelles

• Recherche d’objets rares “outliers” Création d'une base avec des données d'origines diverses

concernant la région étudiée Etablissement de liens qualifiés (ex. Distance, pixel ou

probabilité, ..) de corrélations entre ces données Utilisation des motifs de corrélations pour effectuer des

recherches d'objets très spécifiques

• Intégration dans une chaîne d’archivage ou des boucles de simulation

66

Conception et Conception et Développement de SaadaDéveloppement de Saada

77

Cycle de vie d’un produit Cycle de vie d’un produit

Une Image FITS

Web, WS,

API, OV

par Moteur de requêtes; et Couche d’Objet dans une collection

Couche commun (image)

Couche produit Attributs communs (ex. position)Attributs originaux (classe de produits)

Classe Javarepository

SGDBR

entrée sortie

Saada-DB

Couche d’Objet(Modèle de données,

Mapping OR, ..)

par les règles d’ Auto-configuration

Le Générateur Saada est conçu par trois idées:

Modèle de données flexible, Auto-Configuration, Moteur de requêtes Générique

88

Modèle de données (1)Modèle de données (1) Organisation des donnéesOrganisation des données

Image

Spectrum

Table

Entry

Collection Radio

Couche des attributs communs (ex. position)Requête sur toute la base

Couche des attributs de produits (classe)Requête sur les attributs originaux d'une classe

Base DEMO_DB

Radio Theorie

Classe de produits

FITS

Classe de produits

Classe de produits

Classe de produits

Unité principale,nommée par l’opérateur

On peut ranger les produits par catégories en fonction de thèmes sémantiques (Collections)

99

Modèle de données (2)Modèle de données (2) Relation Permanente Relation Permanente

• Stockage des liens corrélés et des qualificateurs ( distance, Stockage des liens corrélés et des qualificateurs ( distance, probabilité...)probabilité...)

• Définie par l'opérateur Définie par l'opérateur

Les structures de collections, de classes et de relations permanentes sont générées par l'Auto-configuration

Source

SourcePosition Identification

Probability

Pixel values

1010

Auto-Configuration (1)Auto-Configuration (1) Configuration des produits Configuration des produits

• Règles d’identification des produitsRègles d’identification des produits Par répertoirePar répertoire Par nom (expressions régulières) Par nom (expressions régulières) Par mots clés existant dans les produitsPar mots clés existant dans les produits

• Modes de “Modes de “mapping”mapping” des classes de des classes de produitsproduits

• Sélection des attributs particuliersSélection des attributs particuliers Mots clés recopiés dans la collectionMots clés recopiés dans la collection Mots clés ignorésMots clés ignorés

Archiver des données en analysant les règles de Archiver des données en analysant les règles de configuration et les contenus des fichiers de donnéesconfiguration et les contenus des fichiers de données

1111

Auto-Configuration (2) Auto-Configuration (2) Configuration des produits (image)Configuration des produits (image)

Identification des produits

Identification/Adaptation ou Création de la classe fusionnée

Chargement des produits dans la classe fusionnée, Copie des attributs communs

<product> <image2D name="EPIC_EXPOSURE_MAP">

<identification> <content>  <attribute>TELESCOP</attribute>   <value> EPIC </value>   </content> </identification>  <class_mapping>EXPOSURE_MAP</class_mapping> <coord_system>  <system>FK5</system>   <equinox>2000</equinox>   </coord_system>  <collection>EPIC</collection> <mapping>  <instance_name>OBJECT</instance_name>   <ignored_att>COMMENT,HISTORY</ignored_att> <attributs extend….>   </mapping></image2D></product>

1212

Auto-Configuration (3)Auto-Configuration (3) Trois modes de classificationTrois modes de classification

• Mode “mapping” FusionMode “mapping” Fusion Une seule classe pour tous les produits Une seule classe pour tous les produits

correspondant à une même configurationcorrespondant à une même configuration Intérêt: Requêtes sur tous les produits en Intérêt: Requêtes sur tous les produits en

utilisant tous les mots clés utilisant tous les mots clés • Mode Mapping-1-1Mode Mapping-1-1

Une classe différente pour chaque Une classe différente pour chaque produitproduit

Chargement d’un petit nombre de Chargement d’un petit nombre de grosses tables très différentes entre ellesgrosses tables très différentes entre elles

• Mode Auto-ClassificationMode Auto-Classification Classification automatique des structures Classification automatique des structures

de produitde produit Les produits de mêmes structures sont Les produits de mêmes structures sont

automatiquement mis dans une même automatiquement mis dans une même classeclasse

IntérêtIntérêt : :On a pas besoin de connaître à On a pas besoin de connaître à priori la structure des produits priori la structure des produits

Configuration

Classe _Fusion

Fichier 1

Fichier …

Fichier N

Configuration

Classs_Fichier_1

Fichier 1

Class_Fichier_2

Fichier 2Configuration

Class_1

Fichier 1

Class_2Fichier 21

Fichier 2

Fichier 22

Fichier N

Class NFichier N1

1313

Moteur de requête (1) Moteur de requête (1) ObjectifObjectif

• Requête sur des données hétérogènes retournant Requête sur des données hétérogènes retournant des résultats hétérogènesdes résultats hétérogènes

• Langage de requêtes de haut niveau: SaadaQLLangage de requêtes de haut niveau: SaadaQL Adaptation au modèle de donnéesAdaptation au modèle de données Requête par des Requête par des motifs de corrélationsmotifs de corrélations (pré-définis) (pré-définis)

• Génération automatique des requêtes SQL sur Génération automatique des requêtes SQL sur n’importe quelle Saada-DBn’importe quelle Saada-DB

Traitement rapide des requêtes sans connaître à Traitement rapide des requêtes sans connaître à priori les produits d’une Saada-DBpriori les produits d’une Saada-DB

1414

Moteur de requête (2)Moteur de requête (2) Structure de requête SaadaQLStructure de requête SaadaQL

Select [DataType] From [Class]In [Collection]

WherePosition {IsInBox(), IsInCircle(),…}WhereAttributeSaada{»expression »}WhereAttributeClass {«expression »  }

WhereRelation { matchPattern{“nom relation_permanente”,

Cardinality(“operator”,v1,v2), Qualifier(“qualificateur”,“operator”,v1,v2) AssObjClass(“class1”,”class2”,….”classn”), AssObjAttClass(“ expression ”), AssObjAttSaada(“ expression ”), }matchPattern{…}

… }

Modèle de données

Motifs de corrélations: contraintes sur la correlation et sur les objets associés par la relation

Requête sur toute la base par les attributs communs et par la position

IMAGE2D

SPECTRUM

ENTRY

TABLE

Le résultat d'une requête est une liste des OIDs (Object Identifier)

1515

ExampleExample Génération d’une base DEMODBGénération d’une base DEMODB

Partage rapide des données personnelles avec la communauté

1616

ConclusionsConclusions Système Opérationnel répondant aux Système Opérationnel répondant aux

besoins réelsbesoins réels• Création rapide d’une base de données Création rapide d’une base de données

hétérogèneshétérogènes• Organisation libre les données Organisation libre les données • Mise en valeur du contenu scientifiqueMise en valeur du contenu scientifique• Reconnaissance des motifs de corrélationReconnaissance des motifs de corrélation• Exploitation des données XMM-NEWTON Exploitation des données XMM-NEWTON • Evaluation par VOTech/ESOEvaluation par VOTech/ESO

Ouverture et FlexibilitéOuverture et Flexibilité Version 1.3 Version 1.3

http://amwdb.u-strasbg.fr/saadahttp://amwdb.u-strasbg.fr/saada

1717

Merci de votre attentionMerci de votre attention

Soutiens:Le CNESLa Région AlsaceObservatoire Astronomique de Strasbourg

1818

Perspective (1)Perspective (1) Motif de corrélation imbriquéMotif de corrélation imbriquéRequête :Requête : Sélectionner les entrées d’ARCHIVE corrélées avec une Sélectionner les entrées d’ARCHIVE corrélées avec une

source IR située à moins de 2’’ et elle-même détectée ailleurs que source IR située à moins de 2’’ et elle-même détectée ailleurs que sur le pixel (23, 456) du CCD et associée à au moins un spectre.sur le pixel (23, 456) du CCD et associée à au moins un spectre.

SaadaQL Imbriqué:SaadaQL Imbriqué:

Select ENTRY From * In ARCHIVE WhereRelation { matchPattern{“ABCH_IR”, Qualifier(“distance”, « < », 2, 0), CorrelationSecondary{ matchPattern{“IR_CAMERA”, Qualifier(“pixel_x”, « != », 23, 0), Qualifier(“pixel_y”, « != », 456, 0) } matchPattern{“IR_SPECTRUM”} } } }

1919

Perspective (2)Perspective (2) Requête par UCDs (~ Ontology)Requête par UCDs (~ Ontology)

• Sans connaître à priori les noms d'attributs et Sans connaître à priori les noms d'attributs et des classesdes classes

• Données hétérogènesDonnées hétérogènes

2020

Classe FusionnéeClasse Fusionnée

Long Int Float Double String Char BooleanLong Long Long Float Double String Non LongInt Long Int Float Double String Non Int

Float Float Float Float Double String Non NonDouble Double Double Double Double String Non NonString String String String String String String StringChar Non Non Non Non Non Char Char

Boolean Long Int Non Non String Char Boolean

2121

Moteur de requête (4)Moteur de requête (4) Traitement des requêtes SaadaQLTraitement des requêtes SaadaQL

Requête SaadaQL

Analyse et Décompose

- Exécution des sous requêtes- Fusion des OIDs ( résultat)

SQL niveau collection

SQL niveau classe

index du motifs de corrélation+

SQL

Le résultat d'une requête est une liste des OIDs (Object Identifier)

2222

Moteur de requête (5)Moteur de requête (5) Méthode d’indexation des motifs de corrélationsMéthode d’indexation des motifs de corrélations

• Objectif: Eviter les requêtes sur plusieurs tables(jointures)Objectif: Eviter les requêtes sur plusieurs tables(jointures)• Principe: Utilisation d'index pré-calculésPrincipe: Utilisation d'index pré-calculés

Ces index sont calculés automatiquementCes index sont calculés automatiquement Mis dans des fichiers, chargés en mémoire par Cache IndexMis dans des fichiers, chargés en mémoire par Cache Index Exemple de l’index de cardinalitéExemple de l’index de cardinalité

OIDM,OIDNOIDM,OIDN77OIDK, OIDJ,OIDLOIDK, OIDJ,OIDL22OID1,OID3,OID6OID1,OID3,OID611OID PrimaireOID Primaire CardinalitéCardinalité

MatchPattern{ “nom relation”, Cardinality(..), Qualifier(“qualificateur”,..), AssObjClass(“class1”,….”classn”)}

Index de cardinalité Index des qualificateurs Index de classe contrepartie

2323

Moteur de requête (6)Moteur de requête (6) Evaluation SaadaQL / jointures SQLEvaluation SaadaQL / jointures SQL

•Requête par cardinalitéRequête par cardinalité

•Requête par classe de contrepartiesRequête par classe de contreparties

La comparaison entre Jointure SQL et Index de cardinalité

0

1000

2000

3000

0 500000 1000000 1500000

nombre de corrélation

ms

SQL Jointure

Index memoire

SaadaQL: Select ENTRY From * In EPIC WhereRelation { matchPattern {“CORR_EPIC_ARCHIVE”, Cardinality (“=”,V1, 0) }}

SQL:Select distinct OIDsaada From EPIC_EntrySaada as E Where (select count(*) from EPIC_ARCHI_15 as EA where E.oidsaada=EA.oidprimary)) =V1

SaadaQL:Select ENTRY From * In EPIC WhereRelation { matchPattern {“EPIC_ARCHIVE”, AssObjAttSaada (“pos_dec_csa>10”) }}

SQL : jointure par deux tables Select distinct EA.OIDprimary From EPIC_ARCHIVE as EA, ARCHIVE_EntrySaada as A Where (EA.oidsecondary=A.oidSaada and A.pos_dec_csa>10 )

La comparaison entre SQL et Index de classe associé

0

10000

20000

30000

40000

0 500000 1000000 1500000

nombre de corrélation

ms

SQL

Index en mémoire sanscaché

Index en mémoire aveccaché

2424

Solution Saada (9)Solution Saada (9) Comment générer une Saada-DB?Comment générer une Saada-DB?

• Création d’une Saada-DB vide par SaadaCréation d’une Saada-DB vide par Saada• Configuration des produits à chargerConfiguration des produits à charger• Chargement des données selon les Chargement des données selon les

configurations définies à l’étape précédente.configurations définies à l’étape précédente.• Génération et déploiement de l’interface et du Génération et déploiement de l’interface et du

serveur Web serveur Web A ce niveau, on a une base de données A ce niveau, on a une base de données

exploitable dont on peut enrichir le contenu exploitable dont on peut enrichir le contenu scientifiquescientifique

• Définition des corrélations permanentes (opt.)Définition des corrélations permanentes (opt.)• Publication des données dans l’OV (opt.)Publication des données dans l’OV (opt.)

2525

IntroductionIntroduction Définition d’une Saada-DBDéfinition d’une Saada-DB

• Base de donnée générée par SaadaBase de donnée générée par Saada

• Une base locale, opérationnelle, et Une base locale, opérationnelle, et indépendante de l’outil Saadaindépendante de l’outil Saada

• Un système auto-configurableUn système auto-configurable apdatation du modèle de donnéesapdatation du modèle de données description des données à archiverdescription des données à archiver archivage automatique sans codagearchivage automatique sans codage

L'Opérateur : personne qui crée la base Saada-DBL'Utilisateur: personne qui exploite la base Saada-DB

2626

Solution Saada (5)Solution Saada (5) Quel contenu peut être archivé?Quel contenu peut être archivé?

•Base relationnelle : stockage Base relationnelle : stockage des entêtes des entêtes et des tableset des tables des fichiers (FITS) des fichiers (FITS)

requêtes, calculsrequêtes, calculs

•RepositoryRepository accessible : stockage des accessible : stockage des fichiers originauxfichiers originaux

sauvegarde, téléchargementsauvegarde, téléchargement

2727

Solution Saada (7)Solution Saada (7) Application (2)Application (2)

• Intégration d’une base de données dans Intégration d’une base de données dans une boucle de simulations ou dans un une boucle de simulations ou dans un pipelinepipeline

Paramètres d’entrée

Recepteur des données de Saada-DB

Noyau de Simulation

Validation?

Saada-DB ouSaada-DB/GRID

Résultats

OUI

Boucle

Non

API Saada

SaadaQL

FITSboucle

Données de référence

Par l'Auto-ConfigurationArchivage desdonnées simulées

2828

Auto-Configuration (1) Auto-Configuration (1) Objectif Objectif

• Paramétrage du modèle de donnéesParamétrage du modèle de données• Configuration des produits à chargerConfiguration des produits à charger

Identification automatique des produits à charger Identification automatique des produits à charger selon des règles définiesselon des règles définies

• Reconnaissance automatique des nouvelles Reconnaissance automatique des nouvelles structures de produits structures de produits

Mise à jour des données Mise à jour des données Ajout de nouveaux produits à une classe de Ajout de nouveaux produits à une classe de

produits existanteproduits existante Adaptation automatique des classes existantes aux Adaptation automatique des classes existantes aux

nouveaux produitsnouveaux produits

Archivage automatique de données sans codage

2929

Moteur de requêtes SaadaQL(3)Moteur de requêtes SaadaQL(3)

SaadaQLSaadaQL•Facilité d’implémentation des modulesFacilité d’implémentation des modules

Interface personnalisée Interface personnalisée

3030

Modèle de données (1)Modèle de données (1) Comment Organiser les données?Comment Organiser les données?

Saada-DB est comme un meuble contenant des tiroirs séparés dans lesquels on peut ranger les produits par catégories en fonction de thèmes sémantiques

Spectre Plot Image Table/source

Généré dynamiquement

FITS

FITS

FITS

FITS

Un tiroir (Une collection de données hétérogènes)

3131

Modèle de données Modèle de données Objet /RelationelleObjet /Relationelle

Table NameColl_SpectraTable NameColl_Image2DTable NameColl_EntryTable NameColl_Table

Mapping to

SUPER CLASS SAADA

OIDSaada int8NameSaada Char(32)Name_product Char(32)….

Class NameColl_Table

OIDSaada int8NameSaada Char(32)Pos_ra_csa (double)Pos_dec_csa (double)OID_Table int8

OIDSaada int8NameSaada Char(32)Name_product (char 32)Pos_ra_csa (double)Pos_dec_csa (double)Alpha …

OIDSaada int8NameSaada Char(32)Name_product Char(32)…

Class NameColl_Entry Class NameColl_Image2D Class NameColl_Spectra

3232

Démonstration (1)Démonstration (1) Génération d’une base DEMODBGénération d’une base DEMODB

• Une collection (données du satellite Une collection (données du satellite Chandra)Chandra)

X

Images: Chandra CatalogueSources: Chandra Catalogue

Spectra Images Sources

collection Chandra_Data

DE

MO

DB

3333

DémonstrationDémonstration Base DEMODB complexeBase DEMODB complexe

•Deux collections avec relations Deux collections avec relations permanantespermanantesX

Spectra: XMM-Newton SSC Galactic Plane SurveyCourtesy of P. Guillout et Al.

Images: XMM-Newton CatalogueSources: XMM-Newton Catalogue

Gal

actP

lane

Surv

ey

Spectra Images SourceSpectra Images Source

XM

M_D

AT

A

TH

ESE

_DB

2

Relationship ImgToSpectra

Relationship ImgToSrc

3434

Modèle de données Objets Modèle de données Objets (UML)(UML)

3535

Attributs communsAttributs communsAttributscommuns

Rôle IMAGE2D SPECTRUM TABLE ENTRY

oidsaada Identificateur uniquede l’objet X X X X

namesaada Nom d’instance X X X X

date_load Date de chargementen seconds X X X X

pos_ra_csa

Ascension droite endegré (coordonnéessystème définies à lacréation de la Saada-DB)

X X X

pos_dec_csa Déclinaison endegrés X X X

error_ra_csaErreur surl’ascension (endegrés)

X

error_dec_csa Erreur de déclinaison(en degré) X

oid_tableIdentificateur uniquede la table possédantl’objet

X

Nb_rows_csa Nombre de lignes Xname_class_entry_csa

Nom de la classeSaada des entrées X

Sky_pixel_csa Index HTM X X X

Pos_x/y/z_csa Coordonnéescartésiennes X X X

product_url_csa Nom du fichierinitial X X X

MD5 (Message Digest version 5) est une fonction de hachage cryptographique qui permet d'obtenir pour chaque message une empreinte numérique

3636

Intégration dans l’OV Intégration dans l’OV Interopérabilité avec Aladin, SpecviewInteropérabilité avec Aladin, Specview

•Corrélation permanente et VOTableCorrélation permanente et VOTable

(1) Link to the selected image(1) Link to the selected image

(2) Link to the correlated sourceswith an anchor on Saada for each of them

(2) Link to the correlated sourceswith an anchor on Saada for each of them

(4) Link to a Specview view of the correlated spectra(4) Link to a Specview view of the correlated spectra

(3) Link to a Saada view of the correlated spectra(3) Link to a Saada view of the correlated spectra

Focus Demos à ADASS XV

3737

Auto-Configuration (4)Auto-Configuration (4) Mode de Mapping des classes Mode de Mapping des classes

Mapping Classification:Classe contenant plusieurs produits ayant la même structure

Mapping 1_1Classe contenant un seul produit

La collection Epic et ses catégories de produits  (Image2D, Entry, Table, Spectre)

3838

Moteur de requête SaadaQL(5)Moteur de requête SaadaQL(5) Méthode d’index des motifs de corrélationsMéthode d’index des motifs de corrélations

• Objectif: éviter des jointures SQL lourdesObjectif: éviter des jointures SQL lourdes

Forme générale d’une requête JOINTURE SQL: Select * From A , B, A_B Where A.ID=A_B.IDa and A_B.IDb=B.IDb and (…)

3939

DémonstrationDémonstration Con,figurationCon,figuration <product> <image2D name="EPIC_EXPOSURE_MAP"> // nom d’une configuration

<identification> <content>  <attribute>CONTENT</attribute>   <value> EPIC EXPOSURE MAP</value>   </content> </identification>  <class_mapping>EXPOSURE_MAP</class_mapping> <coord_system>  <system>FK5</system>   <equinox>2000</equinox>   </coord_system>  <collection>EPIC</collection> <mapping>  <instance_name>OBJECT</instance_name>   <ignored_att>COMMENT,HISTORY</ignored_att> <attributs extend….>   </mapping></image2D></product>

4040

Approche Saada (1)Approche Saada (1) Comment construire Saada?Comment construire Saada?

Modèle de

donnéesflexible

Auto-Configurati

on

Moteur de requête

générique

Modèle Objet-

Relationnel

Solution

SAADA,

UnGénérateur

de bases

de donné

es,

Système

GénériqueEt

Flexible

Interface OV

4141

Solution Saada (3)Solution Saada (3) Architecture d’une Saada-DBArchitecture d’une Saada-DB

•Système objet-relationnelSystème objet-relationnel Couche objet pour une présentation Couche objet pour une présentation

scientifiquement pertinente des donnéesscientifiquement pertinente des données Couche relationnelle pour la persistanceCouche relationnelle pour la persistance

Postgresql/Sysbase

SQLSQL

Cache ObjetCouche d’Objet pour l’accès aux données Relationnelles

Moteur Requête SaadaQL

Service Persistence, JDBC

Auto ConfigurationChargementMise à Jour

Web, WS/OV, Module Clients