Aletyx Enterprise Build of Drools - Enterprise Support for the Powerful Drools Engine¶
What is Drools?¶
Drools is the most used open source rules engine project in the world providing a powerful a power Decision engine with Management capabilities that forms the one of the main pillars of the Aletyx Enterprise Build of Kogito and Drools. As an enhanced build of the Apache KIE project, our version of Drools provides all the benefits of the open source foundation with additional enterprise features that enterprises require that might not be compatible with Apache® Foundation requirements. At Aletyx, we provide the enterprise support and features to get your decisions project from concept to production faster with added confidence that only Aletyx can provide!
Key Capabilities¶
The Aletyx Enterprise Build of Drools includes:
1. Rule Engine (DRL)¶
The traditional Drools Rule Language (DRL) provides a flexible, expression-based approach to authoring business rules:
rule "High Value Customer"
when
$customer: Customer(yearlySpend > 10000, status != "VIP") // (1)
then
modify($customer) { // (2)
setStatus("VIP"), // (3)
setDiscountRate(0.15) // (4)
}
System.out.println("Customer " + $customer.getName() + " upgraded to VIP");
end
- Create a variable customer that is based on a Customer object with yearly spend more than 10,000 and not currently a VIP customer
- Modify is a key word in Drools. See Modifying Facts to learn more how this block works.
- Set the status of the current customer to VIP
- Set the Discount Rate of the current to 15%
Decision Model and Notation™ (DMN™)¶
DMN provides a business-friendly approach to decision modeling with visual decision requirements diagrams and decision tables:
- FEEL Literal Expression looking at an Applicant's Age and Income
The Aletyx Enterprise Build of Drools DMN implementation includes:
- DMN 1.5 standard compliance
- Decision service integration templates provided with Accelerators attached to Aletyx Studio
- DMN model validation and testing tools
Decision Tables in Drools Rules Language (DRL)¶
For business-friendly rule authoring without coding:
- Spreadsheet-based decision tables
- Web-based decision table editors with Decision Modelling and Notation
- Automated validation and consistency checking
To learn more about DMN Decisions, see Decision Model and Notation Introduction To learn more about DRL Spreadsheets, see Creating Your First Decision Table with DRL
Runtime Environments¶
The Aletyx Enterprise Build of Drools supports multiple deployment scenarios:
- Embedded within Java applications
- Standalone decision services
- Container-based microservices
- Serverless function deployments
Integration Points¶
Aletyx Enterprise Build of Drools integrates seamlessly with:
- jBPM and Kogito for decision-driven process automation
- Aletyx Studio for visual development
- Spring Boot™
- Quarkus™ for cloud-native applications
- Event-driven architectures via Apache Kafka™ and other event driven architectures
- Monitoring tools like Prometheus and Grafana
API Overview¶
The Aletyx Enterprise Build of Drools} provides several APIs for different use cases:
Legacy Java API¶
KieServices kieServices = KieServices.Factory.get();
KieContainer kContainer = kieServices.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-rules");
// Insert facts
Customer customer = new Customer("John", 100000);
kSession.insert(customer);
// Fire rules
kSession.fireAllRules();
REST API¶
For service-oriented architectures, the Aletyx Enterprise Build of Drools provides REST endpoints that can be autogenerated through the usage of queries within the Drools Rules Language (DRL), DMN and BPMN:
curl -X POST "https://decisions.example.com/api/rules/customer-classification" \
-H "Content-Type: application/json" \
-d '{"customer": {"name": "John", "yearlySpend": 100000}}'
Next Steps¶
- Get started with your first rule
- Explore DMN modeling
- Learn about decision tables
- Understand the decision engine architecture