Pregunta

Me pidieron que hiciera algunos entrenamientos de baba para mis compañeros de equipo.Sólo para mostrarles cómo se puede utilizar y lo útil que puede ser.Para realizar esta capacitación, primero tengo que aprender Drools y pensé que la mejor manera de aprenderlo sería mediante un pequeño proyecto centrado en Drools.

¿Alguna idea interesante?

Mi idea para este proyecto era realizar algunas validaciones de archivos de flujo de webMethods (solo algunas validaciones de ejemplo).Solo haría validación: tenemos un analizador interno de ese formato de archivo.

Pero algo que realmente funcione sería bueno.

¿Fue útil?

Solución

En realidad, tenemos un proyecto basado en babas, podrías intentar imitarlo.:-)

Suponga que tiene mensajes SMS entrantes que llegan mediante un protocolo basado en HTTP.Una solicitud HTTP contiene el número A (número de teléfono del remitente), el número B (número de teléfono del destinatario) y el texto del mensaje.

Su objetivo es utilizar drools para enrutar los mensajes, según su contenido, a los servicios apropiados.Deberías tener un conjunto de reglas, cada regla indica algo como:Si el número B es 1792 y el texto del mensaje contiene la palabra clave "VIDEO", entonces el mensaje debe dirigirse al servicio que proporciona el video.

En realidad, usamos esta configuración exacta, un enrutador basado en drools que recoge mensajes de subprocesos de servlet HTTP y los coloca en colas JMS según su contenido.

¿Sería interesante para ti trabajar en este programa?:-)

Otros consejos

Les voy a dar dos ejemplos reales que mi empresa está utilizando en este momento.La empresa es una de las mayores e-commerce de Brasil.

  1. Drools se utiliza para aplicar promociones de precios y descuentos sobre productos mientras los usuarios simplemente navegan dentro del catálogo del producto.Entonces, antes de brindar la respuesta al navegador del usuario, debemos aplicar promociones relacionadas con el precio, la cuota y el flete.

  2. Y al revisar los productos, hay muchas promociones que se pueden aplicar según la región de la dirección del cliente, el estado, la edad, el sexo, la cantidad del producto, la cantidad del producto por categoría, promociones combinadas, días festivos, etc.La aplicación de cada promoción afecta a toda la lista de productos, lo que requiere la aplicación de nuevas reglas hasta que el checkout alcance un estado estable.

Fue realmente desafiante pero funcionó muy bien.Drools también se utiliza en otros contextos dentro de esta empresa.

Si estás intentando aprender Drools, también hay un libro bastante bueno que se publicó recientemente.Se puede encontrar en http://www.packtpub.com/drools-jboss-rules-5-0-developers-guide/book.Ya había estado usando Drools por un tiempo cuando salió, pero lo hojeé para aprender algunos conceptos nuevos.Algunos de mis compañeros de equipo también leyeron el libro y estuvieron de acuerdo en que les ayudó a comprender la herramienta/aplicación.

Hay algunas caídas cortas.La información no está muy bien organizada.Debes leerlo de principio a fin o seguramente te perderás algunos conceptos fundamentales que inhibirán tu aprendizaje en puntos posteriores.Además, el código de ejemplo puede ser un poco difícil de procesar.En general, diría que le ayudará a aplanar su curva de aprendizaje.

Un ejemplo de un proyecto anterior:

Está intentando entregar un paquete y la forma en que desea entregarlo es utilizando varias empresas de transporte.Cada empresa recogerá el paquete en un depósito y lo entregará en otro depósito hasta que finalmente llegue a su destino.Cada empresa tiene un horario que puede ser una extraña combinación de días y horarios.Por ejemplo, todos los martes y jueves excepto el quinto martes y el primer jueves de un mes, excepto los días festivos.Cada viaje entre depósitos tomará una cantidad de tiempo determinada.Dada una ruta fija entre depósitos, ¿cuánto tiempo me llevará entregar este paquete dada una hora de inicio?

Lo más sencillo sería jugar a un juego, digamos a las cartas.El póquer puede ser un poco complejo, pero las espadas, la vieja solterona, etc. pueden ser más fáciles.

¿Por qué los estás entrenando en una herramienta que ni siquiera usas?¿Cómo piensas aplicarlo?Un ejemplo artificial es justamente eso: artificial.Si tiene una necesidad real de la tecnología, aplíquela a ese dominio.Como mínimo, esto puede actuar como una prueba de concepto muy aproximada para ver si la tecnología es aplicable a su sistema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top