SlideShare a Scribd company logo
1 of 42
Download to read offline
Антон Архипов
    ant.arhipov@gmail.com
http://arhipov.blogspot.com
ЧТО ЭТО ТАКОЕ?
  ЧТО С ЭТИМ ДЕЛАТЬ?
А ЗАЧЕМ ОНО МНЕ НАДО?
http://www.jboss.org/drools
http://blog.athico.com
InfoWorld BOSSIE Awards 2008
irc.codehaus.org #drools
JBoss Guvnor




                                                                     Guvnor = BRMS, Business Rule
                                                                    Management System — система
                                                                    управления бизнес-правилами,
                                                                               СУБП ? :)




Leonard McLean (9 April 1949 - 28 July 1998), better known as quot;The Guv'norquot;, was a famed East End of London bareknuckle fighter,
bouncer, former criminal, author, television presenter, and actor; McLean was often referred to as quot;the hardest man in Britainquot;. - Wikipedia
Особенности BRMS



    Ориентация на функциональных 
●


    пользователей (не на программистов)
    Гипотетические приемущества
●


        Снижение зависимости от программиста для 
    –
        внесения изменений в работу ИС
        Повышение контроля за бизнес­логикой
    –
Обзор
Категории
Описание правил
Описание правил
Описание правил
Таблицы (Excel, CSV)
Модель данных
DSL (вербализация)
DSL в описании правил
Артифакты
Аудит
Тестирование
Тестирование
Тестирование
Тестирование
Горяченькое – готово к 
    употреблению
Кто тут нахламил?!
Архитектура JBoss Guvnor
Создание и исполнение правил
   (Authoring and Runtime)
Что такое “правило”?
Drools Expert изнутри
Drools Flow



Движок для реализации потоков 
рабочих процессов и совмещения с 
     набором бизнес­правил
Компоновка процесса




                 HumanTask



                Decision node



RuleFlowGroup
Для чего связка 
                           правил с процессами?


    Процесс – средство для организации 
●


    последованности
    Бизнес­правило – средство для принятия 
●


    решения или некое действие над данными
    У правил и процессов разный цикл жизни:
●


        Процессы меняются не так часто, как бизнес­
    –
        правила
Для чего связка 
правил с процессами?
Для чего связка 
правил с процессами?




              Поправьте
              пожалуйста
              X, так чтоб
               было Y и Z
Итого


    Drools Flow: 2 в 1 – правила + процессы
●


        Правила можно использовать где угодно внутри 
    –
        процесса
             Принятия решений, ограничения, обработка ошибок, 
         ●


             итд
    Процессы и правила обрабатывают одни и 
●


    те же данные хранящиеся в рабочей памяти.
        Не нужна синхронизация или передача 
    –
        объектов по ссылке
    Имеется открытый АПИ и средства для 
●


    разработки
Статус проекта
Итого

           ЧТО ЭТО ТАКОЕ?
  Jboss Drools - система управления
          бизнес-правилами.

       ЧТО С ЭТИМ ДЕЛАТЬ?
Описывать бизнес-правила и процессы
 для исполнения на сервере или в уже
     существующих приложениях.

     А ЗАЧЕМ ОНО МНЕ НАДО?
Чтоб бы быть ближе к пользователю.
JBoss Drools presentation for Devclub.eu

More Related Content

What's hot

Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference
Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference
Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference Procontent.Ru Magazine
 
Оценка ущерба
Оценка ущербаОценка ущерба
Оценка ущербаGulyakinaV
 
Andrey Borisevich, SUP, at V Mobile VAS Conference (VAS Forum 2008)
Andrey Borisevich, SUP, at V Mobile VAS Conference  (VAS Forum 2008)Andrey Borisevich, SUP, at V Mobile VAS Conference  (VAS Forum 2008)
Andrey Borisevich, SUP, at V Mobile VAS Conference (VAS Forum 2008)Procontent.Ru Magazine
 
Global Compact Performance Model
Global Compact Performance ModelGlobal Compact Performance Model
Global Compact Performance ModelHOSHVA PR
 
выбор между своим и контрактным производством Eeproject Ru
выбор между своим и контрактным производством Eeproject Ruвыбор между своим и контрактным производством Eeproject Ru
выбор между своим и контрактным производством Eeproject RuYuri Goncharov
 
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...HUNGRY BOYS Creative agency
 
Sef Sivakou Tezisy
Sef Sivakou TezisySef Sivakou Tezisy
Sef Sivakou Tezisysef2009
 
Prezentation Student
Prezentation StudentPrezentation Student
Prezentation Studentantic_11
 
