Сценарій:
- Стек: Java, весна, сплячка.
- Модель: Клієнт-серверна програма.
- Шаблон: Контролер перегляду моделі (MVC).
Класи службового шару мають три форми поведінки:
Деякі служби мають ділове правило в рамках методів і делегують наполегливість додатку. Подібно до:
EntityManager.save (сутність);
Деякі служби просто викликають функцію бази даних (передаючи параметри).
CallableStatement cls = con.prepareCall ("{call databaseFunction (args)}");
Деякі служби мають методи з обома способами поведінки.
Мої запитання:
- Чи є якісь проблеми у тому, щоб служби додатків безпосередньо викликали функції бази даних? Чи не вважається це поганою практикою? Якою буде модель архітектури, застосовною до такого проекту?
- Чи є якась проблема в поєднанні поведінки в одній службі? Такі як транзакції та послідовність?
- Що стосується технічного обслуговування, чи робить це капсулювання незрозумілим для розробника, що він також повинен змінювати функції в базі даних? Як цього уникнути?
- Чи трапляється цей сценарій в інших програмах по всьому світу чи це була лише архітектурна помилка?