Another successful Google Summer of Code program took place this year. We worked together with Samuel Richardson from the USA to get the first integration between the Drools Engine and the popular game engine Minecraft. The scope of the project was to experiment how Drools can be used to declaratively define a game’s logic. I initially thought about modelling pointRead more →
KIE
#Drools & #jBPM @ #JBCNConf 2016 (Barcelona, June)
Great news! Once again the amazing and flamboyant leaders of the Java User Group from Barcelona manage to put together their anual conference JBCNConf. And, of course, Drools & jBPM will be there. Take a look at their website for more information about the talks and speakers, and if you are close enough to Barcelona I hope to see youRead more →
Oficial Wildfly Swarm #Drools Fraction
Oficial what? Long title for a quite small but useful contribution. Wildfly Swarm allows us to create rather small and self contained application including just what we need from the Wildfly Application Server. On this post we will be looking at the Drools Fraction provided to work with Wildfly Swarm. The main idea behind this fraction is to provide aRead more →
Microservices World
Example
- The Drools Server Fraction: https://github.com/Salaboy/drools-workshop/blob/master/drools-server-swarm/pom.xml#L18 By adding this dependency, the fraction is going to be activated while Wildfly Swarm bootstrap.
- The wildfly-swarm plugin: https://github.com/Salaboy/drools-workshop/blob/master/drools-server-swarm/pom.xml#L25. Notice in the plugin configuration that we are pointing to the App class which basically just start the container. (This can be avoided, but I wanted to show that if you want to start your own services or do your own deployments you can do that inside that class)
<br /><br />java -jar drools-server-swarm-1.0-SNAPSHOT-swarm.jar<br /><br />For this example, we will include one more flag when we start our project to make sure that our Drools Server can resolve the artefacts that I’m going to use later on, so it will be like this:<br /><br />java -Dkie.maven.settings.custom=../src/main/resources/settings.xml -jar drools-server-swarm-1.0-SNAPSHOT-swarm.jar<br /><br />By adding the “kie.maven.setting.custom” flag here we are letting the Drools Server know that we had configured an external maven repository to be used to resolve our artefacts. You can find the custom settings.xml file here.Once you start this project and everything boots up (less than 2 seconds to start wildfly-swarm core + less than 14 to boot up the drools server) you are ready to start creating your KIE Containers with your domain specific rules.You can find the output of running this app here. Notice the binding address for the http port:WFLYUT0006: Undertow HTTP listener default listening on [0:0:0:0:0:0:0:0]:8083Now you can start sending requests to http://localhost:8083/drools to interact with the server.I’ve included in this project also a Chrome’s Postman project for you to test some very simple request like:
- Getting All the registered Containers -> GET http://localhost:8083/drools/server/containers
- Creating a new container – > PUT http://localhost:8083/drools/server/containers/sample
- Sending some commands like Insert Fact + Fire All Rules -> POST http://localhost:8083/drools/server/containers/instances/sample
Summing up
Mastering #Drools 6 book is out!
Hi everyone, just a quick post to share the good news! The book is out and ready to ship! You can buy it from Packt or from Amazon directly. I’m happy to announce also that we are going to be presenting the book next week in Denmark, with the local JBug: http://www.meetup.com/jbug-dk/events/229407454/ if you are around or know someone that might beRead more →
- Mastering Drools 6
High Availability Drools Stateless Service in Openshift Origin
Hi everyone! On this blog post I wanted to cover a simple example showing how easy it is to scale our Drools Stateless services by using Openshift 3 (Docker and Kubernetes). I will be showing how we can scale our service by provisioning new instances on demand and how these instances are load balanced byRead more →

