Hello all:

Being new to Drools, I'm currently uncertain if it's "a good idea" to use Drools for the following "multi-domain" scenario.
-- I guess Drools is appropriate, but I currently can't imagine (a) which Drools parts to configure after which strategies (static/cachable vs. dynamic), and thus also (b) how to organize the rule structures and their goals (what input/output, what is cachable).

The scenario is as follows:


My unclarities are:

  1. For the rather static "product (set) definitions" (both type def & instance data),
    1. Should I better use a traditional way via *configuration files* OR could I use Drools with some kind of "product definition rules" (generated from decision tables)???
    2. What is a good strategy for realizing the "product def rules" in Drools? I.e.,
      What is static and what dynamic? What is generated once vs. in real-time, and what is cached vs. physically stored in the database?

  2. For the highly dynamic "price assignments" (after some pre-defined as well as custom pricing aspects):
    1. How could a pricing table with custom pricing parameters look like? OR equivalently:
      How to define a pricing rule that dependens on a custom product attribute?

      The intention is similar to:
      1. WHEN ( aProduct.extendedAttributes.size == 'XXL' )
      2. THEN ( aProduct.price = aProduct.standardPrice * 1.10 ) //+10% of std. price

    2. When would the defined pricing rules run and what would they generate?
      -- I.e., will all rules re-run each time a rule file changes with the goal of generating cacheable "price lists", or will they even run on any catalog request (thus generating the price lists on-the-fly)???

  3. In such a not so uncommon JavaEE Web App shopping scenario:
    Generally, which kind of rules are feasible besides the "product (set) definition" and "price controling" rules?

    I guess rules such as the following could be practicable:

  4. Knowing the required artefacts and their generation strategies (cached vs. life) from the answers of the above questions:
    How do I have to configure Drools (& Guvnor) for *N parallel running* online shops? I.e.,
    1. Do I instantiate 1 rule engine per shop, or do I share 1 for all shops?
    2. Do I load the generic fact model (that supports custom enhancements) once per shop, or share it among them?
    3. Which parts can be cached in "Application Scope"? (supposable N KnowledgeBases with pre-generated stuff, 1 for each shop)
    4. In which kind of JEE Session Beans do I have to integrate which kind of Drools Knowlege Session beans?


The clarification of these issues would currently help me a lot.
Thank you very much for any help and development hints in advance.

Best regards
Peter

View this message in context: Newbie: Drools and this multi-user/domain scenenario realization
Sent from the Drools: User forum mailing list archive at Nabble.com.