В компьютерном программном обеспечении , бизнес — логика или логика домена является частью программы , которая кодирует реальную бизнес — правила , которые определяют , каким образом данные могут быть созданы, сохранены и изменены . Это контрастирует с остальной частью программного обеспечения, которая может быть связана с деталями более низкого уровня управления базой данных или отображением пользовательского интерфейса , системной инфраструктуры или в целом соединением различных частей программы.
Детали и пример
- Определяет, как бизнес-объекты взаимодействуют друг с другом
- Обеспечивает выполнение маршрутов и методов, с помощью которых можно получить доступ к бизнес-объектам и обновить их.
- Моделируйте реальные бизнес-объекты (например, счета, ссуды, маршруты и запасы)
- Рабочие процессы, которые представляют собой упорядоченные задачи по передаче документов или данных от одного участника (человека или программной системы) другому.
Бизнес-логику следует отличать от бизнес-правил. [2] Бизнес-логика — это часть корпоративной системы, которая определяет, как данные преобразуются или рассчитываются и как они направляются людям или программному обеспечению (рабочий процесс). Бизнес-правила — это формальные выражения бизнес-политики. Все, что является процессом или процедурой, является бизнес-логикой, а все, что не является ни процессом, ни процедурой, является бизнес-правилом. Приветствие нового посетителя — это процесс (рабочий процесс), состоящий из шагов, которые необходимо предпринять, в то время как утверждение, что каждого нового посетителя нужно приветствовать, является бизнес-правилом. Кроме того, бизнес-логика носит процедурный характер, тогда как бизнес-правила декларативны. [3]
Что такое “бизнес логика”? И как начать ее понимать
Например, веб- сайт электронной коммерции может позволять посетителям добавлять товары в корзину, указывать адрес доставки и предоставлять информацию об оплате. Бизнес-логика веб-сайта может включать в себя такой рабочий процесс, как:
- Последовательность событий, которые происходят во время оформления заказа, например, многостраничная форма, которая сначала запрашивает адрес доставки, затем адрес для выставления счетов, следующая страница будет содержать способ оплаты, а последняя страница отобразит поздравления.
Также будут действовать бизнес-правила сайта:
- Добавление элемента более одного раза со страницы описания элемента увеличивает количество для этого элемента.
- Конкретные форматы, которым должны соответствовать адрес посетителя, адрес электронной почты и информация о кредитной карте.
- Особый протокол связи для связи с сетью кредитной карты
Программное обеспечение веб-сайта также содержит другой код, который не считается частью бизнес-логики или бизнес-правил:
- Периферийный контент, не связанный с основными бизнес-данными, например HTML-код, который определяет цвета, внешний вид, фоновое изображение и структуру навигации сайта.
- Общий код обработки ошибок (например, который отображает страницу с кодом ошибки HTTP 500)
- Код инициализации, который запускается, когда веб-сервер запускает сайт, который настраивает систему
- Мониторинг инфраструктуры, чтобы убедиться, что все части сайта работают должным образом (например, доступна ли биллинговая система)
- Общий код для создания сетевых подключений, передачи объектов в базу данных , анализа пользовательского ввода с помощью событий HTTP POST и т. Д.
Бизнес-логика и уровни / уровни

