Subscribe: Drools - Business Logic integration Platform
Added By: Feedage Forager Feedage Grade B rated
Language: English
business  decision  dmn  drools jbpm  drools  game  hat  jbpm  management  model  new  process  red hat  red  rules  version 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Drools - Business Logic integration Platform

Drools & jBPM

All things Artificial Intelligence related: Rules, Processes, Events, Agents, Planning, Ontologies and more :)

Last Build Date: Sat, 15 Jul 2017 06:10:16 +0000


Drools, jBPM and Optaplanner are switching to agile delivery!

Mon, 03 Jul 2017 22:48:00 +0000

Today we would like to give everyone in the community a heads up at some upcoming changes that we believe will be extremely beneficial to the community as a whole.The release of Drools, jBPM and Optaplanner version 7.0 a few weeks ago brought more than just a new major release of these projects.About a year ago, the core team and Red Hat started investing on improving a number of processes related to the development of the projects. One of the goals was to move from an upfront planning, waterfall-like development process into a more iterative agile development.The desire to deliver features earlier and more often to the community, as well as to better adapt to devops-managed cloud environments, required changes from the ground up. From how the team manages branches to how it automates builds and how it delivers releases. A challenge for any development team, but even more so to a team that is essentially remote with developers spread all over the world.Historically, Drools, jBPM and Optaplanner aimed for a cadence of 2 releases per year. Some versions with a larger scope took a bit longer, some were a bit faster, but on average that was the norm.With version 7.0 we started a new phase in the project. We are now working with 2-week sprints, and with an overall goal of releasing one minor version every 2 sprints. That is correct, one minor version per month on average.We are currently in a transition phase, but we intend to release version 7.1 at the end of the next sprint (~6 weeks after 7.0), and then we are aiming to release a new version every ~4 weeks after that.Reducing the release timeframe brings a number of advantages, including:More frequent releases gives the community earlier access to new features, allowing users to try them and provide valuable feedback to the core team. Reducing the scope of each release allows us to do more predictable releases and to improve our testing coverage, maintaining a more stable release stream.Bug fixes as usual are included in each release, allowing users more frequent access to them as well. It is important to note that we will continue to maintain backward compatibility between minor releases (as much as possible - this is even more important in the context of managed cloud deployments as well where seamless upgrades are the norm) and the scope of features is expected to remain similar to what was before. That has two implications:If before, we would release version 7.1 around ~6 months after 7.0, we now will release roughly 6 new versions in those 6 months (7.1, 7.2, ..., 7.6 ), but the amount of feature will be relatively equivalent. I.e., the old version 7.1 is roughly equivalent in terms of features as the scope of the new versions 7.1,..., 7.6 combined. It just splits the scope in smaller chunks and delivers earlier and more often.Users that prefer to not update so often will not lose anything. For instance, a user that updated every 6 months can continue to do so, but instead of jumping from one minor version to the next, he will jump 5-6 minor versions. This is not a problem, again, because the scope is roughly the same as before and the backward compatibility between versions is the same.This is of course work in progress and we will continue to evolve and adapt the process to better fit the community's and user's needs. We strongly believe, though, that this is a huge step forward and a milestone on the project maturity level. [...]

RuleML+RR with DecisionCamp - July 12-14 201, London

Mon, 26 Jun 2017 15:23:00 +0000

RuleML, Web Rules and Reasoning as well as DecisionCamp are all coming together (as well as being collocated with BICOD) this year in London.RuleML+RR home, schedule, registrationDecisionCamp home, schedule, registrationExplore that latest AI happenings at RuleML+RR and keep up to date with the latest Decision Model and Notation (DMN) at Decision Camp. When: July 12-14 2017 Where: Birkbeck, University of London, London, UKMalet St, London WC1E 7HX, UK A number of Red Hat Engineers will be there and presenting:Mark Proctor - Drools co-founder, BRMS and BPMS Platform Architect: The Effectiveness of DMN for Cross Vendor InteroperabilityEdson Tirelli - Drools project lead: DMN Technology Compatibility Kit (TCK), Demystifying the Decision Model and Notation SpecificationGeoffrey De Smet - OptaPlanner founder, project lead: Real-time Constraint Solving with OptaPlanner DecisionCamp:"DecisionCAMP-2017 will include presentations from leading decision management authorities, vendors, and practitioners. The event will explore the current state in Decision Management, the real-world use of the DMN standard, and solutions to various business problems using Decision Management  tools and capabilities. The event will include a special Open Discussion “What you Like and What you Do Not Like about DMN” and a QnA Panel “Real-world Business Decision Management: Vendor and Practitioner Perspectives”.RuleML+RR:"2017 is the leading international joint conference in the field of rule-based reasoning, and focuses on theoretical advances, novel technologies, as well as innovative applications concerning knowledge representation and reasoning with rules."Keynotes and Speeches:Bob Kowalski (Imperial College London): Logic and AI – The Last 50 YearsStephen Muggleton (Imperial College London): Meta-Interpretive Learning: Achievements and ChallengesJordi Cabot (IN3-UOC, Barcelona): The Secret Life of Rules in Software Engineering (sponsored by EurAI)Jean-Francois Puget (IBM): Machine Learning and Decision OptimizationElena Baralis (Politecnico di Torino): Opening the Black Box: Deriving Rules from Data [...]

New KIE persistence API on 7.0

Mon, 29 May 2017 22:35:00 +0000

