Hello,
 
I would like to pick up development on my processor that uses a ruleengine. It 
is working since several month already but I want to convert the processor to 
use the new RecordReader/RecordWriter framework. This way I can use any data 
format, which is really, really cool and will benefit it's purpose.
 
What the processor does is to get a record and run it through the ruleengine to 
evaluate results based on business rules. The business rules are written in an 
external web application. So the benefit is, that the business logic is not 
embedded in the code (process). You can change the logic without touvhing the 
code/process. The ruleengine uses Java reflection to construct objects and run 
methods based on the rules and against the data. Using reflection I can 
instantiate any Java object, which makes the ruleengine universally usable. 
Btw: I have used the ruleengine with Pentaho ETL, Nifi, Kafka and Hadoop - and 
from Java code of course.
 
The ruleengine also knows "actions". Actions are fired based on the the result 
of rules (group of rules). So this is a way to fire an event based on logic. 
Again - all outside of the code. You can manipulate the records of the flowfile 
this way, e.g.
 
So I am also interested in the methods that RecordReader provides to get to the 
data. I am confident that I can make a really easy implementation that works 
for any data because the framework abstracts everything away that is about data 
format.
 
Now looking through code of the existing processors helps and is educational 
but to get started a documentation would be very helpful. Maybe you can point 
me to a sample or documentation which shows the usage of the api for 
RecordReader/RecordWriter and how I get a hold on the data/content of the 
flowfile.
 
Thanks for your time. Nifi is getting better and better. I am totally convinced 
that the ruleengine will benefit many people and help externalize logic, so 
that a proper division of responsibilities is possible: between those that 
write code/create flows and those that manage a complete set of logic, which is 
in fact the knowledge of a company. Central logic and clean code will benefit 
both quality and agility (time to implement changes).
 
Greetings,
 
Uwe

Reply via email to