Hi Ed and Devs, This thread deserves some comment and attention. For many of the participants, the core MifosX (now Fineract 1.x) platform is all that they have known and a move to a different platform has all sorts of issues associated with it. With Fineract-CN, a key idea was to respond to some of the issues identified by implementers in the field - namely that the code was insufficiently flexible and extensible.
It is vital for the community to determine a path from Fineract 1.x to Fineract-CN. My previous understanding, when Fineract-CN was first discussed, was that the code was going to be starting as a refactoring of the existing Fineract code. I vaguely understood it to be consistent with Martin Fowler's Strangler Application. https://www.martinfowler.com/bliki/StranglerApplication.html In this article he lays out how to deal with a migration path from one monolithic API driven application to a microservices application. "The fundamental strategy is EventInterception <https://www.martinfowler.com/bliki/EventInterception.html>, which can be used to gradually move functionality to the strangler and to enable AssetCapture <https://www.martinfowler.com/bliki/AssetCapture.html>." IBM has this later explanation on Fowler's concept: https://www.ibm.com/developerworks/cloud/library/cl-strangler-application-pattern-microservices-apps-trs/index.html Why is this useful for Fineract1.x --> Fineract-CN? Well, first it points to the idea that the Fineract API needs to be maintained from one generation to the next As a guiding principle, this helps to define the "surface area" for the development effort. Once the API is able to run (or perhaps 95% of the API is a better target), then the effort can shift to versioning of the API or some other concept involving public APIs, internal APIs and composition of APIs. It implies that existing front ends need not be migrated initially. The strangler application concept also suggests that the microservices "creep in" and "take over gradually", implying that there should be a way for the Fineract-CN to relate to the existing code. Perhaps we could look at certain areas of the Fineract-CN code to replace existing services in the Fineract1.x. Useful way to move forward? James On Wed, Feb 28, 2018 at 9:44 AM Ed Cable <[email protected]> wrote: > Now that the Fineract CN repositories are on the Apache Github, stabilized, > and proper build documentation is coming together, momentum is starting to > build. > > I wanted to raise on the mailing lists a question and concern I know is at > the back of the minds of many members of the Mifos and Fineract > communities. > > *What is the migration path from Fineract to Fineract CN? * > > During the genesis of Generation 3 now Fineract CN, we made the commitment > to a migration path so I want the dialogue to happen early so we can ensure > that as Fineract CN evolves and matures, we have in place the tools, > scripts, documentation to bridge the communities. > > Hundreds of institutions and millions of clients supported by partners from > around the world currently rely on Fineract but would greatly benefit form > this new architecture. > > I want our community to have this open discussion about what they envision > for an ideal migration path and what can be practically be implemented to > achieve the best migration path possible. > > So let's use this thread and this wiki page at > > https://cwiki.apache.org/confluence/display/FINERACT/Migration+Path+from+Fineract+to+Fineract+CN > to discuss: > > - Use cases for migration path > - Proposed solutions for a migration path along with pros/cons of each > > Some outcomes I'd like to see: > - Proposed Design & Approach > - Timeline and Placement on our Roadmap > - Identify Volunteers to Drive this Forward > - Scope out as a Potential GSOC Project > > I look forward to the discussion! > > P.S. If they're reading, this might be a chance for the folks at Apache POI > to get involved! :) > -- > *Ed Cable* > President/CEO, Mifos Initiative > [email protected] | Skype: edcable | Mobile: +1.484.477.8649 > <(484)%20477-8649> > > *Collectively Creating a World of 3 Billion Maries | *http://mifos.org > <http://facebook.com/mifos> <http://www.twitter.com/mifos> >