This post introduce the upcoming drools and jBPM persistence api. The motivation for creating a persistence api that is to not be bound to JPA, as persistence in Drools and jBPM was until the 7.0.0 release is to allow a clean integration of alternative persistence mechanisms to JPA. While JPA is a great api it is tightly bound to a traditional RDBMS model with the drawbacks inherited from there - being hard to scale and difficult to get good performance from on ever scaling systems. With the new api we open up for integration of various general NoSQL databases as well as the creation of tightly tailor-made persistence mechanisms to achieve optimal performance and scalability.At the time of this writing several implementations has been made - the default JPA mechanism, two generic NoSQL implementations backend by Inifinispan and MapDB which will be available as contributions, and a single tailor made NoSQL implementation discussed shortly in this post. The changes done in the Drools and jBPM persistence mechanisms, its new features, and how it allows to build clean new implementations of persistence for KIE components is the basis for a new soon to be added MapDB integration experimental module. The existing Infinispan adaptation has been changed to accommodate to the new structure. Because of this refactor, we can now have other implementations of persistence for KIE without depending on JPA, unless our specific persistence implementation is JPA based. It has implied, however, a set of changes:Creation of drools-persistence-api and jbpm-persistence-api In version 6, most of the persistence components and interfaces were only present in the JPA projects, where they had to be reused from other persistencies. We had to refactor these projects to reuse these interfaces without having the JPA dependencies added each time we did so. Here's the new set of dependencies:  org.drools  drools-persistence-api  7.0.0-SNAPSHOT  org.jbpm  jbpm-persistence-api  7.0.0-SNAPSHOTThe first thing to mention about the classes in this refactor is that the persistence model used by KIE components for KieSessions, WorkItems, ProcessInstances and CorrelationKeys is no longer a JPA class, but an interface. These interfaces are:PersistentSession: For the JPA implementation, this interface is implemented by SessionInfo. For the upcoming MapDB implementation, MapDBSession is used.PersistentWorkItem: For the JPA implementation, this interface is implemented by WorkItemInfo, and MapDBWorkItem for MapDBPersistentProcessInstance: For the JPA implementation, this interface is implemented by ProcessInstanceInfo, and MapDBProcessInstance for MapDBThe important part is that, if you were using the JPA implementation and wish to continue doing so with the same classes as before. All interfaces are prepared to work with these interfaces. Which brings us to our next pointPersistenceContext, ProcessPersistenceContext and TaskPersistenceContext refactorsInterfaces of persistence contexts in version 6 were dependent on the JPA implementations of the model. In order to work with other persistence mechanisms, they had to be refactored to work with the runtime model (ProcessInstance, KieSession, and WorkItem, respectively), build the implementations locally, and be able to return the right element if requested by other components (ProcessInstanceManager, SignalManager, etc)Also, for components like TaskPersistenceContext there were multiple dynamic HQL queries used in the task service code which wouldn’t be implementable in another persistence model. To avoid it, they were changed to use specific mechanisms more related to a Criteria. This way, the different filtering objects can be used in a different manner by othe[...]

An Executable DMN Solution for Business Users - bpmNEXT presentation

Wed, 10 May 2017 14:15:00 +0000

The video recording from the bpmNEXT presentation we did a few weeks ago is up!

In this presentation, Bruce and myself do a demo of the end-to-end, full (level 3) DMN solution built in partnership with Trisotech and Method&Style.

Here it is:

width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="" src="" frameborder="0" allowfullscreen>


End to end BPM (with a splash of DMN)

Wed, 26 Apr 2017 22:13:00 +0000

Red Hat Summit next week is shaping up to be one of the best ever!And if you are a Drools or jBPM enthusiast, you will be busy: another top presentation that we have lined up for you comes from a partnership between Signavio and Red Hat. Duncan Doyle and Tom Debevoise will be driving the show on this one with a great example of how do model processes (and a few decisions) with the BPMN and DMN standards using the awesome tools from Signavio, and then deploying those models into the solid Drools and jBPM engines for execution!This is End to End BPM: from Process Modeling to Execution with Signavio and Red Hat !Join us on Wednesday, May 3rd, at 3:30pm!And here is some extra detail from Tom:End to End BPMFor nearly a decade designing processes in Business Process Model Notation (BPMN) has been a best practice for aligning business and technical objectives. With BPMN, the business analyst or subject matter expert can precisely define the interactions of customers, systems and trading partners with the activities and events that drive them. Because the notation is a standard, the meaning of the process model is unambiguous. Business uses BPMN to define·       The roles of the participants·       Their responsibilities·       The timing and sequence of events·       How to handle errors and exceptionsFigure1 Example BPMN process in SignavioWith the Signavio Process Manager, all stakeholders can collaborate on the process model using an ability to commutate comments and concerns and a shared definition of terms. As shown in the figure 1, BPMN activities can denote where forms, services and scripts are needed. BPMN is more than a drawing convention. Compliant software can export the diagram in an XML format that other systems can read. Signavio and Red Hat have leveraged this capability so that processes and more can be exchanged.Figure 2, the same BPMN process in BPM Suite’s KIE WorkbenchTo create an executable process, the technical team would then and the code for user forms, scripts and services. So processes in the Signavio Process Manager can be exported to the BPM Suite for this objective.Most business analysts are not concerned with ‘Code’, except in the areas of compliance where very detailed logic, including quantities, dates and computational logic is critical. Recently BPMN has been extended to include decision modeling with the decision modeling notation (DMN). While separate from BPMN, DMN has been designed to work with BPMN. With decision modeling the business analysts can control a process by determining the logic for:·       What needs to be done next·       Who need to do it·       When and where it is done ·       And importantly, were any important rules brokenFigure 3, Decision logic for the process in DMNDecision logic can be exported from the Signavio Process Manager and incorporated into the KIE workbench. The process in figure 1 and 2 is controlled by the decision in figure 3. The teamwork of Signavio and Red Hat is a perfect separation of concerns between the business and IT. Because it is designed to be easy to use and collaborative, the Signavio Process Manager is the perfect environment for developing the business view of a process or a decision. Similarly, because it can leverage the power and scalability of the entire Red Hat middleware stack, the BPM Suite is the perfect environment for turning these decisions into an executable form and hosting them. [...]