Что такое бизнес-логика и как ее изолировать
Теоретически бизнес-логика занимает средний уровень трехуровневой архитектуры.
Бизнес-логика может быть где угодно в программе. Например, учитывая определенный формат адреса, можно создать таблицу базы данных, в которой будут столбцы, которые точно соответствуют полям, указанным в бизнес-логике, и добавлены проверки типов, чтобы убедиться, что не добавляются недопустимые данные.
Бизнес-логика часто меняется. Например, набор допустимых форматов адресов может измениться, когда интернет-магазин отправляет товары в новую страну. Таким образом, часто считается желательным сделать код, реализующий бизнес-логику, относительно изолированным или слабо связанным . Это повышает вероятность того, что изменения бизнес-логики потребуют небольшого набора изменений кода, только в одной части кода. Отдаленный, но сильно связанный код также создает больший риск того, что программист внесет только некоторые необходимые изменения и пропустит часть системы, что приведет к неправильной работе. [4]
Архитектура многоступенчатости формализует эту развязку путем создания логического слоя бизнеса , который отделен от других уровней или слоев, таких как слой доступа к данным или уровень услуг . Каждый уровень «знает» только минимальную информацию о коде на других уровнях — ровно столько, чтобы выполнить необходимые задачи. Например, в модели – представлении – контроллере Согласно парадигме, уровни контроллера и представления можно сделать как можно меньше, при этом вся бизнес-логика будет сосредоточена в модели. В примере электронной коммерции контроллер определяет последовательность веб-страниц в последовательности оформления заказа, а также отвечает за проверку того, что электронная почта, адрес и информация о платеже соответствуют бизнес-правилам (вместо того, чтобы оставлять это на усмотрение самой базы данных. или код доступа к базе данных нижнего уровня).
Возможны альтернативные парадигмы. Например, с относительно простыми бизнес-объектами общее представление и контроллер могут обращаться к объектам базы данных, которые сами содержат всю соответствующую бизнес-логику о том, какие форматы они принимают и какие изменения возможны (известные как модель базы данных ).
Некоторые многоуровневые схемы используют либо отдельный уровень приложения, либо уровень сервиса , либо считают уровень бизнес-логики таким же, как один из них.
Инструменты и методы
Бизнес-логику можно извлечь из процедурного кода с помощью системы управления бизнес-правилами (BRMS). [5]
В бизнес — правила подходить для разработки программного обеспечения изез BRMSs и обеспечивает очень сильное разделение бизнес — логики от другого кода. Системы управления пользовательским интерфейсом — еще одна технология, используемая для обеспечения четкого разделения бизнес-логики и другого кода. Волшебная кнопка считается «анти-модель»: метод , который в этом случае создает нежелательные ограничения , которые затрудняют код бизнес — логики в простой в обслуживании способом.
Модель предметной области — это абстрактное представление типов хранилищ данных, требуемых бизнес-правилами.
См. Также
- Дракон-карта
- Логика перемещения
- Моделирование бизнес-процессов
Ссылки
- ↑ Стивен Мински (27 марта 2005 г.). «Проблема принятия BPM» . eBizQ.
- ^«Определение бизнес-логики» . 2013-12-24.
- ^ Уильям Ульрих. «Симпозиум по бизнес-правилам OMG» (PDF) . Архивировано из оригинального (PDF) 24 декабря 2013 года.
- ^ Хавар Заман Ахмед и Кэри Э. Умрыш (2001-10-17). «Введение в корпоративное программное обеспечение». Разработка корпоративных приложений Java с использованием J2EE и UML . Эддисон-Уэсли. ISBN
- 0-201-73829-5 .
- ↑ Оуэн, Джеймс (19 сентября 2003 г.). «Выявить бизнес-логику» . Корпоративная Java. InfoWorld . Проверено 21 июля 2020 .
Дальнейшее чтение
- Бретт Маклафлин (март 2002 г.). «Бизнес-логика, часть 1» . Создание корпоративных приложений Java, Том I: Архитектура . O’Reilly and Associates. ISBN0-596-00123-1 . — Маклафлин обсуждает шаблон фасада для реализации бизнес-уровня приложения.
- Кэти Борер (ноябрь 1997 г.). «Промежуточное ПО изолирует бизнес-логику» . Журнал «Объект» . Нью-Йорк, США: SIGS Publications, Inc. 7 (9): 41–46. ISSN1055-3614 .
- Харуми Куно; Майк Лемон; Алан Карп и Доротея Берингер (2001). «Беседы + интерфейсы = бизнес-логика». В Ф. Касати; Д. Георгакопулос и М.-К. Шан (ред.). Технологии для электронных услуг: Второй международный семинар, TES 2001, Рим, Италия, 14–15 сентября 2001 г., Материалы . Конспект лекций по информатике . 2193 . Springer Berlin / Heidelberg. ISSN0302-9743 .
- Фолькер Турау (2002). «Фреймворк для автоматического создания веб-приложений для ввода данных на основе XML» . Труды симпозиума ACM 2002 г. по прикладным вычислениям, Мадрид, Испания: приложения для Интернета и электронного бизнеса . ACM Press. С. 1121–1126. ISBN1-58113-445-2 . — Turau представляет структуру приложения, реализованную с использованием Java Servlets и JavaServer Pages, которая позволяет разделить бизнес-логику и логику представления, позволяя разрабатывать каждую из них параллельно по относительно независимым, но взаимодействующим направлениям.
- По, Л.-Ф. И Вервест, PHM (2008-12-08). «Сетевое управление бизнес-процессами: внедрение бизнес-логики в коммуникационные сети». ERIM Report Series Research in Management. Университет Эразма . hdl : 1765/1070 . Цитировать журнал требует |journal= ( помощь ) — По и Вервест разрабатывают подход для встраивания бизнес-логики в сеть связи, которая лежит в основе распределенного приложения с множеством участников , чтобы оптимизировать распределение бизнес-ресурсов с точки зрения сети.
Внешние ссылки
Источник: wikipredia.net
Что такое бизнес логика и как их разделять с логикой приложения?
Для примера можно взять калькулятор, какие детали в нём это бизнес логика, а какие логика приложения?
Бизнес-логика — в разработке информационных систем — совокупность правил, принципов, зависимостей поведения объектов предметной области (области человеческой деятельности, которую система поддерживает). Иначе можно сказать, что бизнес-логика — это реализация правил и ограничений автоматизируемых операций. Является синонимом термина «логика предметной области» (англ. domain logic). Бизнес-логика задает правила, которым подчиняются данные предметной области.
Если следовать этому термину, то все кнопки это бизнес логика, т.к. человек на них нажимает, а результат это логика приложения, верно?
Хотелось бы разные примеры, желательно попроще т.к. сильно путаюсь
- Вопрос задан 30 мая
- 99 просмотров
5 комментариев
Простой 5 комментариев
Скорее наоборот: нажимание кнопок — это логика приложения, а рассчитанный результат — бизнес-логика.
Я бы сказал, что логика приложения — это то, как компоненты (сервисы) взаимодействуют друг с другом на технологическом уровне (программном,прикладном, архитектурном). А вот бизнес-логика — это как и по каким правилам обрабатываются данные. Но эти понятия, как по мне, переплетаются потому что логика приложения исходит из бизнес-логики.

