Section 2
Intention et méthode
Nous allons tout d'abord tenter de relever les caractéristiques fondamentales de plusieurs standards
liés au stockage d'objets Java, puis de relever les principales caractéristiques qu'offrent (ou veulent
offrir) les différents environnements capables de stockage d'objets Java que nous avons relevé sur
le réseau. Un tel travail reprend en partie la définition d'une matrice des caractéristiques
des modèles objets telle que celle du groupe X3H7 (loc. cit.). Nous allons ensuite essayer d'évaluer
la pertinence de ces différentes caractéristiques pour les développeurs d'outils Java. Il
va de soi qu'un tel travail est hautement aléatoire. Les caractéristiques que nous allons relever
sont les suivantes:
Catégories
Connection à des données relationnelles
L'outil permet-il de manipuler des données relationnelles?
Compatibilité avec les RDBMS
Si oui, lesquelles?
Modèle de données orienté-objet
L'outil permet-il de manipuler des données sous forme d'objets (en tenant compte du polymorphisme, de
la hiérarchie, etc.)
Manipulation d'objets Java
L'outil permet-il de manipuler directement des objets Java?
Manipulation d'objets hétérogènes
L'outil permet-il de manipuler plus ou moins directement des objets venant d'autres langages?
Accès aux objets par plus d'un identificateur
L'outil permet-il d'accéder à un objet à partir de tout champ de l'objet, ou seulement
à partir d'un identificateur privilégié?
Communication entre des objets distribués
L'outil permet-il à des objets appartenant à plusieurs processus de communiquer entre eux via
la base de données?
Utilisation d'un langage de requêtes
Une requête de sélection des objets se fait-elle à l'aide de fonctions spécialisées
ou à l'aide d'une syntaxe de requêtes?
Modèle combiné
Dans certains (rares) cas, le modèle adapte des données objets à des données relationnelles
ou l'inverse. C'est une des voies que nous avions envisagé en discussion, et c'est une voie poussée
par JavaSoft et par O2 Technologies.
Utilisation d'un modèle relationnel pré-établi
Une telle technologie hybride permet-elle l'utilisation de données relation nelles héritées
(legacy data)?
Utilisation de plusieurs modèles relationnels
Une telle technologie hybride permet-elle de combiner plusieurs schémas relationnels dans une abstraction
orientée-objet?
Contexte d'utilisation
Utilisation multi-usager
Plusieurs utilisateurs peuvent-ils simultanément se connecter à la base de données?
Gestion des transactions
Y a-t-il possibilité de gérer les transactions? L'intégrité des données est-elle
garantie en cas de chute de la connexion ou de la base de données? Les données manipulées
par un usager sont-elles protégées de manipulations par un autre usager? À quel niveau de
granularité?
Sécurité
Peut-on contrôler l'accès à des données critiques?
Données distribuées
L'architecture permet-elle de manipuler plusieurs bases de données comme un tout?
Utilisation différée
Certains outils de manipulation de données (en particulier les PDA) doivent manipuler des données
localement, sans être connectés à la source de données, puis se synchroniser avec celle-ci
dans un second temps.
Génération de pages Web
Beaucoup d'outils d'accès aux données sont couplés à des serveurs Web afin de générer
des pages Web dynamiques.
Standards
La technologie étudiée repose-t-elle sur les technologies standards suivantes? Est-elle compatible
ou incompatible avec celles-ci? Tente-t-elle de les étendre ou de les remplacer? (Les standards seront discutés
à tour de rôle à la section suivante.
ODMG, OQL, SQL, JDBC, ODBC, Java Serialization, RMI, JDNI, CORBA (OMG), JIDL
Données techniques et commerciales
Plate-forme et contraintes systèmeEngin en pur JavaModèle de distribution
Gratuit ou non, présence d'une version d'évaluation
Étape de développement
Versions beta, évolution prévue, etc.
|