Я занимаюсь разработкой инфраструктуры веб-приложений Java.
В фреймворке применяются типичные 3 уровня: архитектура, презентация / бизнес / интеграция.
Как правило, я думаю, что определение бизнес-уровня - это «бизнес-логин, не зависящий от конкретной реализации персистентного процесса», а уровень интеграции - «конкретная реализация персистентного процесса».
Здесь мне интересно, какой слой подходит для размещения функции отправки почты.
Я считаю, что, как правило, бизнес-уровень не должен иметь прямой доступ за пределы системы, поэтому отправка почты должна быть размещена на уровне интеграции, хотя она не имеет доступа к БД или какой-либо персистентности.
По сути, такие функции, как чтение файлов конфигурации, тоже одинаковы.
Я хочу определить правило с учетом различных мнений, поэтому, пожалуйста, сообщите мне свое мнение с указанием причины.
P.S. Здесь «отправка почты» не означает такие процессы, как принятие решения об отправке, составление сообщения, выбор места назначения. Я думаю, что это обязанность бизнес-слоя. Здесь «отправка почты» означает только саму процедуру отправки.