[ 
https://issues.apache.org/jira/browse/FINERACT-1127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger resolved FINERACT-1127.
-----------------------------------------
    Resolution: Fixed

> Modularize Fineract to allow something like e.g. the Pentaho integration to 
> be built and run separately
> -------------------------------------------------------------------------------------------------------
>
>                 Key: FINERACT-1127
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1127
>             Project: Apache Fineract
>          Issue Type: New Feature
>          Components: Reports
>            Reporter: Michael Vorburger
>            Assignee: Michael Vorburger
>            Priority: Major
>             Fix For: 1.6.0
>
>         Attachments: image-2020-10-09-16-25-14-300.png
>
>
> [~francisguchie] thanks for raising 
> [https://github.com/apache/fineract/pull/1262/files] for FINERACT-1094, even 
> though we cannot merge it due to licensing, it helps at least me to see it 
> nicely isolated like that, e.g. for this discussion! 
> Seeing that, and subsequent FINERACT-1125, led me to wonder if an alternative 
> future architecture approach here could be to have a 3rd-party, such as the 
> Mifos Initiative, offer Pentaho integration for Fineract not anymore by 
> forking Fineract and adding code to it (which is always a PITA to maintain, 
> in the long run), but by building and releasing an entirely separate runnable 
> binary artifact (WAR / JAR) for it... this could be very neat even from a 
> runtime perspective - completely separate REST API, and (possibly "heavy"?) 
> report generation?
> _One could even image breaking out running scheduler jobs separately from API 
> serving. Ultimately, this could effectively be the start of breaking Fineract 
> 1.x into a CN-like "microservices" deployment... but I'd envision that to, 
> always, just be one option, a possible alternative - with the current WAR/JAR 
> remaining as is, forever - but it would just "assemble modules" for the 
> "monolithic deployment distribution". Anything along these ideas is further 
> down the line, but starting with making this possible for reporting could be 
> a pragmatic start.... let's focus on that only, in this issue._
> This is more of a still somewhat vague idea at this stage. The next step 
> would consist of spending more time understanding the details of how 
> Fineract's {{ReportingProcessService}} is designed... I personally don't know 
> that much about it, but looking at PR #1162, one can kind of gather that this 
> {{PentahoReportingProcessServiceImpl}} needs to implement 
> {{ReportingProcessService}}? What would it take for the front-end to be able 
> to call another service (or Fineract to HTTP redirect reports to an external 
> service...), and then for such an external service to be able to... do 
> exactly what, actually - what's the lowest common denominator integration 
> touch point, here? From an only very quick glance at the code, it looks like 
> we're basically "passing through" JDBC connection details? So...  what one 
> would need is to be able to build an external Fineract (non-CN) service that 
> can access the same DB? Sharing a minimal amount of 
> {{fineract.infrastructure.core}} code, as a library...
> [~francisguchie], [~ptuomola], [~awasum], [~xurror], [~edcable] FYI.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to