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