Chciałbym stworzyć system, który obsługuje wiadomości alarmowe z różnych programów i może przetwarzać te alarmy do mniej wymagających klientów za pośrednictwem poczty elektronicznej. Wszystko to byłoby zawarte w jednej sieci wewnętrznej.
Myślę, że chcę, aby podstawowa architektura wyglądała mniej więcej tak:
Główny problem, który mam obecnie, to bit „modułu obsługi komunikatów”, który będzie moim „rodzajem API”. Chcę, aby wszystkie komponenty tego systemu wysyłały dane do interfejsu API, który obsługuje wszystkie zapisy do bazy danych. Myślę, że takie podejście jest łatwiejsze, ponieważ upraszcza bezpieczeństwo i pozwala mi zawrzeć wiele bardziej skomplikowanych zapytań DB w jednym programie.
Chodzi o to, że chcę, aby była to niezależna od języka - co oznacza, że każdy kod powinien móc wysyłać wiadomości do mojego modułu obsługi - który je interpretuje. Mam nadzieję, że zrobię to za pomocą plików płaskich JSON - lub poprzez wywołania REST do programu (zapewniając elastyczność aplikacjom pobierającym strumień).
Moje pytanie brzmi-
Czy powinienem zawracać sobie głowę procedurą obsługi wiadomości - czy też uprościłbym to, aby umożliwić bezpośredni dostęp do bazy danych aplikacjom pobierającym strumień, a także dwóm innym komponentom (Management Console i Alert Manager)?
W ten sposób mogą wstawić dowolny alert, o ile chcą - o ile INSERT w tabeli / tabelach DB jest prawidłowy.
Z zawodu nie jestem projektantem oprogramowania, więc przepraszam - po prostu chcę projekt w wolnym czasie.