Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rules Engine – Was? Wie? Wo? @ JFS 2021

Rules Engine – Was? Wie? Wo? @ JFS 2021

Du und ein Team entwickeln zusammen mit Domainexperten der ein tolles neues Produkt. Alle potenziellen Kunden sind total begeistert und ihr könnt euch nicht mehr vor Aufträgen retten. Leider kommt jeder Kunde mit leicht anderen Anforderungen auf euch zu, und nun?

Mit Rules Engine gibt es eine Möglichkeit wie ihr es schaffen könnt kundenspezifische Anforderungen in euer Produkt zu integrieren. Bei richtiger Verwendung könnt ihr eine schöne Trennung zwischen technischen, fachlichen und kundenspezifischen Code erreichen.

Die Grundidee und Möglichkeiten dieses Ansatzes möchte ich mit euch anhand eines Beispielprojektes entdecken. Dabei entdecken wir auch einen Weg, wie wir Kunden für uns arbeiten lassen können.

Avatar for Merlin Bögershausen

Merlin Bögershausen

September 22, 2021
Tweet

More Decks by Merlin Bögershausen

Other Decks in Programming

Transcript

  1. GREEN WORKFLOW BY DESIGN Rules Engines – Was? Wie? Wo?

    Rules Engines in Produkten einsetzten Java Forum Stuttgart 2021 Merlin Bögershausen, PSI Software AG
  2. Wer spricht da? 22.09.2021 Rules Engine – Was? Wie? Wo?

    | Merlin Bögershausen | PSI Software AG 2 Merlin Bögershausen Senior Software Entwickler – PSI Software AG [email protected] 10 Jahre Java EE 5 Jahre Produktentwicklung
  3. Welche Ziele haben Firmen? 22.09.2021 Rules Engine – Was? Wie?

    Wo? | Merlin Bögershausen | PSI Software AG 3 Gewinn Marktanteil Kunden Unternehmensziele Unternehmensziele
  4. Ziel: Sei wie Spotify! 22.09.2021 PSI Software AG | Vertraulichkeit:

    intern PSI & intern “Kunde, Partner, …” 4 Statista: Number of Spotify premium subscribers worldwide
  5. Ziel: Sei wie YouTube! 22.09.2021 Rules Engine – Was? Wie?

    Wo? | Merlin Bögershausen | PSI Software AG 5 Statista: Number of YouTube users worldwide from 2016 to 2021
  6. Passt das auch für die anderen 95%? 22.09.2021 Rules Engine

    – Was? Wie? Wo? | Merlin Bögershausen | PSI Software AG 6 Was haben Spotify, YouTube & Co gemeinsam? Viele Kunden mit den selben Anforderungen
  7. Anforderung an Software Anforderungen in der Software-/Produktentwicklung 22.09.2021 Rules Engine

    – Was? Wie? Wo? | Merlin Bögershausen | PSI Software AG 7 Funktional Domain Spezifisch Bearbeiten von Ladelisten Freigabe durch Netzleitung Nicht Funktional Anwender/Kunden spezifisch Abhängig von internem Prozess Wartbarkeit Performance Produkt Lösung Nach Geeks for Geeks
  8. Auditierbare Einträge Neuladen von Ansichten Datenhaltung Beispiele aus der Logistik

    22.09.2021 Rules Engine – Was? Wie? Wo? | Merlin Bögershausen | PSI Software AG 8 Maximal 95% beladen Laufzettel auf Papier Verladeprozess Laufzettel für Worker Zulassung des LKW Fahrzeuge Persistenzlayer Servicelayer Servicelayer die Zweite???
  9. Komponenten einer Rules Engine 22.09.2021 Rules Engine – Was? Wie?

    Wo? | Merlin Bögershausen | PSI Software AG 9 Wissen Regeln Daten Lösung Experte:in Knowledgebase Eingabe Ergebnis Inference Engine Erster Einsatz: frühe 1990 bei API Martin Fowler: Should I use a Rules Engine?
  10. Inference Engine Inference Engine 22.09.2021 Rules Engine – Was? Wie?

    Wo? | Merlin Bögershausen | PSI Software AG 10 Resolve Match Auswahl der Regeln Ziel- oder Datengetrieben Execute Ordnen der Regeln Priorisieren, Zufall, Alphabetisch … Anwenden der Regeln Kombiniert Ergebnis InfoQ: Real-World Rule Engines
  11. Tablets Red Hat Business Rule Engines 22.09.2021 PSI Software AG

    | Vertraulichkeit: intern PSI & intern “Kunde, Partner, …” 11 Definition Excel ähnliche Decissiontables Sehr mächtig und einfach verständlich Standalone & NoCode Lösung www.openl-tablets.org Regel Definitionen UI Dialog Sehr mächtig und einfach verständlich Spring, Aries Blue und Camel Integration www.drools.org
  12. Anwendung von Business Rules Engine 22.09.2021 Rules Engine – Was?

    Wie? Wo? | Merlin Bögershausen | PSI Software AG 12 Experte kann vom Kunden sein Seperates Deployment Integration über Rest/Camel/Spring JMS Produkt separat ausgerollt Low Code Kundenaufwand
  13. Java Lambda oder Annotation Rule Descriptor Language If-Then Pattern JEasy

    Easy Rules Pure Java, Lambda oder Annotation Spring Integration Given-When-Then Pattern Delivered Technologies Rule Book Entwickler Rules Engines 22.09.2021 Rules Engine – Was? Wie? Wo? | Merlin Bögershausen | PSI Software AG 13 https://github.com/deliveredtechnologies/rulebook https://github.com/j-easy/easy-rules
  14. Anwendung von Business Rules Engine 22.09.2021 Rules Engine – Was?

    Wie? Wo? | Merlin Bögershausen | PSI Software AG 14 Kundenspezifika ausgelagert Verschmelzen im Build Integration über POJO/Spring Entwickler schreiben Regeln Wartbarkeit Wiederverwendbarkeit Verständlichkeit
  15. Rules Engines zusammengefasst 22.09.2021 Rules Engine – Was? Wie? Wo?

    | Merlin Bögershausen | PSI Software AG 15 Warum Separation Spezifische Anforderungen Was List von Regeln If-Then bzw. Given-When-Then Wie Business Rules Engine Java Rules Engine Wo Produktanpassungen Regel basierten Systemen
  16. 22.09.2021 Rules Engine – Was? Wie? Wo? | Merlin Bögershausen

    | PSI Software AG 16 Lust auf Produkte in Energieversorgung, Produktion und Infrastruktur? Wir suchen psi.de/psi-career Softwareentwickler für unsere Produkte Berater für unsere Kunden Projektleiter bei der Implementierung 22.09.2021 16
  17. Referenzen Martin Fowler: Should I use a Rules Engine? https://martinfowler.com/bliki/RulesEngine.html

    InfoQ: Real-World Rule Engines https://www.infoq.com/articles/Rule-Engines/ Bealdung: List of Rules Engines in Java https://www.baeldung.com/java-rule-engines Oracle: Business Rules User's Guide https://docs.oracle.com/cd/E12483_01/web.1013/b28965/jsr94.htm Geeks for Geeks: Software Engineering | Classification of Software Requirements https://www.geeksforgeeks.org/software-engineering-classification-of-software-requirements/ Statista: Number of YouTube users worldwide from 2016 to 2021 https://www.statista.com/statistics/805656/number-youtube-viewers-worldwide/ Number of Spotify premium subscribers worldwide from 1st quarter 2015 to 2nd quarter 2021 https://www.statista.com/statistics/244995/number-of-paying-spotify-subscribers/ Drolls Business Rules Engine https://www.drools.org/ OpelL Tables Business Rules Engine https://openl-tablets.org/ Jeasy Easy Rules https://github.com/j-easy/easy-rules Rulebook https://github.com/deliveredtechnologies/rulebook 22.09.2021 Rules Engine – Was? Wie? Wo? | Merlin Bögershausen | PSI Software AG 17
  18. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT! 22.09.2021 Rules Engine – Was?

    Wie? Wo? | Merlin Bögershausen | PSI Software AG 18 @MBoegie mboegers merlin-boegershausen Direkter Kontakt