Question

On m'a demandé de faire des bavees pour mes coéquipiers. Juste pour leur montrer comment il peut être utilisé et comment il peut être utile. Pour faire cette formation, je dois d’abord apprendre Drools, et j’ai pensé que la meilleure façon de l’apprendre serait un petit projet centré sur la bave.

Des idées intéressantes?

Mon idée pour ce projet était de faire une validation de fichiers de flux webMethods (juste quelques exemples de validations). Je ne ferais que la validation - nous avons un analyseur interne de ce format de fichier.

Mais quelque chose qui fait du travail serait bien.

Était-ce utile?

La solution

En fait, nous avons un projet basé sur les bave, vous pouvez essayer de l'imiter. : -)

Supposons que des messages SMS entrants arrivent sur un protocole HTTP. Une requête HTTP contient l’Anumber (numéro de téléphone de l’expéditeur), le Bnumber (numéro de téléphone du destinataire) et le texte du message.

Votre objectif est d’utiliser Bave pour acheminer les messages, en fonction de leur contenu, vers les services appropriés. Vous devez avoir un ensemble de règles, chaque règle énonçant quelque chose comme: si le numéro de téléphone est 1792 et que le texte du message contient le mot clé "VIDEO". le message doit ensuite être dirigé vers le service de fourniture de vidéo.

En fait, nous utilisons cette configuration exacte, un routeur basé sur Linux qui récupère les messages des threads de servlet HTTP et les met dans des files d'attente JMS en fonction de leur contenu.

Serait-il intéressant pour vous de travailler sur ce programme? : -)

Autres conseils

Je vais vous donner deux exemples réels que mon entreprise utilise actuellement. La société est l’un des plus importants e-commerce brésilien.

  1. Drools est utilisé pour appliquer des promotions et des rabais sur les produits pendant que les utilisateurs naviguent simplement dans le catalogue du produit. Ainsi, avant d'afficher la réponse pour le navigateur de l'utilisateur, nous devons appliquer des promotions liées au prix, aux acomptes et au fret.

  2. Et lors de la vérification des produits, des promotions peuvent être appliquées en fonction de la région, de l'état, de l'âge, du sexe, de la quantité de produit, de la quantité de produit par catégorie, des promotions combinées, des vacances, etc. . L’application de chaque promotion affecte la liste complète du produit, ce qui nécessite une nouvelle application de règles jusqu’à ce que la commande obtienne un état stable.

C’était vraiment difficile, mais je travaillais très bien. Drools est également utilisé dans d'autres contextes au sein de l'entreprise.

Si vous essayez d'apprendre Drools, vous trouverez également un très bon livre qui a été publié récemment. Vous pouvez le trouver à l'adresse http: //www.packtpub. .com / drools-jboss-rules-5-0-developers-guide / book . Je connaissais déjà Drools depuis sa sortie, mais je l'ai parcouru en détail pour apprendre de nouveaux concepts. Certains de mes coéquipiers ont également lu le livre et ont convenu que cela les avait aidés à mieux comprendre l'outil / l'application.

Il y a des chutes courtes. L'information n'est pas très bien organisée. Vous devez le lire de fond en comble ou vous ne manquerez pas certains concepts fondamentaux qui vous empêcheront d'apprendre plus tard. L'exemple de code peut également être un peu difficile à travailler. Dans l’ensemble, je dirais que cela vous aidera à aplanir votre courbe d’apprentissage.

Un exemple d'un projet précédent:

Vous essayez de livrer un colis et vous voulez le faire en utilisant plusieurs sociétés de transport. Chaque entreprise prendra le colis dans un dépôt et le livrera dans un autre dépôt jusqu'à ce qu'il atteigne enfin sa destination. Chaque entreprise a un horaire qui peut être une étrange combinaison de jours et d’heures. Par exemple, tous les mardi et jeudi sauf le 5ème mardi et le premier jeudi du mois, sauf les jours fériés. Chaque trajet entre les dépôts prendra un certain temps. Avec un itinéraire fixe entre les dépôts, combien de temps me faudra-t-il pour livrer ce colis étant donné l'heure de début?

La chose la plus simple serait de jouer à un jeu, disons des cartes. Le poker est peut-être un peu complexe, mais les piques, les vieilles filles, etc. pourraient être plus faciles.

Pourquoi les formez-vous sur un outil que vous n'utilisez même pas? Comment comptez-vous l'appliquer? Un exemple artificiel n'est que cela - artificiel. Si vous avez réellement besoin de la technologie, appliquez-la à ce domaine. Au minimum, cela peut constituer une preuve de concept très approximative pour déterminer si la technologie est applicable à votre système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top