영문초성/B 2016. 1. 19. 17:51

비즈니스룰 관리시스템정의

 비즈니스 룰이란 비즈니스 업무 처리시 사용되는 비즈니스 이벤트를 지배하는 조건으로 기업의 어느 측면을 정의하고 가속함을 의미한다.
그것은 기업구조를 나타내거나 혹은 기업의 행동을 통제하고 영향을주려는데 목적을 두고 있다.
비즈니스 룰 엔진 정의를 보면 "비즈니스 룰 엔진을 룰 저장소에 저장된 비즈니스 룰을 이용하여 요청 받은 업무를 처리하는 비즈니스 룰 기술의 핵심부분"이라고 정의하고 있으며 "비즈니스 룰 엔진은 기업의 업무규칙, 절차, 노하우 등을 어플리케이션에서 분리해 별도의 규칙 기반 시스템에서 관리함으로써 비즈니스와 전략의 변화에 신속하게 대응할 수 있도록 하는 시스템"이라고 정의 하였고 "소프트웨어의 일부분이며, 최소한의 지식(Knowled'ge)만으로도, 결론을 추론(inferencing)해낼 수 있는 도구라고 정의하고 있다".
 또한 "비즈니스 룰 엔진은 현재 전반적인 룰 관련 통합관리를 지원하는 도구가 포함된 플랫폼들로 확장 되었다.
이러한 플랫폼들은 룰의 모델링, 테스트, 적용 및 유지보수를 지원하는 기능과 IT비전문가들을 위한 손쉬운 환경의 룰 등록 및 운영기능을 제공하는 GUI 환경 등을 제공한다.
최근에는 이러한 발전된 형태의 플랫폼을 비즈니스 룰 관리 시스템이라 부른다." 라고 정의하고 있다.
비즈니스 룰 관리 시스템은 클라이언트의 화면 컨트롤, 데이터베이스 컨트롤 등과 비즈니스 규칙 등이 혼재 되어있는 기존 어플리케이션에서,IT 개발자가 잘 파악하지 못하는 업무 규칙이나 자주 변경되는 업무 로직을 어플리케이션으로부터 분리하여,IT개발자가 아닌 현업 담당자가 스스로 비즈니스 규칙을 구축하고 관리할 수 있도록 함으로써 효과적인 시스템 개발 및 유지 보수가 가능하도록 하는 시스템이라 정의 할 수 있다.
비즈니스룰 엔진은비즈니스룰을추출하여 정의하고관리함으로써 어플리케이션에서 비즈니스 룰을 분리하여 보다 신속하고 정확하게 비즈니스 요구를 수용할 수 있도록 하는 시스템이다.
이때,어플리케이션으로부터 분리되는 비즈니스 룰은 비즈니스 정책, 절차,경험 등이고,비즈니스 룰 엔진은 이를 분리하여 일원적인 관리를 하는 기능들을 지닌다.
비즈니스 룰 엔진은 일반적으로 <그림 2-1>과 같은 구조를 갖고 있으며, 비즈니스룰 엔진의기능구성요소는 다음의 다섯가지로 구성된다.

(1) 룰 관리기능
  비즈니스룰 개발및관리기능
  비즈니스 룰 라이프사이클 관리 : 룰 분류 → 룰 작성 → 룰 테스트→ 룰 적용→ 룰 관리
  비즈니스룰 저장을위하여 저장소 관리
  업무담당자를위한 웹기반의룰 관리도구 제공
  룰 권한 관리,룰 체크-인/체크-아웃 관리,룰 버전 관리,롤백,룰 비교,룰 검색

(2) 룰서비스 기능
  룰 엔진서버 기능
  개발한룰을 배치& 서비스 처리
  다른시스템과의 인터페이스제공 : 웹서비스

(3) 룰 모니터링 기능
  비즈니스룰 모니터링
  비즈니스프로세스 개선활동및비즈니스룰성능튜닝지원
  분석 및 통계 기능 :6-시그마 분석,예외분석 리포트,룰 효과 동향,룰 서버 활용등

(4) 추론 기능
  룰수집 및추론방법 결정
  룰수행방법 및시기결정

(5) 룰 저장기능
룰 저장

 
비즈니스룰 관리시스템특징

비즈니스 룰의 사용은 IT(업무 팀)보다는 현업 담당자 입장에서 더 매력적이다.
기존 개발 방식과 시스템이 익숙한 IT 개발자들의 부분적 거부반응에도 불구하고, 비즈니스 룰 관리 시스템을 사용하게 되는 이유는 비즈니스 룰 관리 시스템 적용에 따른 장점이 IT측면에서 비용 절감보다 훨씬 큰 사업상의 이득을 제공할 수 있기 때문이다.
보험 회사에서 도입한 룰 DB기반의 비즈니스 룰 관리 시스템에서도 증명되었듯이,비즈니스 룰 관리 시스템의 적용은 시스템에 포함된 비즈니스 로직을 신속하게 변경할 수 있게 한다.
이를 통하여 사업부서는 신속하게 마케팅 및 영업활동을 추진할 수 있으며, 경쟁회사보다 앞선 시장 활동을 통하여 시장에서의 경쟁력 확보가 가능한 것이다.
이는 비즈니스 로직의 변경 즉 새로운 업무나 상품이 발생하거나 변경이 있을 경우 항상 거쳐야 했던, IT(업무 팀)와의 협의와 IT(업무 팀)와의 시스템 수정 및 반영에 소요되었던 시간을 크게 단축시킴으로써 가능하게 되었다.
아무리 정확한 분석을 통하여 도출된 새로운 업무와 상품이 시스템 반영에 오랜 시간을 소모하여, 적시에 내놓지 못한다면 준비에 소모한 시간과 비용은 그 만큼의 기회손실을 발생시키는 것이다.이러한 점은 대다수 현대 IT시스템의 구축
목표인 비즈니스 속도 및 비용 측면에서 매우 중요한 특징이 된다.
기존의비즈니스룰관리시스템은비즈니스업무를 처리하기위해 어플리케이션을 모두 룰로 구성을 하려고 했기 때문에 기존에 프로그래밍 코드로 되어 있는 부분을 룰로 전환하려고 하면서 시스템의 모든 영역을 룰 스크립트로 처리하려고 하였다.
따라서 비즈니스 룰을 얼마만큼 잘 정의하느냐가 향후 시스템에 대한 확장성이나 혹은 가독성 그리고 성능을 좌우하였다.
때문에 비즈니스 룰을 추출하여 잘 정형화 하여 구성을 하는 것이 매우 중요한 업무이며 매우 생소한 업무이기도 했지만 비즈니스 룰 관리 시스템으로 와서는 그 방법이 달라졌다.
기존에 프로그래밍 코드 영역이라고 할 수 있는 비즈니스 Object 영역과 룰 영역인 비즈니스 룰 영역으로 구분하여 비즈니스 룰은 기존의 코드와 결합하여 보다 가독성을 높이는 작업과 보다 빠른 작업 그리고 자동화된 작업을 처리하기에 유리하다.
따라서 비즈니스 룰 관리 시스템에서 룰을 추출한다는 것은 기존의 개발 요구사항 중에 필요한 영역을 비즈니스 룰로써 대치할 수 있게 되는 것이다.
이는 별도의 룰을 추출하는 것이 아니라 기존의 요구사항 명세 혹은 UseCase 등의 문서를 사용하여 룰을 바로 작성하도록 되어 있으므로 별도의 룰 추출이라는 영역을 마련하고 있지 않고 있다.
단지 기존의 방법론 혹은 기존의 문서에서 어느 부분이 룰로 변환되면 좋은지에 대한 내용을 담고 있다고 할 수 있다.


비즈니스룰 관리시스템장점

비즈니스 룰 관리 시스템의 장점으로는 아래의 내용과 같이 현업 사용자의 손쉬운 업무 관리와 변경된 업무 규칙의 빠른 적용, 다양한 패턴의 업무 규칙 추가, 업무 규칙의 자동 문서화,체계적인 업무 지식의 공유 가능 등으로 많은 장점을 얻을 수 있다.

