IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Moteurs de règles : des retours ? + questions


Sujet :

Java

  1. #1
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut Moteurs de règles : des retours ? + questions
    Bonjour

    Avez vous déjà utilisé des moteurs de règles (Drools, Jess, JavaRuleEngine) ? Si oui, pouvez vous faire un rapide retour dessus, notmmant au niveau de la prise en main et des perfs ?

    Par ailleurs, connaitriez vous un moteur de règle à même d'aisément avoir des faits sous forme XML et des résultats qui sont des sous ensembles des XML en entrée (en gros supprimer des lignes de fichiers XML d'entrée) ?

    Pour être clair, j'aimerai utiliser un moteur de règle pour déterminer si le contenu de différents fichiers XML (avec une DTD commune) peut être ou non visualisés (en fonction du profil utilisateur et des règles propres au contenu, genre un visiteur ne peut pas voir du contenu destiné aux employés uniquement).

    Je me suis pas mal penché sur Drools jusqu'à présent mais je suis assez inquiet sur la prise en main : la documentation est longue mais après il n'y a guère, voir pas du tout, de "howto" et autres ressources permettant de monter vite en aisance...

    Merci d'avance !
    ZedroS

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Par défaut
    La question est peut être "as-tu réellement besoin d'un moteur de règle ?"

    Dans une de nos application nous utilisons un moteur de règle (Blaze) : c'est assez lourd à mettre en oeuvre, la prise en main n'est pas aisée (nous avons une spécialiste en IA qui s'en occupe).
    Dans l'application suivante nous avons préféré faire le choix de développer un compilateur de règles, car nos règles utilisent très peu d'inférence (elles peuvent être modélisées par des if en cascade) et nous sommes très content de notre choix :
    - nous maitrisons mieux l'interprétation des règles (celles-ci sont écrites en XML)
    - les performances sont très bonnes
    - la mise en oeuvre est très simple (intégration d'une API)

    Par contre nous avions évalué Drools il y a 2/3 ans et les performances n'étaient pas acceptables en comparaison de Blaze.

    Jacques Desmazières

  3. #3
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Merci pour la réponse.

    En effet les règles envisagées sont assez simples : lire la ligne XML, regarder le profil de l'utilisateur, faire passer dans le moteur, si une règle est ko: pas d'affichage et on sort. En somme ce sont que des if avec des priorités et une condition de sortie.

    Concernant la mise en oeuvre du compilateur de règles "maison", serait il possible d'avoir plus de détails ? Avez vous pu faire de la réutilisation autre que JDOM ?

    Merci encore et ... d'avance

    ZedroS

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Par défaut
    Concernant la mise en oeuvre du compilateur de règles "maison", serait il possible d'avoir plus de détails ? Avez vous pu faire de la réutilisation autre que JDOM ?
    Qu'entends-tu par là ?

    Notre générateur de code a été construit autour du Digester d'Apache pour le parsing des fichiers Xml respectant une Dtd donnée. Le Digester transforme le fichier XML en une arborescence de classe qui est ensuite parcourue pour générer le code correspondant.

    L'utilisation du Digester présente le gros avantage de permettre d'externaliser dans un fichier les règles de parsing du fichier Xml. Ainsi, il est possible de modifier ou d'étendre le parseur sans écrire une ligne de traitement SAX ou DOM. De plus cette solution de compilation, a l'avantage de faire abstraction des temps de parsing du fichier XML, vu que celui-ci n'est pas fait dans l'application (dans notre cas il est fait au lancement du serveur d'application).

    Pour te donner un ordre d'idée, nous traitons aujourd'hui de cette façon des fichiers XML de plus de 6Mo, donc avec un nombre de règles très important, mais avec des temps de réponse dans l'appli excellents. D'autant que nous avons mis en place des pattern d'implémentation des règles permettant d'éviter les "if" en cascade, mais là c'est la conception en amont qui a permis cela.

    Sinon ce module de compilation de règles est utilisé par plusieurs de nos applications, et nous avons même une station de paramétrage, orientée métier, permettant de générer le fichier XML de règles.

    J'espère que cela répond à ta question.

    Jacques Desmazières

  5. #5
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Merci beaucoup pour cette nouvelle réponse fort instructive.

    Je ne connaissais pas plus que le commons.digester, je suis en train de regarder ça a l'air bien intéressant. Ce point répond de plus à ma question sur le "reuse", c'est parfait ! Encore merci.

    J'aurai encore des questions mais je ne veux pas abuser de ta patience. De plus je peux également creuser de mon côté, je devrai y arriver.

    Encore merci

    Cordialement,
    ZedroS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question d'hébergeur pour avoir des retours d'expérience
    Par zooffy dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 25/11/2010, 09h10
  2. Retour sur le moteur de recherche des FAQs
    Par veevee dans le forum Evolutions du club
    Réponses: 9
    Dernier message: 29/04/2008, 16h44
  3. Réponses: 4
    Dernier message: 20/07/2007, 12h24
  4. Utiliser awk pour supprimer des retours charrios
    Par tomsoyer dans le forum Linux
    Réponses: 3
    Dernier message: 03/01/2005, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo