I would like to create a system which handles alert messages from various programs and can process those alerts to down-wind consumers via email. This would all be contained over one internal network.
The main concern I have currently is the "Message Handler" bit, which is what will be my "sort-of-API". I want all components of this system to send data to the API, which handles all writes to the database. I think this approach is easier because it simplifies security, and allows me to contain a lot of the more complicated DB queries into one single program.
The concern is that I want this to be language agnostic - meaning that any code should be able to send messages to my Handler - which will interpret them. I hope to do this via JSON flat files - or via REST calls to the program (giving flexibility to the down-stream applications).
My question is-
Should I bother with the message handler - or would it add simplicity to just allow direct database access to the down-stream applications, as well as the two other components (Management Console, and Alert Manager)?
That way, they can insert whatever alert they would like - as long as the INSERT into the DB table/s is valid.
I'm not a software designer by trade so excuse me - I just want a project to do in my free time.