(1) 현업 사용자의 손쉬운 업무 추가/변경
비즈니스 룰 관리 시스템의 비즈니스 룰은 현업의 용어로 정리되고 구축된다.
따라서 현업 담당자도 쉽게 이해하고 관리할 수 있다.
현업의 담당자는 업무에서 사용되는 용어를 그대로 비즈니스 룰 관리 시스템에서 제공하는 UI에 입력,수정, 삭제를 할 수 있으며 현업 용어로 작성이 되기 때문에 관리를 IT가 아닌 현업 담당자가 직접 할 수 있다.
고객의 요구가 다양하게 변화하고 그에 따른 정책도 급변하고 있는 상황에서 기존 프로그래밍 방식으로는 이러한 상황 변화에 능동적으로 대응하기 힘든 것이 현실이다.
따라서 비즈니스 룰을 사용하면 업무에 적용되는 각종 룰 혹은 정책(Policy)들이 기존과 같이 공통 데이터베이스 테이블에 저장되는 것이 아니라, 현업 사용자도 쉽게 이해할 수 있는 비즈니스 룰 엔진에 저장/실행되므로 현업 담당자가 직접 추가 및 변경이 가능하다.

(2) 변경된 업무 규칙의 빠른 적용
업무 변경/추가가 있을 경우 현업 사용자들이 빠르게 변경할 수 있으므로 기존의 프로세스보다 빠른 시간 안에 실제 업무에 적용할 수 있다.현재 IT인프라 강화를 통하여 사업 환경을 혁신하고자 하는 기업들이 지향하는 것은 실시간 기업(RTE: Real-TimeEnterprise)이다.
기업의 정책결정에서 이의 실행까지를 실시간으로 처리하는 실시간 기업은 결정한 정책을 신속하게 시스템에 반영할 수 있어야 한다.
비즈니스 룰 관리 시스템은 현업에 의한 실시간 유지보수를 가능하게 함으로써, 실시간 기업이 요구하는 시스템적 요건을 충족시키는 핵심기술이다.

(3) 다양한 패턴의 업무 규칙 추가
테이블 방식을 사용한 업무의 추가/변경은 제한된 형태의 업무 규칙을 추가 할 수있다.
만일 복잡한 형태의 업무 규칙을 추가/변경 하기 위해서는 현업 담당자가 여러 개의 테이블을 동시에 수정해야 하며,일부 영역의 경우 IT담당자가 코딩된 형태로 시스템에 입력해야만 한다.
비즈니스 룰 관리 시스템을 사용하면 다양한 패턴의 업무 규칙 및 새로운 패턴을 적용할 수 있으므로 보다 많은 부분을 시스템화 할 수 있다.

(4) 업무 규칙의 자동 문서화
기존 방식을 사용하여 새로운 업무 규칙 혹은 변경된 업무 규칙이 시스템에 적용되면 그 규칙에 대한 문서화를 별도로 작성하거나 혹은 문서화 후 시스템에 반영해야만 한다.
비즈니스 룰 관리 시스템을 사용하면 시스템에 적용되어 있는 내역을 원하는 문서 형태로 출력/저장이 가능하므로 별도의 문서화를 할 필요가 없으며,또한 MS-Office에 있는 내용을 비즈니스 룰 관리 시스템으로 바로 Copy & Paste하여 업무 규칙을 정의할 수 있다.

(5) 체계적인 업무 지식의 공유 가능
기존의 시스템은 인수 지침 등의 업무 내용이 시스템에 반영되어 있어 업무 후임자가 왔을 경우 이해하기 힘들뿐만 아니라 현행 시스템에 대한 체계적인 분석이 어렵다.
비즈니스 룰 관리 시스템을 사용할 경우 시스템이 기존의 업무 지침서와 유사한 형태의 한글 룰로 정의가 되므로 현재 사용되고 있는 업무 규칙이나 흐름을 쉽게 파악할 수 있으며,시스템을 통한 지식의 공유가 가능하다.


비즈니스 룰 관리 시스템 분류

비즈니스 룰 관리 시스템에서 핵심은 비즈니스 룰을 처리하는 비즈니스 룰 엔진이다.
비즈니스 룰 엔진이사용되는 알고리즘은 Rete, Deti, MCRDR,통계/확률, 논리학 등의 알고리즘을 사용하고 있으며 비즈니스 룰은 시스템이 지향하는 알고리즘을 이용하여 구현된 결과물이라 할 수 있다.
현재 국내외에 나와 있는 비즈니스 룰 관리 시스템에서 비즈니스 룰 엔진을 살펴보면 다음과 같이 크게 두 가지로 분류 할 수 있다.

(1) DB(Data Base)기반의 룰 엔진

