[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qsos-commits] qsos/sheet/ORM-java Hibernate/Hibernate-3.6.5_f...
From: |
Raphaël Semeteys |
Subject: |
[Qsos-commits] qsos/sheet/ORM-java Hibernate/Hibernate-3.6.5_f... |
Date: |
Tue, 29 May 2012 12:54:27 +0000 |
CVSROOT: /sources/qsos
Module name: qsos
Changes by: Raphaël Semeteys <rsemeteys> 12/05/29 12:54:27
Added files:
sheet/ORM-java/Hibernate: Hibernate-3.6.5_fr.qsos
sheet/ORM-java/myBatis: mybatis-3.0_fr.qsos
sheet/ORM-java/template: ORM-Java_fr.qsos
sheet/ORM-java/Torque: Torque-3.3_fr.qsos
Log message:
ORM for Java
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/Hibernate/Hibernate-3.6.5_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/myBatis/mybatis-3.0_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/template/ORM-Java_fr.qsos?cvsroot=qsos&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qsos/sheet/ORM-java/Torque/Torque-3.3_fr.qsos?cvsroot=qsos&rev=1.1
Patches:
Index: Hibernate/Hibernate-3.6.5_fr.qsos
===================================================================
RCS file: Hibernate/Hibernate-3.6.5_fr.qsos
diff -N Hibernate/Hibernate-3.6.5_fr.qsos
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Hibernate/Hibernate-3.6.5_fr.qsos 29 May 2012 12:54:25 -0000 1.1
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <header>
+ <authors></authors>
+ <dates>
+ <creation></creation>
+ <validation></validation>
+ </dates>
+ <appname>Hibernate</appname>
+ <desc></desc>
+ <release>3.6.5</release>
+ <licenseid>32</licenseid>
+ <licensedesc>GNU LGPL</licensedesc>
+ <url>http://www.hibernate.org/</url>
+ <demourl></demourl>
+ <language>fr</language>
+ <qsosappname></qsosappname>
+ <qsosformat>1.0</qsosformat>
+ <qsosspecificformat></qsosspecificformat>
+ <qsosappfamily>ORM Java</qsosappfamily>
+ </header>
+ <section name="generic" title="Maturité">
+ <element name="maturity" title="Patrimoine">
+ <desc>Historique et patrimoine du projet</desc>
+ <element name="age" title="Age du projet">
+ <desc0>Inférieur àtrois mois</desc0>
+ <desc1>Entre trois mois et trois ans</desc1>
+ <desc2>Supérieur àtrois ans</desc2>
+ <comment>2001 : http://www.hibernate.org/about/history</comment>
+ <score>2</score>
+ </element>
+ <element name="historyknowproblems" title="Historique">
+ <desc0>Le logiciel connaît de nombreux problèmes qui peuvent
être rédhibitoires</desc0>
+ <desc1>Pas de problèmes majeurs, ni de crise ou historique
inconnu</desc1>
+ <desc2>Bon historique de gestion de projet et de crise</desc2>
+ <comment>http://fr.wikipedia.org/wiki/Hibernate#Historique :
+Groupe de développeur dirigé par Gavin King puis JBoss puis red hat avec
embauche des principaux développeurs initiaux.
+
+http://www.hibernate.org/about/history :
+Hibernate was started in 2001 by Gavin King as an alternative to using
EJB2-style entity beans. Its mission back then was to simply offer better
persistence capabilities than offered by EJB2 by simplifying the complexities
and allowing for missing features.
+
+Early in 2003, the Hibernate development team began Hibernate2 releases which
offered many significant improvements over the first release and would go on to
catapult HIbernate as the "de facto" standard for persistence in
Java...
+
+Hibernate3, JPA, etc...
+</comment>
+ <score>2</score>
+ </element>
+ <element name="developersidentificationturnover" title="Equipe de
développement">
+ <desc0>Très peu de développeurs identifiés ou développeur
unique</desc0>
+ <desc1>Quelques développeurs actifs</desc1>
+ <desc2>Equipe de développement importante et identifiée</desc2>
+ <comment>http://www.ohloh.net/p/hibernate/contributors?page=1
+Plus d'une centaine de développeurs (une quinzaine très actif (+ de 100
commits depuis 5 an), les autres commits occasionnels).
+Leader identifié
+
+http://www.ohloh.net/p/hibernate/factoids/6268875</comment>
+ <score>2</score>
+ </element>
+ <element name="popularity" title="Popularité">
+ <desc0>Très peu d'utilisateurs identifiés</desc0>
+ <desc1>Usage décelable</desc1>
+ <desc2>Nombreux utilisateurs et références</desc2>
+ <comment>http://www.ohloh.net/p/hibernate : 893 users
+http://community.jboss.org/wiki/WhoUsesHibernate : liste non exhaustive
d'une cinquantaine de projets qui utilisent hibernate</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="activity" title="Activité">
+ <desc>Activité du et autour du projet</desc>
+ <element name="contributingcommunity" title="Communauté des
contributeurs">
+ <desc0>Pas de communauté ou de réelle activité (forum, liste de
diffusion…)</desc0>
+ <desc1>Communauté existante avec une activité notable</desc1>
+ <desc2>Communauté forte : grosse activité sur les forums, de
nombreux contributeurs et défenseurs</desc2>
+ <comment>Grosse équipe de développement (même si pas tous très
actif, cf. équipe de développement).
+
+De nombreuses présentation, citations, turoriaux
(http://www.slideshare.net/search/slideshow?q=hibernate,http://it.toolbox.com/blogs/lim/3-reasons-for-why-should-you-use-hibernate-3863,
http://gfx.developpez.com/tutoriel/java/hibernate/)
+
+Nombreux livres aussi (http://www.hibernate.org/docs/books.html,
http://www.amazon.fr/s/ref=nb_sb_noss?__mk_fr_FR=%C5M%C5Z%D5%D1&url=search-alias%3Dstripbooks&field-keywords=hibernate&x=0&y=0)
+
+Bonne activité :
+forum (https://forum.hibernate.org/)
+chat(http://www.hibernate.org/community/irc)
+twitter(http://twitter.com/#!/hibernate), mailling
lists(http://www.hibernate.org/community/mailinglists)
+blog(http://in.relation.to/)
+wiki(http://community.jboss.org/en/hibernate)</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonbugs" title="Activité autour des bugs">
+ <desc0>Réactivité faible sur le forum ou sur la liste de
diffusion, ou rien au sujet des corrections de bugs dans les notes de
versions</desc0>
+ <desc1>Activité détectable mais sans processus clairement
exposé, temps de résolution long</desc1>
+ <desc2>Forte réactivité, basée sur des rôles et des
assignations de tâches</desc2>
+
<comment>http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel
+
+Mais attention : 56% bugs fermés (3465) et 40% de bugs encore ouvert (2503)
et 2769 tickets non résolus
+
+processus qualité de déclaration des bugs (testCase, patch...) :
http://www.hibernate.org/issuetracker</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonfunctionalities" title="Activité autour des
fonctionnalités">
+ <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+ <desc1>Évolution du produit conduite par une équipe dédiée ou
par des utilisateurs, mais sans processus clairement exposé</desc1>
+ <desc2>Les requêtes pour les nouvelles fonctionnalités sont
clairement outillées, feuille de route disponible</desc2>
+ <comment>roadmap générale :
http://community.jboss.org/wiki/HibernateRoadmap
+
+roadmap liée au gestionnaire de bug JIRA :
http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel
+
+</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonreleases" title="Activité sur les
releases/versions">
+ <desc0>Très faible activité que ce soit sur les versions de
production ou de développement (alpha, beta)</desc0>
+ <desc1>Activité que ce soit sur les versions de production ou de
développement (alpha, beta), avec des versions correctives mineures
fréquentes</desc1>
+ <desc2>Activité importante avec des versions correctives
fréquentes et des versions majeures planifiées liées aux prévisions de la
feuille de route</desc2>
+ <comment>Plusieurs versions développées en parallèles, releases
fréquentes et définies dans le temps :
+
+http://opensource.atlassian.com/projects/hibernate/browse/HHH#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel
+
+http://opensource.atlassian.com/projects/hibernate/secure/Dashboard.jspa</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="strategy" title="Gouvernance">
+ <desc>Stratégie du projet</desc>
+ <element name="copyrightowners" title="Détenteur des droits">
+ <desc0>Les droits sont détenus par quelques individus ou entités
commerciales</desc0>
+ <desc1>Les droits sont détenus par de nombreux individus de
façon homogène</desc1>
+ <desc2>Les droits sont détenus par une entité légale, une
fondation dans laquelle la communauté a confiance (ex: FSF, Apache,
ObjectWeb)</desc2>
+ <comment>Droit détenu Red Hat (Copyright (c) 2010, Red Hat Inc) :
https://github.com/hibernate/hibernate-core/blob/master/hibernate-core/src/main/java/org/hibernate/action/internal/BulkOperationCleanupAction.java</comment>
+ <score>0</score>
+ </element>
+ <element name="roadmap" title="Feuille de route">
+ <desc0>Pas de feuille de route publiée</desc0>
+ <desc1>Feuille de route sans planning</desc1>
+ <desc2>Feuille de route versionnée, avec planning et mesures de
retard</desc2>
+ <comment>cf Activité sur les releases.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_740641571" title="Pilotage du projet">
+ <desc0>Pas de pilotage clair du projet</desc0>
+ <desc1>Pilotage dicté par un seul individu ou une entité
commerciale</desc1>
+ <desc2>Indépendance forte de l'équipe de développement,
droits détenus par une entité reconnue</desc2>
+ <comment>Pilotage par Red Hat mais difficile de savoir quel est le
degrés de liberté de l'équipe de développement.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_548761152" title="Mode de distribution">
+ <desc0>Existence d'une distribution commerciale ou
propriétaire ou distribution libre limitée fonctionnellement</desc0>
+ <desc1>Sous-partie du logiciel disponible sous licence
propriétaire (Coeur / Greffons...)</desc1>
+ <desc2>Distribution totalement ouverte et libre</desc2>
+ <comment>"The use of the unmodified Hibernate binary of
course never affects the license of your application or distribution. You will
never have to pay money to any commercial entity for using or integrating
Hibernate." (http://www.hibernate.org/license)
+
+http://www.hibernate.org/downloads</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="industrializedsolution" title="Industrialisation">
+ <desc>Niveau d'industrialisation du projet</desc>
+ <element name="services" title="Services">
+ <desc>Offres de services (Support, Formation, Audit...)</desc>
+ <desc0>Pas d'offre de service identifiée</desc0>
+ <desc1>Offre existante mais restreinte géographiquement ou en une
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+ <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de
résultats</desc2>
+ <comment>Nombreuses formations (Red Hat, Valtech, Zenicka...)
+
+Compétences souvent retrouvé chez les développeurs Java donc
potentiellement les SSII (Atos, Cap, Xebia...). Par conséquent les parties
support (SLL OSC) et audit se trouvent aisément.
+Red Hat peut aussi effectuer ces services. </comment>
+ <score>2</score>
+ </element>
+ <element name="documentation" title="Documentation">
+ <desc0>Pas de documentation utilisateur</desc0>
+ <desc1>La documentation existe mais est en partie obsolète ou
restreinte àune seule langue ou peu détaillée</desc1>
+ <desc2>Documentation àjour, traduite et éventuellement adaptée
àdifférentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+ <comment>Différentes documentations pour les 2 dernières
versions de Hibernate dans plusieurs format. Certains documents existent en
plusieurs langues (http://www.hibernate.org/docs.html) </comment>
+ <score>2</score>
+ </element>
+ <element name="qualityassurance" title="Méthode qualité">
+ <desc>Processus et méthode qualité</desc>
+ <desc0>Pas de processus qualité identifié</desc0>
+ <desc1>Processus qualité existant, mais non formalisé ou non
outillé</desc1>
+ <desc2>Processus qualité basé sur l'utilisation
d'outils et de méthodologies standards</desc2>
+ <comment>Gestionnaire de versions, de bogues, intégration
continue</comment>
+ <score>2</score>
+ </element>
+ <element name="modificationofsourcecode" title="Modification du code">
+ <desc0>Pas de moyen pratique de proposer des modifications de
code</desc0>
+ <desc1>Des outils sont fournis pour accéder et modifier le code
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le
produit</desc1>
+ <desc2>Le processus de modification de code est bien défini,
exposé et respecté, basé sur des rôles bien définis</desc2>
+ <comment>Processus qualité de déclaration des bugs (testCase,
patch...) : http://www.hibernate.org/issuetracker</comment>
+ <score>2</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_338434665" title="Utilisabilité">
+ <element name="ID_1773897131" title="Intégration IDE">
+ <element name="ID_1199895028" title="Outil graphique">
+ <desc>Outil graphique accompagnateur pour configurer le
mapping</desc>
+ <desc0>Pas d'outil graphique pour le mapping</desc0>
+ <desc1>Outil graphique de mapping limité</desc1>
+ <desc2>Outil graphique de mapping riche</desc2>
+ <comment>Mapping Editor: An editor for Hibernate XML mapping
files, supporting auto-completion and syntax highlighting. The editor even
supports semantic auto-completion for class names, property/field names, table
names and column names.
+(http://www.hibernate.org/subprojects/tools.html)
+
+Wizard de création des fichiers de mapping :
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e370
+
+Diagramme de mapping :
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e1702</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_114293744" title="Génération de classes ">
+ <desc>Génération des classes d'objets de données</desc>
+ <desc0>Pas de génération de classes</desc0>
+ <desc1>Génération automatique des classes</desc1>
+ <desc2>Génération personnalisable</desc2>
+ <comment>La génération des classes correspondantes pour chaque
fichier .hbm peut être demandée de deux façons :
+ * en sauvegardant un fichier .hbm modifié dans l'éditeur
+ * en utilisant l'option « Hibernate Synchronizer / Synchronize Files
» du menu contextuel d'un fichier .hbm dans la vue « Vue packages »
+
+Possible de générer des classes depuis un schéma de base, avec de
nombreuses options (reverse ingeenering) :
+http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e890
+
+"The most powerful feature of Hibernate Tools is a database reverse
engineering tool that can generate domain model classes and Hibernate mapping
files, annotated EJB3 entity beans, HTML documentation or even an entire JBoss
Seam application in seconds!"
(http://www.hibernate.org/subprojects/tools.html)
+
+http://docs.jboss.org/tools/movies/demos/Reverse_engineering_and_code_generation/Reverse_engineering_and_code_generation.htm</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1430039139" title="Génération de schéma de base
de données">
+ <desc0>Requièrt son propre modèle</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable (base de données déjÃÂ
existante ou non)</desc2>
+ <comment>Ant task: The Hibernate3 tools include a unified Ant task
that allows you to run schema generation, mapping generation, or Java code
generation as part of your build.
+</comment>
+ <score>2</score>
+ </element>
+ <comment>hibernateTools :
http://www.hibernate.org/subprojects/tools.html
+
+Hibernate Tools is a toolset for Hibernate3implemented as an integrated suite
of Eclipse plugins, together with a unified Ant task for integration into the
build cycle. Hibernate Tools is a core component of JBoss Tools and hence also
part of JBoss Developer Studio.</comment>
+ </element>
+ <element name="ID_1616300461" title="Génération de la documentation">
+ <desc0>Pas de documentation générée</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable de la documentation</desc2>
+ <comment>"Generates a set of html pages that documents the
database schema and some of the mappings." :
http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/plugins.html#d0e1129
+
+Quelques configurations possibles (cf. lien ci-dessus, Table 3.6. Exporter
Properties)</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_309751365" title="Portabilité">
+ <element name="ID_1389041924" title="Portabilité du code">
+ <desc>Portabilité du code lors du changement de SGBD</desc>
+ <desc0>Code spécifique au SGBD àréimplémenter àla
main</desc0>
+ <desc1>Code spécifique au SGBD partiellement généré par la
framework</desc1>
+ <desc2>Code spécifique au SGBD complétement généré par la
framework</desc2>
+ <comment>http://www.lifl.fr/~durif/bdd/coursBD/html/hibernate.html
+"Une application Hibernate est paramétrable par des propriétés, par
exemple sur le choix du SGBD utilisé, sans que le changement de ces
paramètres nécessite une modification ou une recompilation du source Java. En
fait ces paramètres sont utilisés uniquement àl’exécution de
l’application ce qui fait qu’une erreur dans leur syntaxe ou sémantique ne
sera détectée qu’àl’exécution. Ces paramètres sont principalement
indiqués dans les deux fichiers hibernate.properties et
hibernate.cfg.xml"</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_517153792" title="Base de données supportées">
+ <desc>Quelles sont les bases de données supportées par la
solution ?</desc>
+ <desc0>Nombre très limité</desc0>
+ <desc1>Nombre limité</desc1>
+ <desc2>Grand nombre de bases de données supportées</desc2>
+
<comment>http://community.jboss.org/wiki/SupportedDatabases</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1060935903" title="Respects des standards">
+ <element name="ID_1520050744" title="SQL">
+ <desc>Versions de SQL supportées</desc>
+ <desc0>Le framework ne respecte pas SQL</desc0>
+ <desc1>Le framework ne respecte qu'une version de
SQL</desc1>
+ <desc2>Le framework supporte plusieurs versions de SQL et en
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+ <comment>Un exemple avec les fonctions stockées disponibles
sous Oracle :
+http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html#sp_query</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_80299401" title="JPA">
+ <desc>Compatibilité du framework avec Java Persistence
API</desc>
+ <desc0>Framework non compatible avec JPA</desc0>
+ <desc1>Framework non compatible la dernière version de JPA,
JPA2</desc1>
+ <desc2>Framework compatible avec JPA2</desc2>
+ <comment>"Hibernate a sorti récemment sa release 3.2.
Inutile de présenter hibernate alors passons directement aux choses sérieuses
: dans cette mouture, l’outil d’ORM montre une nouvelle fois qu’il sait
être en avance sur tout le monde en étant d’ores et déjàcompatible JPA
(Java Persistence Architecture)" (http://blog.pragmaconsult.lu/?p=35)
+(a vérifier, doc officielle?)
+
+"For JPA 2.0, you need Hibernate EM 3.5.1-Final"
+http://stackoverflow.com/questions/2695000/cant-get-jpa2-running-with-hibernate-and-maven</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1807694901" title="JDO">
+ <desc>Compatibilité du framework avec Java Data Objects</desc>
+ <desc0>Framework non compatible avec JDO</desc0>
+ <desc1>Framework partiellement compatible avec JDO</desc1>
+ <desc2>Framework complètement compatible avec JDO</desc2>
+ <comment>JDO est une spécification qui est implémentée par
Hibernate, pour peu que l'on se restreigne lors de l'écriture du
code àl'utilisation du standard JDO uniquement.
+
+http://fr.wikipedia.org/wiki/Hibernate#Comparatif_entre_Hibernate_et_Java_Data_Object</comment>
+ <score>0</score>
+ </element>
+ <comment>implémente :
+- JSR 220
+- JSR 317
+
+http://www.hibernate.org/</comment>
+ </element>
+ <comment>"Comprehensive Query Facilities: Including support for
Hibernate Query Language (HQL), Java Persistence Query Language (JPAQL),
Criteria queries, and "native SQL" queries; all of which can be
scrolled and paginated to suit your exact performance needs."
+(http://www.hibernate.org/about/why-hibernate)</comment>
+ </element>
+ <comment></comment>
+ </section>
+ <section name="ID_424401691" title="Fonctionnalités ORM">
+ <element name="ID_1215384889" title="Gestion des requêtes">
+ <element name="ID_441206190" title="Transactions">
+ <desc>Support des transactions</desc>
+ <desc0>Pas de support des transactions</desc0>
+ <desc1>Support partiel des transactions</desc1>
+ <desc2>Support complet des transactions</desc2>
+ <comment>Support complet sous forme d'interface(s) ÃÂ
implémenter.
+Cf.
http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/Transaction.html</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1344369848" title="Langage de requête">
+ <desc>Langage de requêtes puissant afin de pouvoir faire des
requêtes dynamiques</desc>
+ <desc0>Langage de requête faible</desc0>
+ <desc1>Langage de requête assez puissant (ne supporte pas les
fonctions avancées de SQL)</desc1>
+ <desc2>Langage de requête puissant</desc2>
+ <comment>Language de requête orienté objet (HQL) supportant les
fonctions avancées de la norme SQL. Le HQL a ensuite inspiré le JPQL (Java
Persistence Query Language) du standard JPA.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_900690955" title="Personnalisation des requêtes">
+ <desc>Possibilité de personnaliser les requêtes SQL pour aller
plus loin que ce qui est permis par le langage de requête</desc>
+ <desc0>Pas de possibilité de faire des requêtes
personnalisées</desc0>
+ <desc1>La personnalisation des requêtes est possible mais
limitée</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout type
de données</desc2>
+ <comment>Il est possible d'utiliser du SQL nativement avec
Hibernate, permettant de faire appel àdes fonctions propres au SGBD utilisé.
D'où une solution adaptable et permettant de supporter tout type de
données.
+Cf.
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_463148311" title="Gestion de concurrence">
+ <desc>Gestion de la concurrence (support des approches optimiste
et pessimiste)</desc>
+ <desc0>Pas de gestion de concurrence</desc0>
+ <desc1>Gestion pessimiste de concurrence</desc1>
+ <desc2>Gestion optimiste de concurrence</desc2>
+ <comment>Hibernate n'intègre pas de mécanisme de lock
supplémentaire, mais se base sur les couches bases (JTA et JDBC). Mais cela ne
l'empêche pas de pouvoir gérer les accès concurrents de manière
optimiste (ou pessismiste si la configuration est précisée).
+http://docs.jboss.org/hibernate/core/3.3/reference/en/html/transactions.html#transactions-optimistic</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+ <element name="ID_652002875" title="Heritage, polymorphisme">
+ <desc>Tirer parti de l'héritage, pouvoir créer des
hiérarchies entre les entités et utiliser le polymorphisme</desc>
+ <desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+ <desc1>Support d'héritage limité (gestion limitée àune
seule façon : Simple / Concret / Par agrégation)</desc1>
+ <desc2>Support des différentes combinaisons de tables et de
classes</desc2>
+ <comment>Les principales stratégies d'héritage sont
implémentées avec Hibernate. Cependant, il peut exister certaines limitations
avec le "polymorphisme" implicite qui n'est pas totalement
supporté par Hibernate.
+Cf. partie 9.2. Limitations
+http://docs.jboss.org/hibernate/core/3.5/reference/fr-FR/html/inheritance.html#inheritance-limitations</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1690384726" title="Liberté dans les classes">
+ <desc>Pas de classe de base pour les entités; pas
d'interface obligatoire; pas de classe spécifique pour les
collections</desc>
+ <desc0>Les classes dépendent d'une classe de base ou
d'une interface </desc0>
+ <desc1>Certaines classes spécifiques sont imposées par le
framwork (exemple : collections)</desc1>
+ <desc2>Les classes sont libres (pas de classes de base, pas
d'interface obligatoire, pas de classes spécifiques pour les
collections)</desc2>
+ <comment>Les classes sont libres, mais toute classe que l'on
veut rendre persistente doit être un POJO (Plain Old Java Object) avec ses
setters/getters et implémenter le constructeur par défaut. De plus,
l'utilisation des annotations Java et/ou d'un fichier de
configuration rajoute aux contraintes de configuration de Hibernate.
+
+Utilisation de la sessionFactory pour gérer les transactions.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1276541290" title="Systèmes d'intercepteurs
et mécanismes de délégation">
+ <desc>Système d'intercepteurs et mécanismes de délégation
pour avoir la main au moment où la gestion de la persistance intervient</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support partiel</desc1>
+ <desc2>Support complet</desc2>
+ <comment>Support complet du mécanisme d'interception
permettant l'implémentation de fonctionnalités génériques et
l'extension de fonctionnalités Hibernate (sécurité, etc.).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_701838668" title="Filtrage d'objet en
mémoire">
+ <desc0>Pas de filtrage </desc0>
+ <desc1>Filtrage d'objets partiel ou complexe</desc1>
+ <desc2>Filtrage d'objets souple</desc2>
+ <comment>Hibernate propose d'utiliser des filtres en mémoire
sur les collections ainsi que des fonctionnalités de pagination.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_706579590" title="Gestion des associations">
+ <element name="ID_742121362" title="Association objets <->
tables">
+ <element name="ID_312267195" title="Association classe/plusieurs
tables">
+ <desc>Possibilité d'associer àune classe des données
provenant de plusieurs tables (jointures, vues)</desc>
+ <desc0>Fonctionnalité non offerte (mapping direct d'une
table sur une classe)</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment></comment>
+ <score>2</score>
+ </element>
+ <element name="ID_38998304" title="Eclatement table ->
plusieurs classes">
+ <desc>Possibilité de pouvoir éclater en plusieurs classes les
données d'une table</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment></comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1039584203" title="Types de relation">
+ <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support limité (pas de relations n-n)</desc1>
+ <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+ <comment>Tous les types de relation sont supportés par
Hibernate.
+Cf.
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/example-mappings.html</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1024175273" title="Définition des associations">
+ <element name="ID_201588288" title="Externe ">
+ <desc0>Pas de fichier de mapping externe</desc0>
+ <desc1>Fichier de mapping obligatoire</desc1>
+ <desc2>Fichier de mapping optionnel</desc2>
+ <comment>Avec l'utilisation des annotations java dans le
code, le fichier de mapping est optionnel. L'utilisation de JPA (Java
Persistence Annotations) permet de créer des POJOs exploitables directement
par Hibernate.
+Cf.
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1316391039" title="Attributs dans le code">
+ <desc0>Pas d'attributs dans le code</desc0>
+ <desc1>Attributs dans le code obligatoires</desc1>
+ <desc2>Attributs dans le code optionnels</desc2>
+ <comment>Si l'on souhaite se contenter d'un fichier
de mapping pour l'utilisation de Hibernate, les annotations dans le code
ne sont pas obligatoires, pour peu que la classe Java réponde aux critères
suivants : setter & getter pour chaque attribut ; implémentation du
constructeur par défaut ; identifiant de classe de type primitif, wrapper,
String ou java.util.Date
+Cf.
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1914850042" title="Génération des associations">
+ <desc>Les déclarations d'associations peuvent être
générées par le framework par reverse engineering</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>Il est possible de générer automatiquement les POJOs ÃÂ
partir des fichiers de mapping :
+http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/codegen.html
+
+De + il existe une tâche ant dans les utilitaires hibernate qui permet de
générer le mapping des annotations àpartir d'une base de donnée
existante :
+http://docs.jboss.org/tools/3.2.0.GA/en/hibernatetools/html/reverseengineering.html</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1249899865" title="Fonctionnalités liées aux
données">
+ <element name="ID_1439836939" title="Types supportés">
+ <element name="ID_697051761" title="Types de données
spécifiques">
+ <desc>Support des types de données spécifiques au moteur de
base de données (champs de type compteur - identity/autoincrémenté,
GUID)</desc>
+ <desc0>Pas de support </desc0>
+ <desc1>Seulement quelques types sont supportés pour certains
SGBD</desc1>
+ <desc2>Support complet (types compteur,
identity/autoincrémenté, GUID)</desc2>
+ <comment>Pour la génération des Id Hibernate supporte les
méthodes natives des SGBDR, un compteur global unique ou la fourniture par
l'application. Cela peut également être réalisé par un point
d'extension.
+Par exemple les champs de type AUTO_INCREMENT sous MySQL ne sont pas gérés
de manière 100% efficace. Mais des alternatives (avec les stratégies
d'incrémentation auto dans la classe) existent.
+Cf.
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1247023248" title="Gestion des types de données
évolués (images...)">
+ <desc0>Pas de support des types de données évolués</desc0>
+ <desc1>Quelques types évolués sont supportés</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout
type de données</desc2>
+ <comment>Le framework supporte nativement un grand nommbre de
types et permet de déclarer des types composés (par exemple àpersister dans
plusieurs champs de la base de donnéres).</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1809466455" title="Fonctionnalités SQL
supportées">
+ <element name="ID_491863742" title="Agrégats">
+ <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN,
MAX, COUNT du SQL)</desc>
+ <desc0>Pas de support des fonctions d'agrégat</desc0>
+ <desc1>Support uniquement de quelques fonctions
d'agrégat</desc1>
+ <desc2>Support de toutes les fonctions d'agrégat</desc2>
+ <comment>Les fonctions supportées sont : avg(...), sum(...),
min(...), max(...), count(*), count(...), count(distinct ...) et count(all...).
+</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1829057516" title="Groupes">
+ <desc>Support des groupes (GROUP BY du SQL)</desc>
+ <desc0>Pas de support de groupes</desc0>
+ <desc1>Support partiel des groupes</desc1>
+ <desc2>Support complet des groupes</desc2>
+ <comment></comment>
+ <score>2</score>
+ </element>
+ <element name="ID_15374559" title="Procédures stockées">
+ <desc>Support des procédures stockées</desc>
+ <desc0>Pas de support des procédures stockées</desc0>
+ <desc1>Support partiel ou limité</desc1>
+ <desc2>Support complet des procédures stockées</desc2>
+ <comment>Hibernate permet d'appeller des procédures
stockées et d'associer les résultats retournées (via un fichier de
mapping àdéclarer).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1493124660" title="Jointures SQL ">
+ <desc>Support de tout type de jointures SQL (inner join, outer
join)</desc>
+ <desc0>Pas de support de jointures SQL</desc0>
+ <desc1>Support limité des jointures SQL</desc1>
+ <desc2>Support de jointures SQL souple et efficace</desc2>
+ <comment>Les différents types de jointures de SQL sont
supportés : inner join, left outer join, right outer join et full join.
+</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_803290388" title="Liaison avec la base de données">
+ <element name="ID_650827994" title="Génération du schéma de BD">
+ <desc>Le framework permet-il de générer le schéma de la base
de données ?</desc>
+ <desc0>Le schéma n'est pas généré</desc0>
+ <desc1>La génération est possible mais pas
personnalisable</desc1>
+ <desc2>Génération du schéma automatique et
personnalisable</desc2>
+ <comment>Hibernate peut générer le schéma de la base de
données (hbm2ddl). L'interface org.hibernate.cfg.NamingStrategy permet de
personaliser les noms des objets en base de données.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1160163318" title="Différer les MAJ de la BD">
+ <desc>Pouvoir différer les mises àjour de la base de
données, et les déclencher àun instant donné par un appel de méthode
spécifique</desc>
+ <desc0>Fonctionnalité non supportée</desc0>
+ <desc1>La maîtrise des mises àjour est possible mais
limitée ou complexe</desc1>
+ <desc2>Le framework offre la complète maîtrise des mises ÃÂ
jour</desc2>
+ <comment>Les mises àjour des objets modifiés lors d'une
session Hibernate sont effectuées lors de l'appel de la méthode flush()
de la session. Cette méthode est cependant automatiquement appelée par le
framework avant des requêtes ou àla validation d'une
transaction.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1787877607" title="Mode déconnecté">
+ <desc>Support du mode déconnecté (alimenter des objets depuis
la base de données, fermer la connexion, la session, créer/modifier/supprimer
des objets, et appliquer ces modifications sur la base de données plus
tard)</desc>
+ <desc0>Pas de support du mode déconnecté</desc0>
+ <desc1>Support partiel du mode déconnecté</desc1>
+ <desc2>Support complet du mode déconnecté</desc2>
+ <comment>Il est envisageable de gérer un mode déconnecté en
travaillant sur des objets en mode detached (Session.update() ou
Session.merge() )</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_346348844" title="Chiffrement des données">
+ <desc0>Pas de chiffrement des données</desc0>
+ <desc1>Support limité (par exemple, un seul algorithme de
chiffrement est supporté)</desc1>
+ <desc2>Support complet (l'utilisateur a la possibilité de
choisir l'algorithme de chiffrement )</desc2>
+ <comment>Il est possible d'appeler des fonctions de
chiffrement/déchiffrement du SGBD àla lecture ou àl'écriture des
données via la notion de ColumnTransformer.
+</comment>
+ <score>1</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_1587767826" title="Optimisation et performance">
+ <element name="ID_193053566" title="Chargement différé">
+ <desc>Lazy loading</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>Via la notion de Proxy.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1471006078" title="Requêtes optimisées">
+ <desc>mise àjour uniquement des champs modifiés, ..</desc>
+ <desc0>Pas de requêtes optimisées</desc0>
+ <desc1>Support des requêtes optimisées</desc1>
+ <desc2>Support completl des requêtes optimisées</desc2>
+ <comment>Hibernate prend en charge les mises àjour de la base de
données en fonction des modifications apportées sur les objets qu'ils
gère en session.
+Il supporte également les prepared statements.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1653886314" title="MAJ en cascade">
+ <desc>Gestion des mises àjour en cascade</desc>
+ <desc0>Non gérée </desc0>
+ <desc1>Mises àjour en cascade partiellement supportées</desc1>
+ <desc2>Mises àjour en cascade complètement supportées</desc2>
+ <comment>Tout ou partie des opérations réalisées sur les relations
peuvent être cascadées (option cascade, positionnée ànone par
défaut).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1245205026" title="MAJ / Suppressions massives">
+ <desc>Gestion des modifications, des suppressions des milliers
d'enregistrements d'un coup sans avoir àcharger tous les objets en
mémoire.</desc>
+ <desc0>Non supportées</desc0>
+ <desc1>Partiellement supportées</desc1>
+ <desc2>Complètement supportées</desc2>
+ <comment>HQL supporte une syntaxe pour le bulk update and delete.
+Egalement possible en utilisant une requête SQL directement via
Session.createQuery() mais on n'est plus dans la philosophie du
framework.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_423607022" title="Pools de connexions">
+ <desc>Gestion de pools de connexions par le framework</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>Un gestionnaire de connexions est fourni en standard mais
est déclaré comme inadapté àla production. Hibernate supporte des
gestionnaires externes comme C3PO ou Proxool</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1707317083" title="Caches">
+ <element name="ID_667733390" title="Cache des requêtes">
+ <desc0>Pas de cache des requêtes</desc0>
+ <desc1>Cache de requêtes àgérer àla main</desc1>
+ <desc2>Cache des requêtes généré dynamiquement</desc2>
+ <comment>Le cache de requêtes est paramétrable et peut être
étendu.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1612841399" title="Cache de certaines données">
+ <desc0>Pas de cache de données</desc0>
+ <desc1>Cache de données existant mais limité</desc1>
+ <desc2>Existence d'un cache des données</desc2>
+ <comment>Un cache de second niveau est activé par défaut. Il
s'agit d'uen hashtable et il peut être désactivé (il n'est
pas conseillé en production).
+Hibernate est capables d'utiliser des caches externes : EHCache,
OSCache, SwarmCache ou JBoss Cache.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <comment>"High Performance: Hibernate supports lazy initialization,
many fetching strategies, and optimistic locking with automatic versioning and
time stamping. Hibernate requires no special database tables or fields and
generates much of the SQL at system initialization time instead of runtime.
Hibernate consistently offers superior performance over straight JDBC
coding." (http://www.hibernate.org/about/why-hibernate)</comment>
+ </section>
+</document>
\ No newline at end of file
Index: myBatis/mybatis-3.0_fr.qsos
===================================================================
RCS file: myBatis/mybatis-3.0_fr.qsos
diff -N myBatis/mybatis-3.0_fr.qsos
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ myBatis/mybatis-3.0_fr.qsos 29 May 2012 12:54:26 -0000 1.1
@@ -0,0 +1,500 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <header>
+ <authors></authors>
+ <dates>
+ <creation></creation>
+ <validation></validation>
+ </dates>
+ <appname>MyBatis</appname>
+ <desc></desc>
+ <release>3.0</release>
+ <licenseid>23</licenseid>
+ <licensedesc>The Apache License 2.0</licensedesc>
+ <url>http://code.google.com/p/mybatis/</url>
+ <demourl></demourl>
+ <language>fr</language>
+ <qsosappname></qsosappname>
+ <qsosformat>1.0</qsosformat>
+ <qsosspecificformat></qsosspecificformat>
+ <qsosappfamily>ORM Java</qsosappfamily>
+ </header>
+ <section name="generic" title="Maturité">
+ <element name="maturity" title="Patrimoine">
+ <desc>Historique et patrimoine du projet</desc>
+ <element name="age" title="Age du projet">
+ <desc0>Inférieur àtrois mois</desc0>
+ <desc1>Entre trois mois et trois ans</desc1>
+ <desc2>Supérieur àtrois ans</desc2>
+ <comment>Projet iBATIS démarré en 2001 a permis l'émergence de
iBATIS Database Layer en 2002. Hébergé par la fondation Apache de 2004 ÃÂ
2010, le projet est désormais hébergé sur la forge de Google sous le nom de
MyBatis.</comment>
+ <score>2</score>
+ </element>
+ <element name="historyknowproblems" title="Historique">
+ <desc0>Le logiciel connaît de nombreux problèmes qui peuvent
être rédhibitoires</desc0>
+ <desc1>Pas de problèmes majeurs, ni de crise ou historique
inconnu</desc1>
+ <desc2>Bon historique de gestion de projet et de crise</desc2>
+ <comment>Démarré par un développeur unique, iBATIS a été
hébergé pendant 6 ans par la fondation Apache. En 2010, les développeurs
principaux ont décidé d'un commun accord de changer d'hébergement afin
notamment de bénéficier de procédure de contribution plus simples.</comment>
+ <score>2</score>
+ </element>
+ <element name="developersidentificationturnover" title="Equipe de
développement">
+ <desc0>Très peu de développeurs identifiés ou développeur
unique</desc0>
+ <desc1>Quelques développeurs actifs</desc1>
+ <desc2>Equipe de développement importante et identifiée</desc2>
+ <comment>L'équipe est composées de 11 développeurs principaux
arrivés au fil des années auprès du créateur du projet Clinton
Begin.</comment>
+ <score>2</score>
+ </element>
+ <element name="popularity" title="Popularité">
+ <desc0>Très peu d'utilisateurs identifiés</desc0>
+ <desc1>Usage décelable</desc1>
+ <desc2>Nombreux utilisateurs et références</desc2>
+ <comment>iBATIS (et désormais MyBAtis) est un framework de
persistance reconnu et disposant de nombreuses références.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="activity" title="Activité">
+ <desc>Activité du et autour du projet</desc>
+ <element name="contributingcommunity" title="Communauté des
contributeurs">
+ <desc0>Pas de communauté ou de réelle activité (forum, liste de
diffusion…)</desc0>
+ <desc1>Communauté existante avec une activité notable</desc1>
+ <desc2>Communauté forte : grosse activité sur les forums, de
nombreux contributeurs et défenseurs</desc2>
+ <comment>5 contributeurs au wiki, plus de 800 inscrits àla liste
de discussion du projet.</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonbugs" title="Activité autour des bugs">
+ <desc0>Réactivité faible sur le forum ou sur la liste de
diffusion, ou rien au sujet des corrections de bugs dans les notes de
versions</desc0>
+ <desc1>Activité détectable mais sans processus clairement
exposé, temps de résolution long</desc1>
+ <desc2>Forte réactivité, basée sur des rôles et des
assignations de tâches</desc2>
+ <comment>Le projet utilise les fonctionnalités offertes par la
forge de Google pour gérer l'activité autours des bogues
(http://code.google.com/p/mybatis/wiki/Issues).</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonfunctionalities" title="Activité autour des
fonctionnalités">
+ <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+ <desc1>Évolution du produit conduite par une équipe dédiée ou
par des utilisateurs, mais sans processus clairement exposé</desc1>
+ <desc2>Les requêtes pour les nouvelles fonctionnalités sont
clairement outillées, feuille de route disponible</desc2>
+ <comment>Le projet utilise les fonctionnalités offertes par la
forge de Google pour gérer l'activité autours des nouvelles fonctionnalités
(http://code.google.com/p/mybatis/wiki/Issues).</comment>
+ <score>2</score>
+ </element>
+ <element name="activityonreleases" title="Activité sur les
releases/versions">
+ <desc0>Très faible activité que ce soit sur les versions de
production ou de développement (alpha, beta)</desc0>
+ <desc1>Activité que ce soit sur les versions de production ou de
développement (alpha, beta), avec des versions correctives mineures
fréquentes</desc1>
+ <desc2>Activité importante avec des versions correctives
fréquentes et des versions majeures planifiées liées aux prévisions de la
feuille de route</desc2>
+ <comment>De versions mineures sont régulièrement publiées sur
la branche 3.0, ainsi que des versions beta.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="strategy" title="Gouvernance">
+ <desc>Stratégie du projet</desc>
+ <element name="copyrightowners" title="Détenteur des droits">
+ <desc0>Les droits sont détenus par quelques individus ou entités
commerciales</desc0>
+ <desc1>Les droits sont détenus par de nombreux individus de
façon homogène</desc1>
+ <desc2>Les droits sont détenus par une entité légale, une
fondation dans laquelle la communauté a confiance (ex: FSF, Apache,
ObjectWeb)</desc2>
+ <comment>Les droits sur le code géré au sein du projet iBATIS
sont détenus par la fondations Apache.</comment>
+ <score>2</score>
+ </element>
+ <element name="roadmap" title="Feuille de route">
+ <desc0>Pas de feuille de route publiée</desc0>
+ <desc1>Feuille de route sans planning</desc1>
+ <desc2>Feuille de route versionnée, avec planning et mesures de
retard</desc2>
+ <comment>L'outil de gestion des nouvelles fonctionnalités permet
d'identifier celles qui sont acceptées et pour quelles versions de
MyBatis.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_740641571" title="Pilotage du projet">
+ <desc0>Pas de pilotage clair du projet</desc0>
+ <desc1>Pilotage dicté par un seul individu ou une entité
commerciale</desc1>
+ <desc2>Indépendance forte de l'équipe de développement, droits
détenus par une entité reconnue</desc2>
+ <comment>Les développeurs principaux sont indépendants et
travaillent pour des entreprises différentes.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_548761152" title="Mode de distribution">
+ <desc0>Existence d'une distribution commerciale ou propriétaire
ou distribution libre limitée fonctionnellement</desc0>
+ <desc1>Sous-partie du logiciel disponible sous licence
propriétaire (Coeur / Greffons...)</desc1>
+ <desc2>Distribution totalement ouverte et libre</desc2>
+ <comment>sous licence Apache version 2.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="industrializedsolution" title="Industrialisation">
+ <desc>Niveau d'industrialisation du projet</desc>
+ <element name="services" title="Services">
+ <desc>Offres de services (Support, Formation, Audit...)</desc>
+ <desc0>Pas d'offre de service identifiée</desc0>
+ <desc1>Offre existante mais restreinte géographiquement ou en une
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+ <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de
résultats</desc2>
+ <comment>iBATIS (et désormais MyBatis) est une solution reconnue
autour de laquelle de nombreuses offres de services (formation, expertise,
support) existent.</comment>
+ <score>2</score>
+ </element>
+ <element name="documentation" title="Documentation">
+ <desc0>Pas de documentation utilisateur</desc0>
+ <desc1>La documentation existe mais est en partie obsolète ou
restreinte àune seule langue ou peu détaillée</desc1>
+ <desc2>Documentation àjour, traduite et éventuellement adaptée
àdifférentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+ <comment>La documentation officielle existe en anglais et en
chinois simplifié (http://code.google.com/p/mybatis/wiki/UserGuides)</comment>
+ <score>2</score>
+ </element>
+ <element name="qualityassurance" title="Méthode qualité">
+ <desc>Processus et méthode qualité</desc>
+ <desc0>Pas de processus qualité identifié</desc0>
+ <desc1>Processus qualité existant, mais non formalisé ou non
outillé</desc1>
+ <desc2>Processus qualité basé sur l'utilisation d'outils et de
méthodologies standards</desc2>
+ <comment>Le projet a bénéficié pendant 6 ans des méthodes
qualités de la fondation Apache. Désormais hébergé sur Google Code, le
projet reste orienté qualité avec l'utilisation de Maven/Nexus et de tests
unitaires.</comment>
+ <score>2</score>
+ </element>
+ <element name="modificationofsourcecode" title="Modification du code">
+ <desc0>Pas de moyen pratique de proposer des modifications de
code</desc0>
+ <desc1>Des outils sont fournis pour accéder et modifier le code
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le
produit</desc1>
+ <desc2>Le processus de modification de code est bien défini,
exposé et respecté, basé sur des rôles bien définis</desc2>
+ <comment>Le processus de release est détaillé :
http://code.google.com/p/mybatis/wiki/ProcessRelease, le code source est
disponible sur Google Code</comment>
+ <score>2</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_338434665" title="Utilisabilité">
+ <element name="ID_1773897131" title="Intégration IDE">
+ <element name="ID_1199895028" title="Outil graphique">
+ <desc>Outil graphique accompagnateur pour configurer le
mapping</desc>
+ <desc0>Pas d'outil graphique pour le mapping</desc0>
+ <desc1>Outil graphique de mapping limité</desc1>
+ <desc2>Outil graphique de mapping riche</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_114293744" title="Génération de classes ">
+ <desc>Génération des classes d'objets de données</desc>
+ <desc0>Pas de génération de classes</desc0>
+ <desc1>Génération automatique des classes</desc1>
+ <desc2>Génération personnalisable</desc2>
+ <comment>MyBatis Generator permet de générer du code àpartir
de la base de données : classes associées aux tables, fichiers XML
d'association pour les opérations CRUD, classes Java clientes des classes
MyBatis (DAO), classes d'exemples qui permettent de réaliser des requêtes via
l'utilisation d'API.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1430039139" title="Génération de schéma de base
de données">
+ <desc0>Requièrt son propre modèle</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable (base de données déjÃÂ
existante ou non)</desc2>
+ <comment>MyBatis propose un outil pour gérer la gestion du
changement des schémas de bases de données (MyBatis Migration) qui permet
d'automatiser les mises àjour et les retours arrière.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_1616300461" title="Génération de la documentation">
+ <desc0>Pas de documentation générée</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable de la documentation</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_309751365" title="Portabilité">
+ <element name="ID_1389041924" title="Portabilité du code">
+ <desc>Portabilité du code lors du changement de SGBD</desc>
+ <desc0>Code spécifique au SGBD àréimplémenter àla
main</desc0>
+ <desc1>Code spécifique au SGBD partiellement généré par la
framework</desc1>
+ <desc2>Code spécifique au SGBD complétement généré par la
framework</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_517153792" title="Base de données supportées">
+ <desc>Quelles sont les bases de données supportées par la
solution ?</desc>
+ <desc0>Nombre très limité</desc0>
+ <desc1>Nombre limité</desc1>
+ <desc2>Grand nombre de bases de données supportées</desc2>
+ <comment>Le framework n'est pas lié àune base de données en
particulier ce sont les drivers JDBC et les requêtes écrites par les
développeurs qui le sont.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1060935903" title="Respects des standards">
+ <element name="ID_1520050744" title="SQL">
+ <desc>Versions de SQL supportées</desc>
+ <desc0>Le framework ne respecte pas SQL</desc0>
+ <desc1>Le framework ne respecte qu'une version de SQL</desc1>
+ <desc2>Le framework supporte plusieurs versions de SQL et en
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+ <comment>Tout dépend des requêtes écrites par les
développeurs, qui ne sont pas contrôlées par les utilisateurs.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_80299401" title="JPA">
+ <desc>Compatibilité du framework avec Java Persistence
API</desc>
+ <desc0>Framework non compatible avec JPA</desc0>
+ <desc1>Framework non compatible la dernière version de JPA,
JPA2</desc1>
+ <desc2>Framework compatible avec JPA2</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1807694901" title="JDO">
+ <desc>Compatibilité du framework avec Java Data Objects</desc>
+ <desc0>Framework non compatible avec JDO</desc0>
+ <desc1>Framework partiellement compatible avec JDO</desc1>
+ <desc2>Framework complètement compatible avec JDO</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ </element>
+ </section>
+ <section name="ID_424401691" title="Fonctionnalités ORM">
+ <element name="ID_1215384889" title="Gestion des requêtes">
+ <element name="ID_441206190" title="Transactions">
+ <desc>Support des transactions</desc>
+ <desc0>Pas de support des transactions</desc0>
+ <desc1>Support partiel des transactions</desc1>
+ <desc2>Support complet des transactions</desc2>
+ <comment>Il est possible d'utiliser le gestionnaire de transaction
fourni par la couche JDBC ou par le conteneur de l'application (serveur JEE par
exemple).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1344369848" title="Langage de requête">
+ <desc>Langage de requêtes puissant afin de pouvoir faire des
requêtes dynamiques</desc>
+ <desc0>Langage de requête faible</desc0>
+ <desc1>Langage de requête assez puissant (ne supporte pas les
fonctions avancées de SQL)</desc1>
+ <desc2>Langage de requête puissant</desc2>
+ <comment>Le la,gage de requête est SQL plus des possiblités
d'ajouter des conditions àl'utilisation de critères suppélmentaires (if,
choose, foreach).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_900690955" title="Personnalisation des requêtes">
+ <desc>Possibilité de personnaliser les requêtes SQL pour aller
plus loin que ce qui est permis par le langage de requête</desc>
+ <desc0>Pas de possibilité de faire des requêtes
personnalisées</desc0>
+ <desc1>La personnalisation des requêtes est possible mais
limitée</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout type
de données</desc2>
+ <comment>Le framework impose l'écriture des requêtes.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_463148311" title="Gestion de concurrence">
+ <desc>Gestion de la concurrence (support des approches optimiste
et pessimiste)</desc>
+ <desc0>Pas de gestion de concurrence</desc0>
+ <desc1>Gestion pessimiste de concurrence</desc1>
+ <desc2>Gestion optimiste de concurrence</desc2>
+ <comment>MyBatis supporte les 5 niveaux d'osilation de JDBC :NONE,
READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ et SERIALIZABLE).
+ ÂÂ
+</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+ <element name="ID_652002875" title="Heritage, polymorphisme">
+ <desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies
entre les entités et utiliser le polymorphisme</desc>
+ <desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+ <desc1>Support d'héritage limité (gestion limitée àune seule
façon : Simple / Concret / Par agrégation)</desc1>
+ <desc2>Support des différentes combinaisons de tables et de
classes</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1690384726" title="Liberté dans les classes">
+ <desc>Pas de classe de base pour les entités; pas d'interface
obligatoire; pas de classe spécifique pour les collections</desc>
+ <desc0>Les classes dépendent d'une classe de base ou d'une
interface </desc0>
+ <desc1>Certaines classes spécifiques sont imposées par le
framwork (exemple : collections)</desc1>
+ <desc2>Les classes sont libres (pas de classes de base, pas
d'interface obligatoire, pas de classes spécifiques pour les
collections)</desc2>
+ <comment>Le framework impose uniquement des classes simples de
types JavaBeans et propose également dl'intégration avec les frameworks
Spring et Guice.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1276541290" title="Systèmes d'intercepteurs et
mécanismes de délégation">
+ <desc>Système d'intercepteurs et mécanismes de délégation pour
avoir la main au moment où la gestion de la persistance intervient</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support partiel</desc1>
+ <desc2>Support complet</desc2>
+ <comment>Un certain nombres de mécanismes de MyBatis peuvent
être étendus en surchargeant des classes du frameworks. Cela concerne par
exemple : le gestion des types, le récupération d'objets via Factory.
+Des intercepteurs existent également àl'exécution des requêtes, la
gestion de leurs paramètres et de leurs résultats.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_701838668" title="Filtrage d'objet en mémoire">
+ <desc0>Pas de filtrage </desc0>
+ <desc1>Filtrage d'objets partiel ou complexe</desc1>
+ <desc2>Filtrage d'objets souple</desc2>
+ <comment>Il est possible ddde réaliser de la pagination sur les
requêtes retournant plusieurs lignes (paramètre RowBounds)</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_706579590" title="Gestion des associations">
+ <element name="ID_742121362" title="Association objets <->
tables">
+ <element name="ID_312267195" title="Association classe/plusieurs
tables">
+ <desc>Possibilité d'associer àune classe des données
provenant de plusieurs tables (jointures, vues)</desc>
+ <desc0>Fonctionnalité non offerte (mapping direct d'une table
sur une classe)</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_38998304" title="Eclatement table ->
plusieurs classes">
+ <desc>Possibilité de pouvoir éclater en plusieurs classes les
données d'une table</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1039584203" title="Types de relation">
+ <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support limité (pas de relations n-n)</desc1>
+ <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_1024175273" title="Définition des associations">
+ <element name="ID_201588288" title="Externe ">
+ <desc0>Pas de fichier de mapping externe</desc0>
+ <desc1>Fichier de mapping obligatoire</desc1>
+ <desc2>Fichier de mapping optionnel</desc2>
+ <comment>Il est possible de passer par des classes spécifiques
(Mapper) et des annotations Java.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1316391039" title="Attributs dans le code">
+ <desc0>Pas d'attributs dans le code</desc0>
+ <desc1>Attributs dans le code obligatoires</desc1>
+ <desc2>Attributs dans le code optionnels</desc2>
+ <comment>Il est possible de passer par des fichiers de
paramétrage XML externes.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1914850042" title="Génération des associations">
+ <desc>Les déclarations d'associations peuvent être générées
par le framework par reverse engineering</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>MyBatis Generator permet de générer les associations
simples (CRUD) via reverse engineering du schéma de la base de
données.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_1249899865" title="Fonctionnalités liées aux
données">
+ <element name="ID_1439836939" title="Types supportés">
+ <element name="ID_697051761" title="Types de données
spécifiques">
+ <desc>Support des types de données spécifiques au moteur de
base de données (champs de type compteur - identity/autoincrémenté,
GUID)</desc>
+ <desc0>Pas de support </desc0>
+ <desc1>Seulement quelques types sont supportés pour certains
SGBD</desc1>
+ <desc2>Support complet (types compteur,
identity/autoincrémenté, GUID)</desc2>
+ <comment>MyBatis permet d'utiliser la méthode useGeneratedKeys
de JDBC ou d'implémenter soi même la génération de clé unique.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1247023248" title="Gestion des types de données
évolués (images...)">
+ <desc0>Pas de support des types de données évolués</desc0>
+ <desc1>Quelques types évolués sont supportés</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout
type de données</desc2>
+ <comment>Il suffit d'implémenter le TypeHandler et de
configurer MyBatis en conséquence. Les TypesHandlers existants peuvent
également être surchargés.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1809466455" title="Fonctionnalités SQL
supportées">
+ <element name="ID_491863742" title="Agrégats">
+ <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN,
MAX, COUNT du SQL)</desc>
+ <desc0>Pas de support des fonctions d'agrégat</desc0>
+ <desc1>Support uniquement de quelques fonctions
d'agrégat</desc1>
+ <desc2>Support de toutes les fonctions d'agrégat</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1829057516" title="Groupes">
+ <desc>Support des groupes (GROUP BY du SQL)</desc>
+ <desc0>Pas de support de groupes</desc0>
+ <desc1>Support partiel des groupes</desc1>
+ <desc2>Support complet des groupes</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_15374559" title="Procédures stockées">
+ <desc>Support des procédures stockées</desc>
+ <desc0>Pas de support des procédures stockées</desc0>
+ <desc1>Support partiel ou limité</desc1>
+ <desc2>Support complet des procédures stockées</desc2>
+ <comment>Il s'agit de requêtes de type select paramétrées
avec statementType àla valeur CALLABLE.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1493124660" title="Jointures SQL ">
+ <desc>Support de tout type de jointures SQL (inner join, outer
join)</desc>
+ <desc0>Pas de support de jointures SQL</desc0>
+ <desc1>Support limité des jointures SQL</desc1>
+ <desc2>Support de jointures SQL souple et efficace</desc2>
+ <comment>Fait par le développeur via des requêtes
paramétrées et des associations entre objets et résultats
retournés.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_803290388" title="Liaison avec la base de données">
+ <element name="ID_650827994" title="Génération du schéma de BD">
+ <desc>Le framework permet-il de générer le schéma de la base
de données ?</desc>
+ <desc0>Le schéma n'est pas généré</desc0>
+ <desc1>La génération est possible mais pas
personnalisable</desc1>
+ <desc2>Génération du schéma automatique et
personnalisable</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1160163318" title="Différer les MAJ de la BD">
+ <desc>Pouvoir différer les mises àjour de la base de
données, et les déclencher àun instant donné par un appel de méthode
spécifique</desc>
+ <desc0>Fonctionnalité non supportée</desc0>
+ <desc1>La maîtrise des mises àjour est possible mais
limitée ou complexe</desc1>
+ <desc2>Le framework offre la complète maîtrise des mises ÃÂ
jour</desc2>
+ <comment>En positionnant le paramètre flushCache àfalse dans
les déclarations de requêtes.
+Le cache de niveau 2, s'il est activé, est paramétrable (fréquence de
flush, politique d'éviction, taile...).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1787877607" title="Mode déconnecté">
+ <desc>Support du mode déconnecté (alimenter des objets depuis
la base de données, fermer la connexion, la session, créer/modifier/supprimer
des objets, et appliquer ces modifications sur la base de données plus
tard)</desc>
+ <desc0>Pas de support du mode déconnecté</desc0>
+ <desc1>Support partiel du mode déconnecté</desc1>
+ <desc2>Support complet du mode déconnecté</desc2>
+ <comment>Il est envisageable de stocker les données en cache
et de forcer plus tard la MAJ des la base de données, cette fonctionnalités
n'est pas offerte en standard.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_346348844" title="Chiffrement des données">
+ <desc0>Pas de chiffrement des données</desc0>
+ <desc1>Support limité (par exemple, un seul algorithme de
chiffrement est supporté)</desc1>
+ <desc2>Support complet (l'utilisateur a la possibilité de choisir
l'algorithme de chiffrement )</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_1587767826" title="Optimisation et performance">
+ <element name="ID_193053566" title="Chargement différé">
+ <desc>Lazy loading</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>Les chargements paresseux ou aggresifs peuvent être forcés
par paramétrage.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1471006078" title="Requêtes optimisées">
+ <desc>mise àjour uniquement des champs modifiés, ..</desc>
+ <desc0>Pas de requêtes optimisées</desc0>
+ <desc1>Support des requêtes optimisées</desc1>
+ <desc2>Support completl des requêtes optimisées</desc2>
+ <comment>Par défaut MyBatis utilise des prepared satements pour
l'exécution de ses requêtes paramétrées.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1653886314" title="MAJ en cascade">
+ <desc>Gestion des mises àjour en cascade</desc>
+ <desc0>Non gérée </desc0>
+ <desc1>Mises àjour en cascade partiellement supportées</desc1>
+ <desc2>Mises àjour en cascade complètement supportées</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1245205026" title="MAJ / Suppressions massives">
+ <desc>Gestion des modifications, des suppressions des milliers
d'enregistrements d'un coup sans avoir àcharger tous les objets en
mémoire.</desc>
+ <desc0>Non supportées</desc0>
+ <desc1>Partiellement supportées</desc1>
+ <desc2>Complètement supportées</desc2>
+ <comment>Fait par le développeur via des requêtes paramétrées.
+MyBatis gère également des sessions de types Batch qui sont exécutées ne
une fois àla fin de la transaction.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_423607022" title="Pools de connexions">
+ <desc>Gestion de pools de connexions par le framework</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>MyBatis propose le choix entre utiliser un pool de connexion
interne, aucun pool ou un pool externe récupéréé via JNDI.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1707317083" title="Caches">
+ <element name="ID_667733390" title="Cache des requêtes">
+ <desc0>Pas de cache des requêtes</desc0>
+ <desc1>Cache de requêtes àgérer àla main</desc1>
+ <desc2>Cache des requêtes généré dynamiquement</desc2>
+ <comment>MyBatis propose par défaut un cache de niveau 1 au
niveau de la saession.
+Le cache de niveau 2, s'il est activé, est paramétrable (fréquence de
flush, politique d'éviction, taille...).
+Il est également possible d'utiliser un cache externe : les intégrations de
oscache, ehcache et hazelcast sont codumentées.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1612841399" title="Cache de certaines données">
+ <desc0>Pas de cache de données</desc0>
+ <desc1>Cache de données existant mais limité</desc1>
+ <desc2>Existence d'un cache des données</desc2>
+ <comment>MyBatis est un Data Mapper et non un ORM, ainsi deux
appels àla même requête retourneront deux objets différents.</comment>
+ <score>0</score>
+ </element>
+ </element>
+ </section>
+</document>
\ No newline at end of file
Index: template/ORM-Java_fr.qsos
===================================================================
RCS file: template/ORM-Java_fr.qsos
diff -N template/ORM-Java_fr.qsos
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ template/ORM-Java_fr.qsos 29 May 2012 12:54:26 -0000 1.1
@@ -0,0 +1,493 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+<header>
+<authors/>
+<dates>
+<creation/>
+<validation/>
+</dates>
+<appname/>
+<desc/>
+<release/>
+<licenseid/>
+<licensedesc/>
+<url/>
+<demourl/>
+<language>fr</language>
+<qsosappname/>
+<qsosformat>1.0</qsosformat>
+<qsosspecificformat/>
+<qsosappfamily>ORM Java</qsosappfamily>
+</header>
+<section name="generic" title="Maturité">
+<element name="maturity" title="Patrimoine">
+<desc>Historique et patrimoine du projet</desc>
+<element name="age" title="Age du projet">
+<desc0>Inférieur àtrois mois</desc0>
+<desc1>Entre trois mois et trois ans</desc1>
+<desc2>Supérieur àtrois ans</desc2>
+<comment/>
+<score/>
+</element>
+<element name="historyknowproblems" title="Historique">
+<desc0>Le logiciel connaît de nombreux problèmes qui peuvent être
rédhibitoires</desc0>
+<desc1>Pas de problèmes majeurs, ni de crise ou historique inconnu</desc1>
+<desc2>Bon historique de gestion de projet et de crise</desc2>
+<comment/>
+<score/>
+</element>
+<element name="developersidentificationturnover" title="Equipe de
développement">
+<desc0>Très peu de développeurs identifiés ou développeur unique</desc0>
+<desc1>Quelques développeurs actifs</desc1>
+<desc2>Equipe de développement importante et identifiée</desc2>
+<comment/>
+<score/>
+</element>
+<element name="popularity" title="Popularité">
+<desc0>Très peu d'utilisateurs identifiés</desc0>
+<desc1>Usage décelable</desc1>
+<desc2>Nombreux utilisateurs et références</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="activity" title="Activité">
+<desc>Activité du et autour du projet</desc>
+<element name="contributingcommunity" title="Communauté des contributeurs">
+<desc0>Pas de communauté ou de réelle activité (forum, liste de
diffusion…)</desc0>
+<desc1>Communauté existante avec une activité notable</desc1>
+<desc2>Communauté forte : grosse activité sur les forums, de nombreux
contributeurs et défenseurs</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonbugs" title="Activité autour des bugs">
+<desc0>Réactivité faible sur le forum ou sur la liste de diffusion, ou rien
au sujet des corrections de bugs dans les notes de versions</desc0>
+<desc1>Activité détectable mais sans processus clairement exposé, temps de
résolution long</desc1>
+<desc2>Forte réactivité, basée sur des rôles et des assignations de
tâches</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonfunctionalities" title="Activité autour des
fonctionnalités">
+<desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+<desc1>Évolution du produit conduite par une équipe dédiée ou par des
utilisateurs, mais sans processus clairement exposé</desc1>
+<desc2>Les requêtes pour les nouvelles fonctionnalités sont clairement
outillées, feuille de route disponible</desc2>
+<comment/>
+<score/>
+</element>
+<element name="activityonreleases" title="Activité sur les releases/versions">
+<desc0>Très faible activité que ce soit sur les versions de production ou de
développement (alpha, beta)</desc0>
+<desc1>Activité que ce soit sur les versions de production ou de
développement (alpha, beta), avec des versions correctives mineures
fréquentes</desc1>
+<desc2>Activité importante avec des versions correctives fréquentes et des
versions majeures planifiées liées aux prévisions de la feuille de
route</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="strategy" title="Gouvernance">
+<desc>Stratégie du projet</desc>
+<element name="copyrightowners" title="Détenteur des droits">
+<desc0>Les droits sont détenus par quelques individus ou entités
commerciales</desc0>
+<desc1>Les droits sont détenus par de nombreux individus de façon
homogène</desc1>
+<desc2>Les droits sont détenus par une entité légale, une fondation dans
laquelle la communauté a confiance (ex: FSF, Apache, ObjectWeb)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="roadmap" title="Feuille de route">
+<desc0>Pas de feuille de route publiée</desc0>
+<desc1>Feuille de route sans planning</desc1>
+<desc2>Feuille de route versionnée, avec planning et mesures de retard</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_740641571" title="Pilotage du projet">
+<desc0>Pas de pilotage clair du projet</desc0>
+<desc1>Pilotage dicté par un seul individu ou une entité commerciale</desc1>
+<desc2>Indépendance forte de l'équipe de développement, droits détenus par
une entité reconnue</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_548761152" title="Mode de distribution">
+<desc0>Existence d'une distribution commerciale ou propriétaire ou
distribution libre limitée fonctionnellement</desc0>
+<desc1>Sous-partie du logiciel disponible sous licence propriétaire (Coeur /
Greffons...)</desc1>
+<desc2>Distribution totalement ouverte et libre</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="industrializedsolution" title="Industrialisation">
+<desc>Niveau d'industrialisation du projet</desc>
+<element name="services" title="Services">
+<desc>Offres de services (Support, Formation, Audit...)</desc>
+<desc0>Pas d'offre de service identifiée</desc0>
+<desc1>Offre existante mais restreinte géographiquement ou en une seule
langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+<desc2>Offre riche, plusieurs fournisseurs, avec des garanties de
résultats</desc2>
+<comment/>
+<score/>
+</element>
+<element name="documentation" title="Documentation">
+<desc0>Pas de documentation utilisateur</desc0>
+<desc1>La documentation existe mais est en partie obsolète ou restreinte ÃÂ
une seule langue ou peu détaillée</desc1>
+<desc2>Documentation àjour, traduite et éventuellement adaptée ÃÂ
différentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="qualityassurance" title="Méthode qualité">
+<desc>Processus et méthode qualité</desc>
+<desc0>Pas de processus qualité identifié</desc0>
+<desc1>Processus qualité existant, mais non formalisé ou non outillé</desc1>
+<desc2>Processus qualité basé sur l'utilisation d'outils et de
méthodologies standards</desc2>
+<comment/>
+<score/>
+</element>
+<element name="modificationofsourcecode" title="Modification du code">
+<desc0>Pas de moyen pratique de proposer des modifications de code</desc0>
+<desc1>Des outils sont fournis pour accéder et modifier le code (ex : CVS,
SVN) mais ne sont pas vraiment utilisés pour développer le produit</desc1>
+<desc2>Le processus de modification de code est bien défini, exposé et
respecté, basé sur des rôles bien définis</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+<section name="ID_338434665" title="Utilisabilité">
+<element name="ID_1773897131" title="Intégration IDE">
+<element name="ID_1199895028" title="Outil graphique">
+<desc>Outil graphique accompagnateur pour configurer le mapping</desc>
+<desc0>Pas d'outil graphique pour le mapping</desc0>
+<desc1>Outil graphique de mapping limité</desc1>
+<desc2>Outil graphique de mapping riche</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_114293744" title="Génération de classes ">
+<desc>Génération des classes d'objets de données</desc>
+<desc0>Pas de génération de classes</desc0>
+<desc1>Génération automatique des classes</desc1>
+<desc2>Génération personnalisable</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1430039139" title="Génération de schéma de base de
données">
+<desc0>Requièrt son propre modèle</desc0>
+<desc1>Génération possible mais non personnalisable</desc1>
+<desc2>Génération personnalisable (base de données déjàexistante ou
non)</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1616300461" title="Génération de la documentation">
+<desc0>Pas de documentation générée</desc0>
+<desc1>Génération possible mais non personnalisable</desc1>
+<desc2>Génération personnalisable de la documentation</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_309751365" title="Portabilité">
+<element name="ID_1389041924" title="Portabilité du code">
+<desc>Portabilité du code lors du changement de SGBD</desc>
+<desc0>Code spécifique au SGBD àréimplémenter àla main</desc0>
+<desc1>Code spécifique au SGBD partiellement généré par la
framework</desc1>
+<desc2>Code spécifique au SGBD complétement généré par la
framework</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_517153792" title="Base de données supportées">
+<desc>Quelles sont les bases de données supportées par la solution ?</desc>
+<desc0>Nombre très limité</desc0>
+<desc1>Nombre limité</desc1>
+<desc2>Grand nombre de bases de données supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1060935903" title="Respects des standards">
+<element name="ID_1520050744" title="SQL">
+<desc>Versions de SQL supportées</desc>
+<desc0>Le framework ne respecte pas SQL</desc0>
+<desc1>Le framework ne respecte qu'une version de SQL</desc1>
+<desc2>Le framework supporte plusieurs versions de SQL et en fonction du SGBD
permet de préciser laquelle utiliser</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_80299401" title="JPA">
+<desc>Compatibilité du framework avec Java Persistence API</desc>
+<desc0>Framework non compatible avec JPA</desc0>
+<desc1>Framework non compatible la dernière version de JPA, JPA2</desc1>
+<desc2>Framework compatible avec JPA2</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1807694901" title="JDO">
+<desc>Compatibilité du framework avec Java Data Objects</desc>
+<desc0>Framework non compatible avec JDO</desc0>
+<desc1>Framework partiellement compatible avec JDO</desc1>
+<desc2>Framework complètement compatible avec JDO</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</element>
+</section>
+<section name="ID_424401691" title="Fonctionnalités ORM">
+<element name="ID_1215384889" title="Gestion des requêtes">
+<element name="ID_441206190" title="Transactions">
+<desc>Support des transactions</desc>
+<desc0>Pas de support des transactions</desc0>
+<desc1>Support partiel des transactions</desc1>
+<desc2>Support complet des transactions</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1344369848" title="Langage de requête">
+<desc>Langage de requêtes puissant afin de pouvoir faire des requêtes
dynamiques</desc>
+<desc0>Langage de requête faible</desc0>
+<desc1>Langage de requête assez puissant (ne supporte pas les fonctions
avancées de SQL)</desc1>
+<desc2>Langage de requête puissant</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_900690955" title="Personnalisation des requêtes">
+<desc>Possibilité de personnaliser les requêtes SQL pour aller plus loin que
ce qui est permis par le langage de requête</desc>
+<desc0>Pas de possibilité de faire des requêtes personnalisées</desc0>
+<desc1>La personnalisation des requêtes est possible mais limitée</desc1>
+<desc2>La solution est adaptable et permet de supporter tout type de
données</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_463148311" title="Gestion de concurrence">
+<desc>Gestion de la concurrence (support des approches optimiste et
pessimiste)</desc>
+<desc0>Pas de gestion de concurrence</desc0>
+<desc1>Gestion pessimiste de concurrence</desc1>
+<desc2>Gestion optimiste de concurrence</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+<element name="ID_652002875" title="Heritage, polymorphisme">
+<desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies entre les
entités et utiliser le polymorphisme</desc>
+<desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+<desc1>Support d'héritage limité (gestion limitée àune seule façon :
Simple / Concret / Par agrégation)</desc1>
+<desc2>Support des différentes combinaisons de tables et de classes</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1690384726" title="Liberté dans les classes">
+<desc>Pas de classe de base pour les entités; pas d'interface obligatoire;
pas de classe spécifique pour les collections</desc>
+<desc0>Les classes dépendent d'une classe de base ou d'une interface </desc0>
+<desc1>Certaines classes spécifiques sont imposées par le framwork (exemple
: collections)</desc1>
+<desc2>Les classes sont libres (pas de classes de base, pas d'interface
obligatoire, pas de classes spécifiques pour les collections)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1276541290" title="Systèmes d'intercepteurs et mécanismes
de délégation">
+<desc>Système d'intercepteurs et mécanismes de délégation pour avoir la
main au moment où la gestion de la persistance intervient</desc>
+<desc0>Pas de support</desc0>
+<desc1>Support partiel</desc1>
+<desc2>Support complet</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_701838668" title="Filtrage d'objet en mémoire">
+<desc0>Pas de filtrage </desc0>
+<desc1>Filtrage d'objets partiel ou complexe</desc1>
+<desc2>Filtrage d'objets souple</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_706579590" title="Gestion des associations">
+<element name="ID_742121362" title="Association objets <-> tables">
+<element name="ID_312267195" title="Association classe/plusieurs tables">
+<desc>Possibilité d'associer àune classe des données provenant de
plusieurs tables (jointures, vues)</desc>
+<desc0>Fonctionnalité non offerte (mapping direct d'une table sur une
classe)</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_38998304" title="Eclatement table -> plusieurs classes">
+<desc>Possibilité de pouvoir éclater en plusieurs classes les données d'une
table</desc>
+<desc0>Fonctionnalité non offerte</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1039584203" title="Types de relation">
+<desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+<desc0>Pas de support</desc0>
+<desc1>Support limité (pas de relations n-n)</desc1>
+<desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1024175273" title="Définition des associations">
+<element name="ID_201588288" title="Externe ">
+<desc0>Pas de fichier de mapping externe</desc0>
+<desc1>Fichier de mapping obligatoire</desc1>
+<desc2>Fichier de mapping optionnel</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1316391039" title="Attributs dans le code">
+<desc0>Pas d'attributs dans le code</desc0>
+<desc1>Attributs dans le code obligatoires</desc1>
+<desc2>Attributs dans le code optionnels</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1914850042" title="Génération des associations">
+<desc>Les déclarations d'associations peuvent être générées par le
framework par reverse engineering</desc>
+<desc0>Fonctionnalité non offerte</desc0>
+<desc1>Fonctionnalité disponible mais limitée</desc1>
+<desc2>Fonctionnalité complètement couverte</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1249899865" title="Fonctionnalités liées aux données">
+<element name="ID_1439836939" title="Types supportés">
+<element name="ID_697051761" title="Types de données spécifiques">
+<desc>Support des types de données spécifiques au moteur de base de données
(champs de type compteur - identity/autoincrémenté, GUID)</desc>
+<desc0>Pas de support </desc0>
+<desc1>Seulement quelques types sont supportés pour certains SGBD</desc1>
+<desc2>Support complet (types compteur, identity/autoincrémenté,
GUID)</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1247023248" title="Gestion des types de données évolués
(images...)">
+<desc0>Pas de support des types de données évolués</desc0>
+<desc1>Quelques types évolués sont supportés</desc1>
+<desc2>La solution est adaptable et permet de supporter tout type de
données</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_1809466455" title="Fonctionnalités SQL supportées">
+<element name="ID_491863742" title="Agrégats">
+<desc>Gestion des agrégats (équivalent des SUM, AVG, MIN, MAX, COUNT du
SQL)</desc>
+<desc0>Pas de support des fonctions d'agrégat</desc0>
+<desc1>Support uniquement de quelques fonctions d'agrégat</desc1>
+<desc2>Support de toutes les fonctions d'agrégat</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1829057516" title="Groupes">
+<desc>Support des groupes (GROUP BY du SQL)</desc>
+<desc0>Pas de support de groupes</desc0>
+<desc1>Support partiel des groupes</desc1>
+<desc2>Support complet des groupes</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_15374559" title="Procédures stockées">
+<desc>Support des procédures stockées</desc>
+<desc0>Pas de support des procédures stockées</desc0>
+<desc1>Support partiel ou limité</desc1>
+<desc2>Support complet des procédures stockées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1493124660" title="Jointures SQL ">
+<desc>Support de tout type de jointures SQL (inner join, outer join)</desc>
+<desc0>Pas de support de jointures SQL</desc0>
+<desc1>Support limité des jointures SQL</desc1>
+<desc2>Support de jointures SQL souple et efficace</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_803290388" title="Liaison avec la base de données">
+<element name="ID_650827994" title="Génération du schéma de BD">
+<desc>Le framework permet-il de générer le schéma de la base de données
?</desc>
+<desc0>Le schéma n'est pas généré</desc0>
+<desc1>La génération est possible mais pas personnalisable</desc1>
+<desc2>Génération du schéma automatique et personnalisable</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1160163318" title="Différer les MAJ de la BD">
+<desc>Pouvoir différer les mises àjour de la base de données, et les
déclencher àun instant donné par un appel de méthode spécifique</desc>
+<desc0>Fonctionnalité non supportée</desc0>
+<desc1>La maîtrise des mises àjour est possible mais limitée ou
complexe</desc1>
+<desc2>Le framework offre la complète maîtrise des mises àjour</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1787877607" title="Mode déconnecté">
+<desc>Support du mode déconnecté (alimenter des objets depuis la base de
données, fermer la connexion, la session, créer/modifier/supprimer des
objets, et appliquer ces modifications sur la base de données plus tard)</desc>
+<desc0>Pas de support du mode déconnecté</desc0>
+<desc1>Support partiel du mode déconnecté</desc1>
+<desc2>Support complet du mode déconnecté</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+<element name="ID_346348844" title="Chiffrement des données">
+<desc0>Pas de chiffrement des données</desc0>
+<desc1>Support limité (par exemple, un seul algorithme de chiffrement est
supporté)</desc1>
+<desc2>Support complet (l'utilisateur a la possibilité de choisir
l'algorithme de chiffrement )</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+<section name="ID_1587767826" title="Optimisation et performance">
+<element name="ID_193053566" title="Chargement différé">
+<desc>Lazy loading</desc>
+<desc0>Non supporté</desc0>
+<desc1>Supporté de manière partielle</desc1>
+<desc2>Complètement supporté</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1471006078" title="Requêtes optimisées">
+<desc>mise àjour uniquement des champs modifiés, ..</desc>
+<desc0>Pas de requêtes optimisées</desc0>
+<desc1>Support des requêtes optimisées</desc1>
+<desc2>Support completl des requêtes optimisées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1653886314" title="MAJ en cascade">
+<desc>Gestion des mises àjour en cascade</desc>
+<desc0>Non gérée </desc0>
+<desc1>Mises àjour en cascade partiellement supportées</desc1>
+<desc2>Mises àjour en cascade complètement supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1245205026" title="MAJ / Suppressions massives">
+<desc>Gestion des modifications, des suppressions des milliers
d'enregistrements d'un coup sans avoir àcharger tous les objets en
mémoire.</desc>
+<desc0>Non supportées</desc0>
+<desc1>Partiellement supportées</desc1>
+<desc2>Complètement supportées</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_423607022" title="Pools de connexions">
+<desc>Gestion de pools de connexions par le framework</desc>
+<desc0>Non supporté</desc0>
+<desc1>Supporté de manière partielle</desc1>
+<desc2>Complètement supporté</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1707317083" title="Caches">
+<element name="ID_667733390" title="Cache des requêtes">
+<desc0>Pas de cache des requêtes</desc0>
+<desc1>Cache de requêtes àgérer àla main</desc1>
+<desc2>Cache des requêtes généré dynamiquement</desc2>
+<comment/>
+<score/>
+</element>
+<element name="ID_1612841399" title="Cache de certaines données">
+<desc0>Pas de cache de données</desc0>
+<desc1>Cache de données existant mais limité</desc1>
+<desc2>Existence d'un cache des données</desc2>
+<comment/>
+<score/>
+</element>
+</element>
+</section>
+</document>
Index: Torque/Torque-3.3_fr.qsos
===================================================================
RCS file: Torque/Torque-3.3_fr.qsos
diff -N Torque/Torque-3.3_fr.qsos
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Torque/Torque-3.3_fr.qsos 29 May 2012 12:54:26 -0000 1.1
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <header>
+ <authors>
+ <author>
+ <name>Raphael Semeteys</name>
+ <email>address@hidden</email>
+ </author>
+ </authors>
+ <dates>
+ <creation></creation>
+ <validation></validation>
+ </dates>
+ <appname>Torque</appname>
+ <desc></desc>
+ <release>3.3</release>
+ <licenseid>23</licenseid>
+ <licensedesc>The Apache License 2.0</licensedesc>
+ <url>http://db.apache.org/torque/</url>
+ <demourl></demourl>
+ <language>fr</language>
+ <qsosappname></qsosappname>
+ <qsosformat>1.0</qsosformat>
+ <qsosspecificformat></qsosspecificformat>
+ <qsosappfamily>ORM Java</qsosappfamily>
+ </header>
+ <section name="generic" title="Maturité">
+ <element name="maturity" title="Patrimoine">
+ <desc>Historique et patrimoine du projet</desc>
+ <element name="age" title="Age du projet">
+ <desc0>Inférieur àtrois mois</desc0>
+ <desc1>Entre trois mois et trois ans</desc1>
+ <desc2>Supérieur àtrois ans</desc2>
+ <comment>Le projet date de 2000.</comment>
+ <score>2</score>
+ </element>
+ <element name="historyknowproblems" title="Historique">
+ <desc0>Le logiciel connaît de nombreux problèmes qui peuvent
être rédhibitoires</desc0>
+ <desc1>Pas de problèmes majeurs, ni de crise ou historique
inconnu</desc1>
+ <desc2>Bon historique de gestion de projet et de crise</desc2>
+ <comment></comment>
+ <score>1</score>
+ </element>
+ <element name="developersidentificationturnover" title="Equipe de
développement">
+ <desc0>Très peu de développeurs identifiés ou développeur
unique</desc0>
+ <desc1>Quelques développeurs actifs</desc1>
+ <desc2>Equipe de développement importante et identifiée</desc2>
+ <comment>3 développeur actifs, 5 au total
(http://www.ohloh.net/p/freshmeat_torque/factoids/5781184)</comment>
+ <score>1</score>
+ </element>
+ <element name="popularity" title="Popularité">
+ <desc0>Très peu d'utilisateurs identifiés</desc0>
+ <desc1>Usage décelable</desc1>
+ <desc2>Nombreux utilisateurs et références</desc2>
+ <comment>Framework ancien et reconnu même s'il est désormais en
perte de vitesse.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="activity" title="Activité">
+ <desc>Activité du et autour du projet</desc>
+ <element name="contributingcommunity" title="Communauté des
contributeurs">
+ <desc0>Pas de communauté ou de réelle activité (forum, liste de
diffusion…)</desc0>
+ <desc1>Communauté existante avec une activité notable</desc1>
+ <desc2>Communauté forte : grosse activité sur les forums, de
nombreux contributeurs et défenseurs</desc2>
+ <comment>Activité décelable au niveau de la base de code et sur
la liste de discussion des développeurs, bien qu'en décroissance.</comment>
+ <score>1</score>
+ </element>
+ <element name="activityonbugs" title="Activité autour des bugs">
+ <desc0>Réactivité faible sur le forum ou sur la liste de
diffusion, ou rien au sujet des corrections de bugs dans les notes de
versions</desc0>
+ <desc1>Activité détectable mais sans processus clairement
exposé, temps de résolution long</desc1>
+ <desc2>Forte réactivité, basée sur des rôles et des
assignations de tâches</desc2>
+ <comment>Activité relativement faible
(https://issues.apache.org/jira/browse/TORQUE)</comment>
+ <score>1</score>
+ </element>
+ <element name="activityonfunctionalities" title="Activité autour des
fonctionnalités">
+ <desc0>Pas ou peu de nouvelles fonctionnalités</desc0>
+ <desc1>Évolution du produit conduite par une équipe dédiée ou
par des utilisateurs, mais sans processus clairement exposé</desc1>
+ <desc2>Les requêtes pour les nouvelles fonctionnalités sont
clairement outillées, feuille de route disponible</desc2>
+ <comment>Le projet gère une roadmap mais les nouvelles
fonctionnalités sont rares.</comment>
+ <score>0</score>
+ </element>
+ <element name="activityonreleases" title="Activité sur les
releases/versions">
+ <desc0>Très faible activité que ce soit sur les versions de
production ou de développement (alpha, beta)</desc0>
+ <desc1>Activité que ce soit sur les versions de production ou de
développement (alpha, beta), avec des versions correctives mineures
fréquentes</desc1>
+ <desc2>Activité importante avec des versions correctives
fréquentes et des versions majeures planifiées liées aux prévisions de la
feuille de route</desc2>
+ <comment>Une version 4.0 est prévue depuis plusieurs années
(https://issues.apache.org/jira/browse/TORQUE#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel),
la dernière version stable date de 2008.</comment>
+ <score>0</score>
+ </element>
+ </element>
+ <element name="strategy" title="Gouvernance">
+ <desc>Stratégie du projet</desc>
+ <element name="copyrightowners" title="Détenteur des droits">
+ <desc0>Les droits sont détenus par quelques individus ou entités
commerciales</desc0>
+ <desc1>Les droits sont détenus par de nombreux individus de
façon homogène</desc1>
+ <desc2>Les droits sont détenus par une entité légale, une
fondation dans laquelle la communauté a confiance (ex: FSF, Apache,
ObjectWeb)</desc2>
+ <comment>Les droits sont détenus par la fondation
Apache.</comment>
+ <score>2</score>
+ </element>
+ <element name="roadmap" title="Feuille de route">
+ <desc0>Pas de feuille de route publiée</desc0>
+ <desc1>Feuille de route sans planning</desc1>
+ <desc2>Feuille de route versionnée, avec planning et mesures de
retard</desc2>
+
<comment>https://issues.apache.org/jira/browse/TORQUE/fixforversion/12312102</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_740641571" title="Pilotage du projet">
+ <desc0>Pas de pilotage clair du projet</desc0>
+ <desc1>Pilotage dicté par un seul individu ou une entité
commerciale</desc1>
+ <desc2>Indépendance forte de l'équipe de développement, droits
détenus par une entité reconnue</desc2>
+ <comment></comment>
+ <score>2</score>
+ </element>
+ <element name="ID_548761152" title="Mode de distribution">
+ <desc0>Existence d'une distribution commerciale ou propriétaire
ou distribution libre limitée fonctionnellement</desc0>
+ <desc1>Sous-partie du logiciel disponible sous licence
propriétaire (Coeur / Greffons...)</desc1>
+ <desc2>Distribution totalement ouverte et libre</desc2>
+ <comment></comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="industrializedsolution" title="Industrialisation">
+ <desc>Niveau d'industrialisation du projet</desc>
+ <element name="services" title="Services">
+ <desc>Offres de services (Support, Formation, Audit...)</desc>
+ <desc0>Pas d'offre de service identifiée</desc0>
+ <desc1>Offre existante mais restreinte géographiquement ou en une
seule langue ou fournie par un seul fournisseur ou sans garantie</desc1>
+ <desc2>Offre riche, plusieurs fournisseurs, avec des garanties de
résultats</desc2>
+ <comment>Quelques offres de support, peu de formation. </comment>
+ <score>1</score>
+ </element>
+ <element name="documentation" title="Documentation">
+ <desc0>Pas de documentation utilisateur</desc0>
+ <desc1>La documentation existe mais est en partie obsolète ou
restreinte àune seule langue ou peu détaillée</desc1>
+ <desc2>Documentation àjour, traduite et éventuellement adaptée
àdifférentes cibles de lecteurs (end-user, sysadmin, manager…)</desc2>
+
<comment>http://db.apache.org/torque/documentation/index.html</comment>
+ <score>1</score>
+ </element>
+ <element name="qualityassurance" title="Méthode qualité">
+ <desc>Processus et méthode qualité</desc>
+ <desc0>Pas de processus qualité identifié</desc0>
+ <desc1>Processus qualité existant, mais non formalisé ou non
outillé</desc1>
+ <desc2>Processus qualité basé sur l'utilisation d'outils et de
méthodologies standards</desc2>
+ <comment>Torque s'insère dans le processus qualité de la
fondation Apache</comment>
+ <score>2</score>
+ </element>
+ <element name="modificationofsourcecode" title="Modification du code">
+ <desc0>Pas de moyen pratique de proposer des modifications de
code</desc0>
+ <desc1>Des outils sont fournis pour accéder et modifier le code
(ex : CVS, SVN) mais ne sont pas vraiment utilisés pour développer le
produit</desc1>
+ <desc2>Le processus de modification de code est bien défini,
exposé et respecté, basé sur des rôles bien définis</desc2>
+
<comment>http://db.apache.org/torque/developer-info/index.html</comment>
+ <score>2</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_338434665" title="Utilisabilité">
+ <element name="ID_1773897131" title="Intégration IDE">
+ <element name="ID_1199895028" title="Outil graphique">
+ <desc>Outil graphique accompagnateur pour configurer le
mapping</desc>
+ <desc0>Pas d'outil graphique pour le mapping</desc0>
+ <desc1>Outil graphique de mapping limité</desc1>
+ <desc2>Outil graphique de mapping riche</desc2>
+ <comment>Le projet pointe vers des outils externes obsolètes
(http://db.apache.org/torque/tools/index.html)</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_114293744" title="Génération de classes ">
+ <desc>Génération des classes d'objets de données</desc>
+ <desc0>Pas de génération de classes</desc0>
+ <desc1>Génération automatique des classes</desc1>
+ <desc2>Génération personnalisable</desc2>
+ <comment>Via le système de templates Velocity qui est
personnalisable.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1430039139" title="Génération de schéma de base
de données">
+ <desc0>Requièrt son propre modèle</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable (base de données déjÃÂ
existante ou non)</desc2>
+ <comment>Le schéma est généré àpartir de la modélisation au
format XSD des données, via le système de templates Velocity qui est
personnalisable.</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1616300461" title="Génération de la documentation">
+ <desc0>Pas de documentation générée</desc0>
+ <desc1>Génération possible mais non personnalisable</desc1>
+ <desc2>Génération personnalisable de la documentation</desc2>
+ <comment>Torque propose des tâches Maven/Ant pour générer
automatiquement la documentation au format HTML (tâche maven
torque:doc).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_309751365" title="Portabilité">
+ <element name="ID_1389041924" title="Portabilité du code">
+ <desc>Portabilité du code lors du changement de SGBD</desc>
+ <desc0>Code spécifique au SGBD àréimplémenter àla
main</desc0>
+ <desc1>Code spécifique au SGBD partiellement généré par la
framework</desc1>
+ <desc2>Code spécifique au SGBD complétement généré par la
framework</desc2>
+ <comment>Le code est généré àpartir de la modélisation au
formet XSD des données</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_517153792" title="Base de données supportées">
+ <desc>Quelles sont les bases de données supportées par la
solution ?</desc>
+ <desc0>Nombre très limité</desc0>
+ <desc1>Nombre limité</desc1>
+ <desc2>Grand nombre de bases de données supportées</desc2>
+ <comment>Axion (Alpha), Cloudscape, DB2, DB2/AS400 , Derby,
Firebird, Hypersonic, Informix, InstantDB, Interbase, MS Access, MS SQL ,
MySQL, Oracle, PostgreSQL, SapDB, Sybase</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1060935903" title="Respects des standards">
+ <element name="ID_1520050744" title="SQL">
+ <desc>Versions de SQL supportées</desc>
+ <desc0>Le framework ne respecte pas SQL</desc0>
+ <desc1>Le framework ne respecte qu'une version de SQL</desc1>
+ <desc2>Le framework supporte plusieurs versions de SQL et en
fonction du SGBD permet de préciser laquelle utiliser</desc2>
+ <comment>Torque ne permet pas de préciser la version standard
de SQL</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_80299401" title="JPA">
+ <desc>Compatibilité du framework avec Java Persistence
API</desc>
+ <desc0>Framework non compatible avec JPA</desc0>
+ <desc1>Framework non compatible la dernière version de JPA,
JPA2</desc1>
+ <desc2>Framework compatible avec JPA2</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1807694901" title="JDO">
+ <desc>Compatibilité du framework avec Java Data Objects</desc>
+ <desc0>Framework non compatible avec JDO</desc0>
+ <desc1>Framework partiellement compatible avec JDO</desc1>
+ <desc2>Framework complètement compatible avec JDO</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ </element>
+ </section>
+ <section name="ID_424401691" title="Fonctionnalités ORM">
+ <element name="ID_1215384889" title="Gestion des requêtes">
+ <element name="ID_441206190" title="Transactions">
+ <desc>Support des transactions</desc>
+ <desc0>Pas de support des transactions</desc0>
+ <desc1>Support partiel des transactions</desc1>
+ <desc2>Support complet des transactions</desc2>
+ <comment>Les classes auto générées contiennent des instructions
transactionnelles, il est également possible de gérer directement les
transactions.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1344369848" title="Langage de requête">
+ <desc>Langage de requêtes puissant afin de pouvoir faire des
requêtes dynamiques</desc>
+ <desc0>Langage de requête faible</desc0>
+ <desc1>Langage de requête assez puissant (ne supporte pas les
fonctions avancées de SQL)</desc1>
+ <desc2>Langage de requête puissant</desc2>
+ <comment>Torque ne propose pas de langage de requête en tant que
tel mais une API utilisable via les classes Java générées par le
framework.</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_900690955" title="Personnalisation des requêtes">
+ <desc>Possibilité de personnaliser les requêtes SQL pour aller
plus loin que ce qui est permis par le langage de requête</desc>
+ <desc0>Pas de possibilité de faire des requêtes
personnalisées</desc0>
+ <desc1>La personnalisation des requêtes est possible mais
limitée</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout type
de données</desc2>
+ <comment>Les classe générées sont personnalisables.</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_463148311" title="Gestion de concurrence">
+ <desc>Gestion de la concurrence (support des approches optimiste
et pessimiste)</desc>
+ <desc0>Pas de gestion de concurrence</desc0>
+ <desc1>Gestion pessimiste de concurrence</desc1>
+ <desc2>Gestion optimiste de concurrence</desc2>
+ <comment>Torque ne propose pas de gestion optimiste de la
concurrence.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_1500251732" title="Fonctionnalités liées aux objets">
+ <element name="ID_652002875" title="Heritage, polymorphisme">
+ <desc>Tirer parti de l'héritage, pouvoir créer des hiérarchies
entre les entités et utiliser le polymorphisme</desc>
+ <desc0>Pas de support d'héritage ou du polymorphisme</desc0>
+ <desc1>Support d'héritage limité (gestion limitée àune seule
façon : Simple / Concret / Par agrégation)</desc1>
+ <desc2>Support des différentes combinaisons de tables et de
classes</desc2>
+ <comment></comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1690384726" title="Liberté dans les classes">
+ <desc>Pas de classe de base pour les entités; pas d'interface
obligatoire; pas de classe spécifique pour les collections</desc>
+ <desc0>Les classes dépendent d'une classe de base ou d'une
interface </desc0>
+ <desc1>Certaines classes spécifiques sont imposées par le
framwork (exemple : collections)</desc1>
+ <desc2>Les classes sont libres (pas de classes de base, pas
d'interface obligatoire, pas de classes spécifiques pour les
collections)</desc2>
+ <comment>Les classes générées par le framework sont
spécifiques.</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1276541290" title="Systèmes d'intercepteurs et
mécanismes de délégation">
+ <desc>Système d'intercepteurs et mécanismes de délégation pour
avoir la main au moment où la gestion de la persistance intervient</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support partiel</desc1>
+ <desc2>Support complet</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_701838668" title="Filtrage d'objet en mémoire">
+ <desc0>Pas de filtrage </desc0>
+ <desc1>Filtrage d'objets partiel ou complexe</desc1>
+ <desc2>Filtrage d'objets souple</desc2>
+ <comment></comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_706579590" title="Gestion des associations">
+ <element name="ID_742121362" title="Association objets <->
tables">
+ <element name="ID_312267195" title="Association classe/plusieurs
tables">
+ <desc>Possibilité d'associer àune classe des données
provenant de plusieurs tables (jointures, vues)</desc>
+ <desc0>Fonctionnalité non offerte (mapping direct d'une table
sur une classe)</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>La philosophie de Torque ets d'associer les objets aux
tables en relation 1-1 ou 1-n, le framework ne permet pas de réaliser plus
d'une jointure.</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_38998304" title="Eclatement table ->
plusieurs classes">
+ <desc>Possibilité de pouvoir éclater en plusieurs classes les
données d'une table</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>La philosophie de Torque ets d'associer les objets aux
tables en relation 1-1 ou 1-n (notion de Peer).</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1039584203" title="Types de relation">
+ <desc>Types de relations supportés (1-1, 1-n, n-n)</desc>
+ <desc0>Pas de support</desc0>
+ <desc1>Support limité (pas de relations n-n)</desc1>
+ <desc2>Support de tout type de relations (1-1, 1-n, n-n)</desc2>
+ <comment>La philosophie de Torque ets d'associer les objets aux
tables en relation 1-1 ou 1-n.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_1024175273" title="Définition des associations">
+ <element name="ID_201588288" title="Externe ">
+ <desc0>Pas de fichier de mapping externe</desc0>
+ <desc1>Fichier de mapping obligatoire</desc1>
+ <desc2>Fichier de mapping optionnel</desc2>
+ <comment>Torque utilise un fichier XML au format DTD pour
décrire le schéma des données, àpartir duquel sont générés le schéma
de base de données et les classes Java. </comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1316391039" title="Attributs dans le code">
+ <desc0>Pas d'attributs dans le code</desc0>
+ <desc1>Attributs dans le code obligatoires</desc1>
+ <desc2>Attributs dans le code optionnels</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ <element name="ID_1914850042" title="Génération des associations">
+ <desc>Les déclarations d'associations peuvent être générées
par le framework par reverse engineering</desc>
+ <desc0>Fonctionnalité non offerte</desc0>
+ <desc1>Fonctionnalité disponible mais limitée</desc1>
+ <desc2>Fonctionnalité complètement couverte</desc2>
+ <comment>A partir d'un schéma au format SQL (tâche maven
torque:sql2xml) ou en se connectant directement àla base de données (tâche
maven torque:jdbc).</comment>
+ <score>2</score>
+ </element>
+ </element>
+ <element name="ID_1249899865" title="Fonctionnalités liées aux
données">
+ <element name="ID_1439836939" title="Types supportés">
+ <element name="ID_697051761" title="Types de données
spécifiques">
+ <desc>Support des types de données spécifiques au moteur de
base de données (champs de type compteur - identity/autoincrémenté,
GUID)</desc>
+ <desc0>Pas de support </desc0>
+ <desc1>Seulement quelques types sont supportés pour certains
SGBD</desc1>
+ <desc2>Support complet (types compteur,
identity/autoincrémenté, GUID)</desc2>
+ <comment>Torque utilise l'ID Broker pour autoamtiquement créer
des clé primaires uniques, àpartir d'une table spécifique appelée id_table.
+Le framework est également capable d'utiliser le mécanisme de génération
d'identifiant des SGBD (précisé via l'attribut idMethod du schéma).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1247023248" title="Gestion des types de données
évolués (images...)">
+ <desc0>Pas de support des types de données évolués</desc0>
+ <desc1>Quelques types évolués sont supportés</desc1>
+ <desc2>La solution est adaptable et permet de supporter tout
type de données</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ <element name="ID_1809466455" title="Fonctionnalités SQL
supportées">
+ <element name="ID_491863742" title="Agrégats">
+ <desc>Gestion des agrégats (équivalent des SUM, AVG, MIN,
MAX, COUNT du SQL)</desc>
+ <desc0>Pas de support des fonctions d'agrégat</desc0>
+ <desc1>Support uniquement de quelques fonctions
d'agrégat</desc1>
+ <desc2>Support de toutes les fonctions d'agrégat</desc2>
+
<comment>http://db.apache.org/torque/releases/torque-3.3/runtime/apidocs/org/apache/torque/util/functions/FunctionFactory.html</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1829057516" title="Groupes">
+ <desc>Support des groupes (GROUP BY du SQL)</desc>
+ <desc0>Pas de support de groupes</desc0>
+ <desc1>Support partiel des groupes</desc1>
+ <desc2>Support complet des groupes</desc2>
+ <comment>Via la méthode addGroupByColumn de la classe
Criteria</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_15374559" title="Procédures stockées">
+ <desc>Support des procédures stockées</desc>
+ <desc0>Pas de support des procédures stockées</desc0>
+ <desc1>Support partiel ou limité</desc1>
+ <desc2>Support complet des procédures stockées</desc2>
+ <comment>Il est possible de gérer l'appel et le retour de
procédures stockées mais cela semble complexe te très peu documenté :
http://wiki.apache.org/db-torque/FrequentlyAskedQuestions#How_can_I_execute_a_stored_procedure</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1493124660" title="Jointures SQL ">
+ <desc>Support de tout type de jointures SQL (inner join, outer
join)</desc>
+ <desc0>Pas de support de jointures SQL</desc0>
+ <desc1>Support limité des jointures SQL</desc1>
+ <desc2>Support de jointures SQL souple et efficace</desc2>
+ <comment>Ne génère pas de requêtes avec plus d'une jointure
via clé primaire</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_803290388" title="Liaison avec la base de données">
+ <element name="ID_650827994" title="Génération du schéma de BD">
+ <desc>Le framework permet-il de générer le schéma de la base
de données ?</desc>
+ <desc0>Le schéma n'est pas généré</desc0>
+ <desc1>La génération est possible mais pas
personnalisable</desc1>
+ <desc2>Génération du schéma automatique et
personnalisable</desc2>
+ <comment>Le schéma est généré àpartir de la modélisation
au format XSD des données, via le système de templates Velocity qui est
personnalisable.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1160163318" title="Différer les MAJ de la BD">
+ <desc>Pouvoir différer les mises àjour de la base de
données, et les déclencher àun instant donné par un appel de méthode
spécifique</desc>
+ <desc0>Fonctionnalité non supportée</desc0>
+ <desc1>La maîtrise des mises àjour est possible mais
limitée ou complexe</desc1>
+ <desc2>Le framework offre la complète maîtrise des mises ÃÂ
jour</desc2>
+ <comment>Les données sont gérées par Torque dans les objets
spécifiques te ne sont sauvagardées que sur appels explicites de méthides de
type doSave() ou doDelete()</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1787877607" title="Mode déconnecté">
+ <desc>Support du mode déconnecté (alimenter des objets depuis
la base de données, fermer la connexion, la session, créer/modifier/supprimer
des objets, et appliquer ces modifications sur la base de données plus
tard)</desc>
+ <desc0>Pas de support du mode déconnecté</desc0>
+ <desc1>Support partiel du mode déconnecté</desc1>
+ <desc2>Support complet du mode déconnecté</desc2>
+ <comment>Non proposé en standard bien qu'il soit envisageable
de le faure via les API et les objets générés par Torque.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ <element name="ID_346348844" title="Chiffrement des données">
+ <desc0>Pas de chiffrement des données</desc0>
+ <desc1>Support limité (par exemple, un seul algorithme de
chiffrement est supporté)</desc1>
+ <desc2>Support complet (l'utilisateur a la possibilité de choisir
l'algorithme de chiffrement )</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ </element>
+ </section>
+ <section name="ID_1587767826" title="Optimisation et performance">
+ <element name="ID_193053566" title="Chargement différé">
+ <desc>Lazy loading</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>En discussion pour la version 4 du framework
(http://wiki.apache.org/db-torque/NextRelease).</comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1471006078" title="Requêtes optimisées">
+ <desc>mise àjour uniquement des champs modifiés, ..</desc>
+ <desc0>Pas de requêtes optimisées</desc0>
+ <desc1>Support des requêtes optimisées</desc1>
+ <desc2>Support completl des requêtes optimisées</desc2>
+ <comment>Torque supporte les prepared statements pour les
instructions SELECT (via les méthodes doPSSelect() et
createPreparedStatement() de la classe BasePeer).</comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1653886314" title="MAJ en cascade">
+ <desc>Gestion des mises àjour en cascade</desc>
+ <desc0>Non gérée </desc0>
+ <desc1>Mises àjour en cascade partiellement supportées</desc1>
+ <desc2>Mises àjour en cascade complètement supportées</desc2>
+ <comment></comment>
+ <score>0</score>
+ </element>
+ <element name="ID_1245205026" title="MAJ / Suppressions massives">
+ <desc>Gestion des modifications, des suppressions des milliers
d'enregistrements d'un coup sans avoir àcharger tous les objets en
mémoire.</desc>
+ <desc0>Non supportées</desc0>
+ <desc1>Partiellement supportées</desc1>
+ <desc2>Complètement supportées</desc2>
+ <comment>Via l'utilisation d'objets de types Peer qui sont associés
aux tables et non aux enregistrements.</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_423607022" title="Pools de connexions">
+ <desc>Gestion de pools de connexions par le framework</desc>
+ <desc0>Non supporté</desc0>
+ <desc1>Supporté de manière partielle</desc1>
+ <desc2>Complètement supporté</desc2>
+ <comment>Torque supporte les pools de connexion JDBC (via le sous
projet Village).</comment>
+ <score>2</score>
+ </element>
+ <element name="ID_1707317083" title="Caches">
+ <element name="ID_667733390" title="Cache des requêtes">
+ <desc0>Pas de cache des requêtes</desc0>
+ <desc1>Cache de requêtes àgérer àla main</desc1>
+ <desc2>Cache des requêtes généré dynamiquement</desc2>
+ <comment></comment>
+ <score>1</score>
+ </element>
+ <element name="ID_1612841399" title="Cache de certaines données">
+ <desc0>Pas de cache de données</desc0>
+ <desc1>Cache de données existant mais limité</desc1>
+ <desc2>Existence d'un cache des données</desc2>
+ <comment>La notion de Manager permet de gérer un cache d'object
via Apache JCS (Java Caching System) mais le cache est global et non
transactionnel.</comment>
+ <score>1</score>
+ </element>
+ </element>
+ </section>
+</document>
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qsos-commits] qsos/sheet/ORM-java Hibernate/Hibernate-3.6.5_f...,
Raphaël Semeteys <=