Just a few... million... rules... per second!

Tue, 25 Apr 2017 15:41:00 +0000

How would you architect a solution capable of executing literally millions of business rules per second? That also integrates hybrid solutions in C++ and Java? While at the same time drives latency down? And that is consumed by several different teams/customers?

Here is your chance to ask the team from Amadeus!

They prepared a great presentation for you at the Red Hat summit next week:

Decisions at a fast pace: scaling to multi-million transactions/second at Amadeus

During the session they will talk about their journey from requirements to the solution they built to meet their huge demand for decision automation. They will also talk about how a collaboration with Red Hat helped to achieve their goals.

Join us for this great session on Thursday, May 4th, at 3:30pm!


DMN demo at Red Hat Summit

Mon, 24 Apr 2017 23:52:00 +0000

We have an event packed full of Drools, jBPM and Optaplanner content coming next week at the Red Hat Summit, but if you would like to know more about Decision Model and Notation and see a really cool demo, then we have the perfect session for you!

At the Decision Model and Notation 101 session, attendees will get a taste of what DMN brings to the table. How it allows business users to model executable decisions using a fun, high level, graphical language, that promotes interoperability and preserves their investment preventing vendor-lock-in.

But this will NOT be your typical slideware presentation. We have prepared a really nice demo of the end-to-end DMN solution announced by Trisotech a few days ago. During the session you will see a model being created with the Trisotech DMN Modeler, statically analyzed using the Method&Style DT Analysis module and executed in the cloud using Drools/Red Hat BRMS.

Come an join us on Tuesday, May 2nd at 3:30pm.

It is a full 3-course meal, if you will. And you can follow that up with drinks at the reception happening from 5pm-7pm at the partner Pavillion where you can also talk to us at the Red Hat booth about it and anything else you are interested in.

Happy Drooling!


DMN Quick Start Program announced

Wed, 12 Apr 2017 22:43:00 +0000

Trisotech, a Red Hat partner, announced today the release of the DMN Quickstart Program.

Trisotech, in collaboration with Bruce Silver AssociatesAllegiance Advisory and Red Hat, is offering the definitive Decision Management Quick Start Success Program. This unique program provides the foundation for learning, modeling, analyzing, testing, executing and maintaining DMN level 3-compliant decision models as well as best practices to incorporate in an enterprise-level Decision Management Center of Excellence. 

The solution is a collaboration between the partner companies around the DMN standard. This is just one more advantage of standards: not only users are free from the costs of vendor lock-in, but it also allow vendors to collaborate in order to offer customers complete solutions.


An Open Source perspective for the youngsters

Tue, 11 Apr 2017 18:40:00 +0000

Please allow me to take a break from the technical/community oriented posts and talk a bit about something that has been on my mind a lot lately. Stick with me and let me know what you think!Twenty one years ago, Leandro Komosinski, one of the best teachers (mentor might be more appropriate) I had, told me in one of our meetings:"- You should never stop learning. In our industry, if you stop learning, after three years you are obsolete. Do it for 5 years and you are relegated to maintaining legacy systems or worse, you are out of the market completely. "While this seems pretty obvious today, it was a big insight to that 18 years old boy. I don’t really have any data to back this claim or the timeframes mentioned, but that advice stuck with me ever since.It actually applies to everything, it doesn’t need to be technology. The gist of it: it is important to never stop learning, never stop growing, personally and professionally.That brings me to the topic I would like to talk about. Nowadays, I talk to a lot of young developers. Unfortunately, several of them when asked “What do you like to do? What is your passion?” either don’t know or just offer generic answers: “I like software development”."But, what do you like in software development? Which books have you been reading? Which courses are you taking?" And the killer question: "which open source projects are you contributing to?"The typical answer is: “- the company I work for does not give me time to do it.” Well, let me break it down for you: “this is not about the company you work for. This is about you!” :) What is your passion? How do you fuel it? What are you curious about? How do you learn more about it?It doesn’t need to be software, it can be anything that interests you, but don’t waste your time. Don’t wait for others to give you time. Make your own time.And if your passion is technology or software, then it is even easier. Open Source is a lot of things to a lot of people, but let me skip ideology. Let me give you a personal perspective for it: it is a way to learn, to grow, to feed your inner kid, to show what you care for, to innovate, to help.If you think about Open Source as “free labour” or “work”, you are doing it wrong. Open source is like starting a masters degree and writing your thesis, except you don’t have teachers (you have communities), you don’t have classes (you do your own exploratory research), you don’t have homework (you apply what you learn) and you don’t have a diploma (you have your project to proudly flaunt to the world). It doesn’t matter if your project is used by the Fortune 500 or if it is your little pet that you feed every now and then. The important part is: did you grow by doing it? Are you better now than you were when you started?So here is my little advice for the youngsters (please take it at face value):- Be restless, be inquisitive, be curious, be innovative, be loud! Look for things that interest you in technology, arts, sociology, nature, and go after them. Just never stop learning, never stop growing. And if your passion is software development, then your open source dream project is probably a google search away.Happy Drooling,Edson [...]

