Repolode
gorules

gorules/zen

Rust로 작성된 크로스 플랫폼 비즈니스 룰 엔진으로, Node.js, Python, Go, Java, Kotlin, .NET, iOS 및 Android 바인딩을 제공합니다.

스타
2,080
포크
224
열린 이슈
41
마지막 커밋
14시간 전

어떤 프로젝트인가요?

ZEN Engine은 이식 가능한 JSON으로 작성된 의사결정을 평가하는 오픈소스 비즈니스 룰 엔진입니다. 핵심은 Rust로 작성되었으며 Node.js, Python, Go, Java, Kotlin, .NET용 네이티브 바인딩과 Swift 및 Android 패키지를 통해 제공되므로, 동일한 규칙을 여러 플랫폼 스택에서 똑같이 실행할 수 있습니다. 파일 시스템, 데이터베이스, 서비스 호출 등 어디에서 JSON을 불러올지는 애플리케이션에 맡깁니다.

의사결정은 의사결정 테이블, 스위치, 표현식, 함수, 재사용 가능한 하위 의사결정을 결합한 그래프로 모델링하거나, 타입이 지정된 데이터 모델과 테이블을 포함하는 정책 문서로 작성할 수 있습니다. 조건에는 비즈니스 팀이 규칙을 설명하는 방식에 가깝게 읽히도록 설계된 ZEN Expression Language를 사용합니다. 버전 2.0에서는 정책과 그래프 전반에 정적 타입 검사를 추가했으며, 의사결정은 평가 전에 로드 시점에 한 번 컴파일됩니다.

이 프로젝트는 GoRules가 관리하며, GoRules는 엔진을 기반으로 한 호스팅 플랫폼도 제공합니다. 현재 문서 및 테스트를 제외한 외부 코드 기여는 받지 않습니다.

핵심 기능

  • 01Node.js, Python, Go, Java, Kotlin, .NET, Swift 및 Android용 네이티브 바인딩.
  • 02지원되는 모든 플랫폼에서 동일하게 실행되는 이식 가능한 JSON 형식의 의사결정.
  • 03의사결정 테이블, 스위치, 표현식 및 하위 의사결정을 포함하는 시각적 의사결정 그래프.
  • 04타입이 지정된 데이터 모델, 의사결정 테이블 및 어서션을 포함하는 정책 문서.
  • 05런타임 전에 정책과 그래프 전반을 검사하는 정적 타입 검사 및 진단 기능.
  • 06반복 평가를 위해 로드 시점에 미리 컴파일되는 의사결정.

활용 사례

  • 가격 책정, 자격 요건 또는 승인 로직을 애플리케이션 코드에서 분리해 편집 가능한 규칙으로 관리.
  • 서로 다른 언어로 작성된 백엔드 서비스 간에 하나의 비즈니스 규칙 세트를 공유.
  • 모바일 앱과 서버에서 동일한 의사결정 로직 실행.
  • 릴리스 전에 도메인 전문가와 비즈니스 규칙을 검토하고 테스트.

빠른 시작

  1. 1

    Node.js 패키지를 설치합니다

    npm i @gorules/zen-engine
  2. 2

    JDM 결정 그래프를 불러와 입력 데이터로 평가합니다

사용 전 알아둘 점

  • 현재 문서와 테스트 외의 기여는 받지 않습니다.
  • Python, Go, Java, .NET의 musl Linux와 같이 언어별로 지원되지 않는 플랫폼이 있습니다.

토픽

자주 묻는 질문

zen은(는) 무엇인가요?
Rust로 작성된 크로스 플랫폼 비즈니스 룰 엔진으로, Node.js, Python, Go, Java, Kotlin, .NET, iOS 및 Android 바인딩을 제공합니다. ZEN Engine은 이식 가능한 JSON으로 작성된 의사결정을 평가하는 오픈소스 비즈니스 룰 엔진입니다. 핵심은 Rust로 작성되었으며 Node.js, Python, Go, Java, Kotlin, .NET용 네이티브 바인딩과 Swift 및 Android 패키지를 통해 제공되므로, 동일한 규칙을 여러 플랫폼 스택에서 똑같이 실행할 수 있습니다. 파일 시스템, 데이터베이스, 서비스 호출 등 어디에서 JSON을 불러올지는 애플리케이션에 맡깁니다.
zen은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
zen은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
zen은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. zen의 마지막 커밋은 2026년 10월 20일입니다.
zen은(는) 어디에 사용할 수 있나요?
가격 책정, 자격 요건 또는 승인 로직을 애플리케이션 코드에서 분리해 편집 가능한 규칙으로 관리. 서로 다른 언어로 작성된 백엔드 서비스 간에 하나의 비즈니스 규칙 세트를 공유. 모바일 앱과 서버에서 동일한 의사결정 로직 실행. 릴리스 전에 도메인 전문가와 비즈니스 규칙을 검토하고 테스트.
zen는 어떻게 설치하나요?
Node.js 패키지를 설치합니다: npm i @gorules/zen-engine JDM 결정 그래프를 불러와 입력 데이터로 평가합니다
zen은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gorules/zen

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트