Drools-소개

모든 Java 엔터프라이즈 레벨 애플리케이션은 세 부분으로 나눌 수 있습니다.

  • UI-사용자 인터페이스 (프런트 엔드)
  • 차례로 데이터베이스에 연결되는 서비스 계층
  • 비즈니스 계층

UI와 서비스 계층을 함께 처리하는 프레임 워크가 많이 있습니다 (예 : Spring 및 Struts). 그러나 Drools가 등장 할 때까지 비즈니스 로직을 처리하는 표준 방법이 없었습니다.

Drools는 무엇입니까?

Drools는 Business Logic integration Platform (BLiP). Java로 작성되었습니다. JBoss와 Red Hat, Inc.가 지원하는 오픈 소스 프로젝트입니다. Rete Pattern 매칭 알고리즘을 확장하고 구현합니다.

평신도의 관점에서 Drools는 비즈니스 프로세스 내에서 발견 된 논리와 데이터를 분리하고 추론 할 수있는 도구 모음입니다. 주목해야 할 두 가지 중요한 키워드는LogicData.

Drools는 두 가지 주요 부분으로 나뉩니다. AuthoringRuntime.

  • Authoring − 저작 과정에는 규칙 파일 (.DRL 파일) 생성이 포함됩니다.

  • Runtime − 작업 메모리 생성 및 활성화 처리가 포함됩니다.

규칙 엔진이란 무엇입니까?

Drools는 규칙 기반 접근 방식을 사용하여 전문가 시스템을 구현하는 규칙 엔진 또는 생산 규칙 시스템입니다. 전문가 시스템은 지식 표현을 사용하여 습득 한 지식을 추론에 사용할 수있는 지식 기반으로 처리하는 지식 기반 시스템입니다.

생산 규칙 시스템은 명제 및 1 차 논리를 간결하고 모호하지 않으며 선언적인 방식으로 표현하기 위해 지식 표현에 중점을 둔 Turing입니다.

생산 규칙 시스템의 두뇌는 Inference Engine많은 규칙과 사실로 확장 될 수 있습니다. 추론 엔진은 사실과 데이터를 Production Rules (또는Productions 아니면 그냥 Rules – 행동으로 이어지는 결론을 추론합니다.

생산 규칙은 지식 표현에 대한 추론을 위해 1 차 논리를 사용하는 두 부분으로 구성된 구조입니다. 비즈니스 규칙 엔진은 런타임 프로덕션 환경에서 하나 이상의 비즈니스 규칙을 실행하는 소프트웨어 시스템입니다.

규칙 엔진을 사용하면 "What to Do"가 아니라"How to do it.”

규칙이란 무엇입니까?

규칙은 " 일부 조건이 발생 하면 몇 가지 작업 수행하십시오."라고 표현되는 지식의 일부입니다.

When
   <Condition is true>
Then
   <Take desired Action>

규칙의 가장 중요한 부분은 when부품. 만약when 부분 만족, then 부품이 트리거됩니다.

rule  <rule_name>
   <attribute> <value>
      
   when
      <conditions>
      
   then
      <actions>
end

패턴 매칭

생산 규칙에 대해 신규 또는 기존 사실을 일치시키는 프로세스를 패턴 일치라고하며 추론 엔진에서 수행합니다. 다음을 포함하여 패턴 매칭에 사용되는 알고리즘이 많이 있습니다.

  • Linear
  • Rete
  • Treat
  • Leaps

Drools는 Rete 알고리즘을 구현하고 확장합니다. Drools Rete 구현은 ReteOO라고하며, 이는 Drools가 객체 지향 시스템을위한 Rete 알고리즘의 개선되고 최적화 된 구현을 가지고 있음을 의미합니다.

규칙 엔진의 장점

선언적 프로그래밍

규칙을 사용하면 어려운 문제에 대한 솔루션을 쉽게 표현하고 솔루션을 검증 할 수도 있습니다. 코드와 달리 규칙은 덜 복잡한 언어로 작성됩니다. 비즈니스 분석가는 규칙 세트를 쉽게 읽고 확인할 수 있습니다.

논리 및 데이터 분리

데이터는 도메인 개체에 있고 비즈니스 논리는 규칙에 있습니다. 프로젝트의 종류에 따라 이러한 분리가 매우 유리할 수 있습니다.

속도와 확장 성

Drools가 작성된 Rete OO 알고리즘은 이미 입증 된 알고리즘입니다. Drools의 도움으로 응용 프로그램의 확장 성이 매우 높아집니다. 변경 요청이 자주 발생하는 경우 기존 규칙을 수정하지 않고도 새 규칙을 추가 할 수 있습니다.

지식의 중앙화

규칙을 사용하여 실행 가능한 지식 저장소 (지식 기반)를 만듭니다. 비즈니스 정책에 대한 단일 진실 지점입니다. 이상적으로는 규칙이 너무 읽기 쉬워서 문서로도 사용할 수 있습니다.

도구 통합

Eclipse와 같은 도구는 규칙을 편집 및 관리하고 즉각적인 피드백, 유효성 검사 및 컨텐츠 지원을받는 방법을 제공합니다. 감사 및 디버깅 도구도 사용할 수 있습니다.