Hi Daniel, Thanks for mailing and getting involved with MiNiFi!
There is no inherent coupling of versions rather, as has been the custom within the NiFi community, we use, roughly, semantic versioning. As a result, our initial release of MiNiFi C++ started as 0.0.1 and since there have been some new features, our next release is considered a minor one, putting us at 0.1.0. There is no correlation of the C++ version with that of the Java codebase, rather both being in their relative infancy are starting from a common place. Instead, this release is predicated on keeping a regular cadence of making the community's efforts available for general consumption. Additionally, the release is also being suggested as we've reached a point with the filed issues where those items not scheduled for the next release require considerable effort and another period of development to incorporate. In terms of roadmap, there is nothing rigidly defined and is very much open to the direction of the community and its will. There is a rough outline that was captured on the wiki which I'd imagine you have seen, but is additionally provided as context for anyone else reading along [1]. Please feel free to share thoughts on specifics in terms of milestones for challenges you are looking to address on the Wiki and we can look to grow and evolve that information. >From my perspective, I feel the most important area is that of chasing down framework parity with the core features and building blocks of all that our Java equivalents have to offer. In addition to this, extending the flexibility of the user experience in dataflow to our MiNiFi instances as outlined with some of the feature proposals such as Command & Control (C2)[2] are areas that can be worked on in a parallel fashion. In general, my instincts lead me to believe that the C++ version will be a "generation" behind Java for the immediate future. MiNiFi Java allows us to make use of much of the effort done in NiFi to try new things out, iterate, and expand functionality quickly. Once established, we can then perform the same in C++. In terms of your view of the hub and spoke model, I believe this is the shared vision of the community long term; the efforts of (C2) would allow users to more effectively execute such architectures more efficiently, extending the core principles of NiFi beyond the traditional data center. We have ensured initial connectivity to core NiFi via the raw socket Site to Site implementation in C++. Later, this will be further extended with the HTTP equivalent, which will make its debut in the MiNiFi realm with the next release of MiNiFi Java. Please let us know if there are additional questions you would like to discuss and appreciate your feedback on the process and look forward to your continued engagement. Thanks! [1] https://cwiki.apache.org/confluence/display/MINIFI/Proposed+Roadmap [2] https://cwiki.apache.org/confluence/display/MINIFI/MiNiFi+Command+and+Control On Tue, Nov 22, 2016 at 1:29 PM, Daniel Cave <[email protected]> wrote: > Having been out of touch since MiNiFi C++ got added and just getting into > it, > is there a reason the C++ version is trying to follow closely the MiNiFi > Java version rather than just insuring connectivity with NiFi? I have not > been able to find alot of details regarding the roadmap for MiNiFi C++. > > It seems to me that this tight coupling is coming at the cost of the > efficiency that should be gained through a C++ version. MiNiFi C++ should > lend itself to a hub and spoke model with MiNiFi C++ acting as the spoke > clients and NiFi as the hub. This only works, however, if maximum > efficiency is maintained as spoke needs may range from servers to embedded. > Additional to embedded advantages, MiNiFi C++ also has the ability to run > natively as a Windows service with direct interaction with the Windows API > which is also difficult at best with the Java version. > > Can you please provide some clarity on where things are headed? For > reference, I have been through the wiki, JIRA, Confluence, Git, etc. > > > > -- > View this message in context: http://apache-nifi-developer- > list.39713.n7.nabble.com/DISCUSS-MiNiFi-C-0-1-0-Release-tp13956p13957.html > Sent from the Apache NiFi Developer List mailing list archive at > Nabble.com. >
