JBPM Training and Drools Interview Questions and Answers

Q1 : What is JBPM?

A : jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. JBPM has a dual focus: it offers process management features in a way that both business users and developers like it.

Q2 : What is the productized version of Drools?

A : JBoss Enterprise BRMS is the productized version of Drools and it has enterprise-level support.

Q3 : What is Drool?

A : Drool is one of the business rule management systems or BRMS that has forward and backward chaining inference based rule engine.

Q4 : What is provided by Drools?

A : Drools provide core Business Rules Engine (BRE) and Web Authoring and Rules Management Application (Drools Workbench) as well as the Eclipse IDE plugin for core developments.

Q5 : What does jBPM do?

A : This business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor. The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification. It can run in any Java environment, embedded in your application or as a service.

Q6 : What is meant by Drools Planner?

A : Drools Planner or automated planning optimizes the process including the NP-hard planning problems.

Q7 : Why use Drools and not other programming languages?
A : The rules logic can be done in a programming language like Java. Consider a Jewellery shop which needs to maintain business logic of calculating discount based on the type of Jewellery. But such rules may change daily and need to be updated regularly in our code which is not good. Also, we will always require a Developer for making such changes. So it is a good practice to define this logic as rules in a Business Rule Management System. If tomorrow the discount is to be changed this can be done even by a non-technical person.

Q8 : What is meant by Knowledge is Everything or KIE?

A : KIE is the new umbrella name to the systems set like drools, jBPM, optaPlanner, Guvnor, and uberFire and such other technologies.

Q9 : What is the global variable in Drools?
A : The global variable in Drools is the keyword. Global is the variable used in Drool and is visible in all rules inside the DRL file.

Q10 : What is meant by Drools Guvnor and Drools Expert?

A : Drools Guvnor is the Business Rules Manager and Drools Expert is the Business Rules Engine.

Q11 : What is Knowledge Session?
A : The knowledge session is retrieved from the knowledge base. It is the main interface for interacting with the Drools Engine. The knowledge session can be of two types:
1. Stateless Knowledge Session
2. Stateful Knowledge Session

Q12 : What is the standard supported by Drool?

A : Drool supports JSR-94 standards for the business rule engine. It also supports enterprise framework for construction, enforcement, as well as maintenance of business policies.

Q13 : What is other nomenclature for Drool?

A : Drool is also known as production rule system that uses enhanced implementation of Rete algorithm.

Q14 : What is Drools Flow?

A : Drools Flow or process or workflow as it is variedly called provides the workflow as well as business processes.

Q15 :  What is the restriction in using Java code?
A : User cannot use Java code inside “when” part of the rules. However, it can be used in the “then” part.

 Q16 : What is JBoss Enterprise BRMS?

A : JBoss Enterprise BRMS is the reasoning engine for policy and rule developments for business. It also manages access and changes.

Q18 : What are the features of JBoss Enterprise Application or SOA Platform?

A : It is the application software structure in the system that supports the running of BRMS components.

Q19 : What is meant by accumulating in DRL Drools?
A : Accumulate is conditional element that was introduced in Drools version 4.0. It is used to iterate over the list of objects and help validation of data in Java operation.
Ex. accumulate (Counter() ; $cnt : count())