DB기반의 룰 엔진은 비즈니스 룰을 정의하는 매개변수(Parameter)를 DB에 저장하고,매개변수를 이용한 실제 룰 처리,즉 비즈니스 로직의 처리는 프로그램이 처리하는 방식과 독립적인 룰 엔진을 사용하는 방식이 있다.
독립적인 룰 엔진을 사용하는 방식은 룰 엔진이 비즈니스 로직을 처리하도록 설계된 이 기술은 룰 DB에 매개변수 값은 물론,이들을 이용한 상세 로직도 저장하고 처리할 수 있다.
룰 DB는 많은 사용자들이데이터베이스에 익숙하고 이를 이용하여 관리하는 경우 질의문(Query)을 이용하여 보다 쉽게 접근할 수 있다.

(2) 추론(Inference) 기반의 룰 엔진

추론기반의 룰 엔진은 인공지능분야에서 인간이 생각하고 판단하는 사고(思考) 흐름을 시스템화 하기 위하여 개발된 기술이다.
그러나 인간의 사고 흐름은 매우 복잡하고 유연하며,컴퓨터가 이를 완벽하게 모방하는 것은 현재의 기술로는 아득히 멀다.
일부에서는 아날로그와 디지털의 차이에서 그 원인을 찾고자 하여, 인공신경망(ANN: ArtificialNeuralNetwork)에서 그 해답을 찾고자 노력하고 있기도 하다.
그러나 현재 부족하나마 가장 안정되고 검증된 것으로 알려진 기술이 룰과 휴리스틱스(Heruristics)를 기반으로 하는 추론 기술이다.
추론기반의 룰 엔진은 비즈니스 룰을 표현하는 스크립트 언어를 지원하고 있으며,이를 이용하여 작성한 비즈니스 룰을 처리한다.


비즈니스 룰 관리 시스템 변화 과정

룰 시스템은 초기에 프로그래밍이 시작된 시점부터 지금까지 계속 진화하고 있으며,현재에는와 같이 4 세대 룰 시스템이 시장에 대두되고 있다.

(1) 1 세대 : Coding

현재도 사용하고 있는 방법이기는 하나 단순하고 적은량의 룰을 관리할때 주로 사용하며,복잡한 룰 관리 시에는 코딩량이 많아지고,유지보수가 힘들어 Time to Market이 어려워사용을 자제하며 전문 비즈니스 룰 엔진으로 전환하고 있다.

(2) 2 세대 : Rule DB

비즈니스 룰의 규칙을 데이터베이스 혹은 데이터베이스와 유사한 형태의 구조에 넣어두고,주어진 조건 혹은 주어진 파라메터에 따라 그 결과 값을 반환하는 형태를 갖는다.
따라서 일반적으로 데이터 파라메터들의 집합으로 구성되며 자체적 처리능력보다는 다른 어플리케이션이 참조할 수 있는 정보를 제공하는 형태를 가지며,추론 기능을 가지고 있지는 못하다.


(3) 3 세대 : RBMS(Rule Base Management System)

주어진 문제를 해결하기 위해 룰의 템플릿을 생성하고,생성된 템플릿에 맞는 값 혹은 파라메터에 값을 입력해문제를 해결하는 형태를 갖는다.
이는 Rule DB에 대해 데이터의 표현에 있어서 좀더 폭 넓은 표현이 가능 하며,추론 기능을 가지고 있어서 자체적으로 하나의 어플리케이션이 될 수 있다.
또한 수행 시에 데이터베이스를 접근하는 것이 아니라 메모리에 각종 룰들을 로드하여 사용할 수 있게 된다.

(4) 4 세대 : BRMS(Business Rule Management System)

CDB(ComponentBasedDevelopment)를 기반으로 비즈니스 도메인에 대해 비즈니스 모델링 작업을 수행 한 후에 모델링 결과를 사용하여 비즈니스 룰화 하는 형태로 문제를 해결하는 구조다.
따라서 기존에 사용하고 있는 프로그래밍 언어와의 연동이 자유로우며, 실행 속도 또한 룰 기반 엔진 혹은 룰 DB에 비해 월등하게 빠르다.
따라서 기존에 개발되어 있는 시스템의 확장 혹은 신규 시스템 개발 시 빠르게 적용할 수 있다.

참조 : 비즈니스룰 관리시스템 개념을 활용한 업무프로세스개선사례 연구 (2013)

'영문초성 > B' 카테고리의 다른 글

BRMS  (0) 2016.01.19
posted by 프로그래머조

댓글을 달아 주세요