source

Java 규칙 엔진의 장단점

bestscript 2022. 12. 3. 12:47

Java 규칙 엔진의 장단점

Java 규칙 엔진JESS와 Drools를 채택하는 것에 대한 장점과 단점은 무엇입니까?다른 선수들도 있나요?

Drools는 오픈 소스이고 JESS는 오픈 소스인 것은 알고 있습니다만, 사용의 용이성, 퍼포먼스, 코드와의 통합 수준 등 다른 분야에서는 어떻게 비교하고 있습니까?

Java 규칙 엔진인 JESS와 Drools를 채택하는 것에 대한 장점과 단점은 무엇입니까?

비즈니스 규칙을 응용 프로그램 로직에서 분리해야 하는 경우 규칙 엔진을 사용하십시오.프로젝트에 규칙 엔진이 필요합니까? 기사에는 다음과 같은 좋은 예가 있습니다.

예를 들어, 일반적인 매장 시스템은 할인을 계산하기 위한 코드를 포함할 수 있습니다.

if (product.quantity > 100 && product.quantity < 500) {
  product.discount = 2;
} else if (product.quantity >= 500 && product.quantity < 2000) {
  product.discount = 5;
} else if (product.quantity >= 2000) {
  product.discount = 10;
}

규칙 엔진은 위의 코드를 다음과 같은 코드로 대체합니다.

ruleEngine.applyRules(product);

규칙 관리 콘솔을 비기술자에게 맡기는 것이 좋은 것인지 아닌지는 사용자에게 달려 있습니다.

자세한 내용은 "규칙 엔진을 사용해야 합니까?"를 참조하십시오.규칙 엔진을 사용하는 이유는 무엇입니까? 규칙 엔진을 사용할지 여부를 결정하기 위한 몇 가지 지침Google에서 확인할 수 있습니다.

다른 선수들도 있나요?

다른 선수로는 JRues, Corticon 등이 있다.

사용의 용이성, 퍼포먼스, 코드와의 통합 수준 등 다른 분야에서는 어떻게 비교하고 있습니까?

정확히 말할 수는 없지만, 저는 Drools에 대해 약간의 (긍정적인) 경험밖에 없어요.하지만 JBoss Drools vs ILOG JRules와 같은 블로그 게시물에서 피드백을 받을 수 있습니다. - 일화적인 이야기(꼭 읽어보세요) 또는 JRules의 관점에서 Drools와 함께 작업합니다.구글에서 더 많은 것을 찾을 수 있을 거라고 확신합니다만, Drools를 시도해 보겠습니다).

현재 어플리케이션서버에서 사용하기 위한 규칙을 평가하고 있습니다.Open Rules는 Java와 쉽게 통합할 수 있으며 테스트 결과에서도 충분히 빠르게 통합할 수 있습니다.OpenRules의 가장 큰 장점은 규칙을 수정하고 처리하는 방법입니다.이 모든 것은 Excel 테이블에서 발생하며, 이는 비프로그래머에게는 가장 쉬운 방법입니다.관련된 모든 사람들, 심지어 비기술자들도 모든 것을 완벽하게 이해하고 있었습니다.

우리는 또한 군적을 통합하고 있지만, 규칙은 더 프로그램적인 접근법이기 때문에 이해하기 훨씬 더 복잡합니다.그것이 바로 우리가 Open Rules를 고수하는 이유입니다.

우리와 비슷한 질문이 있었는데, 마침내 Drools를 잡았습니다. 다음 질문이 있다면 Drools를 사용해야 합니다.

  • 다양한 시나리오로 인해 여러 조건이 혼재하고 있다고 생각되는 비즈니스 로직
  • 복잡성 증대에 대한 수요가 증가할 것입니다.
  • 비즈니스 로직의 변경은 빈번합니다(연간 1~2회도 빈번합니다).
  • 메모리를 많이 사용하는 툴이기 때문에 충분한 메모리를 갖추고 있어 메모리 비용으로 퍼포먼스를 발휘합니다.

자세한 내용은 다음 URL을 참조하십시오.

덧붙여 많은 사람들이, 애플리케이션의 특정의 기능을 유효 또는 무효로 하기 위해서, 특정의 조건을 만족하고 있는지를 관리하는 것에 가까운 것을 요구하고 있습니다.

가는 곳마다 같은 패턴을 반복하는 것에 싫증이 나서 Roolie http://sourceforge.net/projects/roolie/라는 OSS 프로젝트를 만들기로 했습니다.

방금 작성했습니다만, 2010년 발매 후 버그가 보고되지 않았기 때문에, Maven Central에서 호스트 하기 위해서 필요한 것 이외에는 변경하지 않고 v1.0으로 업그레이드했습니다(현재 진행 중입니다).

기본적으로 JSR-94는 대부분의 경우 과잉이며, 현재 제공되는 제품과 함께 엄청난 학습 곡선과 오버헤드가 존재합니다.그게 네가 원하는 거라면 괜찮아.그러나 상태 테스트를 유지하기 위해 Java로 작성된 간단한 규칙을 XML과 함께 연결하려는 경우 Roolie가 매우 빠른 방법입니다.의존 관계도 없고 학습 곡선도 없습니다.

규칙 엔진이 필요했을 때, 사용 가능한 엔진이 간단한 작업에는 너무 복잡했기 때문에 자체 엔진을 도입하기로 결정했습니다.사용자가 입력할 수 있는 표현 해석에 대한 경험이 원격으로 있는 경우 이 작업은 그리 어렵지 않습니다.이 경우 대부분의 사양은 XSD에 의해 처리되며 일부 필드만 더 구문 분석됩니다.

언급URL : https://stackoverflow.com/questions/2167358/pros-and-cons-of-java-rules-engines