nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Geercken" <>
Subject RecordReader and RecordWriter: development work on ruleengine
Date Thu, 05 Oct 2017 18:14:19 GMT
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).

View raw message