A sneak peek into what is coming! Are you ready?

Fri, 31 Mar 2017 23:53:00 +0000

As you might have guessed already, 2017 will be a great year for Drools, jBPM and Optaplanner! We have a lot of interesting things in the works! And what better opportunity to take a look under the hood at what is coming than joining us on a session, side talk or over a happy hour in the upcoming conferences?Here is a short list of the sessions we have on two great conferences in the next month! The team and myself hope to meet you there!Oh, and check the bottom of this post for a discount code for the Red Hat Summit registration!Santa Barbara, California April 18-20, 2017April 19th, 09:00: An Executable DMN Solution for Business Users - Bruce Silver and Edson TirelliApril 20th, 09:30: Supporting Unstructured Work - Kris VerlaenenMay 2nd, 10:15: Red Hat JBoss BPM Suite Primer: Capabilities, Vision and Roadmap - Mark Proctor, Phil Simpson, Prakash AradhyaMay 2nd, 11:30: It’s all about the process: How Red Hat IT is using JBoss BPM Suite - Kris Verlaenen, Michael Cirioli and Maciej SwiderskiMay 2nd, 15:30: Decision Model and Notation (DMN) 101 - Edson Tirelli and Denis GagnéMay 2nd, 15:30: Show me the money! Optimize your business with JBoss BRMS Business Resource Planner - Geoffrey De Smet and Duncan DoyleMay 3rd, 10:15: Preview BPM Suite 7 And meet the brains behind it - Roger Palleja and Mark ProctorMay 3rd, 15:30: Advanced Drools - Mark Proctor and Mario FuscoMay 3rd, 15:30: End to End BPM: From process modeling to execution with Signavio and Red Hat - Duncan Doyle and Tom DebevoiseMay 3rd, 16:30: Deep dive on case management - Kris Verlaenen and Maciej SwiderskiMay 4th, 10:15: Case management applications with BPM - Kris Verlaenen, Andrew Bonham and Michelle KeloMay 4th, 15:30: Decisions at a fast pace: scaling to multi-million transactions/second at Amadeus - Tarek Zaigouche, Edson Tirelli, Gabriel Bechara and Matteo CasalinoMay 4th, 15:30: Dawn of the Citizen Developer: Low Code Application Development Made Easy in BPMS/BRMS 7 - Alexandre Porcelli and Mark Proctor [...]

DMN 1.1 XML: from modeling to automation with Drools 7.0

Tue, 21 Mar 2017 15:10:00 +0000

I am a freelance consultant, but I am acting today as a PhD student. The global context of my thesis is Enterprise Architecture (EA), which requires to model the Enterprise. As one aspect of EA is business process modeling, I am using BPMN from years, but this notation is not very appropriate to represent decision criteria: a cascade of nested gateways becomes quickly difficult to understand then to modify. So, when OMG published the first version 1.0 Beta of DMN specification in 2014, I found that DMN was a very interesting notation to model decision-making. I succeeded in developing my own DMN modeling tool, based on DMN metamodel, in using the Sirius plugin for Eclipse . But even the next “final” version 1.0 of DMN specification was not very accomplished.The latest version 1.1 of DMN, published in June 2016, is quite good. In the meantime, software editors (at least twenty) have launched good modeling tools, as Signavio Decision Manager (free for Academics) used for this article. This Signavio tool was already able to generate specific DRL files for running DMN models on the BRMS Drools current version 6. In addition to the graphics, some editors added recently the capability to export DMN models (diagram & decision tables) into “DMN 1.1 XML” files, which are compliant with the DMN specification. And the good news is that BRMS like Drools (future version 7, available in Beta version) are able to run theses DMN XML files for automating decision-making (a few lines of Java code are required to invoke theses high level DMN models).This new approach of treating “DMN 1.1 XML” interchange model directly is better for tool independency and model portability. Here is a short comparison between the former classic but specific solution and this new and generic solution, using the tool Signavio Decision Manager (latest version 10.13.0). MDA (Model Driven Architecture) and its three models CIM, PIM & PSM gives us the appropriate reading grid for this comparison: 3 MDA models Description Classic specific DMN solution from Signavio Decision Manager to BRMS Drools CIM (Computation Independent Model) Representation model for business, independent of computer considerations DRD (Decision Requirements Diagram) + Decision Tables PIM (Platform Independent Model) Design model for computing, independent of the execution platform û PSM (Platform Specific Model) Design model for computing, specific to the execution platform DRL (Drools Rule Language) + DMN Formulae Java8-1.0-SNAPSHOT.jar The visible aspect of DMN is its emblematic Decision Requirements Diagram (DRD) which can be completed with some Decision Tables for representing the business logic for decision-making. A DRD and its Decision Tables compose a CIM model, independent of any computer considerations.Then, in the classic but specific DMN solution, Signavio Decision Manager is able, from a business DMN model (DRD diagram and Decision Tables), to export a DRL file directly for a Drools rules engine. So, this solution skips the intermediate PIM level, that is not very compliant with MDA concept. Note that this DRL file needs a specific Signavio’s jar library with DMN formulae. 3 MDA models Description New generic DMN solution from Signavio Decision Manager(or other tools) to BRMS Drools (or other BRMS) CIM (Computation Independent Model) Representation model for business, independent of computer considerations DRD (Decision Requirements Diagram) + Decision Tables PIM (Platform Independent Model) Design model for computing, independent of the execution platform DMN 1.1 XML (interchange model) containing FEEL Expressions PSM (Platform Specific Model) Design model for computing, specific to the execution platform û The inv[...]

