A comparison of UIA/Rules Business Rules and LucidWorks Drools
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

A comparison of UIA/Rules Business Rules and LucidWorks Drools

  • 557 views
Uploaded on

related to a discussion on LinkedIn group: Enterprise Search Engine Professionals ...

related to a discussion on LinkedIn group: Enterprise Search Engine Professionals
Topic SlideShare "Business Rules for Search“ (13/03/21)
source: http://slidesha.re/160saNi

Slides in response to Grant Ingersoll comment regarding Business Rules in LucidWorks Search through Drools

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
557
On Slideshare
557
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Business Rules ComparisonLucidWorks Search versus UIA/Rules
  • 2. BackgroundDiscussion on LinkedIn group Enterprise Search Engine ProfessionalsTopic SlideShare "Business Rules for Search“ (13/03/21) source: http://slidesha.re/160saNiSlides in response to Grant Ingersoll comment regarding Business Rules in LucidWorks Search through Drools
  • 3. LucidWorks Drools based approachExternalization of application logic into rulesThree hooks available per default: 1) Indexing time to transform a doc 2) Search query time to transform the query 3) Search response time to transform a docStateless and document / query centric approach
  • 4. UIA/Rules XACML based approachExternalization of information filter logic into rules – Use case for this comparison is to decide ● If a user is allowed (or denied) ● to see a document ● under dynamic context constraintsRules are multi dimensional parameterized (in XACML naming) as: – Subject – Action (will be assumed static as ‘read’ for this comparison) – Resource – Environment (dynamic like time, geo, age, …)Early binding of vectorized rulesNo query post processing needed!
  • 5. How to solve UIA/Rules use case with Drools?Given is a set of rules with three dimensions: R(Sub,Res,Env)Real-time Rule Enforcement needs execution at search timeMapping given one Rx(Sub,Res,Env) to available Drools hooks 2) Rx(Sub,Env) Search query time to transform the query 3) Rx(Res,Env) Search response time to transform each doc
  • 6. Suspected Drools approach drawbacks (which need step by step review!)– No exposed Drools hooks can consume Subject and Resource and Environment at the same time– Execution of rules during search response to decide visibility per document is comparable to late-binding (or last-minute) access control, this means– Iteration over a huge collection of response documents and repeated rules evaluation is a time consuming post processing– Critical search engine feature of deep facets will be lost– Needed split of given Rx(Sub,Res,Env) into two independent steps 2+3, will break the rule context, which evaluation of Rx(step2) is related to Rx(step3)
  • 7. How UIA/Rules aims to solve itGiven is same set of rules with three dimensions: R(Sub,Res,Env)Mapping given one Rx(Sub,Res,Env) to 1) Rx(*,Res,Env) Indexing time: Annotation of document with decision vector 2) Rx(Sub,*,Env) Search query time: Evaluating decision vector as &fq= – Decision Vectorization: ● UIA/Rules as a central service computes list of matching rules and decision ● This service will be called from a ‘Rule Enforcement’ stage during indexing and search query time ● Unknown dimension will be skipped ‘*’ from evaluation ● The rules context will be reconstructed real-time through a high performing match over the ‘decision vector’ multi-value field
  • 8. Benefits of UIA/Rules approach– Execution of rules during indexing time is comparable to early-binding access control pattern– Critical search engine feature of deep facets is available– XACML infrastructure components trimmed for performance will be reused– XACML rules (aka policies) are application code independent but only business object centric
  • 9. SummaryLucidWorks Drools and UIA/Rules aim for different scenarios with different design and architectures • Drools externalizes application logic • UIA/Rules externalizes information logic, supported by established OASIS Standards and productsUIA/Rules fits a gap which cannot be covered by DroolsGood news: Both solutions can be run side by side to address an additional customer use case Catapults old FAST SAM pattern to new era of dynamic real time rules
  • 10. Are you interested?Please join our discussion on LinkedIn and contribute with more interesting customer use cases!Or contact us: Dr. Krusche & Partner PartG +49 (0) 89 898 27733 team@dr-kruscheundpartner.de http://www.linkedin.com/company/dr-krusche-&-partner-partg www.dr-kruscheundpartner.de