avril 2006 - Edouard Guérin : Dév, Web & Musique
Accueil

db4o : le SGBDOO efficace

Les logiciels de gestion utilisent en grande majorité les SGBDR. Parallèlement, l'adoption des langages orientés objet dans le développement d'applications est courante voire nécéssaire. Il suffit de regarder le nombre d'offres d'emploi concernant les langages OO pour s'en convaincre :

www.lesjeudis.com (18/04/2006)

  • Java = 491
  • .NET = 211
  • VB = 75 (tiens donc...)

Actuellement en plein projet Java dans le cadre de mes études, nous avons retenu db4o (groupe de 3 personnes) comme système de gestion de base de données.

Pour information, db4o est un SGBDOO Open Source fonctionnant avec les langages Java et .NET

Pourquoi avoir choisi un SGBDOO plutôt qu'un traditionnel SGBDR ?

  • pas besoin de mapping objet / relationnel
  • stockage naturel de l'information
  • souplesse : adéquation avec un langage OO (en l'occurence Java)
  • rapidité de développement

Pourquoi avoir choisi db4o ?

  • Open Source (GNU/GPL)
  • SGBDOO (raisons évoquées ci-dessus)
  • base emabarquée
  • simplicité

Voici maintenant un exemple de requête db4o écrite en S.O.D.A (Simple Object Database Access) :

   public static ObjectSet getAdherent(String login) {
       Query query = db.query();
       query.constrain(Adherent.class);
       query.descend("login").constrain(login);
       return query.execute();
   }

Quoi de plus simple ? Imaginons une classe "Adherent" (gestion d'une association). Pour retrouver un adhérent via son login la méthode consiste à déclarer une requête : db.query. Ensuite il faut ajouter une contrainte précisant sur quel type d'objet l'interrogation aura lieue (équivalent d'un FROM en SQL). Enfin la méthode descend indique au moteur qu'il va y avoir une contrainte sur l'attribut "login" de notre classe "Adherent". L'enregistrement (ajout & modification) d'un objet est quant à lui plus simple, il suffit d'invoquer la méthode set. Exemple : db.set(monObjet);

En bref, db4o apporte la simplicité, évite l'installation d'un serveur (système embarqué) et permet de se concentrer sur le code métier plutôt que de s'attarder à la gestion des données. Cette dernière est extrèmement simplifiée, c'est un gain de temps énorme dans le développement.

Si c'était à refaire, nous reprendrions db4o ; foi de développeur !

PS : réouverture des commentaires & trackabacks

Le SpamBlog, cette nouvelle plaie

Suite à de nombreux spam, les commentaires et trackbacks ne sont plus ouverts au public. Malgré l'installation récente du plugin "Spamplemousse" pour dotclear, il devient insupportable de vérifier quotidiennement les messages indésirables passés entre les mailles du filet.

Cette situation est espérons provisoire...

A ce demander si certains spammeurs ne sont pas rémunérés à la tâche. En effet, les messages arrivent généralement la nuit et l'adresse IP du posteur est évidemment celle d'un proxy (jamais le même). Les messages arrivent par vagues et parfois à quelques secondes d'intervalles, on à donc à faire à des robots. L'information contient aussi des URL en dur pour garantir le référencement (c'est pathétique ce genre de méthode en référencement).

Il ne faut pas lutter contre le SPAM mais contre la débilité ! Remarque, cette notion est assez subjective...