по каким правилам обрабатываются данные
На примере калькулятора
Владимир, ну, например, что 1 + 1 = 2, а не 1 + 1 = 7.
Для понимания не нужно брать проект, где бизнес-логика является базовой и тривиальной.
Почитайте про так называемые «рабочие процессы» (workflow) — схематическое изображение переходов от одного статуса к другому через возможные модификаторы (пути). Даже простого взгляда будет достаточно — увидите блок-схему, описывающую правила, по которым что-то должно работать. Это и будет бизнес-логика.

Владимир, на примере калькулятора сложно объяснить, тк там бизнес-логика слишком примитивная.
То, как складывать два числа — это бизнес-логика.
То, как должна выглядеть кнопка «плюс» и как пользователю показать результат сложения — это логика приложения.

Владимир, В случае калькулятора бизнес-логикой будет то, какие математические операции можно выполнить с числами. Например, калькулятор может не поддерживать деление на ноль или возведение отрицательного числа в степень. Эти правила являются основой бизнес-логики калькулятора.
Логикой приложения будет, например, обработка ввода пользователем в виде нажатия конкретных кнопок на калькуляторе и выполнение соответствующих математических операций на числах в соответствии с бизнес-логикой. Также логикой приложения может быть отображение результата вычислений на дисплее калькулятора. В данном случае, кнопки служат для того, чтобы пользователь мог выполнить нужные ему математические операции, а результат на экране отображается уже в соответствии с выполненными операциями и бизнес-логикой.
Решения вопроса 3

Владимир, вы бы еще архитектуру хелловорлда взялись «понимать».
Если хотите понять в двух словах, то можно применить такой принцип: бизнес-логика — это то, ЧТО должно выполнять приложение. А логика приложения — то, КАК оно это выполняет. Гругря, «по заказу формируются документы в формате XLSX и PDF» — это бизнес-логика.
А вот запрос к БД за данными заказа, разбор шаблона документа, использование библиотек для генерации файлов нужного формата — это логика приложения. Отталкиваясь от такого примитивного понимания, можно разглядеть уровни в коде: где программист размахивает человекопонятными блоками и выполняет техзадание, а где — копается в байтах, соединениях и потоках вывода. Если мы одно от другого отделяем, то оказывается, что низкий уровень для большинства задач один и тот же и его можно опять-таки собрать в библиотеки и практически без изменений использовать там, где понадобилась другая бизнес-логика, но использован тот же технологический стек.
Источник: qna.habr.com
Что такое бизнес правила и бизнес логика
Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают его правильную работу.
Продукты «Логика Бизнеса» успешно замещают импортные аналоги ЕСМ/CSP – систем.
Решения разработаны в соответствии с требованиями российского законодательства, совместимы с отечественным и открытым ПО.

«Логика Бизнеса» — российский производитель систем управления корпоративным контентом, автоматизации документоориентированных процессов для крупного бизнеса и государственных организаций с 1996 года.
Компания создает комплексные экосистемы работы с цифровыми и бумажными документами на основе собственной ECM-платформы и прикладных решений.
Линейка «Логика» включает системы электронного документооборота (СЭД), электронные архивы и прикладные инструменты различной специализации (Досье, Техдок и др.), кадровый (КЭДО) и юридически значимый (ЮЗ ЭДО) электронный документооборот.
Компания предоставляет услуги ECM-консалтинга, а в собственном центре сканирования и ретроконверсии оказывает услуги по переводу в электронный вид всех типов архивных и оперативных документов.
«Логика бизнеса» имеет необходимые свидетельства и сертификаты (ФСТЭК, ФСБ, ИСО), а решения компании внесены в Единый реестр российского программного обеспечения.
Заказчики решений «Логика» — крупнейшие коммерческие компании, федеральные и региональные органы власти: ФНС России, ПАО «Транснефть», ПАО «НК «Роснефть», ПАО «Газпром нефть», АО Россельхозбанк, Tele2 и многие другие.
Продукты семейства «Логика» внесены в Единый реестр российских программ для электронных вычислительных машин и баз данных.
Источник: blogic.ru