DroolsJBPM organization on GitHub to be renamed to KieGroup

Sun, 12 Mar 2017 14:56:00 +0000

   In preparation for the 7.0 community release in a few weeks, the "droolsjbpm" organization on GitHub will be renamed to "kiegroup". This is scheduled to happen on Monday, March 13th.

   While the rename has no effect on the code itself, if you have cloned the code repository, you will need to update your local copy with the proper remote URL changing it from:


   Unfortunately, the URL redirect feature in GitHub will not support this rename, so you will likely have to update the URL manually on your local machines.

   Sorry for the inconvenience. 

AI Engineer - Entando are Hiring

Thu, 02 Feb 2017 20:41:00 +0000

Entando are looking to hire an AI Engineer, in Italy, to work closely with the Drools team building a next generation platform for integrated and hybrid AI. Together we'll be looking at how we can build systems that leverage and integrate different AI paradigms for the contextual awareness domain - such as enhancing our complex event processing,  building fuzzy/probability rules extensions or looking at Case Based Learning/Reasoning to help with predictive behavioural automation.

The application link can be found here.

Drools & jBPM are Hiring

Thu, 02 Feb 2017 20:22:00 +0000

The Drools and jBPM team are looking to hire. The role requires a generalist able work with both front-end and back-end code. We need a flexible and dynamic person who is able to handle what ever is thrown at them and relishes the challenge of learning new things on the fly. Ideally, although not a requirement, you'll be able to show some contributions to open source projects. You'll work closely with some key customers implementing their requirements in our open source products.

This is a remote role, and we can potentially hire in any country there is a Red Hat office, although you may be expected to do very occasional travel to visit clients.

The application link for the role can be found here:


DMN runtime example with Drools

Sun, 08 Jan 2017 22:25:00 +0000

As announced last year, Drools 7.0 will have full runtime support for DMN models at compliance level 3.The runtime implementation is, at the time of this blog post, feature complete and the team now is working on nice to have improvements, bug fixes and user friendliness.Unfortunately, we will not have full authoring capabilities in time for the 7.0 release, but we are working on it for the future. The great thing about standards, though, is that there is no vendor lock-in. Any tool that supports the standard can be used to produce the models that can be executed using the Drools runtime engine. One company that has a nice DMN modeller is Trisotech, and their tools work perfectly with the Drools runtime.Another great resource about DMN is Bruce Silver's website Method & Style. In particular I highly recommend his book for anyone that wishes to learn more about DMN.Anyway, I would like to give users a little taste of what is coming and show one example of a DMN model and how it can be executed using Drools.The Decision Management Community website periodically publishes challenges for anyone interested in trying to provide a solution for simple decision problems. This example is my solution to their challenge from October/2016.Here are the links to the relevant files:* Solution explanation and documentation* DMN source file* Example code to execute the exampleI am also reproducing a few of the diagrams below, but take a look at the PDF for the complete solution and the documentation.Happy Drooling! [...]

Introducing Drools Fiddle

Sat, 17 Dec 2016 13:35:00 +0000

Drools Fiddle is the fiddle for Drools. Like many other fiddle tools, Drools Fiddle allows both technical and business users to play around with Drools and aims at making Drools accessible to everyone. The entry point to Drools Fiddle is the DRL editor (top left panel), which allows to define and implement both fact models and business rules, using the Drools Rule Language. Once the rules are defined, they can be compiled into a KieBase by clicking on the Build button.If the KieBase is successfully built, the visualization panel on the right will visualize the fact types as well as the rules as graph nodes. For instance, this DRL will be displayed as follows: declare MyFactType    value : intendrule "MyRule"when   f : MyFactType(value == 42)then   modify( f ) {setValue( 41 )}endAll the actions that are performed on the working memory will be represented by arrows in this graph. The purpose of the User icon is to identify all the actions performed directly by the user. For example, let's see how we can dynamically insert fact instances into the working memory. After the KieBase compilation, the Drools Facts tab is displayed on the left:This form allows you to create instances of the fact types that have been previously declared in the DRL. For each instances inserted in the working memory a blue node will be displayed in the Visualization tab. The arrow coming from the User icon shows that this action was performed manually by the user.Once your working memory is ready, you can trigger the fireAllRules method by clicking on the Fire button. As a result, all the events occurring in the engine: rule matching, fact insertion/update/deletion are displayed in the visualization tab.In the above example, we can see that the fact inserted by the user in step 1 triggered the rule "MyRule" which in turn modified the value of the fact from 42 to 41.Some additional features have been implemented in order to enhance the user experience: Step by step debugging of the engine events.Persistence: the Save button associates a unique URI to a DRL snippet in order to share it with the community, e.g.: far, only the minimum set of functionalities have been implemented to showcase the Drools Fiddle concept but there are still a lot of exciting features in the pipe:Multi tabbed DRL editorDecision  table supportSequence diagram representation of rule engine eventsFact history visualizationImprovement of log events visualizationKieSession persistence to resume stateful sessionsIntegration within Drools WorkbenchThe source code of Drools Fiddle is available on GitHub under Apache v2 License and you can access the application at Should you wish to contribute, pull requests are welcome ;)We would love to have the feedback of the Drools community in order to improve the fiddle and make it evolve in the right Julien Vipret & Matteo Casalino [...]

