SlideShare une entreprise Scribd logo
1  sur  62
Geoffrey De Smet Marco Rietveld Managing workflows and business rules with Guvnor and jBPM designer
Business Logic Integration Business Logic Integration Platform Rule engine Workflow Complex event processing (CEP) Business Rule Management System (BRMS) Automated planning
Geoffrey De Smet Why would I need Drools and Guvnor?
Use cases I have hammer, so every problem is a nail?
The myth ,[object Object]
So because ,[object Object]
Drools is  Turing complete ,[object Object],[object Object]
Not imperative ,[object Object],[object Object],[object Object]
Easier to read, better at scaling
When to use Drools ,[object Object]
Change often/fast
Use cases ,[object Object]
Insurances acceptance and fee calculation
Use cases ,[object Object]
Insurances acceptance and fee calculation ,[object Object],[object Object]
Use cases ,[object Object]
Insurances acceptance and fee calculation ,[object Object],[object Object],[object Object],[object Object]
Use cases ,[object Object]
Insurances acceptance and fee calculation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use cases ,[object Object]
Insurances acceptance and fee calculation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mortgages example
Developers don't like data input from spreadsheets ,[object Object]
Which field has the result our application needs? Version 1 Version 2
Mortgage experts like the flexibility of spreadsheets ,[object Object]
Business rules are  hard coded in Java Invalid: must be a number
Mortgage experts change their mind a lot ,[object Object]
when income below 1000 and age above 50
when income below 1% of mortgage amount Invalid: must be a number
Mortgage  experts like the flexibility of Guvnor ,[object Object]
My business requires domain expertise Only mortgage managers understand mortgage rules
Schooled domain expertise ,[object Object]
Schooled domain expertise ,[object Object]
participated in mortgages conferences/courses? No
years of mortgage customer experience? No
Schooled domain expertise ,[object Object]
participated in mortgages conferences/courses? No
years of mortgage customer experience? No ,[object Object]
Schooled domain expertise ,[object Object]
participated in mortgages conferences/courses? No
years of mortgage customer experience? No ,[object Object]
Are we, the developers, domain experts?  No ,[object Object]
Domain experts can not read/write Java source code ,[object Object],for  (Mortgage m :  mortgages ) { for  (Applicant a : m.getApplicants()) { if  (a.getAge() >  70 ) { boolean  existsGuarantor =  false ; for  (Guarantor g : m.getGuarantors() { if  (g.getAge <  60 ) { existsGuarantor =  true ; } } // Will they spot the bug in this code? if  (existsGuarantor) { m.setApproved( false ); } } } }
Domain experts can read rules in the Guided Rule Editor
Domain experts can write rules in the Guided Rule Editor Change
Translated to DRL Executed on JavaBeans
Guided Rule Editor demo video Demo video
Natural language (DSL) ,[object Object],[object Object]
Domain experts make the building  Source: wikipedia
My business rules change often This mortgage rule change must be released by noon
Deliver changes fast
Deliver changes fast
Deliver changes fast
Business rule change ,[object Object]
Logic changes ,[object Object],[object Object]
Self-service by mortgage manager
Testing before releasing ,[object Object]
Releasing ,[object Object]
Available at URL: ,[object Object]
Deployment infrastructure
Auditable and reproducible Why was that mortgage approved last year?
Auditing ,[object Object]

Contenu connexe

En vedette (8)

JUDCon India 2012 Drools Expert
JUDCon  India 2012 Drools ExpertJUDCon  India 2012 Drools Expert
JUDCon India 2012 Drools Expert
 
Drools5 Community Training: Module 1.5 - Drools Expert First Example
Drools5 Community Training: Module 1.5 - Drools Expert First ExampleDrools5 Community Training: Module 1.5 - Drools Expert First Example
Drools5 Community Training: Module 1.5 - Drools Expert First Example
 
Drools Expert and Fusion Intro : London 2012
Drools Expert and Fusion Intro  : London 2012Drools Expert and Fusion Intro  : London 2012
Drools Expert and Fusion Intro : London 2012
 
BRM 2012 (Decision Tables)
BRM 2012 (Decision Tables)BRM 2012 (Decision Tables)
BRM 2012 (Decision Tables)
 
2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools planner2012 02-04 fosdem 2012 - drools planner
2012 02-04 fosdem 2012 - drools planner
 
JUDCon India 2012 Drools Fusion
JUDCon  India 2012 Drools FusionJUDCon  India 2012 Drools Fusion
JUDCon India 2012 Drools Fusion
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
 
Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)
 

Similaire à 2012 02-04 fosdem 2012 - guvnor and j bpm designer

What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev ConferenceWhat is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
Geoffrey De Smet
 
Introduction to Rule-based Applications
Introduction to  Rule-based ApplicationsIntroduction to  Rule-based Applications
Introduction to Rule-based Applications
giurca
 

Similaire à 2012 02-04 fosdem 2012 - guvnor and j bpm designer (20)

What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev ConferenceWhat is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
What is Drools, Guvnor and Planner? 2012 02-17 Brno Dev Conference
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019
 
AppDynamics User Group
AppDynamics User GroupAppDynamics User Group
AppDynamics User Group
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
digat3
digat3digat3
digat3
 
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application IntegrationGuidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
Guidewire Connections 2023 DE-4 Using AI to Accelerate Application Integration
 
Introduction to Rule-based Applications
Introduction to  Rule-based ApplicationsIntroduction to  Rule-based Applications
Introduction to Rule-based Applications
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
 
Boston 16 03
Boston 16 03Boston 16 03
Boston 16 03
 
Salesforce Miami User Group Event - 3rd Quarter
Salesforce Miami User Group Event - 3rd QuarterSalesforce Miami User Group Event - 3rd Quarter
Salesforce Miami User Group Event - 3rd Quarter
 
Successful Teams follow Standards
Successful Teams follow StandardsSuccessful Teams follow Standards
Successful Teams follow Standards
 
NetTantra Web Development Brochure
NetTantra Web Development BrochureNetTantra Web Development Brochure
NetTantra Web Development Brochure
 
Documentation on bigmarket copy
Documentation on bigmarket   copyDocumentation on bigmarket   copy
Documentation on bigmarket copy
 
Jakob Freund: Camunda for IT Executives - Camunda Days
Jakob Freund: Camunda for IT Executives - Camunda DaysJakob Freund: Camunda for IT Executives - Camunda Days
Jakob Freund: Camunda for IT Executives - Camunda Days
 
A G S006 Little 091807
A G S006  Little 091807A G S006  Little 091807
A G S006 Little 091807
 
Mobile Code Optimisation Services
Mobile Code Optimisation ServicesMobile Code Optimisation Services
Mobile Code Optimisation Services
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
 
Resume
ResumeResume
Resume
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

2012 02-04 fosdem 2012 - guvnor and j bpm designer

Notes de l'éditeur

  1. Who’s heard of BPM? Who’s actually written BPMN? Who’s heard of jBPM? Who’s worked with business analysts? Who has enjoyed working with business analysts? Who’s sees themselves becoming a business analyst in the coming years? ... my apologies.
  2. Please, if you become a business analyst, let the developers do their work. I’ve worked a few different places where the software requirements were filled with business terms that took a while to learn. Regardless of where you work, as a developer you have to learn the domain: bank accounts, freight logistics, insurance models, etc. Part of the problem here is that not only do the business analysts have to create and write down the business process – we then have to translate it into code. There’s a duplication of effort in the sense that both analyst and developer sometimes have to understand the business process fully. And of course, there are always “gotcha’s” -- my housemate was complaining the other day about how they wanted generic screens for processing orders (train-related company) except for that 1 (of 7) screen.
  3. This is a slightly more polite version of the last slide. We want the business analysts to concentrate on the business process – not the code. (Anecdote: an ex-colleague analyst of mine was great – but he was an old developer, and wanted us to code things certain way. I would say to him: “The hell with that – you do your work, I’ll do mine!”) Make them active participants in the process.
  4. This is what I’m going to talk about: - Business Analyst stuff and what we then use to implement it - What is this thing i’m talking about and.. what does it do? - Demo! (people who are taking naps, please wake up) - Summary, because you’ll have forgotten everything I said before the demo
  5. It’s why developers at companies who don’t make software, get paid. Not really – it’s more than that: it’s whole interaction. Visibility: Hey, I can understand what’s happening! Monitoring: Wow, I can really see what’s happening now! High-level: Huh, I understand what’s going on here. Continuous: Modification of BP’s without developer involvement Speed: Which means work is done more quickly Agility: Which means companies/development can respond more quickly
  6. Worked at a logistics company, and changing how incoming freight information was processed was a nightmare. - Change requests - New Projects - AHHH... I’m having flashbacks. Unstructured/Non-linear: maybe it’s not a A, B, C process: - for example: Monitoring, processing incoming streams of input Adaptive Case Management - Basically, data-driven processes – where the process is based on the data, not the other way around Event-driven: - Multiple events “processed” in one process
  7. Model: graphical Notation: xml-based syntax Execution: how things should be done “ Understandable” -- see next slide, xml, not easily readable - collaboration between different parties - and we’re moving on, now..
  8. Ehh.. no one wants to write bpmn 2. Which is why we have the designer
  9. Hey, we’re done with the Business Analyst stuff..
  10. JBPM is an open-source business process management project, for those of you who don’t know how to read
  11. Explain diagram Point out integration with rules
  12. So, done with the background, and now we’re going to look at Designe Lead on Designer in Tihomir Surdilovic, based on the Oryx project with lots of additionsr
  13. So, we edit BPMN processes here. The BPMN it creates conforms to the BPMN syntax (big surprise!) and it works with BPMN internally. But it does more.. (and I’ll get to that in a sec). Guvnor integration helps make guvnor the “one-stop shop” Some people have built their own applications by embedding Designer and using the Guvnor rest api.
  14. This is just a brief overview so that you guys will know where to look when I’m doing the demo.
  15. On the left is a set of images showing how the shape menu works.
  16. Task form generation