KR100948857B1 - 룰 스크립트 엔진 기반의 워크플로우 시스템 - Google Patents

룰 스크립트 엔진 기반의 워크플로우 시스템 Download PDF

Info

Publication number
KR100948857B1
KR100948857B1 KR1020070104661A KR20070104661A KR100948857B1 KR 100948857 B1 KR100948857 B1 KR 100948857B1 KR 1020070104661 A KR1020070104661 A KR 1020070104661A KR 20070104661 A KR20070104661 A KR 20070104661A KR 100948857 B1 KR100948857 B1 KR 100948857B1
Authority
KR
South Korea
Prior art keywords
business
workflow
module
unit
script engine
Prior art date
Application number
KR1020070104661A
Other languages
English (en)
Other versions
KR20090039176A (ko
Inventor
박종호
서태삼
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020070104661A priority Critical patent/KR100948857B1/ko
Publication of KR20090039176A publication Critical patent/KR20090039176A/ko
Application granted granted Critical
Publication of KR100948857B1 publication Critical patent/KR100948857B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Primary Health Care (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 룰 스크립트 엔진 기반의 워크 플로우 시스템을 제공한다는 것으로, 이를 위하여 본 발명은, 테이블 구동(table-driven) 방식의 룰 처리를 수행하는 워크플로우 시스템과는 달리, 워크플로우 제어를 담당하고, 트랜젝션 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 프론트 엔드 또는 백 엔드 시스템과의 인터페이스를 담당하며, 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 스크립트를 파싱 및 해석하여 실행하며, 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트화된 형태로 포함되어 제공되는 공통 모듈부를 포함하는 룰 스크립트 엔진 기반의 워크플로우 시스템를 구현함으로써, 단순한 스크립트 변경만으로 유연성 있게 업무 프로세스를 수행할 수 있는 것이다.
워크플로우 시스템(WorkFlow System), 룰 스크립트 엔진(Rule Script Engine)

Description

룰 스크립트 엔진 기반의 워크플로우 시스템{WORKFLOW SYSTEM BASED ON A RULE-SCRIPT ENGINE}
본 발명은 워크플로우 시스템(Workflow System)에 관한 것으로, 더욱 상세하게는 스크립트 기반의 룰 스크립트 엔진을 통해 처리 프로세스뿐만 아니라 세부 프로세스를 용이하게 변경하여 업무 프로세스를 처리하는데 적합한 룰 스크립트 엔진 기반의 워크플로우 시스템에 관한 것이다.
잘 알려진 바와 같이, 이동 통신 네트워크에서 시스템 통합이라는 것은 비 정형화된 시스템 통합보다는 전체적이고 정형화된 프로세서에 의한 통합을 의미하는데, 이는 사용자에게 하나의 시스템처럼 느껴질 수 있도록 각종 이벤트에 반응하는 것으로 동기종 및 이기종 환경 모두에서 동일한 원리가 적용된다.
이러한 시스템 통합은 데이터 통합과 프로세스 통합으로 분류되며, 전자의 데이터 통합은 여러 시스템에 산재된 데이터의 공유와 정의(생성)를 목적으로 하는데, 이 데이터 통합은 논리적 단계 통합과 물리적 단계 통합으로 세분화되며, 논리적 단계에서는 공유되는 데이터 모델, 즉 데이터 생산자가 공유할 데이터를 공유하고, 소비자가 접속하여 소비하는 형태로 데이터 또는 정보를 공유할 수 있으며, 물 리적 단계에서의 통합은 기존에 많이 사용하는 ODBC(Open DataBase Connectivity) 등을 이용하여 데이터베이스를 직접 핸들링하거나, 상용 API를 사용하여 테이블을 공유하는 방법이다.
한편, 후자의 프로세스 통합은 데이터와 업무(Business Logic)의 통합을 지칭하며, 최근 들어 워크플로우(Workflow) 중심으로 전환되고 있고, 이는 환경과 제품에 따라 여러 가지 다양한 모델들이 제시되고 있는데, 예를 들어 개인용 컴퓨터(PC) 환경에서는 MS사에서 제시하는 'OLE'와 Apple사의 'OpenDoc'가 대표적이다.
이러한 프레임워크(framework)는 여러 다양한 정보들을 디렉토리 서버에 저장하고, 저장된 정보들을 사용자들의 요구에 알맞게 제공해 주는 역할을 수행함으로써, 통신 네트워크상에서의 정보 제공이 보다 빠르고 용이하게 이루어지고 있기 때문에 가입자들은 다양한 서비스를 요구하게 되며, 이동 통신 시스템 운영자는 서비스 가입자의 이동 단말기 또는 유선 단말기에 컨텐츠를 제공하기 위한 컨텐츠 제공자의 개별적 요구를 충족시켜야만 한다.
한편, 상술한 바와 같은 요구를 충족시키기 위해 워크플로우 시스템이 제안되었는데, 워크 플로우 시스템은 작성시간(build time)에 룰(rule)이라는 참여 유형없이 일반적인 참여 유형으로 비즈니스 프로세스를 정의하여 구동시간(run time)에 프로세스를 사용하도록 하는 방법이다.
이러한 룰 처리 기반의 워크플로우 처리 구조에서는 룰 처리 방식이 테이블 구동(table-driven) 방식이기 때문에 신규 로직 확장, 개선 등에 유연성 확보에 어려움이 발생하며, 워크플로우 처리 구조와 유기적으로 연계되지 못하여 처리 프로세스 및 세부 프로세스 변경에 어려움이 있었다.
이에 따라, 본 발명은 스크립트 기반의 룰 스크립트 엔진을 통해 처리 프로세스뿐만 아니라 세부 프로세스 자체를 용이하게 변경할 수 있는 워크플로우 시스템을 제공하고자 한다.
또한, 본 발명은 서로 다른 특성을 갖는 대용량 트랜젝션(transaction) 처리 및 실시간 요구/응답 처리를 동시에 처리할 수 있는 워크플로우 시스템을 제공하고자 한다.
그리고, 본 발명은 플러그인(plug-in) 타입의 룰스크립트 엔진 및 워크플로우 구조를 통해 유연성 있는 신규 어플리케이션 기능을 수용할 수 있는 워크플로우 시스템을 제공하고자 한다.
제 1 관점에 따라 본 발명은, 워크플로우 제어를 담당하고, 대용량 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 를 포함하며, 상기 워크플로우 엔진부는, 구동 시에 프로세스 형태로 존재하는 모듈로써, 상기 비즈니스 및 어플리케이션 모듈부와 독립된 프로세스 형태 및 플러그인 형태로 결합하며, 상기 트랜잭션 처리를 담당하는 MES(Message Exchange Service)와, 구동 시에 쓰레드(thread) 형태로 존재하는 모듈로써, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈들은 별도의 쓰레드 및 동일 프로세스 형태로 결합하며, 상기 MES보다 상대적으로 빠른 실시간 요청 수신 및 응답 처리를 수행하는RFW(Realtime Flow Workbench)를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템을 제공한다.
제 2 관점에 따라 본 발명은, 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며, 상기 비즈니스 및 어플리케이션 모듈부는, 상기 프론트 엔드 시스템과의 인터페이스를 담당하는 IF(InterFace)와, 상기 백 엔드 시스템과의 분배 및 인터페이스를 담당하는 DT/IF(Distributor/Interface)를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템을 제공한다.
제 3 관점에 따라 본 발명은, 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며, 상기 룰 스크립트 엔진부는, 상기 플러그인 형태로 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈들과 결합할 수 있도록 하는 어플리케이션인 룰 프로세싱 API와, 상기 데이터의 입력, 획득/할당, 데이터의 출력 처리 인터페이스를 제공하는 객체인 데이터 핸들러와, 상기 비즈니스 내용이 포함된 스크립트를 파싱 및 해석하여 실행하는 역할을 담당하는 객체인 스크립트 엔진과, 상기 공통 모듈부에서 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 파라미터 매니저를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템을 제공한다.
제 4 관점에 따라 본 발명은, 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며, 상기 공통 모듈부는, 신규 업무 프로세스 생성을 위해 템플릿(Template) 형태로 구성된 컴포넌트를 포함하는 비즈니스 로직, 호출이 가능한 클래스 및 객체화된 컴포넌트를 포함하는 일반 함수를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템을 제공한다.
본 발명은, 테이블 구동(table-driven) 방식의 룰 처리를 수행하는 워크플로우 시스템과는 달리, 대용량 트랜젝션 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 스크립트 파싱 및 해석을 수행하는 룰 스크립트 엔진부와, 비즈니스 로직 및 일반 함수를 포함하는 공통 모듈부를 포함하는 워크플로우 시스템을 구축함으로써, 서로 다른 특성을 갖는 대용량 트랜젝션 처리 모델 및 실시간 요청/응답 처리 모델을 동시에 처리할 수 있다.
또한, 본 발명은 플러그인 타입의 룰 스크립트 엔진 및 워크플로우 아키텍쳐를 통해 유연성 있는 신규 어플리케이션 기능을 효과적으로 수용할 수 있으며, 공통 모듈 및 별도의 외부 함수를 쉽게 재사용할 수 있고, 룰 스크립트 엔진을 포함하는 워크플로우 시스템을 통해 빈번히 발생하는 고객 변경 요구에 즉각 대응할 수 있다.
본 발명의 기술요지는, 워크플로우 시스템이 워크플로우 제어를 담당하고, 트랜젝션 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템 또는 백 엔드 시스템과의 인터페이스를 담당하며, 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함한다는 것이며, 이러한 기술적 수단을 통해 종래 기술에서의 문제점을 해결할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명에 따라 플러그 인 타입의 룰 스크립트 엔진을 기반으로 하는 워크플로우 시스템의 블록구성도로서, 워크플로우 엔진부(102), 비즈니스 및 어플리케이션 모듈부(104), 룰 스크립트 엔진부(106), 공통 모듈부(108), 프론트 엔드 시스템(Front-end System, 110) 및 백 엔드 시스템(Back-end System, 112)을 포함한다. 여기에서, 비즈니스는 다양한 과금 처리 로직을 의미하는 것으로, 예를 들어 멀티미디어 메시지 서비스(MMS : Multi-media Message Service)의 경우 데이터 통화료와 정보 이용료를 합하여 '건당 이용료'라는 멀티미디어 메시지 서비스 타입별로 과금 처리될 수 있고, 이러한 서비스별 다양한 과금 처리 로직을 비즈니스 로직이라 하며, 과금 필드의 값들에 대한 처리 로직도 비즈니스 로직으로 간주될 수 있는 바, 이러한 비즈니스 및 비즈니스 로직에 대한 의미로서 이하 설명한다.
도 1을 참조하면, 워크플로우 엔진부(102)는 플로우(flow) 제어를 담당하는 엔진으로서, 도 2에 도시한 바와 같이 대용량 트랜젝션 처리를 위한 MES(Message Exchange Service, 102a, 이하 'MES'라 함) 및 실시간 요구/응답 처리를 위한 RFW(Realtime Flow Workbench, 102b, 이하 'RFW'라 함)을 포함하는데, MES(102a)는 구동 시에 프로세스 형태로 존재하는 모듈로써, 비즈니스 및 어플리케이션 모듈부(104)와는 독립된 프로세스 형태를 갖으며, 과금 데이터 등과 같은 대용량 트랜잭션 처리를 담당하고, 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들은 플러그인(plug-in) 형태로 MES(102a)와 결합한다.
또한, RFW(102b)는 구동 시에 쓰레드(thread) 형태로 존재하는 모듈로써, 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들은 별도의 쓰레드 및 동일 프로세스 형태로 결합한다. 이러한 RFW(102b)는 MES(102a)에 비교하여 통신비용의 절감을 목적으로 구성되며, 상대적으로 빠른 실시간 요청 수신 및 응답 처리를 수행하도록 하며, MES(102a)와 RFW(102b)가 포함된 워크플로우 엔진부(102)는 사업자 요구에 따라 다양한 프로세스를 처리할 수 있으며, 통합 형태의 응용 서버를 구축할 수 있도록 한다.
그리고, 비즈니스 및 어플리케이션 모듈부(104)는 플러그인(plug-in) 형태로 MES(102a)와 결합하고, 별도의 쓰레드 및 동일 프로세스 형태로 RFW(102b)와 결합하는데, 도 3에 도시한 바와 같이 IF(Interface, 104a, 이하 'IF'라 함), 비즈니스 로직 1 PS(Parser, 104b, 이하 'PS'라 함), 비즈니스 로직 2 ST(Standardization, 104c, 이하 'ST'라 함), 비즈니스 로직 3 FT(Filter, 104d, 이하 'FT'라 함), 비즈니스 로직 n MG(Merger, 104e, 이하 'MG'라 함) 및 DT/IF(Distributor/Interface, 104f, 이하 'DT/IF'라 함)을 포함한다.
여기에서, IF(104a)는 예를 들면, CPs(Contents Provider server, 이하, CPs라 함), MMS(Multimedia Message Service server, 이하 'MMS'라 함), NGcP(Next Generation Convergence Platform, 이하 'NGcP'라 함) 등의 프론트 엔드 시스템(Front-End System, 110)과 통신하는 인터페이스 모듈로서, PSAG(Prepaid Service Authorization Gateway, 이하 'PSAG'라 함) 어댑터를 이용하여 CPs에 인증 및 결제 처리를 위한 요청 및 응답을 수행하고, FTP(File Transfer Protocol, 이하 'FTP'라 함) 어댑터를 이용하여 MMS로부터의 MMS 로그를 수신하며, 한도 처리 어댑터를 이용하여 NGcP에 정보 이용료 한도 서비스를 위한 요청 및 응답을 수행한다.
그리고, 비즈니스 로직 1 PS(104b)는 플러그인 형태 또는 쓰레드 형태로 결합되는 파싱 모듈이고, 비즈니스 로직 2 ST(104c)는 플러그인 형태 또는 쓰레드 형태로 결합되는 규격화 모듈이며, 비즈니스 로직 3 FT(104d)는 플러그인 형태 또는 쓰레드 형태로 결합되는 필터링 모듈이고, 비즈니스 로직 n MG(104e)는 플러그인 형태 또는 쓰레드 형태로 결합되는 통합 모듈이다.
또한, DT/IF(104f)는 예를 들면, 포인트 서버(Point server), SCP(Service Control Point, 이하 'SCP'라 함), 결제 시스템(Billing System) 등을 포함하는 백 엔드 시스템(Back-End System, 112)과 통신하는 분배 및 인터페이스 모듈로서, PSAG 에이전트를 통해 포인트 서버와 상호 통신하며, FTP를 이용하여 SCP와 통신하고, 파일 에이전트를 통해 결제 시스템과 통신한다.
다음에, 룰 스크립트 엔진부(106)는 비즈니스 및 어플리케이션 모듈부(104)에 플러그인 형태로 탑재되어 룰 관리 모델을 지원하는데, 도 4에 도시한 바와 같이 룰 프로세싱 API(Rule-Processing API, 106a), 데이터 핸들러(Data Handler, 106b), 스크립트 엔진(Script Engine, 106c) 및 파라미터 매니저(Parameter Manager, 106d)를 포함한다. 한편, 룰 스크립트 엔진부(106)는 도 1에 도시한 바와 같이 비즈니스 및 어플리케이션 모듈부(104)와 독립된 구성으로 도시되어 있지만 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들에 각각 대응하는 룰 스크립트 엔진부(106)가 플러그인 형태로 포함되어 있는 것으로 이해되어야만 한다.
여기에서, 룰 프로세싱 API(106a)는 플러그인 형태로 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들과 결합할 수 있도록 하는 어플리케이션이고, 데이터 핸들러(106b)는 데이터의 입력(input), 획득(get)/할당(set), 데이터의 출력(output) 등의 처리 인터페이스를 제공하는 객체이며, 스크립트 엔진(106c)은 비즈니스 내용이 포함된 스크립트를 파싱(parsing) 및 해석(interpreting)하여 실행하는 역할을 담당하는 객체이고, 파라미터 매니저(106d)는 공통 모듈부(108)에서 지원되지 않는 기능을 수행하는 외부 함수(외부 모듈)를 추가 호출할 수 있는 기능 을 담당한다.
이러한 룰 스크립트 엔진부(106)는 배열 구조(array structure)를 지원하여 고정된 데이터 포맷뿐만 아니라 변동되는 데이터 포맷을 지원하고, 스크립트 문의 오류를 검증하는 구문 체크(Syntax Check)를 지원하며, 일반적인 함수들을 내장 함수(예를 들면, Array, Append 연산자 등)로 제공하고, If, While, for 등의 복잡한 룰(rule)을 표현하기 위한 구문을 제공하여 제어 및 루프 스테이트먼트(Control & Loop Statement)를 지원하며, 스크립트 작성 시 전역 변수 및 지역 변수를 선언하여 사용가능하며, 사용자가 원하는 기능을 작성하여 외부 함수를 지원할 수 있는 특징이 있다.
한편, 공통 모듈부(108)는 도 5에 도시한 바와 같이 IF(Interface), PS(Parser), ST(Standardization), FT(Filter), MG(Merger) 및 DT(Distributor)와 같은 비즈니스 로직(108a)과 로그/통계, 파서, File, 알고리즘, IPC(Inter-Processor Communication, 이하 'IPC'라 함), 변환, 통신, 포맷, 보안 System 및 DB와 같은 일반 함수(General Function, 108b)를 포함하는 컴포넌트(component)화 된 형태로 존재하며, 빠른 응용 로직 개발 및 비즈니스 요구 수용을 지원한다.
또한, 공통 모듈부(108)의 비즈니스 로직(108a)과 일반 함수(108b)는 공통 함수(Common Function)를 형성하면서, 새로운 비즈니스 모듈의 생성 시에 쉽게 재사용 가능하도록 컴포넌트화 되어 있으며, 특히 비즈니스 로직(108a)은 관련 신규 업무 생성을 위해 템플릿(Template) 형태로 구성된다. 여기에서, 일반 함수(108b)는 로그/통계의 경우 레벨 관리, 이력 관리, 이력 및 처리 통계 등으로 쉽게 호출 이 가능한 클래스 및 객체화되어 있으며, 도 5에 도시한 바와 같이 비즈니스 로직(108a)은, IF(Interface), PS(Parser), ST(Standardization), FT(Filter), MG(Merger) 및 DT(Distributor)의 각 항목에 대해 템플릿 형태로 구성되어 있으며, 일반 함수(108b)는 파서, File, 알고리즘, IPC, 변환, 통신, 포맷, 보안, System 및 DB의 각 항목에 대해 각각 클래스 및 객체화되어 있음을 알 수 있다.
그리고, 프론트 엔드 시스템(110)은 예를 들면, CPs, MMS, NGcP 등을 포함하는 시스템으로서, 비즈니스 및 어플리케이션 모듈부(104)의 IF(104a)에 구비된 PSAG 어댑터를 이용하여 CPs에 인증 및 결제 처리를 위한 요청 및 응답을 수행하고, 비즈니스 및 어플리케이션 모듈부(104)의 IF(104a)에 구비된 FTP 어댑터를 이용하여 MMS로부터의 MMS 로그를 전송하며, 비즈니스 및 어플리케이션 모듈부(104)의 IF(104a)에 구비된 한도 처리 어댑터를 이용하여 NGcP에 정보 이용료 한도 서비스를 위한 요청 및 응답을 수행한다.
한편, 백 엔드 시스템(112)은 예를 들면, 포인트 서버, SCP, 결제 시스템 등을 포함하는 시스템으로서, 비즈니스 및 어플리케이션 모듈부(104)의 DT/IF(104f)에 구비된 PSAG 에이전트를 통해 포인트 서버와 상호 통신하며, 비즈니스 및 어플리케이션 모듈부(104)의 DT/IF(104f)에 구비된 FTP를 이용하여 SCP와 통신하고, 비즈니스 및 어플리케이션 모듈부(104)의 DT/IF(104f)에 구비된 파일 에이전트를 통해 결제 시스템과 통신한다.
다음에, 상술한 바와 같은 구성을 갖는 룰 스크립트 기반의 워크플로우 시스템에서 스크립트의 개수에 관계없이 유연하게 구동하는 룰 스크립트 엔진에 대해 설명한다.
도 6은 본 발명에 따른 룰 스크립트 엔진을 이용하여 워크플로우 시스템을 구동하는 것을 예시한 도면으로서, 이러한 도면을 통해 룰 스크립트 엔진의 구동에 대해 설명하면, 첫 번째 예제에서는 2개의 스크립트 그룹, 1개의 데이터 핸들러(106b) 및 1개의 스크립트 엔진(106c)을 이용하여 업무 프로세스를 수행할 수 있음을 알 수 있고, 두 번째 예제에서는 2개의 스크립트 그룹, 2개의 데이터 핸들러(106b) 및 2개의 스크립트 엔진(106c)을 이용하여 업무 프로세스를 수행할 수 있음을 알 수 있다. 이에 따라, 룰 스크립트 기반의 워크플로우 시스템에서는 같은 기능을 수행하는 업무 프로세스에 있어서도 데이터 핸들러(106b) 및 스크립트 엔진(106c)에 대한 객체의 개수를 임의대로 바꿀 수 있으며 이는 해당 업무 프로세스를 개발하는 개발자의 특성을 반영할 수 있는 유연성을 제공한다.
그리고, 도 7은 본 발명에 따라 룰 스크립트 엔진부의 내부 및 외부 객체들간의 상관 관계를 나타낸 도면으로, 이러한 도면을 통해 룰 스크립트 엔진부의 내외부 객체들간의 상관 관계에 대해 설명하면, 실제 비즈니스 업무 프로세스를 담당하면서 룰 스크립트 엔진부(106)를 플러그인 형태로 포함하는 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들과 룰 스크립트 엔진부(106)를 구성하는 스크립트 엔진(106c)과, 스크립트 엔진(106c)과 연관된 스크립트 또는 스크립트 그룹과, 마지막으로 스크립트를 구성하는 스테이트먼트(statement) 간의 호출 상관 관계(즉, 1:N)를 나타내며, 이러한 상관 관계(1:N)는 룰 스크립트 엔진부(106)를 사용하는 개발자들에게 단순하고 유연성 있는 관련 객체들의 관계성을 제공할 수 있다.
여기에서, 비즈니스 및 어플리케이션 모듈부(104)와 스크립트 엔진(106c)이 1:N이라는 것은 비즈니스 특성에 따라 구별된 스크립트 엔진(106c)을 업무 특성에 따라 다양하게 여러 번 구동하여 사용할 수 있음을 의미하고, 스크립트 엔진(106c)과 스크립트(또는, 스크립트 그룹)가 1:N이라는 것은 스크립트 엔진이 여러 개의 스크립트(또는, 스크립트 그룹)를 선택적 또는 반복적으로 사용할 수 있음을 의미하며, 스크립트와 스테이트먼트가 1:N이라는 것은 하나의 스크립트에서 여러 개의 스테이트먼트를 사용할 수 있음을 의미한다. 여기에서, 스크립트에는 실질적인 비즈니스 업무 내용이 기술되고, 하나의 스테이트먼트는 하나의 비즈니스 기능을 수행하는 단위를 의미한다.
또한, 도 8은 본 발명에 따라 룰 스크립트 엔진부의 내부에서 외부 함수를 호출하는 메커니즘을 나타낸 도면으로, 오른쪽 박스 내 스크립트 예제에서 예시하고 있는 스크립트의 변경만으로 공통 모듈부(108)에서 제공되지 않는 외부 함수를 룰 스크립트 엔진부(106) 내의 파라미터 매니저(106d)를 통해 호출하고, 이러한 외부 함수를 룰 프로세싱 API(106a)를 통해 비즈니스 및 어플리케이션 모듈부(104)에 제공하여 해당 업무 프로세스에 사용될 수 있다.
한편, 도 9는 본 발명에 따라 룰 스크립트 엔진부에서 지원하는 스크립트 문법을 나타내는 도면으로, Statement, Variable, Literal, DataField, Append, Functional Call, Error Handling, Comment 등의 아이템(Item)에 따른 문법을 기술하고 있는데, 이러한 스크립트 지원을 통해 비즈니스 및 어플리케이션 모듈부(104)의 각 비즈니스 업무 프로세스를 지원할 수 있고, 비즈니스 및 어플리케이션 모듈 부(104)의 업무 변경 요청에 대해 단순 스크립트 변경을 통해 쉽게 해당 변경 업무 프로세스를 처리할 수 있으며, 변경 과정에서도 해당 업무 프로세스의 중단 없이 수행할 수 있다는 장점이 있다.
그리고, 도 10은 본 발명에 따라 룰 스크립트 엔진을 탑재한 워크플로우 시스템 동작의 일 예를 나타낸 도면이다.
도 10을 참조하여 워크플로우 시스템에서 분기 로직(Branch Logic)의 유연성 강화 측면에 대해 설명하면, 이러한 워크플로우 시스템에 특정 비즈니스 모듈들이 구축되어 있으며, 새로운 환경 변화로 인해 변경 요청이 있으면, 다양한 비즈니스 모듈들간의 관계성(예를 들면, 순서 등)의 변경이 필요할 경우 단순 스크립트의 변경(예를 들면, ①의 경우, ②의 경우 등)만으로 해당 요청 업무 프로세스를 업무 중단 없이 수행할 수 있다.
여기에서, 일반적인 과금/인증 로직의 흐름은, "IF(수신)→ST(표준화)→인증→결제→IF(송신)"의 과정으로 나타낼 수 있는데, 인증/결제 변경 요건을 첫째, 가입자 타입이 예를 들어 'NATE'이고, PID(Process ID, 이하 'PID'라 함)가 예를 들어 'Nate Cash'인 경우에는 인증없이 바로 결제 서비스로 전환하고, 둘째, 가입자 타입이 '클라이언트 ID'이고, PID가 '게임 PoC'인 경우에는 무료 서비스로서 결제 서비스를 생략하고, 인증만을 수행하는 것을 가정할 때, 도 10에 도시한 바와 같이 그 과금/인증 로직의 흐름은, IF(수신) 및 ST(표준화) 후에 ①의 경우와 같은 스크립트 변경을 통해 조건에 부합할 경우 인증을 수행하고, 조건에 부합하지 않은 경우 결제를 수행하며, 인증 수행 후에 ②의 경우와 같은 스크립트 변경을 통해 조건 에 부합할 경우 결제를 수행한 후에 IF(송신)을 수행함을 알 수 있고, 조건에 부합하지 않은 경우 IF(송신)을 수행함을 알 수 있다. 이에 따라, 단순한 스크립트 변경을 통해 조건에 따른 다양한 인증/과금 로직에 대한 업무 프로세스를 수행할 수 있음을 알 수 있다.
한편, 도 11은 본 발명에 따라 룰 스크립트 엔진을 탑재한 워크플로우 시스템 동작의 다른 예를 나타낸 도면이다.
도 11을 참조하여 워크플로우 시스템에서 비즈니스 로직(Biz. Logic)의 유연성 강화 측면에 대해 설명하면, 이러한 워크플로우 시스템에 특정 비즈니스 모듈들이 구축되어 있으며, 새로운 환경 변화로 인해 변경 요청이 있으면, 특정 업무 프로세스에 대한 로직의 변경이 필요할 경우 단순 스크립트의 변경(예를 들면, ①의 경우)만으로 해당 요청 업무 프로세스를 업무 중단 없이 수행할 수 있다.
여기에서, 일반적인 과금 로직의 흐름은, "IF(수신)→ST(표준화)→과금(RT)→FT→MG/DT"의 과정으로 나타낼 수 있는데, 기존 과금 시스템의 변경 요건을, 첫째, 'Charge_type'이 건당 이용료(21)이고, 특정 번호일 경우 '이미지+텍스트(1, 2, 3, 9, 11)'만 과금 계산하며, 둘째, 'Charge_type'이 건당 이용료(22)이고, 특정 부가 서비스(11, 12, 13, 14. 16)일 때는 50원을 과금하는 것으로 가정할 때, 도 11에 도시한 바와 같이 그 과금 로직의 흐름은, IF(수신) 및 ST(표준화)를 수행한 후, ①의 경우와 같은 스크립트 변경을 통해 조건에 부합되는 과금(RT)를 수행하며, FT 및 MG/DT를 수행함을 알 수 있다. 이에 따라, 단순한 스크립트 변경을 통해 조건에 따른 과금 로직에 대한 특정 업무 프로세스를 수행할 수 있음을 알 수 있다.
그리고, 도 12는 본 발명에 따라 실시간 요청 및 응답 처리를 위해 워크 플로우 시스템에서 지원하는 워크플로우 엔진부의 RFW를 나다낸 도면이다.
도 12를 참조하면, 워크플로우 엔진부(102)의 RFW(102b)는 대용량의 트랜젝션을 처리하기 위한 MES(102a)와는 달리 실시간 요청 및 응답을 처리하기 위해 쓰레드 형태로 존재하는 모듈로서, 비즈니스 및 어플리케이션 모듈부(104)의 각 모듈들(예를 들면, WAS/JSP(PSAG), OCF, FSAG/인증, 결제/IF, RT, BM 등)과 별도의 쓰레드 및 동일 프로세스 형태로 결합하여 구동되기 때문에 저렴한 통신비용만으로 업무 프로세스를 처리할 수 있으며, 이는 곧 빠른 응답을 요구하는 실시간 업무에 최적의 업무 프로세스 처리 환경을 제공할 수 있다.
한편, 도 13은 본 발명에 따라 룰 스크립트 기반의 워크플로우 시스템의 처리 흐름을 나타낸 도면이다.
도 13을 참조하면, 비즈니스 및 어플리케이션 모듈부(104)의 모든 모듈들에는 룰 스크립트 엔진부(106)가 플러그인 형태로 포함되어 있고, 이러한 각 모듈들은 특정 패턴에 따라 업무 프로세스를 수행하며, 각자 고유(Specific) 또는 비즈니스 로직 기능을 룰 스크립트 엔진부(106)에서 지원하는 스크립트 형태로 호출하면서 업무 프로세스를 수행한다. 여기에서, 특정 패턴에 따라 업무 프로세스를 수행하는 것은, 공통 모듈을 호출하여 업무 프로세스를 수행하고, 특정 비즈니스 요건(기능)을 만족하는 스크립트를 호출 및 실행하는 고유 모듈을 호출하여 업무 프로세스를 수행하며, 특정 요건(기능)에 따라 분기 로직을 기술하는 스크립트를 호출 및 실행하여 다음 수행하는 비즈니스 로직 판단을 위한 계산을 수행하는 방식으로 수행된다.
또한, 대용량 트랜잭션 처리를 위한 MES(102a)와 실시간 요청/응답 처리를 위한 RFW(102b)를 포함하는 워크플로우 엔진부(102)에서는 초기화 작업 이후에, 비즈니스 모듈들과의 통신을 통해 비즈니스 로직 계산 결과값을 입력받아 해당 라우팅 경로를 판단 및 포워딩(forwarding) 기능을 수행한다. 여기에서, 비즈니스 모듈들은 자체 업무 타입에 따라 MES(102a) 또는 RFW(102b)를 선택하여 해당 업무 프로세스를 수행할 수 있다.
이러한 업무 프로세스에 대해 도 13을 참조하여 상세히 설명하면, 박스 안의 구슬은 비즈니스 수행 모듈(즉, 로직 또는 스크립트)을 의미하며, 번호는 수행 순서를 의미하는데, 특정 데이터가 입력되면 먼저 비즈니스 로직 IF(Biz. Logic IF, 104a)에서는 입력된 데이터를 이용하여 공통 모듈인 1번 회색 구슬의 모듈을 수행하고, 'IF'에 종속적인 모듈인 2번 및 3번 적색 구슬의 모듈을 순차 수행하여 그 결과 데이터를 워크플로우 엔진부(102)로 전달하면, 워크플로우 엔진부(102)에서는 비즈니스 로직 PS(Biz. Logic PS, 104b)에 그 결과 데이터를 전달함과 동시에 'PS'에 종속적인 4번 오렌지색 구슬의 모듈에 따라 비즈니스 로직 PS(104b)의 업무 프로세스를 수행한다.
그리고, 비즈니스 로직 PS(104b)에서는 워크플로우 엔진부(102)로부터 전달되는 결과 데이터를 이용하여 공통 모듈인 1번 및 2번 회색 구슬의 모듈을 순차 수행하고, 'PS'에 종속적인 3번 및 4번 오렌지색 구슬의 모듈을 순차 수행하여 그 결 과 데이터를 워크플로우 엔진부(102)로 전달하면, 워크플로우 엔진부(102)에서는 비즈니스 로직 ST(Biz. Logic ST, 104c)에 그 결과 데이터를 전달함과 동시에 'ST'에 종속적인 5번 오렌지색 구슬의 모듈에 따라 비즈니스 로직 ST(104c)의 업무 프로세스를 수행한다.
또한, 비즈니스 로직 ST(104c)에서는 워크플로우 엔진부(102)로부터 전달되는 결과 데이터를 이용하여 공통 모듈인 1번, 2번 및 3번 회색 구슬의 모듈을 순차 수행하고, 'ST'에 종속적인 4번, 5번 및 6번 노란색 구슬의 모듈을 순차 수행하여 그 결과 데이터를 워크플로우 엔진부(102)로 전달하면, 워크플로우 엔진부(102)에서는 비즈니스 로직 FT(Biz. Logic FT, 104d)에 그 결과 데이터를 전달함과 동시에 공통 모듈인 7번 회색 구슬의 모듈에 따라 비즈니스 로직 FT(104d)의 업무 프로세스를 수행한다.
다음에, 비즈니스 로직 FT(104d)에서는 워크플로우 엔진부(102)로부터 전달되는 결과 데이터를 이용하여 공통 모듈인 1번, 2번, 3번, 4번 및 5번 회색 구슬의 모듈을 순차 수행하고, 'FT'에 종속적인 6번, 7번 및 8번 녹색 구슬의 모듈을 순차 수행하여 그 결과 데이터를 워크플로우 엔진부(102)로 전달하면, 워크플로우 엔진부(102)에서는 비즈니스 로직 RG(Biz. Logic RG, 104e)에 그 결과 데이터를 전달함과 동시에 'FT'에 종속적인 9번 녹색 구슬의 모듈에 따라 비즈니스 로직 RG(104e)의 업무 프로세스를 수행한다.
이어서, 비즈니스 로직 RG(104e)에서는 워크플로우 엔진부(102)로부터 전달되는 결과 데이터를 이용하여 공통 모듈인 1번, 2번 및 3번 회색 구슬의 모듈을 순 차 수행하고, 'RG'에 종속적인 4번, 5번, 6번 및 7번 고동색 구슬의 모듈을 순차 수행하여 그 결과 데이터를 워크플로우 엔진부(102)로 전달하면, 워크플로우 엔진부(102)에서는 비즈니스 로직 DT(Biz. Logic DT, 104f)에 그 결과 데이터를 전달함과 동시에 공통 모듈인 8번 회색 구슬의 모듈에 따라 비즈니스 로직 DT(104f)의 업무 프로세스를 수행한다.
마지막으로, 비즈니스 로직 DT(104f)에서는 워크플로우 엔진부(102)로부터 전달되는 결과 데이터를 이용하여 공통 모듈인 1번, 2번 및 3번 회색 구슬의 모듈을 순차 수행하고, 'DT'에 종속적인 4번 및 5번 오렌지색 구슬의 모듈을 순차 수행하여 그 결과 데이터를 출력한다.
이상의 설명에서는 본 발명의 바람직한 실시 예들을 제시하여 설명하였으나 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함을 쉽게 알 수 있을 것이다.
본 발명은, 서로 다른 특성을 가지는 2가지 업무 모델, 즉 대용량 트랜젝션 처리 모델 및 실시간 요구/응답 처리 모델을 동시에 처리할 수 있고, 유연성있는 신규 어플리케이션 기능 수용이 가능하며, 공통 모듈 및 외부 함수를 용이하게 재사용할 수 있고, 빈번히 발생하는 고객 변경 요구에 대해 빠른 대응이 가능한 룰 스크립트 기반의 워크플로우 시스템을 구현함으로써, 과금 결제/처리 등의 다양한 업무 프로세스를 수행할 수 있어 이를 통한 수익 창출이 현저하게 향상될 것으로 기대된다.
도 1은 본 발명에 따라 플러그 인 타입의 룰 스크립트 엔진을 기반으로 하는 워크플로우 시스템의 블록구성도,
도 2는 본 발명에 따라 워크플로우 제어를 담당하는 워크플로우 엔진부의 블록구성도,
도 3은 본 발명에 따라 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부의 블록구성도,
도 4는 본 발명에 따라 데이터의 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 실행하는 룰 스크립트 엔진부의 블록구성도,
도 5는 본 발명에 따라 비즈니스 로직과 일반 함수를 포함하는 공통 모듈부를 나타내는 도면,
도 6은 본 발명에 따른 룰 스크립트 엔진을 이용하여 워크플로우 시스템을 구동하는 것을 예시한 도면,
도 7은 본 발명에 따라 룰 스크립트 엔진부의 내부 및 외부 객체들간의 상관 관계를 나타낸 도면,
도 8은 본 발명에 따라 룰 스크립트 엔진부의 내부에서 외부 함수를 호출하는 메커니즘을 나타낸 도면,
도 9는 본 발명에 따라 룰 스크립트 엔진부에서 지원하는 스크립트 문법을 나타내는 도면,
도 10은 본 발명에 따라 룰 스크립트 엔진을 탑재한 워크플로우 시스템 동작 의 일 예를 나타낸 도면,
도 11은 본 발명에 따라 룰 스크립트 엔진을 탑재한 워크플로우 시스템 동작의 다른 예를 나타낸 도면,
도 12는 본 발명에 따라 실시간 요청 및 응답 처리를 위해 워크 플로우 시스템에서 지원하는 워크플로우 엔진부의 RFW를 나다낸 도면,
도 13은 본 발명에 따라 룰 스크립트 기반의 워크플로우 시스템의 처리 흐름을 나타낸 도면.
<도면의 주요부분에 대한 부호의 설명>
102 : 워크플로우 엔진부 104 : 비즈니스 및 어플리케이션 모듈부
106 : 룰 스크립트 엔진부 108 : 공통 모듈부
110 : 프론트 엔드 시스템 112 : 백 엔드 시스템

Claims (13)

  1. 삭제
  2. 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며,
    상기 워크플로우 엔진부는,
    구동 시에 프로세스 형태로 존재하는 모듈로써, 상기 비즈니스 및 어플리케이션 모듈부와 독립된 프로세스 형태 및 플러그인 형태로 결합하며, 상기 트랜잭션 처리를 담당하는 MES(Message Exchange Service)와,
    구동 시에 쓰레드(thread) 형태로 존재하는 모듈로써, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈들은 별도의 쓰레드 및 동일 프로세스 형태로 결합하며, 상기 MES보다 상대적으로 빠른 실시간 요청 수신 및 응답 처리를 수행하는RFW(Realtime Flow Workbench)
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  3. 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며,
    상기 비즈니스 및 어플리케이션 모듈부는,
    상기 프론트 엔드 시스템과의 인터페이스를 담당하는 IF(InterFace)와,
    상기 백 엔드 시스템과의 분배 및 인터페이스를 담당하는 DT/IF(Distributor/Interface)
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  4. 제 3 항에 있어서,
    상기 비즈니스 및 어플리케이션 모듈부는, 플러그인 형태 또는 쓰레드 형태로 결합되는 파싱 모듈, 규격화 모듈, 필터링 모듈 및 통합 모듈을 포함하는 다수 의 비즈니스 로직 모듈을 더 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  5. 제 3 항에 있어서,
    상기 프론트 엔드 시스템은, 과금 및 결제 처리를 위한 CPs(Contents Provider server), MMS(Multimedia Message Service server) 및 NGcP(Next Generation Convergence Platform)를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  6. 제 3 항에 있어서,
    상기 IF는,
    CPs에 인증 및 결제 처리를 위한 요청 및 응답을 수행하는 PSAG(Prepaid Service Authorization Gateway) 어댑터, MMS(Multimedia Message Service server)로부터의 MMS 로그를 수신하는 FTP(File Transfer Protocol) 어댑터, NGcP(Next Generation Convergence Platform)에 정보 이용료 한도 서비스를 위한 요청 및 응답을 수행하는 한도 처리 어댑터
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  7. 제 3 항에 있어서,
    상기 백 앤드 시스템은, 포인트 서버(Point server), SCP(Service Control Point) 및 결제 시스템(Billing System)을 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  8. 제 3 항에 있어서,
    상기 DT/IF는,
    포인트 서버와 상호 통신하는 PSAG 에이전트, SCP와 통신하는 FTP, 결제 시스템과 통신하는 파일 에이전트
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  9. 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며,
    상기 룰 스크립트 엔진부는,
    상기 플러그인 형태로 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈들과 결합할 수 있도록 하는 어플리케이션인 룰 프로세싱 API와,
    상기 데이터의 입력, 획득/할당, 데이터의 출력 처리 인터페이스를 제공하는 객체인 데이터 핸들러와,
    상기 비즈니스 내용이 포함된 스크립트를 파싱 및 해석하여 실행하는 역할을 담당하는 객체인 스크립트 엔진과,
    상기 공통 모듈부에서 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 파라미터 매니저
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  10. 제 9 항에 있어서,
    상기 룰 스크립트 엔진부는, 배열 구조(array structure)를 지원하여 고정 데이터 포맷 및 변동 데이터 포맷을 지원하는 기능, 스크립트 문의 오류를 검증하는 구문 체크(Syntax Check)를 지원하는 기능, 일반적인 함수들을 내장 함수로 제공하고, 룰(rule)을 표현하기 위한 구문을 제공하여 제어 및 루프 스테이트먼트(Control & Loop Statement)를 지원하는 기능, 스크립트 작성 시 전역 변수 및 지역 변수를 선언하여 사용하는 기능 및 외부 함수를 지원하는 기능을 수행하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크 플로우 시스템.
  11. 워크플로우(WorkFlow) 제어를 담당하고, 트랜젝션(transaction) 처리 및 실시간 요청/응답 처리를 수행하는 워크플로우 엔진부와, 상기 워크플로우 엔진부의 제어에 따라 프론트 엔드 시스템(Front-End System) 또는 백 엔드 시스템(Back-End System)과의 인터페이스를 담당하며, 상기 워크플로우에 대한 비즈니스 로직 모듈을 제공하는 비즈니스 및 어플리케이션 모듈부와, 상기 비즈니스 및 어플리케이션 모듈부의 각 모듈에 각각 플러그인 형태로 포함되어 데이터의 입력, 획득/할당 및 데이터의 출력 처리 인터페이스를 제공하고, 비즈니스 내용에 대한 스크립트를 파싱 및 해석하여 실행하며, 지원되지 않는 기능을 수행하는 외부 함수를 추가 호출하는 룰 스크립트 엔진부와, 특정 업무 프로세스를 위한 모듈들과 일반 업무 프로세스를 위한 모듈들이 컴포넌트(component)화된 형태로 포함되어 상기 룰 스크립트 엔진부로 제공되는 공통 모듈부를 포함하며,
    상기 공통 모듈부는,
    신규 업무 프로세스 생성을 위해 템플릿(Template) 형태로 구성된 컴포넌트를 포함하는 비즈니스 로직, 호출이 가능한 클래스 및 객체화된 컴포넌트를 포함하는 일반 함수
    를 포함하는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  12. 제 11 항에 있어서,
    상기 비즈니스 로직은, IF(Interface), PS(Parser), ST(Standardization), FT(Filter), MG(Merger) 및 DT(Distributor)의 각 항목에 대해 상기 템플릿 형태로 구성되어 있는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
  13. 제 11 항에 있어서,
    상기 일반 함수는, 로그/통계, 파서, File, 알고리즘, IPC(Inter-Processor Communication), 변환, 통신, 포맷, 보안, System 및 DB의 각 항목에 대해 클래스 및 객체화되어 있는 것을 특징으로 하는 룰 스크립트 엔진 기반의 워크플로우 시스템.
KR1020070104661A 2007-10-17 2007-10-17 룰 스크립트 엔진 기반의 워크플로우 시스템 KR100948857B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070104661A KR100948857B1 (ko) 2007-10-17 2007-10-17 룰 스크립트 엔진 기반의 워크플로우 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070104661A KR100948857B1 (ko) 2007-10-17 2007-10-17 룰 스크립트 엔진 기반의 워크플로우 시스템

Publications (2)

Publication Number Publication Date
KR20090039176A KR20090039176A (ko) 2009-04-22
KR100948857B1 true KR100948857B1 (ko) 2010-03-22

Family

ID=40763093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070104661A KR100948857B1 (ko) 2007-10-17 2007-10-17 룰 스크립트 엔진 기반의 워크플로우 시스템

Country Status (1)

Country Link
KR (1) KR100948857B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101419708B1 (ko) * 2012-05-22 2014-07-15 김종수 업무표준화 작업 방법 및 시스템
CN112784304A (zh) * 2021-01-28 2021-05-11 广东广宇科技发展有限公司 一种基于公有链平台的工作流引擎系统及其实现方法
CN113504956B (zh) * 2021-07-19 2023-08-11 苏州浪潮智能科技有限公司 微服务平台下公共功能的调用方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774661A (en) 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
KR20010099511A (ko) * 2001-10-15 2001-11-09 남진우 웹기반의 통합채널업무 및 전사금융업무 개발 시스템
US20040078373A1 (en) 1998-08-24 2004-04-22 Adel Ghoneimy Workflow system and method
US20040172445A1 (en) * 1999-07-01 2004-09-02 Kaviraj Singh Workflow as data-transition driven, scriptable state machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774661A (en) 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
US20040078373A1 (en) 1998-08-24 2004-04-22 Adel Ghoneimy Workflow system and method
US20040172445A1 (en) * 1999-07-01 2004-09-02 Kaviraj Singh Workflow as data-transition driven, scriptable state machines
KR20010099511A (ko) * 2001-10-15 2001-11-09 남진우 웹기반의 통합채널업무 및 전사금융업무 개발 시스템

Also Published As

Publication number Publication date
KR20090039176A (ko) 2009-04-22

Similar Documents

Publication Publication Date Title
CN110738454A (zh) 一种企业管理平台系统
CN101908015B (zh) 一种基于构件生成测试案例的装置及方法
CN101902756A (zh) M2m业务平台及其工作方法
CN102087577A (zh) 与位置无关地执行用户接口操作
CN101808051B (zh) 应用整合网关及其控制方法
JP2019537784A (ja) FPGAプラットフォームアズアサービス(PaaS)
CN101458633B (zh) 通过脚本程序访问宿主程序的方法及其系统和装置
Brogi et al. From BPEL processes to YAWL workflows
CN106445509A (zh) 一种sdk批量快速接入工具
CN101504688A (zh) 一种基于hla的仿真软件交互方法
CN112363857B (zh) 微前端架构的应用系统、同步方法、存储介质和设备
CN108255585A (zh) Sdk异常控制及应用程序运行方法、装置及其设备
KR100948857B1 (ko) 룰 스크립트 엔진 기반의 워크플로우 시스템
CN107423223A (zh) 测试管理系统
CN114417428B (zh) 基于分布式协作的隐私计算方法及系统
CN108038009A (zh) 基于Web应用的前后端交互方法、装置及计算机设备
CN106843818B (zh) 一种业务模型生成方法及装置
CN201435074Y (zh) 一种基于构件生成测试案例的装置
CN102572954B (zh) 一种漫游清算服务调度方法、中间件及系统
Yin et al. Extending the problem frames approach for capturing non-functional requirements
Pavel et al. A java implementation of a component model with explicit symbolic protocols
CN114615096A (zh) 基于事件驱动架构的电信计费方法、系统及相关设备
CN103645959A (zh) 电信实时系统多进程共享内存池交互组件和方法
CN109783141A (zh) 异构调度方法
Su Lifecycle optimization of smart contract for flexibility

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150309

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee