Hello Markus and Myrle, Thank you for the input. I will revise the idea and include how it will work using the API and ActiveMQ. This is my confluence id ebenezergraham , hopefully I can start detailing the idea there.
*Best Regards,* *Ebenezer Graham* *BSc (Hons) Computing* [image: EmailSignature.png] Beau Plan Business Park | West Building Pamplemousses | Mauritius <http://www.pactmart.com/> <http://www.pactmart.com/> www.pactmart.com | Freelancing made easy. skype: ebenezer.graham | Phone: +230 5840 9206 GitHub <https://github.com/ebenezergraham> | LinkedIn <https://www.linkedin.com/in/ebenezer-graham/> | Twitter <https://twitter.com/pactmart> | Facebook <https://www.facebook.com/pactmart> | Personal Website / CV <http://ebenezergraham.github.io/> *“Practice isn’t the thing you do once you’re good. It’s the thing you do that makes you good.”* -*Malcolm Gladwell* On 16 March 2018 at 18:34, Myrle Krantz <my...@apache.org> wrote: > Hi Ebenezer, > > I believe you're planning to monitor at the wrong abstraction level. > Currently each command handler has a so-called @EventEmitter, which places > a message on the ActiveMQ message queue. A command handler might change > multiple tables while persisting the data it needs to persist, but it will > only emit one ActiveMQ message. So your monitor should listen to ActiveMQ > rather than monitoring the database. In all of the component-test modules > for the services, there is a listener module which shows how to listen to > the ActiveMQ events defined for that service. > > Also a question: how do you plan to solve the localization problem in your > design? IE what if an institution has customers who don't speak the same > language as each other? > > If you'd like to put your design in confluence, create a confluence id and > I'll give you edit permissions. > > Best Regards, > Myrle > > > > On Fri, Mar 16, 2018 at 3:17 PM, Ebenezer Graham <egraha...@alustudent.com > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *Hi,I would like to contribute to the development of the new notification > > microservice for Fineract CNThis is my thinking around the implementation > > of notification microservice for GSoC. I would like get your input on the > > approach if possible. The Notification Microservice could be divided into > > the following subsystems.Preferably, refactor the existing codebase to > > generate the triggers after passing the necessary checks in the > > backend.Alternatively, A trigger creator can be made within the > > microservice to avoid tampering with the existing > codebase.TriggerGenerator > > - Monitor Database for new records and generate and eventThe resolver > will > > accept event from the generator and then determine what has to be done. > The > > Resolver then determines the kind of notification required, an email or > an > > SMS I will determine if its an instant notification or need to be > scheduled > > for later release TriggerResolver - Listen for triggers- Determine the > kind > > of notification- Forward instant notification- Aggregate Notification for > > scheduled releaseThis component will be abstracted to accommodate future > > changes in message formats. It will create DAO for the various databases > > accessDAOFactory - clientDAO- loanDAO- etcThe message resolver will > gather > > the content from the database using the DAO to form the message and all > > relevant address.This component will use the template component to form > the > > message structure. MessageResolver - Gather message content using > internal > > DAO- Gather addressesThis component will receive the message and connect > > with carrier domains and mailing services to send the > > notifications.MessageHandler - Send Messages- Authenticate with carrier > > domains and create mail servlets- Retry sending notification if > > failed.EmailHandler extends MessageHandler - Prepare Email SMSHandler > > extends MessageHandler - Prepare SMSThe template will abstract the > various > > message formats and work with the MessageResolver.Template - SMS > templates- > > SMS templates- Email Templates- CC/BCC : StakeholdersI have attached a > > class diagram to help visualize the components. * > > > > *Best Regards,* > > > > *Ebenezer Graham* > > > > *BSc (Hons) Computing* > > > > > > [image: EmailSignature.png] > > > > Beau Plan Business Park | West Building > > > > Pamplemousses | Mauritius > > > > > > <http://www.pactmart.com/> > > <http://www.pactmart.com/> > > www.pactmart.com | Freelancing made easy. > > > > skype: > > ebenezer.graham > > | Phone: > > +230 5840 9206 <+230%205840%209206> > > GitHub <https://github.com/ebenezergraham> | LinkedIn > > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter > > <https://twitter.com/pactmart> | Facebook > > <https://www.facebook.com/pactmart> | Personal Website / CV > > <http://ebenezergraham.github.io/> > > > > > > *“Practice isn’t the thing you do once you’re good. It’s the thing you do > > that makes you good.”* > > -*Malcolm Gladwell* > > > > > > >