Our Drools Stateless Service
- drools-food-model: our business model including the domain classes, such as Ingredient, Sandwich, Salad, etc
- drools-food-kjar: our business knowledge, here we have our set of rules to describe how the food recommendations will be done.
- drools-food-services: using wildfly swarm I’m exposing a domain specific service encapsulating the rule engine. Here a set of rest services is exposed so our clients can interact.
- drools-controller: by using the Kubernetes Java API we can programatically provision new instances of our Food Recommendation Service on demand to the Openshift environment.
- We don’t need to install Java or any other tool besides Docker
- We don’t need to configure anything to run our Rest Service
- We don’t even need to build anything locally due the fact that the image is hosted in hub.docker.com
- We can run on top of any operating system
- We need to know in which IP and Port our service is exposed by Docker
- If we run more than one image we need to keep track of all the IPs and Ports and notify to all our clients about those
- There is no built in way of load balance between different instances of the same docker image instance
Provisioning our Service inside Openshift
- Voila! Our Services Replicas are up and running!
Summing up
Drools @ JUG Cork, Ireland (2nd March 2016)
Hi all, I’m creating this blog post to share with you all that I’m doing a presentation in the Java User Group at Cork, Ireland. For more information about the meet up go here: http://www.meetup.com/corkjug/events/226397805/ The session is titled “Go back home knowing how to use Drools 6 in your own projects” and it will be focused on the basicsRead more →
Drools Workshops Chile/Argentina (Nov/15)
Hi Everyone, I’m going to South America for two weeks in November and I’m planning to deliver two community workshops around Drools and jBPM. The workshops will be mostly focused on Drools (time restrictions) but I will try to include brief intro about jBPM as well. I’ve drafted an initial agenda, that might change based on theRead more →
Dates
- Santiago, Chile: Tuesday, 10th of November (9hs-14hs): Hotel Time Suite Versalles- Versalles 3001 – Las Condes Santiago . I want to thank Alejandro Montenegro (amontenegro at hp dot com) from HP Chile for offering and coordinating the place to do the workshop. Map
- Buenos Aires, Argentina: Wednesday, 18th of November: Place to be defined (if you want suggest or know someone that can host the event please get in touch with me ASAP).
Suggested Agenda
Workshop Chile
Google Summer of Code 2015: jBPM Mobile (MGTW)
Original Post: http://salaboy.com/2015/09/25/google-summer-of-code-2015-success-story-jbpm-mobile-mgtw/ I would like to share with all you guys the success story from the Google Summer of Code 2015 program in collaboration with the jBPM project. This year Rodrigo Garcete from (Ciudad del Este) Paraguay, who this year was in charge of upgrading the jBPM Mobile implementation created using MGWT. This application is a proof of concept showing a fullyRead more →

Rodrigo about the GSoC Program
Hi everyoneI am very grateful to the GsoC2015 program, for giving me the opportunity to participate this year, it was my first experience working with an open source community.Also, I want to thank the JBoss.org community, specifically my mentor Mauricio Salatino (salaboy), for the trust you have placed in me.The project to which work closely with my mentor salaboy this summer called jBPM Console NG Mobile, as its name implies, the aim of the project was to adapt the jBPM Console NG application and make it available in the mobile world.It is important to mention that the project was already running, but with an old version of MGWT (1.2) and it was also using old services from the jBPM infrastructure.First thing I did was to migrate all components to use the latest MGWT version (2.0).Then I had to modify the API calls to backend services, these changed a lot in version 6.4.0-SNAPSHOT.The work was not easy .. but it wasnt impossible, whenever I hit some problems, salaboy help me, explaining, and answering any questions I had, guiding me towards the right path.After the first evaluation (mid term), all the upgrade was completed and we started looking into adding some new features and improvements. Little by little I was learning the internals of project, everything started to make more sense, and I was getting faster in getting things up and running.In the final stage, we added new features such as the Deployment screen, the ability to start a process with variables and also completing tasks with simple variables.From my side, I can say that I learned a lot, the experience was very rewarding, and I would like to encourage other students in the world to participate in this program. You will learn a lot by working on any open source project.My idea is to continue collaborating with the project, keep improving it, adding new features, etc.,
To close this post, I uploaded a video showing the features and improvements that we have had done with salaboy during the program.
Summing up
- Students getting involved in open source communities
- Contributing valuable code and research
- The Student learned real life tools and technologies
jBPM accepted on Google Summer of Code 2014!
I’m thrilled to share with the whole Drools & jBPM community that once again a student has being accepted in the Google Summer Of Code Program to work in the projects for the Summer. This year Google will be funding Nicolas Gomes (from Argentina) to work on the jBPM project. Nicolas task will be toRead more →
- GSoC 2013
Results from the Drools & jBPM Workshop @ Bcn (10th Dec)
I’m quite happy to say that the Barcelona Workshop was a complete success. Once again I would like to thanks the @BarcelonaJug for all the effort that they put into organise these meetups. This post is to share some pics and some overall comments about the event. The Barcelona Java User Group Find here someRead more →