New 6.5.0.Final tags for community Docker images

Mon, 05 Dec 2016 17:43:00 +0000

The latest Docker community image tags for 6.5.0.Final are now available on Docker Hub.

More information at the following links:


Red Hat BRMS and BPMS Roadmap Presentation (Nov 22nd, London)

Fri, 11 Nov 2016 02:17:00 +0000

Original Link : Drools, jBPM, OptaPlanner, DashBuilder, UberFire and ErraiFor our second JBUG this November we’re delighted to welcome back Red Hat Platform Architect, Mark Proctor who will be part of a panel of speakers presenting roadmap talks on each component technology.We’re fortunate to have this opportunity for so many project leads to be in one room at the same time, and it’s a fantastic opportunity to come along and ask questions about the future plans for BRMS and BPMS.The talk will look at how the 7 series is shifting gears, presenting a vision for low-code application development in the cloud - with a much stronger focus on quality and maturity over previous releases.Key topics will include:The new Rich Client PlatformThe new BPMN2 DesignerNew Case Management and ModellingImproved Advanced Decision Tables and new Decision Model NotationImproved Forms and Page buildingFully integrated DashBuilder reportingNew OptaPlanner features & performance improvementsThere will be opportunities for questions and the chance to network with the team over a beer and slice of pizza.RegistrationAttendees must register at the Skills Matter website prior to the meet-up. Please – only register if you intend to come along. Follow this link to register: – 18:45     Meet up at Skills Matter with a beer at the bar18:45 – 19:45     Part One19:45 – 20:00     Refreshment break20:00 – 20:30     Part Two20:30                    Pizza, beer and networkingSpeakersMark ProctorMark is a Red Hat Platform Architect and co-creator of the Drools project - the leading Java Open Source rules system. In 2005 Mark joined JBoss as lead of the Drools project. In 2006, when Red Hat acquired JBoss, Mark’s role evolved into his current position as platform architect for the Red Hat JBoss BRMS (Business Rules Management System) and BPMS (Business Process Management System) platforms - which incorporate the Drools and jBPM projects.Kris VerlaenenKris is the JBoss BPM project lead, and is interested in pretty much everything related to business process management. He is particularly fascinated by healthcare - an area that has already demonstrated the need for flexible business processes.Geoffrey De SmetGeoffrey is the founder and project lead of OptaPlanner (, the leading open source constraint satisfaction solver in Java. He started coding Java in 1999, regularly participates in academic competitions, and enjoys assisting developers in optimizing challenging planning problems of real-world enterprises. He is also a contributor to a variety of other open source projects.Mauricio SalatinoMauricio Salatino is a Drools/jBPM Senior Software Engineer in Red Hat, and author of the jBPM5 and jBPM Developer Guide, and the Drools 6 Developer Guide. His main task right now is to develop the next generation cloud capability for the BRMS and BPMS platforms - which includes the Drools and jBPM technologies.Max BarkleyMax is a Software Engineer at Red Hat and the Errai project lead. Joining Red Hat as an intern in 2013, he took on his current role after graduating H.B.Sc. Mathematics from the University of Toronto in 2015. [...]

Drools 7 to support DMN (Decision Model and Notation)

Mon, 31 Oct 2016 19:55:00 +0000

The Decision Model and Notation (DMN) specification is a relatively new standard by OMG (Object Management Group) that aims to do for business rules and business decisions what BPMN (it's sibling specification) did for business processes: standardize the notation and execution semantics to enable both its use by business users, and the interchange of models between tools from different vendors.The Drools team has been actively following the specification and the direction it is taking. The team believes that, in accordance with its long time commitment to open standards, it is now time to support the specification and provide a compliant implementation for the benefit of its users.The specification defines among other things:an expression language called FEEL used to express constraints and decisionsa graphical language to model decision requirementsa metamodel and runtime semantics for decision modelsan XML-based interchange format for decision modelsAs part of the investigation, the Drools team implemented a PoC that is now public and available here. The PoC already covers:a complete, compliance level 3, FEEL language implementation.complete support for the XML-based interchange format for marshalling and unmarshalling.A partial implementation of the metamodel and runtime semantics We expect to have a complete runtime implementation released with Drools 7.0 (expected for Q1/2017).On a related note, this is also a great opportunity for community involvement. This being a standard implementation, and relatively isolated from other existing components, it is the perfect chance for any community member that wishes to get involved with Drools and open source development to get his/her hands dirty and help bring this specification to life. Contact me on the Drools mailing list or on IRC if you would like to help.We will publish over the next few weeks several blogs on this subject, with both general explanations about the specification and with details of our plans and our implementation. Bellow you can find a quick Q&A. Feel free to ask additional questions you might have about this subject on the mailing list.Happy Drooling!Questions & Answers1. What DMN version and what compliance level will Drools support?Drools is implementing DMN version 1.1 support at compliance level 3.2. Is DMN support integrated with the Drools platform?Yes, the DMN implementation leverages the whole Drools platform (including, among other things, the deployment model, infrastructure and tooling). DMN models are a first class citizen in the platform and an additional asset that can be included in kjars. DMN models will be supported in the kie-server and decision services exposed via the usual kie-server interfaces.3. Is Drools DMN integrated with jBPM BPMN?At the moment of this announcement, the integration is not implemented yet, but we expect it will be fully functional by the time Drools and jBPM 7.0 release (Q1 2017).4. Will FEEL be a supported dialect for DRL rules? At the moment this is not clear and requires additional research. While FEEL works well as part of the XML-based interchange format, its syntax (that supports spaces and special characters as part of identifiers) is ambiguous and cannot be easily embedded into another language like DRL. We will discuss this topic further in the upcoming months. [...]

Drools 6.5.0.Final is available

Tue, 25 Oct 2016 21:33:00 +0000

The latests and greatest Drools 6.5.0.Final release is now available for download.This is an incremental release on our previous build that focus on a few key improvements to round up the 6.x series.You can find more details, downloads and documentation here:Drools websiteDownloadsDocumentationRelease NotesRead below some of the highlights of the release.You can also check the new releases for:jBPMOptaplannerHappy drooling.What's new?Core EngineConfigurable ThreadFactory Some runtime environments (like for example Google App Engine) don't allow to directly create new Threads. For this reason it is now possible to plug your own ThreadFactory implementation by setting the system property drools.threadFactory with its class name.Use of any expressions as input for a query It is now possible to use as input argument for a query both the field of a fact as in:query contains(String $s, String $c) $s := String( this.contains( $c ) )endrule PersonNamesWithA when $p : Person() contains( $, "a"; )thenend Update with modified properties Property reactivity has been introduced to avoid unwanted and useless (re)evaluations and allow the engine to react only to modification of properties actually constrained or bound inside of a given pattern. However this feature is automatically available only for modifications performed inside the consequence of a rule. Conversely a programmatic update is unaware of the object’s properties that have been changed, so it is unable of using this feature.To overcome this limitation it is now possible to optionally specify in an update statement the names of the properties that have been changed in the modified object as in the following example:Person me = new Person("me", 40);FactHandle meHandle = ksession.insert( me );me.setAge(41);me.setAddress("California Avenue");ksession.update( meHandle, me, "age", "address" ); Monitoring framework improvements A new type of MBean has been introduced in order to provide monitoring of the KieContainers, and the JMX MBeans hierarchical structure have been revisited to reflect the relationship with the related MBeans of the KieBases. The JMX objectnaming has been normalized to reflect the terminology used in the Kie API.A new type of MBean has been introduced in order to provide monitoring for Stateless KieSession, which was not available in previous releases. Drools WorkbenchGuided Rule Editor : Support formulae in composite field constraints Composite field constraints now support use of formulae. When adding constraints to a Pattern the "Multiple Field Constraint" selection ("All of (and)" and "Any of (or)") supports use of formulae in addition to expressions.Authoring - Project Editor - Reimport button The "Reimport" button invalidates all cached dependencies, in order to handle scenarios where a specific dependency was updated without having its version modified. [...]

Google Summer of Code 2016: Drools & Minecraft

Thu, 29 Sep 2016 11:49:00 +0000

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 point & click games such as Escape The Room, Monkey Island, Maniac Mansion, etc but after looking at how to work with Minecraft I've opened the concept to wider game definitions. We worked with Sam into creating a generic game engine that will take the Rules Definitions and drive the game (the Minecraft Mods) . Sam created a couple of Minecraft MODs that provides a scenario for the game which interacts and delegate to Drools the game's logic.You can find the work for the Drools Game Engine here: the two mods projects here: and two games are using the rules described here: here: spent a lot of time in trying to get the separation right, so now you can consume the game server itself indepentendly of the UI. This opens up the doors so you can use the engine withoug Minecraft. For that reason we have created also a set of services that exposes the Game Engine via rest in case that you want to interact with it remotely.You can take a look at the main GameSession interface which is in charge of defining how to create new game sessions and enables the UI to register callbacks so actions can be executed when the logic of the game says so. of this separation you will see that each game has its own test suite where both, the Rules and the GameSession API is tested to make sure that new games can be created and the rules are behaving as expected.There is a lot of things to improve still, both in the Game Engine and in the MODs, so feel free to get in touch with us if you want to participate on the project. Hopefully we can build enough features to include it in the Drools Project. [...]

Red Hat BPMS and BRMS 7.0 Roadmap Document - With a Focus on UI Usability

Wed, 17 Aug 2016 00:27:00 +0000

BPMS and BRMS  6.x put in a lot of foundations, but the UI aspects fell short in a number of areas with regards to maturity and usability.In the last 4 years Red Hat has made considerable investment into the BPMS and BRMS space. Our engineering numbers have tripled, and so have our QE numbers. We also now have a number of User Experience and Design (UXD0 people, to improve our UI designs and usability.The result is we hope the 7x series will take our product to a whole new level, with a much stronger focus on maturity and usability, now with the talent and bandwidth to deliver.We had an internal review where we had to demonstrate how we were going to go about delivering a kick ass product in 7.0. I thought I would share, in this blog, what we produced, which is a roadmap document with a focus on UI Usability. The live version can be found at google docs, here - feel free to leave comments.Enjoy :)MarkBPMS and BRMS Platform Architect.Other Links:Drools 7.0 Happenings  (Includes videos)Page and Form Builder Improvements (Video blog)Security Management (Detailed blog on 7.0 improvements)User and Group Management (Default blog on 7.0 improvements)--------About This DocumentThis document presents the 7.0 roadmap with an eye on usability, in terms of where, how and who for. It is an aggressive and optimistic plan for 7.0 and it is fully expected that some items or a percentage of some items will eventually be pushed to 7.1, to ensure we can deliver close to time. Longer term 7.1 and onward items are not discussed or presented in this document, although it does touch on some of the items which would be raised as a result of reading this document - such as the “What’s not being improved” (for 7.0) section.Wider field feedback remains limited, with a scarcity of specifics. This creates challenges in undertaking a more evidence based approach to planning, which can stand up strongly to scrutiny on all sides. However, engineering and UXD have been working with the field, primarily through Jim Tyrrell and Justin Holmes over the last year on this topic and this document represents the culmination of many discussions over the last year. As such it represents a good heuristic, based on the information and resources available to us at the time.Understanding Feedback from the  FieldBroadly speaking, we have two types of customers:Those who want developers to use our product, often times embedded in their appsThose who want a cross-functional team to use our productGenerally speaking, we do quite well with customer 1, but we have a huge challenge with customer 2. The market has set a pretty clear expectation, on features and quality for targeted audiences, with IBM ODM and Pega’s BPM/Case Management. Almost every customer type 2 either has a significant deployment of these two competitors in place, or the decision maker has done significant work with these products in the past. Moreover, customer 2 is interested in larger, department or organization wide deployments. Customer 1 is usually interested on project level deployments.Customer 2 is primarily upset with our authoring experience, both in eclipse and in Business Central. It is uncommon that customer 1 or 2 is upset with missing features or functions from our runtime (especially now that 6.3 has been released with a solid execution server and management function), and when she is, our current process to resolve these gaps works well. Therefore, the field feedback in this document (and ou[...]

Page and Form builder for Bootstrap responsive grid views - a progress update

Fri, 05 Aug 2016 23:54:00 +0000

Eder has made great progress on the page and form builder,  which are built on top of Bootstrap responsive grid views.

We love the responsive aspects of Bootstrap grid views, but felt existing tools (such as Layoutit) exposed the construction of the grid too much to users. Further changing the structure of a page after it was made and populated is not easy. We wanted something that built the grid automatically and invisibly based on the dragging and positioning of components.

The latest results can be seen in this youtube video (best to watch full screen and select HD):
width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="" src="" frameborder="0" allowfullscreen>

We have other videos, from earlier revisions of the tool, that you can also watch, as well as peripheral related tools.
Page Builder
Form Builder
Page/App Deployment
Page Permissions
User and Groups


Security management in jBPM & Drools workbenches

Fri, 29 Jul 2016 06:58:00 +0000

The jBPM 7 release will include an integrated security management solution to allow administrator users to manage the application’s users, groups and permissions using an intuitive and friendly user interface. Once released, users will be able to configure who can access the different resources and features available in the workbench.In that regards, a first implementation of the user & group management features was announced about 3 months ago (see the announcement here). This is the second article of this series and it describes what are permissions and how they extend the user and group management features in order to deliver a full security management solution. So before going further, let's introduce some concepts:Basic conceptsRoles vs GroupsUsers can be assigned with more than one role and/or group. It is always mandatory to assign at least one role to the user, otherwise he/she won’t be able to login.Roles are defined at application server level and they are defined as  entries in the application’s web.xml descriptor. On the other hand, groups are a more flexible concept, since they can be defined at runtime. Both can be used together without any trouble. Groups are recommended as they are a more flexible than roles.PermissionsA permission is basically something the user can do within the application. Usually, an action related to a specific resource. For instance: View a perspective Save a project View a repository Delete a dashboard A permission can be granted or denied and it can be global or resource specific. For instance: Global: “Create new perspectives” Specific: “View the home perspective” As you can see, a permission is a resource + action pair. In the concrete case of a perspective we have: read, update, delete and create as the actions available. That means that there are four possible permissions that could be granted for perspectives. Permissions do not necessarily need to be tied to a resource. Sometimes it is also neccessary to protect access to specific features, like for instance "generate a sales report". That means, permissions can be used not only to protect access to resources but also to custom features within the application. Authorization policyThe set of permissions assigned to every role and/or group is called the authorization (or security) policy. Every application contains a single security policy which is used every time the system checks a permission. The authorization policy file is initialized from a file called WEB-INF/classes/ under the application’s WAR structure. NOTE: If no policy is defined then the authorization management features are disabled and the application behaves as if all the resources & features were granted by default. Here is an example of a security policy file: # Role "admin" Role "user" entry defines a single permission which is assigned to a role/group. On application start up, the policy file is loaded and stored into memory. UsageThe Security Management perspective is available under the Home section in the workbench's top menu bar.[...]

UberFire Forms Builder for jBPM

Fri, 17 Jun 2016 18:04:00 +0000

The new UberFire form builder, that will be part of the jBPM 7.0 distribution, is making great progress. Underneath it is a Bootstrap grid system, but it addresses the issue of other Bootstrap layout builders that require the user to explicit add the grid layout first. Instead it dynamically alters the underlying grid as the user drags and places the components. The same builder code will be used for the latest DashBuilder dashboards too. There are more CSS improvements to come, but you can watch a video below (don't forget to turn on HD and watch it full screen), demonstrating nested form capabilities. Eventually you should be able to build and deploy these types of applications live on OpenShift. Good work Pere and Eder.

allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="" frameborder="0" height="266" src="" width="320">