Drools 5.x - Sondeo local
En Argentina, he tenido la oportunidad de estar en varios ambientes laborales, donde desde hace casi tres años ya, por lo general he estado relacionado con proyectos de JBoss. Por lo general, los más populares como Hibernate, Application Server, JBoss Portal últimamente, siempre están presente en las empresas. Al menos algo con que compararlos. Si no usas Hibernate, usas Top Link, o tu propio framework ORM. Si no usas el Application Server de JBoss, y estas en el mundo Java tenes siempre las opciones de usar Spring, cada vez mas, Glassfish de Sun, o alguno propietario.
Cambio de paradigma
Por lo general en el mundo Java dentro de la Argentina, más allá de algún framework de presentación un poco innovador, lo demás sigue siendo todo igual. Ya hace un tiempo, vengo tratando de involucrarme de manera activa a proyectos Open Source de JBoss, ya que veo que JBoss es una empresa donde la participación activa es bienvenida y apreciada. Más allá de la empresa y mis ganas de participar en proyectos Open Source, toda esta experiencia me ha hecho descubrir y dar un paso mas adelante en frameworks que JBoss ha ido sacando adelante y de alguna manera cambian nuestra forma de pensar aplicando algún nuevo paradigma a la programación Orientada a Objetos tal como la conocemos.
El primer paso fue jBPM, que por lo que veo cada día esta mas aceptado en el mercado local. Como podrán haber visto, tengo varios post sobre esto, ya que fue una de las primeras herramientas que me cambio enormemente el punto de vista que tenia sobre como hacer aplicaciones. Actualmente con mi salto al proyecto Drools y con la aparición de la versión 5.x un salto mas grande se propone. Esto como desarrollador, por supuesto que atrae y despierta interés, mas cuando las bases teóricas del proyecto parecen ser indestructibles.
Siguiendo con mi punto inicial, al estar involucrado fuertemente con el proyecto, queriendo que la gente lo use, contribuyendo lo que mas se pueda con el uso y la difusión del mismo, automáticamente genero un sondeo de como están Drools en mis círculos laborales y en el de los otros profesionales que también conozco.
Sondeo Local
EL sondeo local me da el siguiente resultado, que es bastante aproximado y a ojo (prometo formalizarlo con algún tipo encuesta) de lo que se ve cuando uno menciona Drools en un ambiente de IT "normal" en Argentina (por supuesto mi limitada Argentina):
1) Primer gran nube: (85% -> +/- 10%)
La gran mayoría no sabe ni que es. En ambientes donde el perfil fuerte es el de un desarrollador Web, la pregunta: Conocen el proyecto Drools?, esta totalmente fuera de lugar.
2) Segunda pequeña nube: (14% -> +/- 3%)
En ambientes financieros, bancos, empresas de seguro, empresas de salud y sobre todo grandes empresas, tienen el concepto de Regla de Negocio bastante fresco. El problema por lo general son las implementaciones, muchas veces caseras, muchas veces propietarias y las limitaciones que todo esto trae. Mas alla de las limitaciones técnicas, muchas veces el gran problema son las limitaciones teóricas al respecto. Muchas veces estos sistemas de inferencia funcionan como una caja negra, donde sabemos como expresar reglas de negocio y sabemos que esperar de ellas. También por estos ámbitos tan grandes o complejos como puede ser el ámbito financiero o un banco, estos sistemas están muy relacionados con perfiles muy avanzados de IT y de conocimiento del negocio. Con este grupo, se puede hablar perfectamente de Drools, en la versión 4.x
3) Tercera casi invisible nube: (0.9% va en disminución -> +/- 0.1%)
Personas que siguen el proyecto, pero tampoco tienen una visión clara de hacia dónde va y cúal es el cambio fundamental que ocurrió desde la versión 4.x a la 5.x. Hay que recordar que tomo 2 anios en lograr el cambio de versión. Esto es importante, ya que se maduraron cosas fundamentales y el proyecto tomo una nueva dirección, sobre las bases obtenidas con la versión 4.x.
4) Cuarta nube casi imperceptible: (0.1% y va en crecimiento)
Comprenden que la propuesta del proyecto es fuerte, y que realmente plantea un cambio profundo en la manera de pensar a la hora de desarrollar una aplicación.
*) Nota final sobre estos grupos
Como nota final a esta distribución en grupos de personas relacionadas con el framework, me gustaría dejar en claro que todos aquellos que lo han sentido nombrar al framework, tiene una concepción positiva del mismo. También he notado mucha gente demostrar que esta entusiasmada con el proyecto, sin saber que es realmente, ni cuando aplicarlo. Eso sin duda demarca dos grandes aspectos el proyecto:
- Mucha gente no entiende que es, ni para que sirve. Mucha de esta culpa esta en la documentación y en el enfoque de la misma. Si bien se han publicado libros al respecto (de esta ultima versión de Drools), no parecen ser, ni explicar la solución definitiva para comprender el enfoque de la herramienta.
- Muchas personas saben que es un buen enfoque, pero no saben como se aplica, ni si hay casos de éxitos a nivel mundial de este proyecto. También es un error de JBoss por no mover esta información de manera mas efectiva. Lo mas sorprendente es que empresas muy grandes a nivel mundial vienen usando y están interesadas en Drools 5.x desde sus versiones muy beta, hace mas de 10 meses.
Conclusión
Estos posts, más allá de ser aburridos, tratan de atacar estos problemas, en castellano para hacer foco en el mercado local y en la importancia que puede llegar a tener que la región latino americana empiece a adoptar estos frameworks. El siguiente post estará orientado nuevamente a tratar de introducir los conceptos importantes para la adopción de una herramienta como Drools 5.x. Estos conceptos no son nada del otro mundo, ni tampoco son tan difíciles, es cuestión solamente de entender porque cambiar la forma de pensar y de a poco ir introduciendoce en la teoría detrás del framework.
Para ir cerrando, estaría bueno leer sus porcentajes, y sus sondeos sobre que piensa la gente sobre Drools, cualquiera sea su versión. Nada mejor que discutir y compartir esta información para saber que sabe la gente de Drools en Argentina y alrededores, que le hace falta a la gente saber para poder adoptar una herramienta tan poderosa como Drools, etc. Espero sus comentarios y sus críticas.