Режевской химический завод
Режевской химический заводРежевской химический завод
Режевской химический заводАндрей Шмидт
 
МЭРТ 19_04_2009 Popova
МЭРТ 19_04_2009 PopovaМЭРТ 19_04_2009 Popova
МЭРТ 19_04_2009 PopovaVictor Gridnev
 
Json & Partners: Russian Cellular Market Overview November 2008
Json & Partners: Russian Cellular Market Overview November 2008Json & Partners: Russian Cellular Market Overview November 2008
Json & Partners: Russian Cellular Market Overview November 2008Procontent.Ru Magazine
 
www.ool.ua
www.ool.uawww.ool.ua
www.ool.uaAnton
 

What's hot (19)

Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference
Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference
Maxim Trukhin (Максим Трухин), Mamba, at V Mobile VAS Conference
 
Andrey Anischenko, RIF 2009
Andrey Anischenko, RIF 2009Andrey Anischenko, RIF 2009
Andrey Anischenko, RIF 2009
 
Оценка ущерба
Оценка ущербаОценка ущерба
Оценка ущерба
 
Andrey Borisevich, SUP, at V Mobile VAS Conference (VAS Forum 2008)
Andrey Borisevich, SUP, at V Mobile VAS Conference  (VAS Forum 2008)Andrey Borisevich, SUP, at V Mobile VAS Conference  (VAS Forum 2008)
Andrey Borisevich, SUP, at V Mobile VAS Conference (VAS Forum 2008)
 
Global Compact Performance Model
Global Compact Performance ModelGlobal Compact Performance Model
Global Compact Performance Model
 
выбор между своим и контрактным производством Eeproject Ru
выбор между своим и контрактным производством Eeproject Ruвыбор между своим и контрактным производством Eeproject Ru
выбор между своим и контрактным производством Eeproject Ru
 
2 клас 2020-2021 н.р.
2 клас 2020-2021 н.р.2 клас 2020-2021 н.р.
2 клас 2020-2021 н.р.
 
На распутье
На распутьеНа распутье
На распутье
 
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...
Эволюция брендов в интернете: этапы развития, кейсы, механики (с) Андрей Анищ...
 
Sef Sivakou Tezisy
Sef Sivakou TezisySef Sivakou Tezisy
Sef Sivakou Tezisy
 
Prezentation Student
Prezentation StudentPrezentation Student
Prezentation Student
 
Otkuda beretsya reklama
Otkuda beretsya reklamaOtkuda beretsya reklama
Otkuda beretsya reklama
 
Режевской химический завод
Режевской химический заводРежевской химический завод
Режевской химический завод
 
МЭРТ 19_04_2009 Popova
МЭРТ 19_04_2009 PopovaМЭРТ 19_04_2009 Popova
МЭРТ 19_04_2009 Popova
 
Заявка
ЗаявкаЗаявка
Заявка
 
medianext_d2_1_audience AM
medianext_d2_1_audience AMmedianext_d2_1_audience AM
medianext_d2_1_audience AM
 
крит оц вики статьи
крит оц вики статьикрит оц вики статьи
крит оц вики статьи
 
Json & Partners: Russian Cellular Market Overview November 2008
Json & Partners: Russian Cellular Market Overview November 2008Json & Partners: Russian Cellular Market Overview November 2008
Json & Partners: Russian Cellular Market Overview November 2008
 
www.ool.ua
www.ool.uawww.ool.ua
www.ool.ua
 

More from Anton Arhipov

JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfAnton Arhipov
 
TechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервьюTechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервьюAnton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCityAnton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCityAnton Arhipov
 
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hourDevoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hourAnton Arhipov
 
GeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hourGeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hourAnton Arhipov
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLAnton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCityAnton Arhipov
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersJavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersAnton Arhipov
 
GeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainersGeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainersAnton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
 
JavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassleJavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassleAnton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
 
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloadingJavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloadingAnton Arhipov
 
JUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentationJUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentationAnton Arhipov
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
 
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingJEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistJEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistAnton Arhipov
 

More from Anton Arhipov (20)

JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
 
Idiomatic kotlin
Idiomatic kotlinIdiomatic kotlin
Idiomatic kotlin
 
TechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервьюTechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервью
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hourDevoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
 
GeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hourGeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hour
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersJavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainers
 
GeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainersGeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainers
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
 
JavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassleJavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassle
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
 
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloadingJavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
 
JUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentationJUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentation
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
 
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingJEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistJEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
 

JBoss Drools presentation for Devclub.eu