비즈니스 룰 엔진

From CS Wiki
Business Rule Engine

업무에서 발생하는 규칙을 기반으로 새로운 시스템 개발을 할 수 있는 툴을 말하며, 제어와 업무절차를 분리해서 IT시스템에서 규칙과 연관된 부분을 따로 관리하는 개념

  • 규칙기반관리시스템(RBMS)라고도 불린다

주요 도입 대상[edit | edit source]

  • 방카슈랑스나 바젤Ⅱ 등 급변하는 외부상황에 적절히 대응할 필요가 있는 금융권에서 주로 도입
  • 업무에 대한 규정이나 규제, 규칙들의 변경이 잦은 경우
  • IT 부서와 협조하여 개발을 추진하기엔 상황 변화가 급박한 경우

주요 기능[edit | edit source]

  • 비즈니스 룰(규칙) 개발 및 관리
  • 비즈니스 룰 생명주기 관리
    • 룰 분류 → 룰 작성 → 룰 테스트 → 룰 적용 → 룰 모니터링
  • 현업 담당자를 위한 GUI 기반의 룰 관리도구 제공
  • 룰 권한 관리,룰 체크인/아웃,룰 버전 관리, 룰 롤백,룰 비교, 룰 검색

분류[edit | edit source]

  • DB 기반의 룰 엔진
  • 추론(Inference) 기반의 룰 엔진

기대 효과[edit | edit source]

  • 주로 금융권에서 대출 심사시 심사역의 역할을 상당부분 자동화
  • 관련 업계에선 BRE 도입시 기업 내 시스템 개발기간이 50% 이상 줄어들고, 이후 유지보수에 들어가는 노력도 1/10가량 줄어든다고 주장

역사[edit | edit source]

최초 출현[edit | edit source]

60년대 미 항공우주국(NASA)에서 고안
  • 아폴로 우주선 발사를 위해 인공지능(AI), 즉 추론엔진을 개발
  • 단순한 프로그래밍으로는 상황별 대응시스템의 설계가 어려워 아예 상황별로 규칙을 만들고 인공지능 엔진이 이를 판단하도록 개발
  • IT시스템 개발자가 아닌 과학자들이 바로바로 룰을 시스템에 입력해 업무 편의를 높이기 위한 목적도 포함

변화 과정[edit | edit source]

  • 1 세대 : Coding
    • 현재도 사용하고 있는 방법이기는 하나 단순하고 적은량의 룰을 관리할때 주로 사용
    • 복잡한 룰 관리 시에는 코딩량이 많아지고, 유지보수가 힘들어 Time to Market이 어려움
  • 2 세대 : Rule DB
    • 비즈니스 룰을 DB에 넣어두고, 주어진 조건 혹은 주어진 파라미터에 따라 그 결과 값을 반환하는 형태
    • 일반적으로 데이터 파라미터들의 집합으로 구성되며 자체적 처리능력보다는 다른 어플리케이션이 참조할 수 있는 정보를 제공하는 형태
    • 추론 기능은 포함하지 않음
  • 3 세대 : RBMS(Rule Base Management System)
    • 주어진 문제를 해결하기 위해 룰의 템플릿을 생성하고,생성된 템플릿에 맞는 값 혹은 파라메터에 값을 입력해문제를 해결하는 형태
    • 이는 Rule DB에 대해 데이터의 표현에 있어서 좀더 폭 넓은 표현이 가능 하며, 추론 기능을 가지고 있어서 자체적으로 하나의 어플리케이션을 구성
    • 규칙 판정 수행 시에 데이터베이스를 접근하는 것이 아니라 메모리에 룰을 로드하여 사용할 수 있음
  • 4 세대 : BRMS(Business Rule Management System)
    • CDB를 기반으로 비즈니스 도메인에 대해 비즈니스 모델링 작업을 수행 한 후에 모델링 결과를 사용하여 비즈니스 룰화 하는 형태로 문제를 해결
    • 기존에 사용하고 있는 프로그래밍 언어와의 연동이 자유로우며, 실행 속도 또한 룰 기반 엔진 혹은 룰 DB에 비해 고속
    • 기존에 개발되어 있는 시스템의 확장 혹은 신규 시스템 개발 시 빠르게 적용 가능

같이 보기[edit | edit source]

참고 문헌[edit | edit source]