Domanda

Mi è stato chiesto di eseguire alcune sbavature per i miei compagni di squadra. Solo per mostrare loro come può essere usato e quanto può essere utile. Per fare questo addestramento devo prima imparare Drools, e ho pensato che il modo migliore per impararlo fosse un piccolo progetto incentrato sui bava.

Qualche idea interessante?

La mia idea per questo progetto è stata quella di fare alcune convalide dei file di flusso webMethods (solo alcune validazioni di esempio). Farei solo la validazione - abbiamo un parser interno di quel formato di file.

Ma qualcosa che effettivamente fa del lavoro sarebbe bello.

È stato utile?

Soluzione

In realtà, abbiamo un progetto basato su sbavature, potresti provare a imitarlo. : -)

Supponi di avere messaggi SMS in arrivo che arrivano su un protocollo basato su HTTP. Una richiesta HTTP contiene l'Anumber (numero di telefono del mittente) il Bnumber (numero di telefono del destinatario) e il testo del messaggio.

Il tuo obiettivo è utilizzare le sbavature per indirizzare i messaggi, in base al loro contenuto, ai servizi appropriati. Dovresti avere una serie di regole, ognuna delle quali afferma qualcosa di simile: se il numero è 1792 e il testo del messaggio contiene la parola chiave " VIDEO " quindi il messaggio deve essere indirizzato al servizio di fornitura video.

In realtà, utilizziamo questa configurazione esatta, un router basato su sbavature che raccoglie i messaggi dai thread servlet HTTP e li inserisce nelle code JMS in base al loro contenuto.

Sarebbe interessante lavorare su questo programma? : -)

Altri suggerimenti

Ti darò due esempi reali che la mia azienda sta usando in questo momento. La società è uno dei più grandi e-commerce dal Brasile.

  1. Drools viene utilizzato per applicare promozioni di prezzi e sconti sui prodotti mentre gli utenti navigano all'interno del catalogo dei prodotti. Quindi, prima di rendere la risposta per il browser dell'utente, dobbiamo applicare le promozioni relative al prezzo, alla rata e al trasporto.

  2. E durante il check-out dei prodotti, potrebbero esserci promozioni che possono essere applicate a causa della regione dell'indirizzo del cliente, stato, età, sesso, importo del prodotto, importo del prodotto per categoria, promozioni combinate, festività e così via . L'applicazione di ciascuna promozione influisce sull'intero elenco di prodotti, che richiede una nuova applicazione delle regole fino a quando il checkout non diventa stabile.

È stato davvero impegnativo ma ha funzionato molto bene. Drools è utilizzato anche in altri contesti all'interno di questa azienda.

Se stai cercando di imparare Drools c'è anche un bel libro che è stato pubblicato di recente. È disponibile all'indirizzo http: //www.packtpub .com / Drools-JBoss regole-5-0-sviluppatori-guida / book . Avevo già usato Drools per un po 'quando è uscito, ma l'ho sfogliato per imparare alcuni nuovi concetti. Alcuni dei miei compagni di squadra hanno anche letto il libro e concordato che ha aiutato la loro comprensione dello strumento / applicazione.

Ci sono alcune cadute brevi. Le informazioni non sono organizzate molto bene. Devi leggerlo da una parte all'altra o sei sicuro di perdere alcuni concetti fondamentali che inibiranno l'apprendimento in punti successivi. Anche il codice di esempio può essere un po 'difficile da elaborare. Nel complesso, però, direi che ti aiuterà ad appiattire la tua curva di apprendimento.

Un esempio di un progetto precedente:

Stai provando a consegnare un pacco e il modo in cui vuoi consegnarlo è usare un numero di compagnie di trasporto. Ogni azienda ritirerà il pacco in un deposito e lo consegnerà a un altro deposito fino a quando non raggiungerà finalmente la sua destinazione. Ogni azienda ha un programma che può essere una strana combinazione di giorni e orari. Ad esempio ogni martedì e giovedì tranne il 5 martedì e il primo giovedì di un mese tranne nei giorni festivi. Ogni viaggio tra i depositi richiederà un determinato periodo di tempo. Dato un percorso fisso tra i depositi quanto tempo ci vorrà per consegnare questo pacco dato un orario di inizio?

La cosa più semplice sarebbe giocare, diciamo le carte. Il poker potrebbe essere un po 'complesso, ma picche, vecchia cameriera ecc. Potrebbero essere più facili.

Perché li stai addestrando su uno strumento che non usi nemmeno? Come pensi di applicarlo? Un esempio inventato è proprio questo - inventato. Se hai davvero bisogno della tecnologia, applicala a quel dominio. Come minimo questo può agire come una prova molto approssimativa del concetto per vedere se la tecnologia è persino applicabile al tuo sistema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top