You are previewing Drools Developer's Cookbook.
O'Reilly logo
Drools Developer's Cookbook

Book Description

Are you a Drools developer seeking self-improvement? If so, this cookbook could quickly enhance and broaden your skills with a host of easy-to-follow recipes on the advanced implementation of this flexible business rules engine.

  • Master the newest Drools Expert, Fusion, Guvnor, Planner and jBPM5 features

  • Integrate Drools by using popular Java Frameworks

  • Part of Packt’s Cookbook series: each recipe is independent and contains practical, step-by-step instructions to help you achieve your goal.

  • In Detail

    JBoss Drools is an open source business rules engine that provides agility and flexibility to your business logic. Drools 5 has evolved to provide a unified and integrated platform for business rules, business processes, event processing and automated planning. With this book in hand you will be able to use any of these modules and their specific features quickly and with ease.

    Drools Developer Cookbook will help you to apply the latest community features to your projects. You will learn about all the Drools modules - Guvnor, Fusion, Expert, and Planner - along with jBPM5 and integration capabilities. The straightforward recipes will help you to implement even more rules in your projects and take you to a new level with the Drools platform.

    This book teaches you how to create a more robust business rules implementation, starting with tips on how to write business rules manually, or by using the newest Guvnor rule editors. You will learn how your rules can be integrated with another framework to create a full solution and discover how to use complex features such as event processing. The recipes cover all of the Drools modules and will help you to solve problems with planning, remote execution, and much more.

    Table of Contents

    1. Drools Developer's Cookbook
    2. Credits
    3. About the Author
    4. About the Reviewers
    5. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    7. 1. Expert: The Rule Engine
      1. Introduction
      2. Declaring facts in the engine
        1. How to do it...
          1. How it works...
      3. Declaring facts using XML
        1. Getting ready
        2. How to do it...
          1. How it works...
      4. Adding logging to view rules execution behavior
        1. Getting ready
        2. How to do it...
          1. How it works...
          2. There's more...
            1. KnowledgeRuntimeLogger options
            2. Activations
      5. Using timer-based rules
        1. How to do it...
          1. How it works...
          2. There's more
          3. See also
      6. Implementing calendar-based rules
        1. Getting ready
        2. How to do it...
          1. How it works...
      7. Monitoring query changes in real time
        1. How to do it...
          1. How it works...
          2. There's more...
    8. 2. Expert: Behind the Rules
      1. Introduction
      2. Marshalling knowledge sessions
        1. How to do it...
          1. How it works...
          2. There's more...
            1. Unmarshalling the knowledge session
            2. Using marshalling strategies
      3. Using persistence to store knowledge
        1. Getting ready
        2. How to do it...
          1. How it works...
          2. There's more...
      4. How to discard duplicated facts on insertion
        1. How to do it...
        2. How it works...
      5. Using a custom classloader in a knowledge agent
        1. How to do it...
          1. How it works...
      6. Verifying the quality of rules with the Drools Verifier
        1. How to do it...
        2. How it works...
        3. There's more...
      7. Monitoring knowledge with JMX
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
          1. KnowledgeBase information
          2. KnowledgeSession information
    9. 3. Guvnor: Centralized Knowledge Management
      1. Introduction
      2. Creating our model definition with the Model Editor
        1. Getting ready
        2. How to do it...
        3. How it works...
      3. Importing our model definition
        1. How to do it...
        2. How it works...
        3. See also
      4. Creating data enumerations
        1. How to do it...
        2. How it works...
      5. Using From Collect patterns in the Guided BRL Editor
        1. How to do it...
        2. How it works...
      6. Organizing knowledge with Working Sets
        1. How to do it...
        2. How it works...
      7. Creating rules templates
        1. How to do it...
        2. How it works...
      8. Creating knowledge snapshots
        1. How to do it...
        2. How it works...
        3. There's more...
    10. 4. Guvnor: Advanced Features and Configuration
      1. Introduction
      2. Setting and creating a GUI language
        1. How to do it...
        2. How it works...
        3. There's more...
      3. Backing up your knowledge
        1. How to do it...
        2. How it works...
      4. Configuring MySQL as the default rules repository
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
        5. See also
      5. Configuring the repository files location
        1. How to do it...
        2. How it works...
      6. Obtaining resources using the REST API
        1. How to do it...
          1. How it works...
    11. 5. Fusion: Processing Complex Events
      1. Introduction
      2. How to declare our facts as events
        1. How to do it...
          1. How it works...
          2. There's more...
      3. Testing our application using a pseudo-clock
        1. How to do it...
        2. How it works...
      4. Entry-points: What they are and how we can use them
        1. How to do it...
        2. How it works...
      5. Setting up event stream processing mode
        1. How to do it...
        2. How it works...
      6. Sliding Windows
        1. How to do it...
          1. How it works...
      7. Event correlations using temporal operators
        1. How to do it...
          1. How it works...
    12. 6. Executing Drools Remotely
      1. Introduction
      2. Knowledge services and multiple endpoint configuration
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      3. Deploying the Drools Server in JBoss AS 5.x
        1. Getting ready
        2. How to do it...
        3. How it works...
      4. Creating commands with XStream marshallers
        1. How to do it...
        2. How it works...
        3. See also
      5. Using the REST interface to execute commands
        1. Getting ready
        2. How to do it...
          1. How it works...
      6. Testing the SOAP interface with soapUI
        1. Getting ready
        2. How to do it...
          1. How it works...
    13. 7. Integration: How to Connect Drools
      1. Introduction
      2. Setting up Drools using Spring Framework
        1. How to do it...
          1. How it works...
          2. See also
      3. Configuring JPA to persist our knowledge with Spring Framework
        1. How to do it...
          1. How it works...
      4. Integrating Apache Camel in your project
        1. How to do it...
          1. How it works...
          2. See Also
      5. Configuring Apache Camel with Spring Framework
        1. How to do it...
          1. How it works...
          2. See also
      6. Executing Drools commands from a JMS queue
        1. Getting ready
        2. How to do it...
          1. How it works...
          2. See also
    14. 8. Planner: Optimizing Your Automated Planning
      1. Introduction
      2. Solving a resource assignment problem
        1. How to do it...
          1. How it works...
          2. See also
      3. Using a Simulated Annealing acceptor
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. See also
      4. Terminating the Solver
        1. Getting ready
        2. How to do it...
        3. How it works...
          1. There's more...
          2. See also
      5. Creating a basic benchmarker
        1. Getting ready
        2. How to do it...
          1. How it works...
          2. See also
    15. 9. jBPM5: Managing Business Processes
      1. Introduction
      2. Creating a business process manually
        1. How to do it...
          1. How it works...
      3. Testing your business processes
        1. Getting ready
        2. How to do it...
        3. How it works...
      4. Creating and executing human tasks
        1. How to do it...
        2. How it works...
      5. Monitoring process a activity and creating reports
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
      6. Monitoring a business process with Drools Fusion
        1. How to do it...
        2. How it works...