Бізнес-логіка
Бізнес логіка або доменна логіка — система зв'язків та залежностей елементів бізнес-даних та правил обробки цих даних відповідно до особливостей ведення окремої діяльності (бізнес-правил), яка встановлюється при розробці програмного забезпечення, призначеного для автоматизації цієї діяльності. Бізнес логіка описує бізнес-правила реального світу, які визначають способи створення, представлення та зміни даних. Бізнес логіка контрастує з іншими частинами програми, які мають відношення до низького рівня: управління базою даних, відображення інтерфейсу користувача, інфраструктура і т.д.
Бізнес-логіка визначається робочими процесами[1], відображається у впорядковані у часі задачі, структури інформаційних моделей та потоків даних від одного учасника робочих процесів (людини або програмного забезпечення) до іншого.
У відносно простих системах бізнес логіка визначається алгоритмами обробки даних відповідно до вимог предметної області, у більш складних системах бізнес-логіка переноситься на рівень даних (опис бізнес логіки), які у той чи інший спосіб визначають правила обробки даних.
Приклади
Заробітна платня розраховується на основі числових даних про посадові оклади, календар відпрацьованого часу тощо. Процеси розрахунку заробітної платні включають процеси нарахування, утримання та інші. Послідовність виконання цих операцій (спочатку нарахування, потім утримання) є частиною бізнес логіки. Правила розрахунку виплат за депозитами можуть включати такі самі процеси (нарахування та отримання), але послідовність виконання цих процесів може бути іншою: спочатку утримання, потім нарахування. В цих прикладах процеси однакові, а бізнес логіка різна.
Бізнес логіка та бізнес-правила
Слід розрізняти бізнес-логіку та бізнес-правила[2]:
- Бізнес-логіка — це та частина системи підприємства, що визначає, як дані перетворюються або розраховується і як вони передаються до людей або програмного забезпечення.
- Бізнес-правила є формальними виразами вимог ділової політики.
Все, що стосується інформаційного забезпечення діяльності та являє собою процес або процедуру — бізнес-логіка; все, що не є процесом чи процедурою — бізнес-правило. Наприклад, вітання нового відвідувача — це процес (потік робіт), що складається з кроків, які необхідно зробити, і цей процес є частиною бізнес логіки; вимоги здійснювати привітання є вимогою ділової політики і це бізнес-правило. Отже, бізнес-логіка є процедурною, бізнес-правила носять декларативний характер[3].
Бізнес-логіка визначає, як бізнес-об'єкти взаємодіють один з одним та забезпечує маршрути і методи, за допомогою яких інформація про бізнес-об'єкти може бути доступною і оновленою. Бізнес-правила розглядаються як вимоги до моделей справжніх бізнес-об'єктів (наприклад, офіційні документи повинні включати підпис, неофіційні — знаки поваги тощо).
Посилання
- Steven Minsky (27 березня 2005). The Challenge of BPM Adoption. eBizQ.
- Definition of business logic. 24 грудня 2013.
- William Ulrich. OMG Business Rules Symposium. Архів оригіналу за 24 грудня 2013. Процитовано 28 березня 2014.