KR20100006494A - 비즈니스 프로세스 관리 시스템 및 방법 - Google Patents

비즈니스 프로세스 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20100006494A
KR20100006494A KR1020080066740A KR20080066740A KR20100006494A KR 20100006494 A KR20100006494 A KR 20100006494A KR 1020080066740 A KR1020080066740 A KR 1020080066740A KR 20080066740 A KR20080066740 A KR 20080066740A KR 20100006494 A KR20100006494 A KR 20100006494A
Authority
KR
South Korea
Prior art keywords
instance
information
event
task
management system
Prior art date
Application number
KR1020080066740A
Other languages
English (en)
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 KR1020080066740A priority Critical patent/KR20100006494A/ko
Publication of KR20100006494A publication Critical patent/KR20100006494A/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/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group

Landscapes

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

Abstract

하나 이상의 플로우와 플로우 사이의 상호작용을 포함하는 비즈니스 프로세스 관리 시스템 및 방법이 개시된다. 본 발명의 비즈니스 프로세스 관리 시스템은 프로세스 정의와 관련된 정보가 저장된 데이터 저장부, 프로세스 정의 및 관리 기능을 수행하는 프로세스 모델러, 시작 정보의 제공과 프로세스 실행 이벤트를 수신하는 API 제공부, 업무수행자를 위한 업무목록 제공부, 프로세스 실행을 담당하는 프로세스 실행엔진부로 구성되며, 데이터 저장부는 업무수행자 정보, 인터페이스 정보, 프로세스 정보, 인스턴스 정보 부분으로 구분된다. 본 발명에서는 외부 시스템과 비즈니스 프로세스 관리 시스템 사이의 인터페이스를 분리하여 정의하고, 이를 활용하여 프로세스를 정의한다. 이에 따라, 인터페이스 정보를 분리함으로써, 프로세스 정의 및 변경을 매우 유연하게 처리할 수 있고, 플로우를 비즈니스 프로세스 내부에 포함함으로써, 하나의 플로우로 표현하지 못했던 논리의 표현이 가능해지기 때문에, 워크플로우 영역뿐만 아니라 분산 시스템의 기능을 중앙에서 조정하는 등 다양한 비즈니스 프로세스 상황에 일반적으로 적용할 수 있다.
BPMS, 비즈니스 프로세스, 워크플로우, 플로우, 인터페이스, 프로세스, 실행 엔진

Description

비즈니스 프로세스 관리 시스템 및 방법{Business Process Management System and Method}
본 발명은 비즈니스 프로세스 관리 시스템(Business Process Management System: BPMS) 및 방법에 관한 것으로, 보다 상세하게는, 애플리케이션에서 통합논리를 분리하여 처리함으로써 효율적인 시스템의 개발과 비즈니스 환경변화에 유연하게 대응할 수 있는 비즈니스 프로세스 관리 시스템(BPMS) 및 방법에 관한 것이다.
비즈니스 프로세스 관리 시스템(Business Process Management System: BPMS)은 워크플로우 관리 시스템(Workflow Management System: WFMS)에서 발전한 기술이지만, 종래의 기술들은 워크플로우 관리 시스템의 구조적, 논리적 한계를 극복하지 못하고 있다.즉, 워크플로우(Workflow) 기술은 선후관계로 정의되는 업무의 순서, 즉 플로우(Flow)의 정의와 실행에 초점을 맞추고 있다.워크플로우에 대한 종래의 접근법들은 명시적인 선후관계로 정의되는 실행 가능한 플로우를 프로세스로 정의 하고 있기 때문에, 서로 다른 플로우 사이의 상호작용(Interaction)이나 플로우를 내부 구성요소로 갖는 비즈니스 프로세스를 표현하는데 한계가 있다.이러한 한계를 극복하기 위해서는 플로우를 비즈니스 프로세스의 내부 논리를 구성하는 요소로 정의해야 한다.즉, 비즈니스 프로세스는 하나 이상의 플로우와 플로우 사이의 상호작용을 포함하는 블록(Block)으로 정의해야 한다.
비즈니스 프로세스 관리 시스템의 핵심 기능인 워크플로우 기술은 논리체계나 실행 메커니즘에 대한 공통적인 표준이 없는 상태이다.비즈니스 프로세스 모델링 기호에 대한 표준으로 BPMN(Business Process Modeling Notation)이 제시되었고, 다양한 워크플로우 패턴, 데이터 패턴 및 리소스(Resource) 패턴들에 대한 연구가 진행 중에 있다.C/C++, JAVA 등의 기존의 프로그래밍 언어는 람다 대수학(Lambda Calculus)에 기반하고 있으며, 이들 언어는 블록(Block) 구조와 순차(Sequential) 제어 능력만을 가지기 때문에, 블록 구조와 일반적인 그래프 구조를 갖는 프로세스 언어에는 부적합하다.
워크플로우에 대한 수학적 모델로 제시되고 있는 페트리넷(Petri-Net)은 실제 구현을 위해 몇 가지 확장과 제약을 필요로 하고, 파이 대수학(PI Calculus)은 표현능력에 제약이 존재한다.다양한 워크플로우 패턴을 수용할 수 있는 새로운 프로세스 언어는 페트리넷 수준의 표현 능력을 필요로 하지만, 현재까지 이에 대한 수학적 모델은 제시되지 못하고 있다.
다중 병합(Multiple Merge) 등의 일부 워크플로우 패턴은 하나의 플로우로 처리하기 매우 어렵지만, 다중 병합 이전의 플로우와 다중 병합 이후의 플로우를 분리하고, 플로우 사이의 연계 논리로 처리한다면, 어렵지 않게 처리할 수 있다.이러한 패턴은 개별 워크플로우의 관점이 아니라, 하나 이상의 플로우와 플로우 사이의 상호작용의 관점으로 처리해야 한다.
워크플로우에 기반을 둔 비즈니스 프로세스 관리 시스템은 외부 시스템 또는 내부의 다른 프로세스(또는 플로우)에서 플로우 시작 이벤트가 발생하는 경우, 프로세스(플로우)를 함수(Function) 또는 서비스(Service)로 정의하여 호출하는 방식으로 처리한다.플로우 시작 이벤트가 아닌 중개 노드(Intermediate Node)에 이벤트를 전달하는 경우에는 이벤트를 전달할 프로세스와 해당 프로세스에서 인스턴스를 식별할 수 있어야 한다.
이벤트에 의한 상호작용이 없는 경우, 비즈니스 프로세스 관리 시스템은 외부 시스템의 기능을 통합(Integration)하는 역할을 하지만, 상기의 경우는 비즈니스 프로세스가 통합의 대상이 되는 모순이 발생한다.외부 시스템에서 비즈니스 프로세스 관리 시스템(BPMS)에 정의된 특정 프로세스에 직접 이벤트를 전달하는 것이 함수형 프로그래밍에서는 일반적인 방법이나, 애플리케이션의 함수와 비즈니스 프로세스 관리 시스템(BPMS)의 프로세스를 동일한 함수로 취급함으로 인해, 비즈니스 프로세스 관리 시스템(BPMS)이 완전한 통합논리를 제공하는 시스템이 될 수 없는 단점이 있다.
종래의 워크플로우 기술들이 통상적으로 정의하는 데이터 모델은 프로세스 변수(Process Variable)에 기반하고 있다.프로세스 변수를 정의하고, 프로세스 실행 중에 변수의 값을 갱신하는 방식으로 실행이 이루어진다.이와 같은 변수 기반 모델은 전역변수, 지역변수, 범위(Scope) 등 다양한 변수의 가시성(Visibility) 패턴들을 해결해야 한다.같은 변수 공간을 공유하는 복잡한 병렬 처리 상황에서 값을 동시에 갱신하는 것을 차단하는 메커니즘은 시스템 성능을 저하시키는 원인이 된다.입출력 데이터 모델에 기반을 둔 데이터 정의 방식과 링크 이벤트나 예외 이벤트 등을 이용한 데이터 전달 메커니즘을 이용하는 경우, 서로 다른 인스턴스 사이의 데이터 공유가 최소화되기 때문에 병렬 처리 상황에서 데이터 변경의 동시성 제어에 의한 성능저하 문제를 해결할 수 있다.
개별 플로우의 실행에 초점을 맞춘 종래의 비즈니스 프로세스 관리 시스템은 플로우를 함수 또는 서비스로 취급함으로써 외부 시스템과 비즈니스 프로세스 관리 시스템(BPMS)의 내부 논리가 강하게 결합되며, 프로세스 정의 및 변경에 제약이 많다.이를 해결하기 위해, 하나 이상의 플로우로 처리해야 하는 논리를 수용할 수 있는 비즈니스 프로세스 관리 시스템(BPMS)과 외부 시스템 사이의 인터페이스 정보의 분리가 필요하며, 완전한 블록 계층구조를 지원하기 위한 입출력 데이터 구조의 정립이 필요하다.
비즈니스 프로세스 모델링 기호에 대한 표준인 BPMN은 입력 데이터 집합과 출력 데이터 집합을 정의하고 있지만, 구체적인 속성이나 활용 방식은 명확하지 않은 상태이다.또한 하나 이상의 플로우를 표현하기 위해 스윔레인(Swimlane)을 도입하였지만, 서로 다른 플로우는 서로 다른 풀(Pool)에 속해야 한다는 제약이 가해지고, 종래의 워크플로우 기술처럼 플로우의 표현에 초점을 맞추고 있기 때문에, 완전한 블록 계층구조를 정의하는데 한계가 있다.플로우와 블록의 완전한 계층구조를 위해서는 플로우의 경계를 규정하는 풀(Pool)과 같은 특별한 블록 대신, 시작 노드로부터 도달 가능한 노드의 집합을 정의하는 암시적인 블록(Implicit Block)이 플로우를 규정하는 것이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은, 하나 이상의 플로우와 플로우 사이의 상호작용을 포함하는 비즈니스 프로세스의 정의 및 실행이 가능한 비즈니스 프로세스 관리 시스템 및 방법을 제공하는 데 있다.
본 발명의 제2 목적은, 복잡한 병렬 이벤트 처리가 가능한 프로세스 실행엔진과 프로세스 모델의 유효성 검증이 가능한 비즈니스 프로세스 관리 시스템 및 방법을 제공하는 데 있다.
본 발명의 제3 목적은, 외부 시스템과 비즈니스 프로세스 관리 시스템에 정의된 프로세스가 직접적으로 상호작용함으로써 야기되는 프로세스 정의 및 변경에 대한 제약을 해결하기 위해 외부 시스템과의 인터페이스를 분리하여 처리하는 비즈니스 프로세스 관리 시스템 및 방법을 제공하는 데 있다.
본 발명의 제4 목적은, 완전한 블록 계층구조의 프로세스 모델링과 입출력 데이터 모델에 기반을 둔 비즈니스 프로세스 관리 시스템 및 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 비즈니스 프로세스 관리 시스템은, 업무의 종료 시점마다 새로운 플로우 인스턴스(Flow Instance)를 생성하는 시작 액티비티tart Activity)를 도입하고, 로부터 도달 가능한 노드의 집합을 암시적 블록(Implicit Block)으로 정의하여 명시적 블록(Explicit Block)과 함께 단일 블록 계층구조로 처리하고 플로우 인스턴스와 블록 인스턴스를 단일 계층구조로 처리한다. 그리고 의 시작점을 제공하고, 업무 종료 이벤트를 수신할 때마다 새로운 플로우 인스턴스를 생성하는 시작 인스턴스를 도입한다.
조건을 만족하는 0 이상의 후속 경로로 실제 흐름을 생성하고 조건을 만족하지 못하는 경로로 가상의 흐름을 생성하는 브랜치 분기(Branch Split) 메커니즘, 조건을 만족하는 하나의 흐름만을 후속 경로로 진행하고 나머지 흐름을 차단하는 필터(Filter) 메커니즘에 기반을 둔 프로세스 실행 모델과, 복잡한 병렬 이벤트의 동시성 제어를 위한 이벤트 구동(Event-Driven) 방식의 실행 엔진을 제공한다. 프로세스 모델의 유효성 검증을 위해 동일한 브랜치 내에서는 브랜치 병합을 정의할 수 없고, 서로 다른 브랜치에 속하는 경우는 경로 병합을 정의할 수 없는 분기-병합 규칙을 활용한다.
인터페이스를 정의하는 기본단위인 태스크는 시작 정보와 종료 정보가 지정되는 시스템 태스크와 휴먼 태스크, 시작 정보만 지정되는 시작 태스크, 종료 정보만 지정되는 이벤트 태스크로 구분하고, 이벤트 태스크의 경우 이벤트 소스를 유일 하게 구분하는 인터페이스 식별자와 이벤트 데이터를 이용하여 인스턴스를 식별한다. 또한 여러 프로세스에서 공통적으로 사용되는 서브 프로세스의 경우, 직접적인 서브 프로세스 호출이 아닌 이벤트 태스크를 이용한 연계 논리로 처리한다.
단순 입출력 데이터뿐만 아니라 다양한 이벤트 송수신 관계를 처리하기 위한 데이터 정의 방식 및 데이터의 값 지정방식, 제어데이터의 처리 방식을 정의하고, 업무수행자가 프로세스 정의 시점에 결정되는 경우, 프로세스 실행 중에 결정되는 경우 및 외부 시스템에서 전달된 데이터에 의해 결정되는 경우에 대한 일관성 있는 처리를 위해, 액티비티의 속성이 아닌 데이터의 연산 및 제어 유형(Control Type)을 이용하여 처리한다.
본 발명에 따르면, 플로우를 프로세스 내부에 포함시킴으로써 하나의 플로우로 처리할 수 없었던 논리나 플로우 사이의 상호작용의 논리를 표현할 수 있고, 입출력 데이터 모델과 함께, 플로우와 블록, 플로우 인스턴스와 블록 인스턴스를 하나의 계층구조로 정의함으로써 완전한 하향식(Top-Down) 모델링이 가능하게 된다. 또한 본 발명은 인터페이스를 분리함으로써 외부 시스템이 비즈니스 프로세스 관리 시스템의 내부 논리에 직접 개입할 수 없기 때문에, 프로세스의 정의 및 변경 등을 매우 유연하게 처리하는 것이 가능하게 된다.
뿐만 아니라, 본 발명은 인터페이스의 분리에 의한 통합논리 즉 프로세스 논리의 분리와 다양한 프로세스 패턴들의 처리 능력은 비즈니스 프로세스 관리 시스 템의 핵심으로, 프로세스 논리와 태스크 논리의 구현을 분리하여 병행할 수 있기 때문에, 시스템 구축 및 관리 과정의 획기적 개선과 시스템의 복잡도(Complexity) 문제를 근본적으로 해결할 수 있다. 또한, 본 발명은 문서 및 메시지 라우팅 등의 워크플로우 영역뿐만 아니라 분산 시스템의 기능을 중앙에서 조정하거나 협업(Collaboration) 등 다양한 비즈니스 프로세스 상황에 일반적으로 적용하는 것이 가능하다.
이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 비즈니스 프로세스 관리 시스템의 구성을 도시한 블록도이다.
도시된 바와 같이, 비즈니스 프로세스 관리 시스템은, 데이터 저장부(110), 프로세스 모델러(120), 프로세스 실행엔진부(130), API 제공부(140), 및 업무목록 제공부(150)를 포함하여 구성된다.
데이터 저장부(110)는, 인터페이스정보(111), 업무수행자정보(112), 프로세스정보(113), 및 인스턴스정보(114)를 포함하는 정보를 저장 및 관리한다.
여기서, 인터페이스정보(111)는 업무의 내부 논리를 구현하는 외부 시스템과 의 상호작용을 정의한 정보이고, 업무수행자정보(112)는 업무를 시작할 수 있는 수행자에 대한 정보를 정의한 정보이다.
프로세스정보(113)는 인터페이스정보(111)를 기초로 프로세스의 실행 절차를 정의한 정보이고, 인스턴스정보(114)는 프로세스 실행 제어를 위해 생성되는 정보이다.
본 발명의 비즈니스 프로세스 관리 시스템은 업무의 내부 논리를 구현하는 외부 시스템과의 상호작용을 통해 업무의 실행 절차를 정의하고, 업무의 시작 및 종료를 관리하는 시스템이다.
API 제공부(140)는 인터페이스정보(111)를 이용하여 외부 시스템의 요청에 따라 프로세스의 시작정보를 제공하고 프로세스의 종료정보를 수신한다.
프로세스 모델러(120)는 인터페이스정보(111), 업무수행자정보(112), 및 프로세스정보(113)를 정의한다. 또한 프로세스 모델러(120)는 프로세스 실행(Deploy) 및 종료(Undeploy)를 제어한다. 프로세스 모델러(120)는 프로세스 실행 중 생성되는 인스턴스정보(114)를 관리한다.
프로세스 실행엔진부(130)는 외부 시스템 또는 프로세스 관리 시스템 내부에서 발생한 프로세스 실행 이벤트의 처리, 자동으로 실행하는 시스템 태스크의 실행, 및 업무수행자를 위한 업무목록을 생성하는 기능을 수행한다. 또한 본 실시예에서 프로세스 실행엔진부(130)는 프로세스 모델러(120)에 의해 정의된 각 정보들(111,112,113)에 의해 외부 시스템과의 상호작용을 처리하고, 업무를 시작할 수 있는 업무수행자를 결정한다.
업무목록 제공부(150)는 데이터 저장부(110)의 프로세스정보(113)와 업무수행자정보(112)를 이용하여 업무수행자에게 업무목록과 업무의 위임, 업무수행자 변경 및 업무의 시작에 관한 정보를 조회하는 기능을 제공한다.
기존의 워크플로우 기술들은 데이터 저장부의 인터페이스 정보가 별도로 분리되지 않음으로 인해, 외부 시스템이 능동적으로 이벤트를 전달하는 경우, 외부 시스템이 프로세스를 식별할 수 있어야 했다. 이 경우 프로세스 정보와 외부 시스템이 강하게 결합되어 외부 시스템의 기능이나 프로세스 변경에 제약이 많아진다. 인터페이스 정보가 분리되는 경우, 외부 시스템과 비즈니스 프로세스 관리 시스템 사이에는 서로 주고 받는 데이터만 정의하면 되기 때문에 외부 시스템이 비즈니스 프로세스 관리 시스템에 정의된 프로세스를 식별할 필요가 없다. 따라서 인터페이스 변경 없는 외부 시스템의 기능 변경이나 프로세스 변경을 쉽게 처리할 수 있다. 또한 하나의 인터페이스 정보는 여러 프로세스의 여러 액티비티에서 활용할 수 있기 때문에, 인터페이스 정보가 분리 정의됨으로써, 동일한 정보의 중복 정의를 피할 수 있어 효율적인 시스템이 가능해진다.
도 2는 본 발명의 실시예에 따른 도 1의 업무수행자정보(112)를 구성하는 속성과 속성 사이의 관계를 나타낸 도면이다.
도시된 바와 같이, 업무수행자정보(112)는 역할정보(ROLE)(210), 사용자정보(USER)(220), 사용자와 역할의 대응관계 정보(ROLE2USER)(230), 및 역할 사이의 위계관계 정보(ROLE2ROLE)(240)를 포함하여 구성된다.
여기서, 역할정보(210)는 조직단위(OU), 직위(OP), 사용자 집합(User Set), 및 사용자(User) 유형 정보를 포함한다. 또한, 사용자정보(220)는 사용자의 로그인 식별자 및 패스워드 정보를 포함한다.
아래 [표 1], [표 2], [표 3], [표 4]는 업무수행자정보(112)를 구성하는 주요 속성을 나타낸 것이다.
[표 1] 역할 정보(ROLE)의 속성들
레이블 데이터형 설명
ROLE_ID 문자형 역할 식별자
PARENT_ID 문자형 상위 역할 식별자
LABEL 문자형 상위 역할 내에서 하위 역할을 유일하게 구분할 수 있는 값
TYPE 문자형 폴더, 조직단위, 직위, 사용자 집합, 사용자 유형을 구분하는 값
NAME 문자형 역할의 명칭
CAN_DELEGATE 문자형 역할 위임의 가능 여부
CREATE_DATE 날짜형 생성일자
[표 2] 사용자 정보(USER)의 속성들
레이블 데이터형 설명
USER_ID 문자형 역할 식별자를 참조하는 사용자 식별자
LOGIN_ID 문자형 로그인 식별자
PASSWORD 문자형 로그인 패스워드
E_MAIL 문자형 사용자의 전자메일 주소
USER_NUMBER 문자형 사번 등 사용자를 유일하게 구분할 수 있는 값
[표 3] 사용자와 역할의 대응관계(ROLE2USER)의 속성들
레이블 데이터형 설명
ROLE_ID 문자형 역할 식별자
USER_ID 문자형 사용자 식별자
DELEGATED 문자형 위임한 사용자 식별자. 디폴트는 NULL 또는 USER_ID가 지정된다.
[표 4]역할 사이의 위계관계 정보(ROLE2ROLE)의 속성들
레이블 데이터형 설명
FROM_ID 문자형 위계관계에서 하위역할 식별자
TO_ID 문자형 위계관계에서 상위역할 식별자
RELATION_CODE 문자형 상급자, 관리자 등의 위계관계 코드
도 3은 본 발명의 실시예에 따른 도 1의 인터페이스정보(111)를 구성하는 속성과 속성 사이의 관계를 도시한 도면이다.
도시된 바와 같이, 인터페이스정보(111)는 태스크정보(TASK)(310), 및 데이터정보(TASK_DATA)(320)를 포함하여 구성된다. 여기서, 태스크정보(310)는 시작 태스크, 시스템 태스크, 휴먼 태스크, 및 이벤트 태스크 유형을 갖는다. 시작 태스크는 시작 정보만 정의되고, 시스템 태스크는 시작과 종료 이벤트 정보가 정의되며, 휴먼 태스크는 시작과 종료 이벤트 정보가 정의되고, 이벤트 태스크는 종료 이벤트 정보만 정의된다.
데이터 정보(320)는 태스크의 시작 및 종료와 관련된 정보를 갖는다.
아래 [표 5]와 [표 6]은 인터페이스정보(111)를 구성하는 주요 속성을 나타낸 것이다.
[표 5] 태스크 정보(TASK)의 속성들
레이블 데이터형 설명
TASK_ID 문자형 태스크 식별자
PARENT_ID 문자형 상위폴더 식별자
LABEL 문자형 동일한 상위폴더 내에서 태스크를 유일하게 구분할 수 있는 값
NODE_TYPE 문자형 폴더, 클래스, 태스크 유형을 구분하는 값. 폴더 아래에는 클래스를 정의할 수 있으며, 클래스 아래에는 태스크를 정의할 수 있다.
TASK_TYPE 문자형 시작 태스크, 시스템 태스크, 휴먼 태스크, 이벤트 태스크 유형을 구분하는 값
URL 문자형 태스크의 구현논리가 정의된 위치
NAME 문자형 태스크의 명칭
CREATE_DATE 날짜형 태스크 생성 일자
[표 6] 태스크 데이터 정보(TASK_DATA)의 속성들
레이블 데이터형 설명
TASK_ID 문자형 태스크 식별자
IO_FLAG 문자형 시작, 종료를 구분하는 값
DATA_LABEL 문자형 데이터 레이블
DATA_TYPE 문자형 데이터형
IS_KEY_LABEL 문자형 이벤트 태스크에서 인스턴스 레이블을 결정하는 값
NAME 문자형 데이터의 명칭
도 4는 본 발명의 실시예에 따른 도 1의 프로세스정보(113)를 구성하는 속성 과 속성 사이의 관계를 도시한 도면이다.
도시된 바와 같이, 프로세스정보(113)는 노드 정보(NODE)(410), 노드의 입출력 데이터 정보(NODE_DATA)(430), 관계 정보(NODE2NODE)(420), 및 입출력 데이터의 대응관계 정보(DATA_MAPPING)(440)를 포함하여 구성된다. 여기서 노드 정보(410)는 프로세스, 액티비티, 게이트웨이, 및 이벤트를 정의한다. 관계 정보(420)는 노드와 노드 사이의 선후행 관계, 예외 이벤트의 송수신 관계, 블록 종료 이벤트의 송수신 관계, 링크 이벤트의 송수신관계 및 태스크 이벤트에 의한 송수신 관계를 정의한다.
아래 [표 7], [표 8], [표 9], [표 10]은 프로세스 정보(113)를 구성하는 주요 속성을 나타낸 것이다.
[표 7] 노드 정보(NODE)의 속성들
레이블 데이터형 설명
NODE_ID 문자형 노드 식별자
PARENT_ID 문자형 상위 노드 식별자
NODE_TYPE 문자형 노드 유형
TASK_ID 문자형 단위 액티비티인 경우의 태스크 참조 식별자
NAME 문자형 노드의 명칭
[표 8] 노드 사이의 관계 정보(NODE2NODE)의 속성들
레이블 데이터형 설명
FROM_ID 문자형 시점 또는 이벤트 송신 노드 식별자
TO_ID 문자형 종점 또는 이벤트 수신 노드 식별자
LABEL 문자형 조건 판단을 위한 레이블
[표 9] 노드 데이터 정보(NODE_DATA)의 속성들
레이블 데이터형 설명
NODE_ID 문자형 노드 식별자
IO_FLAG 문자형 입력과 출력을 구분하는 값
DATA_LABEL 문자형 데이터 레이블
DATA_TYPE 문자형 데이터형
ASSIGN_TYPE 문자형 지정(Assignment), 수식(Expression), 대응(Mapping), 역할 식별자 등 값 지정 유형을 나타내는 값
CONTROL_TYPE 문자형 업무항목의 소유자(Owner) 업무의 제목, 긴급여부, 우선순위, 기한 등의 제어 데이터의 값을 지정하는 유형을 나타내는 값
IS_TASK_DATA 문자형 외부 시스템과의 송수신 데이터 여부
DATA_VALUE 문자형 데이터의 값
[표 10] 노드 사이의 데이터 대응 정보(DATA_MAPPING)의 속성들
레이블 데이터형 설명
FROM_NODE_ID 문자형 시점 데이터가 정의된 노드 식별자
FROM_IO_FLAG 문자형 시점 데이터의 입출력 구분
FROM_DATA_LABEL 문자형 시점 데이터의 레이블
TO_NODE_ID 문자형 종점 데이터가 정의된 노드 식별자
TO_IO_FLAG 문자형 종점 데이터의 입출력 구분
TO_DATA_LABEL 문자형 종점 데이터 레이블
본 실시예에서 노드의 입출력 데이터 정보(NODE_DATA)(430)는, 외부 시스템의 시작, 종료와 관련된 데이터인지 여부, 문자형, 날짜형, 이진형, 정수형, 실수형 데이터를 정의하는 데이터 유형(Type), 해당 노드의 입력 또는 출력에서 데이터를 유일하게 식별할 수 있는 데이터 레이블, 할당(Assignment), 수식(Expression), 선행 노드의 입력, 출력 데이터의 대응(Mapping), 업무수행자의 식별자 지정 유형을 갖는 데이터 값 지정 방식, 및 인스턴스 속성 지정을 위한 제어 데이터 유형을 포함하여 구성된다.
또한, 여기서 제어 데이터 유형은, 문자형 데이터는 업무항목(Workitem)의 소유자, 업무항목의 제목, 업무항목에 대한 코멘트, 조건 판단을 위한 레이블, 인스턴스 레이블, 플로우를 시작한 사용자, 이진형 데이터는 긴급여부, 날짜형 데이터는 기한(Due Date), 타임아웃(Time Out), 및 정수형 데이터는 우선순위(Priority), 재시도(Retry) 회수, 재시도 대기시간을 지정하는 것을 특징으로 한 다.
도 5는 본 발명의 실시예에 따른 도 1의 인스턴스정보(114)를 구성하는 속성과 속성 사이의 관계를 도시한 도면이다.
도시된 바와 같이, 인스턴스정보(114)는 인스턴스의 공통적인 속성 정보(WORK)(510), 업무 수행자와 관련된 추가 속성이 정의된 업무항목 정보(WORKITEM)(520), 및 인스턴스의 입출력 데이터 정보(WORK_DATA)(530)를 포함하여 구성된다.
아래 [표 11], [표 12], [표 13]은 실행 인스턴스 정보(114)를 구성하는 주요 속성을 나타낸 것이다.
[표 11] 인스턴스 정보(WORK)의 속성들
레이블 데이터형 설명
WORK_ID 문자형 인스턴스 식별자
NODE_ID 문자형 인스턴스가 속한 노드 식별자
PARENT_ID 문자형 상위 인스턴스 식별자
PREVIOUS_ID 문자형 선행 인스턴스 식별자
STATE 문자형 인스턴스의 상태
WORK_LABEL 문자형 태스크 내에서 인스턴스를 유일하게 구분하는 레이블
START_ID 문자형 시작한 후행 인스턴스의 식별자. 후행 또는 하위 액티비티들의 동시 시작을 제어하기 위해 정의됨
[표 12] 업무항목 정보(WORKITEM)의 속성들
레이블 데이터형 설명
WORK_ID 문자형 인스턴스 식별자
OWNER 문자형 업무항목의 소유자(OWNER)
SELECTOR 문자형 업무항목을 시작한 사용자 식별자
PRIORITY 정수형 우선순위
NAME 문자형 업무항목의 명칭
DUE_DATE 날짜형 업무항목의 기한
IS_URGENT 이진형 긴급 여부
[표 13] 인스턴스의 입출력 데이터 정보(WORKDATA)의 속성들
레이블 데이터형 설명
WORK_ID 문자형 인스턴스 식별자
IO_FLAG 문자형 입출력 데이터를 구분하는 값
DATA_LABEL 문자형 데이터 레이블
DATA_VALUE 문자형 데이터의 값
도 6은 본 발명의 실시예에 따른 도 1의 인터페이스 정보(111), 업무수행자 정보(112), 프로세스 정보(113), 및 인스턴스 정보(114)의 주요 속성과 속성 사이의 대응 관계를 도시한 도면이다.
도시된 바와 같이, 업무수행자 정보(ROLE)(610)와 인터페이스 정보(TASK)(620)는 프로세스 정보(NODE)(630) 정의를 위한 기본 정보이다. 프로세스 정보(NODE)(630)의 업무수행자 정보는 직접적인 참조관계가 아니라 데이터에 의해 정의된다. 실행 인스턴스 정보(WORK)(640)의 노드 식별자 정보를 참조하여 실행 인스턴스의 인터페이스 정보를 얻을 수 있으며, 업무 수행자와 관련된 추가 정보(WORKITEM)(641)는 업무항목의 소유자 식별자 정보를 참조하고, 업무를 시작한 사용자 식별자 정보는 사용자 정보(USER)(611)를 참조한다.
도 7은 본 발명의 실시예에 따른 도 1의 업무목록 제공부(150) 및 프로세스 실행엔진부(130)에서 업무를 시작하는 경우의 외부 시스템과의 상호작용의 처리절차를 도시한 도면이다.
도시된 바와 같이, 업무목록 제공부(150)에서 휴먼 태스크의 시작을 요청하거나 프로세스 실행엔진부(130)가 시스템 태스크의 시작을 요청하는 경우(S710), 비즈니스 프로세스 관리 시스템은 업무의 시작 처리와 업무세션 식별자(아이디)정보를 생성한다(S720).
그 후, API 제공부(140)를 통해 외부 시스템에 업무세션 식별자정보를 전달 하고(S730), 외부 시스템은 전달받은 업무세션 식별자정보를 이용하여 업무 시작정보와 업무수행자 정보를 API 제공부(140)를 통해 데이터 저장소(110)에 요청한다(S740). 비즈니스 프로세스 관리 시스템은 해당 인터페이스에 정의된 시작 데이터와 값을 전달하고(S750), 태스크 처리가 완료된 후 외부 시스템은 종료 데이터를 비즈니스 프로세스 관리 시스템에 전달한다(S760).
종료 데이터를 수신한 비즈니스 프로세스 관리 시스템은 해당 인터페이스에 정의된 종료 데이터에 대한 정합성 검증을 수행하고(S770), 해당 데이터를 이벤트 큐에 저장한 후, 외부 시스템에 처리 완료통보를 한다(S780). 그리고 이벤트 큐에 저장된 이벤트들은 프로세스 실행 엔진이 독립적으로 처리한다(S790).
도 8은 본 발명의 실시예에 따른 업무 시작 정보가 외부 시스템에 전달되지 않는 경우의 이벤트 수신처리 절차를 도시한 도면이다.
도시된 바와 같이, 도 7의 S730 단계와 같이 업무세션 식별자 정보가 외부 시스템에 전달되지 않는 경우, 외부 시스템이 비즈니스 프로세스 관리 시스템의 인스턴스를 식별할 수 있는 값을 전달해야 한다.
이를 위해, 본 발명에서는 비즈니스 프로세스 관리 시스템에서 외부 시스템의 인터페이스를 유일하게 식별할 수 있는 인터페이스 식별자 정보와 외부 시스템이 전달한 종료 데이터를 이용하여 인터페이스를 식별하기 때문에, 외부 시스템은 인터페이스 식별자를 업무세션 식별자 대신 전달해야 한다(S810).
비즈니스 프로세스 관리 시스템은 업무세션 식별자로 해당 인터페이스 정보를 조회하여, 인스턴스를 유일하게 구분할 수 있는 식별키로 정의된 데이터를 이용 하여 이벤트를 수신할 인스턴스를 식별하고(S820), 이벤트 큐에 이벤트를 저장한 후 외부 시스템에 이벤트 수신 완료 통보를 한다(S830). 이후, 프로세스 실행 엔진은 이벤트 큐에 저장된 이벤트를 처리한다(S840).
인스턴스 식별키는 지정된 인터페이스로 이벤트를 수신할 인스턴스를 유일하게 구분할 수 있는 값으로, 태스크의 출력 데이터 중 하나 또는 여러 개의 데이터 값을 조합하여 계산될 수 있다. 인터페이스 식별자는 데이터베이스의 테이블 명에 해당하고, 인스턴스 식별키는 테이블의 행을 유일하게 구분하는 프라이머리 키(Primary Key)에 해당된다.
도 9는 본 발명의 실시예에 따른 시작 액티비티(910, 920)와 시작 액티비티(910, 920)로부터 도달 가능한 노드의 집합을 나타내는 암시적 블록(930, 940)을 나타낸 예시도이다.
도면에서, 제1 시작 액티비티(910)는 제1 암시적 블록(930)을 정의하고, 제2 시작 액티비티(920)는 제2 암시적 블록(940)을 정의한다. 암시적 블록(930,940)은 명시적 블록(950)과 함께 단일 블록 계층구조를 이룬다.
종래의 워크플로우 기술들에서는 플로우 단위로 프로세스를 정의하기 때문에, 시작 액티비티를 프로세스 내부에 정의하지 않는다. 그러나 본 발명에서는 종료 이벤트를 수신할 때마다 새로운 플로우를 생성하는 시작 액티비티를 프로세스 내부에 포함함으로써 하나 이상의 플로우를 프로세스로 정의할 수 있다. 시작 액티비티는 시작 액티비티로부터 도달 가능한 노드의 집합을 나타내는 암시적 블록을 나타내며, 명시적으로 구획된 블록과 함께 단일 블록 계층구조를 이룬다. 즉 명시 적 블록은 내부에 암시적 블록을 포함할 수 있고, 암시적 블록 또한 내부에 명시적 블록을 포함할 수 있다.
도 10은 도 9의 암시적 블록(930,940)을 논리적으로 분리한 암시적 블록(1030, 1040)을 나타낸 도면이다.
본 실시예에서 프로세스 실행이나 모델의 유효성 검증에 있어서, 도 9의 명시적 블록(950)은 도 10과 같은 형태의 블록(1050) 구조로 처리된다.
블록(950, 1050)에 인스턴스가 생성될 때, 블록 내부의 모든 시작 노드(910, 920, 1010, 1020)에 인스턴스가 생성된다.시작 액티비티(910, 920, 1010, 1020)에는 태스크 종료 이벤트를 수신할 때마다 플로우 인스턴스를 생성하는 역할을 하는 시작 인스턴스가 생성되고, 시작 액티비티가 아닌 기타 시작 노드에는 태스크 종료 이벤트를 수신했을 때, 해당 인스턴스가 종료되는 정상 인스턴스(Normal Instance)가 생성된다. 시작 인스턴스에 업무수행자가 지정되는 경우는 해당 업무수행자가 플로우를 시작할 수 있다. 시작 인스턴스는 단위 인스턴스로 해당 인스턴스로부터 생성된 플로우 인스턴스를 포함하는 블록 인스턴스가 아니며, 종료 또는 취소 시에 진행 중인 플로우 인스턴스를 종료 또는 취소하지 않는다. 시작 인스턴스와 해당 인스턴스로부터 시작한 플로우 인스턴스는 동일한 상위 인스턴스에 포함된다.
도 1의 프로세스 실행엔진부(130)는 분기 조건을 만족하는 후속 경로로 실제 흐름을 생성하고, 분기 조건을 만족하지 못하는 경로로 가상의 흐름을 생성하는 브랜치 분기 메커니즘과 분기 조건을 만족하는 하나의 경로로만 실제 흐름을 생성하고, 분기 조건을 만족하지 못하는 후속 경로로 아무런 흐름도 생성하지 않는 경로 분기 메커니즘, 병합 조건을 만족하는 하나의 흐름만을 후속 경로로 진행하고 나머지는 차단하는 필터 메커니즘에 의해 프로세스를 실행한다.
도 11은 본 발명의 실시예에 따른 브랜치 분기(Branch Split) 게이트웨이(910)와 브랜치 병합(Branch Merge) 게이트웨이(1120)의 동작을 설명하기 위한 예시도이다.
도시된 브랜치 분기 게이트웨이(1110)는 조건을 만족하는 모든 후속 경로를 흐름을 진행시키며, 조건을 만족하지 못하는 경로로 가상의 흐름을 진행시키는 역할을 한다.브랜치 병합 게이트웨이(1120)는 실제와 가상 흐름을 포함하여 모든 입력 경로로 흐름이 도달했을 때, 후속 경로로 흐름을 진행시킨다.
실행 시점의 브랜치 병합 게이트웨이(1120)는 조건을 만족하는 하나의 흐름만을 후속 경로로 진행하고 나머지는 차단하는 필터의 역할을 하며, 모든 입력 흐름이 도달하기 전에도 후속 경로로 흐름을 진행하는 것이 가능하다.
도 12는 본 발명의 실시예에 따른 경로 분기(Path Split) 게이트웨이(1210)와 경로 병합(Path Merge) 게이트웨이(1220)의 동작을 설명하기 위한 예시도이다.
도시된 바와 같이, 경로 분기 게이트웨이(1210)는 조건을 만족하는 경로가 반드시 하나 존재하는 경우에 사용할 수 있으며, 조건을 만족하는 경로가 없는 경우 반드시 하나의 후속 경로를 선택할 수 있도록 디폴트 경로(1230)를 표시해야 한다.경로 분기 게이트웨이(1210)는 조건을 만족하는 후속 경로로 가상의 흐름을 진행시키지 않는다.경로 병합 게이트웨이(1220)는 생략이 가능하며, 특별한 병합 메커니즘 없이 후속 경로로 흐름을 중개하는 역할을 한다.
브랜치 분기 게이트웨이(1110)는 후속 경로들을 하위 브랜치로 분리하고, 브랜치 병합 게이트웨이(1120)는 분기된 브랜치들을 상위 브랜치로 병합한다.특정 상위 브랜치의 모든 하위 브랜치가 병합되는 경우, 병합 이후의 경로는 병합된 상위 브랜치에 속하게 된다. 도 11에서 브랜치 분기 게이트웨이(1110) 이전의 노드들과 모든 하위 브랜치를 병합한 브랜치 병합 게이트웨이(1120) 이후의 노드는 같은 브랜치에 속한다. 본 발명에서는, 동일한 브랜치 내에서는 브랜치 병합을 정의할 수 없고, 서로 다른 브랜치에 속하는 경우는 경로 병합을 정의할 수 없는 분기-병합 규칙을 이용하여 프로세스 모델의 유효성 검증을 한다.
도 13은 분기 노드(1310) 및 병합 노드(1320)를 이용한 다중병합 패턴의 예를 도시한 도면이다.
브랜치 병합 노드(1320)는 서로 다른 입력 브랜치에 속하는 입력 경로들만을 병합할 수 있기 때문에, 도 13은 본 발명의 분기-병합 규칙에 따르면 유효한 프로세스 모델이 아니다. 이 경우 다중병합 이전의 플로우와 다중 병합 이후의 플로우를 분리한 후, 플로우 사이의 연계 이벤트를 활용하여 처리할 수 있다.
도 14는 도 13의 다중병합 패턴을 두 개의 흐름으로 분리한 경우를 도시한 도면이다.
도 14의 종료 이벤트(1410)는 시작 이벤트(1420)에 플로우 연계 데이터를 전달하는 역할을 하며, 종료 이벤트(1410)는 논리적으로 3개의 노드가 정의된 것으로 본다.
도 15는 루프가 발생하는 경우를 도시한 도면으로, 분기 게이트웨이(1510)는 경로 분기를 나타내고, 병합 노드(1520)는 경로 병합을 나타낸다.본 발명에서는 같은 브랜치 내에서만 루프를 허용하며, 이는 상기의 분기-병합 규칙에 의한 것이다.
도 16은 본 발명의 실시예에 따라 상위 블록에서 하위 블록으로 이벤트를 전달하는 경우를 도시한 도면이다.
도시된 바와 같이, 상위 블록에서 하위 블록으로 이벤트를 전달하는 경우, 상위 블록의 종료 이벤트(1610)는 이벤트를 송신하고, 하위 블록의 시작 이벤트(1620)는 이벤트를 수신한다.이 경우 이벤트를 수신하는 노드에 인스턴스가 먼저 생성되어야 한다.
도 17은 본 발명의 실시예에 따라 하위 블록에서 상위 블록으로 이벤트를 전달하는 경우를 도시한 도면이다.
도시된 바와 같이, 하위 블록에서 상위 블록으로 이벤트를 전달하는 경우, 하위 블록의 종료 이벤트(1720)는 이벤트를 송신하고, 상위 블록의 중개 이벤트(1710)는 이벤트를 수신한다.이 경우 이벤트를 수신하는 노드에 인스턴스가 먼저 생성되어야 하며, 중개 이벤트(1710) 또는 시작 이벤트(1720)로 하위 블록에서 송신된 이벤트를 수신할 수 있다.
도 18은 블록 내부에서 해당 블록에 부착된 예외 노드로 이벤트를 전달하는 경우를 도시한 도면이다.
도시된 바와 같이, 블록 내부에서 해당 블록에 부착된 예외 노드로 이벤트를 전달하는 경우, 블록 내부에 정의된 종료 이벤트(1810)는 이벤트를 송신하고 블록에 부착된 예외 이벤트(1820)는 이벤트를 수신한다.이 경우, 블록 생성 시점에 예 외 이벤트(1820)를 수신하는 노드에 인스턴스가 생성되기 때문에 이벤트 송수신의 선후 관계의 검증할 필요가 없다.
도 19는 같은 블록에서 액티비티 취소 이벤트를 전달 처리하는 경우를 도시한 도면이다.
도시된 바와 같이, 같은 블록에서 액티비티 취소 이벤트를 전달 처리하는 경우, 종료 이벤트(1910)는 이벤트를 송신하고 액티비티에 부착된 예외 이벤트(1920)는 이벤트를 수신한다.이 경우 이벤트를 수신하는 노드에 인스턴스가 먼저 생성되어야 한다.
도 20은 일반적인 블록 계층구조에서 서로 다른 블록 사이에 태스크 이벤트 전달을 시도하는 경우를 도시한 도면이다.
도시된 바와 같이, 종료 이벤트(2010)는 이벤트를 송신하고, 중개 노드(2020)는 이벤트를 수신한다.이 경우 이벤트의 송수신 관계를 프로세스에서 파악할 수 없기 때문에, 이벤트 수신 노드에 인스턴스가 먼저 생성되어야 할 필요는 없다.이벤트 수신 액티비티를 이벤트로 대체할 수 있으며, 이벤트 수신에 대한 타임아웃 등이 지정되는 경우는 예외 처리를 위해 이벤트 수신 액티비티를 사용해야 한다.이와 같은 형태의 이벤트는 시작 노드, 중개 노드, 예외 노드는 이벤트를 수신하고, 종료 노드는 이벤트를 송신하고, 서로 다른 플로우 사이의 연계 이벤트를 처리하는 경우에도 사용할 수 있다.이벤트의 송신은 비즈니스 프로세스 관리 시스템 내에서 이루어질 수도 있고, 외부 시스템에서 이루어질 수도 있다.
도 21은 블록 내부에서 블록의 출력부로 이벤트를 전달하는 경우를 도시한 도면이다.
도시된 바와 같이, 블록 내부에서 블록의 출력부로 이벤트를 전달하는 경우, 종료 이벤트(2110)는 이벤트를 송신하고, 블록의 출력부(2120)는 이벤트를 수신하며, 함수형 프로그래밍에서의 리턴(Return)에 해당한다.
도 22는 프로세스 내부에서 플로우를 시작하는 이벤트가 수신하는 인스턴스가 시작 인스턴스인 경우를 도시한 도면이다.
수신한 인스턴스가 시작 인스턴스인 경우, 종료 이벤트(2210)는 이벤트를 송신하고, 시작 액티비티(2220)는 이벤트를 수신한다.시작 액티비티(2220)는 이벤트를 수신할 때마다 새로운 플로우를 생성한다.기존의 워크플로우 기술들은 통상적으로 플로우를 함수(Function) 또는 서비스(Service) 취급을 하는데, 본 발명에서는 이벤트에 의한 연계 논리로 처리하며, 외부 시스템 또는 비즈니스 프로세스 관리 시스템 내부에서 플로우 시작 이벤트를 송신하는 경우를 동일한 방식으로 처리할 수 있다.
본 실시예에서 이벤트 데이터는 송신 이벤트의 경우 노드의 입력부에, 수신 이벤트의 경우 노드의 출력부에 정의되며, 송수신 데이터는 동일한 구조를 갖는다.
또한, 본 실시예에서 업무수행자가 지정되는 액티비티를 대상으로 둘 이상의 액티비티가 동시에 시작할 수 없도록 제어하는 경우, 후속 액티비티들의 시작 제어를 수행하는 게이트웨이 또는 순차실행 다중 인스턴스 액티비티를 이용하여 모델링 한다.
도 23은 동시에 여러 개의 인스턴스가 생성되는 다중 인스턴스(Multiple Instance) 액티비티(2310)에 시작 제어가 정의된 경우를 나타내낸 도면이다.
다중 인스턴스 액티비티(2310)의 경우는 하위에 다중 인스턴스를 포함하는 블록 인스턴스가 생성되며, 이 블록 인스턴스에 현재 시작한 인스턴스의 식별자가 지정된다. 비즈니스 프로세스 관리 시스템은 인스턴스 시작 요청이 발생한 시점에 블록 인스턴스에 이미 시작한 다른 인스턴스의 식별자가 지정되어 있는지를 확인하여 시작 가능 여부를 판단하고, 인스턴스의 종료 시점에 블록 인스턴스에 지정된 식별자를 삭제한다.
도 24는 후속 액티비티의 시작 제어를 정의하는 사후 경로 분기 게이트웨이(2410)를 도시한 도면이다.
시작한 후속 액티비티의 식별자가 경로 분기 게이트웨이(2410)에 생성된 인스턴스에 지정된다.후속 액티비티(2420, 2430, 2440)의 시작 제어를 정의하는 경로 분기 게이트웨이(2410)는 일반적으로 첫 번째 종료 액티비티의 경로로만 흐름을 진행시키는데, n 번째 종료 액티비티의 경로로 흐름을 진행시키거나 후속 액티비티의 종료 시점에 조건을 판단하여 흐름을 진행시키는 경우로 일반화하는 것이 가능하다
도 25는 후속 액티비티(2520, 2530, 2540)의 시작 제어를 정의하는 사후 브랜치 분기 게이트웨이(2510)와 실제 입력 흐름만을 대상으로 하는 브랜치 병합 게이트웨이(2550)를 도시한 도면이다.
도시된 바와 같이, n 번째 종료 액티비티까지는 후속 경로로 실제 흐름을 진행시키고 나머지 경로로는 가상의 흐름을 진행시킨다.도 25의 브랜치 병합 게이트웨이(2550)는 실제 흐름만을 대상으로 하여 하나의 흐름만을 통과시키는 역할을 한 다.병합 조건이 n 번째 흐름을 통과시키는 경우라면, 실제 흐름이 n 개 도달한 경우 후속 경로로 실제 흐름을 진행시키고 나머지는 차단한다.모든 입력 흐름이 도달하고 실제 흐름이 n개 보다 작은 경우는 후속 경로로 가상의 흐름을 진행시킨다.
도 26은 후속 액티비티(2620, 2630, 2640)의 시작 제어를 정의하는 사후 브랜치 분기 게이트웨이(2610)와 가상의 흐름까지 포함하는 브랜치 병합 게이트웨이(2650)로 대체한 경우를 나타낸 도면이다. 이 경우 브랜치 병합 게이트웨이(2650)는 가상흐름을 포함하여 n 개의 입력 흐름이 도달한 경우에 후속 경로로 흐름을 진행시키며, 모든 입력 흐름이 가상인 경우는 후속 경로로 가상의 흐름을 진행시키고, 그렇지 않은 경우는 실제 흐름을 진행시킨다.
도 27은 후속 액티비티(2720, 2730, 2740)의 시작 제어를 정의하는 사후 브랜치 분기 게이트웨이(2710)와 액티비티 종료 시점에 선행 인스턴스에 지정된 인스턴스 식별자를 삭제하지 않고 후속 액티비티(2750)의 완료 시점으로 연기하는 액티비티(2730)를 나타낸 도면이다.
시작 권한이 후속 노드로 계속 전달되는 상황은 블록으로 모델링 하여 처리할 수 있기 때문에, 본 발명에서는 시작 권한을 해제하는 기호를 특별히 정의하지 않는다.
도 28 은 시작제어가 없는 경우의 다중 인스턴스 액티비티(2810)를 나타낸 도면이다.
이러한 다중 인스턴스 액티비티(2810)는 동시에 여러 인스턴스가 실행될 수 있다.시작 제어가 정의되는 경우와 마찬가지로, 다중 인스턴스를 하위 인스턴스로 갖는 블록 인스턴스가 생성되며, 조건이 주어지지 않는 경우 하위 인스턴스들이 종료되는 경우 후속 노드로 진행한다.다중 인스턴스 액티비티(2810) 대신 다중 인스턴스 블록을 정의하는 것이 가능하며, 이 경우 다중 블록 인스턴스를 하위 인스턴스로 갖는 블록 인스턴스가 생성된다.
도 29는 후속노드(2920, 2930, 2940)의 시작 제어가 없는 경우의 사후 경로 분기 게이트웨이(2910)와 경로 병합 게이트웨이(2950)를 나타낸 도면이다. 사후 경로 분기 게이트웨이(2910)는 입력 흐름을 후속 노드로 진행시킨 후, 첫 번째 또는 n 번째 완료된 노드의 경로로만 흐름을 진행시킨다.
도 30은 후속노드(3020, 3030, 3040)의 시작 제어가 없는 경우의 사후 브랜치 분기 게이트웨이(3010)와 실제 흐름만을 대상으로 브랜치 병합 결정을 하는 브랜치 병합 게이트웨이(3050)를 나타낸 도면이다. 도시된 바와 같이, 브랜치 분기 게이트웨이(3010)는 n 번째 완료된 액티비티의 경로로는 실제 흐름을 진행시키고, 나머지 액티비티의 경로로는 가상 흐름을 진행시킨다.
도 31은 후속노드(3120, 3130, 3140)의 시작 제어가 없는 경우의 사후 브랜치 분기 게이트웨이(3110)와 가상의 흐름을 포함하여 브랜치 병합 결정을 하는 병합 게이트웨이(3150)를 나타낸 도면이다.
후속 액티비티들의 시작제어를 정의하는 사후 분기 게이트웨이(2410, 2510, 2610, 2710)와 후속 노드들의 시작제어를 정의하지 않는 단순 사후 분기 게이트웨이(2910, 3010, 3110)는 분기가 완료된 경우, 완료되지 않은 나머지 후속 액티비티들을 모두 취소한다. 사후 브랜치 분기 게이트웨이(2510, 2610, 2710, 3010, 3110) 의 경우는 취소한 후속 액티비티들의 경로로 가상 흐름을 진행시킨다.
도 32 는 본 발명의 실시예에 따른 이벤트 큐를 이용한 이벤트 처리 메커니즘을 도시한 도면이다.
도시된 바와 같이, 외부 시스템(3210) 또는 프로세스 실행엔진(3230)이 프로세스 실행 중에 발생한 이벤트가 이벤트 큐(3220)에 저장된다.프로세스 실행 엔진(3230)은 이벤트 큐(3220)에서 이벤트를 추출하여 처리한다.
시작 액티비티의 종료 이벤트가 발생하는 경우는 생성 중(Creating) 상태의 새로운 플로우 인스턴스를 생성하고, 그 이외의 경우는 이벤트를 수신한 인스턴스의 상태를 생성(Created) 상태에서 종료 중(Completing) 상태로 변경한다. 프로세스 실행 엔진(3230)은 생성 중(Creating) 또는 종료 중(Completing) 상태를 생성(Created) 또는 종료(Completed) 상태로 변경하고, 후속 논리를 실행한다.
프로세스 실행 엔진 또는 특별한 시스템 태스크 실행 메커니즘에 의해 시스템 태스크가 실행되기 위해서, 외부 시스템은 비즈니스 프로세스 관리 시스템에 의해 호출되는 메쏘드(Method)를 갖는 인터페이스를 구현해야 한다.본 발명에서는 업무세션 식별자를 입력 인자로 갖고, 리턴 값이 없는 메쏘드(Method)를 정의한다.업무세션 식별자를 이용하여 입력 정보를 요청하거나 업무 종료 이벤트를 전달하는 것은 시스템 태스크의 구현부에서 처리해야 한다.
비즈니스 프로세스 관리 시스템은 외부 시스템이 구현한 인터페이스의 메쏘드의 리턴 값이 없기 때문에, 메쏘드의 종료 시에 외부 시스템이 이벤트를 정상적으로 전달했는지를 확인한 후, 정상적으로 종료 이벤트가 전달되지 않는 경우는 재 시도(Retry) 정책을 적용하여 추후 시스템 태스크를 다시 실행할 수 있도록 한다.
도 33 은 시스템 태스크의 재시도가 실패한 경우의 예외 처리 상황을 도시한 도면이다.
도면은 시스템 태스크의 재시도가 실패하는 경우, 예외 이벤트(3320)를 이용하여 예외 플로우를 정의하는 상황을 나타낸다. 시스템 태스크(3310)에 30초 간격으로 3회의 재시도 정책이 정의된 경우, 3회의 재시도가 실패한 경우 시스템 태스크(3310)를 종료하고 예외 이벤트(3320)의 후속 경로로 예외 플로우를 진행시킨다.
도 34는 암시적 종료(Implicit Termination) 이벤트(3410), 플로우 종료 이벤트(3420), 및 블록 종료 이벤트(3430) 상황을 도시한 도면이다.
암시적 종료 이벤트(3410)의 경우, 상위의 플로우 인스턴스 내부에 실행 중인 인스턴스가 존재하는지를 확인하여, 실행 중인 인스턴스가 존재하지 않는 경우에만 종료처리를 한다.
플로우 종료 이벤트(3420)는 상위의 플로우 인스턴스를 종료하고 플로우 인스턴스 내부에 실행 중인 모든 하위 인스턴스를 취소하며, 상위 인스턴스가 블록 인스턴스인 경우는 상위 블록 인스턴스의 상위 인스턴스를 종료한다.도 34의 경우는 상위의 플로우 인스턴스를 종료 처리한다.
블록 종료 이벤트(3430)는 상위의 블록 인스턴스를 종료하고 블록 인스턴스 내부에 실행 중인 모든 하위 인스턴스를 취소하며, 상위 인스턴스가 플로우 인스턴스인 경우는 상위 플로우 인스턴스의 상위 인스턴스를 종료한다.도 34의 경우는 블록(3440)에 생성된 인스턴스를 종료하기 때문에, 해당 블록에서 진행 중인 모든 플 로우 인스턴스와 플로우를 시작하는 인스턴스를 종료 또는 취소 처리한다.
본 실시예에서 카테고리 정보와 카테고리와 태스크의 대응 관계 또는 업무항목의 속성에 대한 조회조건을 이용하여 업무항목의 카테고리(Category)를 지정할 수 있다. [표 14]와 [표 15]는 카테고리 정보와 대응 관계의 주요 속성들을 나타낸다. [표 15]는 카테고리 유형이 태스크와 태스크의 대응 관계로 정의되는 경우의 대응 관계를 나타내며, 업무항목의 속성에 대한 조회조건을 이용하는 경우는 대응 관계가 정의되지 않는다.
[표 14] 카테고리 정보의 속성들
레이블 데이터형 설명
CATEGORY_ID 문자형 카테고리 식별자
PARENT_ID 문자형 상위 카테고리 식별자
NAME 문자형 카테고리 명칭
TYPE 문자형 태스크와 카테고리의 매핑 관계가 정의되는 경우와 업무항목의 속성에 대한 조회 조건을 이용하는 경우를 구분하는 값
QUERY 문자형 업무항목의 속성에 대한 조회 조건 지정
[표 15] 태스크와 카테고리의 대응 정보의 속성들
레이블 데이터형 설명
TASK_ID 문자형 태스크 식별자
CATEGORY_ID 문자형 카테고리 식별자
본 실시예에서 시스템의 안정성을 확보하기 위해, 실행 중인 프로세스를 종료하는 시점에 최상위 블록 인스턴스를 취소 처리하고, 해당 인스턴스의 하위 인스턴스들의 취소 처리는 프로세스 실행 엔진이 수행할 수 있게 한다.이는 자바(Java) 실행환경 등에서 이루어지는 가비지 컬렉션(Garbage Collection)과 같은 방식이다.
본 실시예에서 블록 또는 플로우 인스턴스에 속하는 하위 인스턴스들의 업무 수행자 등을 변경하는 권한을 갖는 사용자를 지정할 필요가 있다.워크플로우 기술에서는 통상적으로 프로세스 소유자(Owner)를 정의하여 처리하는데, 이 경우 플로 우를 시작한 사용자과 해당 플로우 인스턴스의 관리 권한을 갖는 등의 상황을 처리하기가 어렵다.본 발명에서는 업무항목의 업무수행자를 지정하는 방식으로 플로우 또는 블록 인스턴스에 소유자를 지정한다.업무항목의 소유자는 해당 업무를 수행할 권한을 갖지만, 블록 또는 플로우 인스턴스의 소유자는 해당 인스턴스의 하위 인스턴스들에 대한 관리 권한을 갖는다.
본 실시예에서 한 사용자가 업무항목을 시작한 경우에 다른 사용자들이 해당 업무항목을 시작하지 못하도록 하기 위해 업무항목에 시작한 사용자 식별자를 지정한다. 시작 인스턴스나 업무 종료 이벤트를 정의할 수 없는 액티비티에 생성된 인스턴스에는 시작 제어가 정의되지 않기 때문에, 업무항목을 시작한 시점에 시작한 사용자 식별자를 지정하지 않는다.
본 실시예에서 조직단위(OU), 직위(OP), 사용자 집합(User Set) 또는 사용자(User) 유형이 정의되는 역할(Role)은 위임가능 여부를 표시하는 속성을 가지고 있으며, 위임 가능한 역할에 대해서는 다른 사용자에게 역할을 위임할 수 있다.본 발명에서는 [표 3]의 사용자와 역할의 대응관계(ROLE2USER)의 속성들에 정의된 DELEGATED의 값을 위임한 사용자로 변경하여 위임 처리를 하며, 위임을 해제하는 경우는 DELEGATED의 값을 USER_ID 또는 NULL로 지정한다.
또한, 본 실시예에서 다중 프로세스 실행 엔진이 실행되는 경우, 하나의 인스턴스를 두 개 이상의 프로세스 실행 엔진이 동시에 처리할 수 없도록 해야 한다.본 발명에서는 실행할 인스턴스의 상위 인스턴스에 프로세스 실행 엔진의 식별자를 지정하여 다른 실행 엔진이 해당 인스턴스의 하위 인스턴스를 실행하지 못하도록 차단한다.
본 실시예에서 병합 게이트웨이와 다중 액티비티, 다중 블록을 제외한 경우, 동일한 상위 인스턴스를 갖는 둘 이상의 인스턴스가 하나의 노드에 생성될 수 없다.루프 등에 의해 동일한 상위 인스턴스를 갖는 둘 이상의 인스턴스가 생성되는 경우, 인스턴스 생성 시점에 동일한 상위 인스턴스를 갖는 인스턴스를 조회하여 로그 처리를 한다.
병합 게이트웨이의 경우는 여러 개의 인스턴스가 생성되는 것이 허용되지만, 선행 노드가 동일한 인스턴스가 동시에 존재할 수 없다. 본 발명에서는 병합 게이트웨이에 인스턴스를 생성하는 시점에 선행 인스턴스가 로그 처리된 인스턴스를 로그 처리를 한다.
다중 액티비티 또는 다중 블록의 경우는 다중 인스턴스를 포함하는 블록 인스턴스를 생성하며, 이 블록 인스턴스에 대해서는 둘 이상의 인스턴스가 동시에 존재할 수 없도록 처리한다. 상위 인스턴스가 로그 처리된 경우는 하위 인스턴스도 로그 처리된 것으로 볼 수 있기 때문에, 다중 인스턴스를 포함하는 블록 인스턴스의 하위 인스턴스는 로그 처리 없이 인스턴스를 생성한다.
본 실시예에서 다중 인스턴스 액티비티 또는 블록에는 다중 인스턴스 분리 조건을 정의하는 제어 유형을 갖는 데이터가 정의되고, 해당 데이터를 콤마(Comma) 등의 구분자(Separator)로 분리된 문자열의 수만큼 인스턴스를 생성한다. [표 16]은 콤마로 구분되는 "ABC,DEF"의 값을 갖는 문자형 데이터 MULTI_COND에 다중 인스턴스 분리 조건을 나타내는 제어 유형이 지정된 경우를 나타낸다. 이 경우 실행 시 에 다중 인스턴스를 포함하는 블록 인스턴스와 MULTI_COND의 값이 "ABC"와 "DEF"인 두 개의 인스턴스가 생성된다.
[표 16] 다중 인스턴스 생성 조건 정의 예제
데이터형 데이터 레이블 데이터 값 제어 유형
문자형 MULTI_COND "ABC,DEF" 다중 인스턴스 분리 조건
본 실시예에서 태스크의 카테고리를 사용자 개인이 지정하기 위해서는 사용자 개인이 카테고리를 추가, 변경, 삭제할 수 있어야 한다.사용자가 태스크를 카테고리에 대응하는 방법은 비즈니스 프로세스 관리 시스템에 정의된 태스크 목록에서 태스크를 선택하여 직접 대응시키거나, 프로세스 실행 중에 생성된 업무항목을 카테고리에 지정하여 업무항목이 속한 태스크를 대응시킬 수 있다.
여기서, 프로세스 실행 중에 생성된 업무항목을 카테고리에 지정하여 업무항목이 속한 태스크를 대응시키는 경우에는, 자신이 수행할 수 있는 태스크에 대해서 카테고리를 지정할 수 있다.반면, 비즈니스 프로세스 관리 시스템에 정의된 태스크 목록에서 태스크를 선택하여 직접 대응시키는 경우, 특별한 대응 규칙이 없는 한 자신이 수행할 수 있는 태스크만을 대상으로 하여 카테고리를 지정할 수 없다.
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 및 균등한 타 실시가 가능할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부한 특허 청구범위에 의해서만 정해져야 할 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 비즈니스 프로세스 관리 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 도 1의 업무수행자 정보(112)를 구성하는 속성과 속성 사이의 관계를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 도 1의 인터페이스 정보(111)를 구성하는 속성과 속성 사이의 관계를 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 도 1의 프로세스 정보(113)를 구성하는 속성과 속성 사이의 관계를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 도 1의 인스턴스 정보(114)를 구성하는 속성과 속성 사이의 관계를 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 도 1의 업무수행자 정보(112), 인터페이스 정보(111), 프로세스 정보(113), 및 인스턴스 정보(114)의 주요 속성과 속성 사이의 대응 관계를 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 도 1의 업무목록 제공부(150) 또는 프로세스 실행엔진부(130)에서 업무를 시작하는 경우의 외부 시스템과의 상호작용의 처리절차를 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 업무 시작 정보가 외부 시스템에 전달되지 않는 경우의 이벤트 수신처리 절차를 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 시작 액티비티(910, 920)와 시작 액티비 티(910, 920)로부터 도달 가능한 노드의 집합을 나타내는 암시적 블록(930, 940)을 나타낸 예시도이다.
도 10은 도 9의 암시적 블록(930,940)을 논리적으로 분리한 상태를 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 브랜치 분기(Branch Split) 게이트웨이(1110)와 브랜치 병합(Branch Merge) 게이트웨이(1120)의 동작을 설명하기 위한 예시도이다.
도 12는 본 발명의 실시예에 따른 경로 분기(Path Split) 게이트웨이(1210)와 경로 병합(Path Merge) 게이트웨이(1220)의 동작을 설명하기 위한 예시도이다.
도 13은 분기 노드(1310) 및 병합 노드(1320)를 이용한 다중병합 패턴의 예를 도시한 도면이다.
도 14는 다중병합 패턴을 두 개의 흐름으로 분리한 경우를 도시한 도면이다.
도 15는 루프가 발생하는 경우를 도시한 도면으로, 분기 게이트웨이(1510)는 경로 분기를 나타내고, 병합 노드(1520)는 경로 병합을 나타낸다.
도 16은 본 발명의 실시예에 따라 상위 블록에서 하위 블록으로 이벤트를 전달하는 경우를 도시한 도면이다.
도 17은 본 발명의 실시예에 따라 하위 블록에서 상위 블록으로 이벤트를 전달하는 경우를 도시한 도면이다.
도 18은 블록 내부에서 해당 블록에 부착된 예외 노드로 이벤트를 전달하는 경우를 도시한 도면이다.
도 19는 같은 블록에서 액티비티 취소 이벤트를 전달 처리하는 경우를 도시한 도면이다.
도 20은 일반적인 블록 계층구조에서 서로 다른 블록 사이에 태스크 이벤트 전달을 시도하는 경우를 도시한 도면이다.
도 21은 블록 내부에서 블록의 출력부로 이벤트를 전달하는 경우를 도시한 도면이다.
도 22는 프로세스 내부에서 플로우를 시작하는 이벤트가 수신하는 인스턴스가 시작 인스턴스인 경우를 도시한 도면이다.
도 23은 동시에 여러 개의 인스턴스가 생성되는 다중 인스턴스(Multiple Instance) 액티비티(2310)에 시작 제어가 정의된 경우를 나타내낸 도면이다.
도 24는 후속 액티비티의 시작 제어를 정의하는 사후 경로 분기 게이트웨이(2410)를 도시한 도면이다.
도 25는 후속 액티비티의 시작 제어를 정의하는 사후 브랜치 분기 게이트웨이(2510)와 실제 입력 흐름만을 대상으로 하는 브랜치 병합 게이트웨이(2550)를 도시한 도면이다.
도 26은 도 25의 브랜치 병합 게이트웨이를 가상의 흐름까지 포함하는 브랜치 병합 게이트웨이로 대체한 경우를 나타낸 도면이다.
도 27은 액티비티 종료 시점에 선행 인스턴스에 지정된 인스턴스 식별자를 삭제하지 않고 후속 액티비티의 완료 시점으로 연기하는 액티비티(2730)를 나타낸 도면이다.
도 28은 시작제어가 없는 경우의 다중 인스턴스 액티비티(2810)를 나타낸 도면이다.
도 29는 시작 제어가 없는 경우의 사후 경로 분기 게이트웨이(2910)와 경로 병합 게이트웨이(2950)를 나타낸 도면이다.
도 30은 시작 제어가 없는 경우의 사후 브랜치 분기 게이트웨이(3010)와 실제 흐름만을 대상으로 하는 브랜치 병합 게이트웨이(3050)를 나타낸 도면이다.
도 31은 시작 제어가 없는 경우의 사후 브랜치 분기 게이트웨이(3110)와 가상 흐름까지 포함하는 병합 게이트웨이(3150)를 나타낸 도면이다.
도 32는 본 발명의 실시예에 따른 이벤트 큐를 이용한 이벤트 처리 메커니즘을 도시한 도면이다.
도 33은 시스템 태스크의 재시도가 실패한 경우의 예외 처리 상황을 도시한 도면이다.
도 34는 암시적 종료(Implicit Termination) 이벤트(3310), 플로우 종료 이벤트(3420), 및 블록 종료 이벤트(3430) 상황을 도시한 도면이다.

Claims (48)

  1. 업무의 내부 논리를 구현하는 외부 시스템과의 상호작용을 통해 업무의 실행 절차를 정의하고, 상기 업무의 시작 및 종료를 관리하는 비즈니스 프로세스 관리 시스템에 있어서,
    상기 업무를 시작할 수 있는 수행자에 대한 정보를 정의한 업무수행자정보, 상기 외부 시스템과의 상호작용을 정의한 인터페이스정보, 상기 업무수행자정보 및 상기 인터페이스정보를 기초로 정의한 프로세스정보, 및 상기 프로세스의 실행 중에 발생하는 정보를 정의한 인스턴스정보를 저장하는 데이터 저장부;
    상기 인터페이스정보를 이용하여 상기 외부 시스템의 요청에 따라 상기 프로세스의 시작정보를 제공하고 상기 프로세스의 종료정보를 수신하는 API 제공부;
    상기 업무수행자정보, 상기 인터페이스정보, 및 상기 프로세스정보를 정의하고, 상기 프로세스의 실행 중 생성되는 상기 인스턴스정보를 관리하는 프로세스 모델러;
    상기 프로세스 모델러에 의해 정의된 각 정보들에 의해 상기 외부 시스템과의 상호작용을 처리하고, 업무를 시작할 수 있는 상기 수행자를 결정하는 프로세스 실행엔진부; 및
    상기 인스턴스정보, 상기 프로세스정보, 및 상기 업무수행자정보를 이용하여 상기 업무수행자에게 상기 업무목록을 조회하는 기능을 제공하는 업무목록 제공부를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  2. 제 1 항에 있어서,
    상기 업무수행자정보는,
    조직단위(OU), 직위(OP), 사용자 집합(User Set) 및 사용자(User) 유형정보 중 적어도 하나를 포함하는 역할(Role) 정보;
    상기 사용자의 로그인 식별자 및 패스워드 정보를 포함하는 사용자 속성을 정의한 사용자 정보;
    상기 사용자가 속하는 역할 관계를 정의하는 사용자-역할 대응 정보; 및
    상기 역할이 복수인 경우 서로 다른 상기 역할 사이의 위계관계 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  3. 제 1 항에 있어서,
    상기 인터페이스정보는,
    상기 업무의 시작 정보만 정의되는 시작 태스크, 시작과 종료 이벤트 정보가 정의되는 시스템 태스크, 시작과 종료 이벤트 정보가 정의되는 휴먼 태스크, 및 종료 이벤트 정보만 정의되는 이벤트 태스크 유형 중 적어도 하나의 유형을 갖는 태스크 정보; 및
    상기 태스크 정보의 시작, 종료와 관련된 정보를 포함하는 데이터 정보를 포함하며,
    여기서, 상기 이벤트 태스크는 상기 인스턴스정보의 종류를 식별하기 위한 식별키를 부여하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  4. 제 1 항에 있어서,
    상기 프로세스정보는,
    상기 프로세스, 액티비티, 게이트웨이, 및 이벤트를 정의하는 노드정보;
    상기 노드의 입출력 데이터정보;
    상기 노드와 노드 사이의 선후행 관계, 예외 이벤트의 송수신 관계, 블록 종료 이벤트의 송수신 관계, 링크 이벤트의 송수신관계 및 태스크 이벤트에 의한 송수신 관계를 정의하는 관계정보; 및
    상기 입출력 데이터의 대응관계정보를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  5. 제 1 항에 있어서,
    상기 인스턴스정보는,
    상기 인스턴스의 공통적인 속성정보, 상기 업무수행자와 관련된 추가 속성이 정의된 업무항목정보, 및 상기 인스턴스의 입출력 데이터 정보를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  6. 제 4 항에 있어서,
    상기 프로세스정보는,
    태스크 종료 이벤트를 수신할 때마다 새로운 플로우를 생성하는 시작 액티비티(Start Activity)를 프로세스 내부에 정의;
    시작 액티비티는 해당 노드로부터 도달 가능한 노드의 집합을 의미하는 암시적인 블록(Implicit Block)을 정의; 및
    명시적인 블록이 내부에 암시적인 블록을 포함하고, 암시적인 블록이 내부에 명시적인 블록을 포함할 수 있도록 하나의 블록계층 구조로 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  7. 제 6 항에 있어서,
    상기 시작 액티비티는,
    태스크 종료 이벤트가 발생할 때마다, 새로운 플로우 인스턴스를 생성하는 시작 인스턴스(Start Instance)를 생성하며;
    상기 시작 인스턴스는 하위 플로우 인스턴스를 포함하지 않는 단위 인스턴스로서, 프로세스의 종료 또는 취소 시에 진행 중인 플로우 인스턴스를 종료 또는 취소하지 않는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  8. 제 1항에 있어서,
    상기 프로세스 실행엔진부는,
    브랜치 분기 조건을 만족하는 후속 경로로 실제 흐름을 생성하고, 상기 설정된 브랜치 분기 조건을 만족하지 못하는 경로로 가상의 흐름을 생성하는 브랜치 분기(Branch Split) 메커니즘;
    경로 분기 조건을 만족하는 하나의 후속 경로로만 실제 흐름을 생성하고, 상기 설정된 경로 분기 조건을 만족하지 못하는 경로로 흐름을 생성하지 않는 경로 분기(Path Split) 메커니즘; 및
    병합 조건을 만족하는 하나의 흐름만을 후속 경로로 진행하고 나머지 흐름은 차단하는 필터(Filter) 메커니즘에 의해 실행하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  9. 제 1항에 있어서,
    상기 프로세스 모델러에 의한 모델 검증 및 모델링 규칙을 위해,
    2개 이상의 후속 경로로 실제 또는 가상 흐름을 생성하는 브랜치 분기에 의해 하위(Child) 브랜치를 생성하고, 2개 이상의 실제 또는 가상 흐름을 병합하는 브랜치 병합 노드는 입력 브랜치를 병합하여 새로운 병합 브랜치를 생성하거나, 모 든 하위 브랜치가 병합된 경우는 상위(Parent) 브랜치로의 병합을 정의하는 브랜치 병합 메커니즘; 및
    하나의 후속 경로로만 진행하는 경로 분기와 2개 이상의 입력 경로를 병합하는 경로 병합 메커니즘;을 포함하여 구성되며,
    상기 브랜치 병합 노드는 서로 다른 브랜치에 속하는 입력 경로들만을 병합하고, 상기 경로 병합은 같은 브랜치에 속하는 입력 경로들만을 병합하는 브랜치-경로 병합 규칙을 갖는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  10. 제 9 항에 있어서,
    상기 브랜치-경로 병합 규칙에서, 서로 다른 브랜치에 속하는 입력 경로를 경로 병합하는 경우에는, 경로 병합 이전의 플로우와 경로 병합 이후의 플로우를 분리하고, 이를 플로우 사이의 연계 이벤트를 이용하여 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  11. 제 9 항에 있어서,
    상기 같은 브랜치에 속하는 경로에 대해서는 그 내에서 루프(Loop)가 허용되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  12. 제 1 항에 있어서,
    상기 API 제공부에 의한 상기 외부 시스템과의 인터페이스는,
    인스턴스 식별자를 식별할 수 있는 업무세션 식별자를 이용하여, 업무 시작과 관련된 정보 또는 업무를 시작한 사용자와 관련된 정보의 요청과 업무종료 데이터를 전달하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  13. 제 12 항에 있어서,
    상기 인스턴스 식별자와 상기 업무시작을 요청한 사용자 식별자의 대응(Mapping) 관계를 식별할 수 있는 값을 상기 업무세션 식별자로 정의하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  14. 제 12 항에 있어서,
    상기 업무세션 식별자가 상기 외부 시스템에 전달되지 않는 경우,
    상기 외부 시스템은 상기 비즈니스 프로세스 관리 시스템의 인터페이스 정의부에 정의된 태스크 식별자(Task Identifier)와 이벤트 데이터를 전송하고, 상기 이벤트를 수신한 상기 비즈니스 프로세스 관리 시스템의 API 제공부는 태스크 식별자와 해당 태스크 내에서 인스턴스를 유일하게 구분할 수 있는 식별키를 이용하여 인스턴스를 식별하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  15. 제 14 항에 있어서,
    상기 인스턴스들이 동일한 이벤트 태스크에 속하는 경우,
    상기 태스크 정보에 정의된 인스턴스 식별키에 의해 유일하게 식별이 가능한 인스턴스 레이블 값이 인스턴스 정보에 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  16. 제 14 항에 있어서,
    시스템 태스크 또는 휴먼 태스크를 시작할 때, 비즈니스 프로세스 관리 시스템에서 외부 시스템에 전달되는 상기 업무세션 식별자가 상기 업무목록 제공부에서 사용자가 업무시작을 요청하거나 상기 프로세스 실행엔진부가 시스템 태스크를 실행하는 시점에 인스턴스 식별자와 업무시작을 요청한 사용자 식별자의 쌍을 유일하게 구분할 수 있는 값으로 결정되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  17. 제 4 항에 있어서,
    상기 노드의 입출력 데이터정보는,
    외부 시스템의 시작, 종료와 관련된 데이터인지 여부;
    문자형, 날짜형, 이진형, 정수형, 실수형 데이터를 정의하는 데이터 유형(Type);
    해당 노드의 입력 또는 출력에서 데이터를 유일하게 식별할 수 있는 데이터 레이블;
    할당(Assignment), 수식(Expression), 선행 노드의 입력, 출력 데이터의 대응(Mapping), 업무수행자의 식별자 지정 유형을 갖는 데이터 값 지정 방식; 및
    인스턴스 속성 지정을 위한 제어 데이터 유형을 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  18. 제 17 항에 있어서,
    상기 제어 데이터 유형은,
    문자형 데이터는 업무항목(Workitem)의 소유자, 업무항목의 제목, 업무항목에 대한 코멘트, 조건 판단을 위한 레이블, 인스턴스 레이블, 플로우를 시작한 사용자;
    이진형 데이터는 긴급여부;
    날짜형 데이터는 기한(Due Date), 타임아웃(Time Out); 및
    정수형 데이터는 우선순위(Priority), 재시도(Retry) 회수, 재시도 대기시간 을 지정하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  19. 제 1 항에 있어서,
    프로세스 정보는,
    서로 다른 플로우 또는 블록 사이의 연계 논리의 처리를 위해,
    동일한 블록 내에 정의된 서로 다른 플로우 사이에 이벤트를 송수신하는 관계;
    상위 블록에서 하위블록으로 이벤트를 송신하고 이를 수신하는 관계;
    하위 블록에서 상위블록으로 이벤트를 송신하고 이를 수신하는 관계;
    동일한 블록에서 액티비티 취소 이벤트를 송신하고 이를 수신하는 관계;
    블록 내부에서 해당 블록의 예외 이벤트 수신 노드에 이벤트를 송신하고 수신하는 관계; 및
    블록 내부에서 블록의 출력으로 이벤트를 전달하는 관계를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  20. 제 19 항에 있어서,
    상기 이벤트의 송신은 종료(End) 노드, 상기 이벤트의 수신은 시작(Start), 중개(Intermediate) 또는 예외(Exceptional) 노드로 정의;
    송신 이벤트가 전달하는 데이터는 노드의 입력, 수신 이벤트가 전달받는 데이터는 노드의 출력에 정의; 및
    상기 송신 이벤트가 전달하는 데이터의 구조와 상기 수신 이벤트가 전달받는 데이터의 구조가 동일하게 정의되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  21. 제 1 항에 있어서,
    프로세스 정보는,
    이벤트 송수신 관계를 명시적으로 정의할 수 없는 경우, 이벤트의 송신은 종료 노드, 수신은 시작(Start), 중개(Intermediate) 또는 예외(Exceptional) 노드가 수행;
    노드의 입력에 인스턴스 레이블을 결정하는 제어 유형을 포함하는 태스크 이벤트를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  22. 제 1 항에서 있어서,
    프로세스 모델러는
    여러 프로세스들에서 공통적으로 사용할 수 있는 공통 프로세스에 이벤트를 전달하는 경우, 상기 공통 프로세스를 직접 호출하는 대신, 태스크 이벤트를 활용 하여 모델링하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  23. 제 1 항에 있어서,
    프로세스 모델러는,
    업무수행자가 지정되는 액티비티를 대상으로 둘 이상의 액티비티가 동시에 시작할 수 없도록 제어하는 경우를 모델링하기 위해, 후속 액티비티들의 시작 제어를 수행하는 게이트웨이 또는 순차실행 다중 인스턴스 노드를 지원하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  24. 제 23 항에 있어서,
    상기 둘 이상의 액티비티가 동시에 시작할 수 없도록 제어하는 경우, 액티비티 종료 시점에 시작되지 않은 다른 액티비티를 시작할 수 있도록 제어하는 것과 후속 액티비티의 종료 시점에 시작할 수 있도록 제어하는 것을 구분하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  25. 제 23 항에 있어서,
    상기 게이트웨이를 이용하여 시작 제어를 수행하는 경우는,
    상기 게이트웨이는 입력 흐름을 모든 후속노드로 진행 시킨 후, 후속 노드의 실행 결과에 따라 브랜치 분기 또는 경로 분기를 수행하는 사후 분기 게이트웨이로 동작하며, 하나의 후속 액티비티의 경로로 흐름을 진행시키는 경우는 경로 분기, 그렇지 않는 경우는 브랜치 분기 게이트웨이로 정의되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  26. 제 25 항에 있어서,
    프로세스 실행엔진부는,
    브랜치 분기 게이트웨이의 경우, 분기 완료 시점에 종료되지 않은 상기 게이트웨이의 후속 액티비티들을 취소하고, 취소된 경로로 가상의 흐름을 생성하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  27. 제 1 항에 있어서,
    상기 프로세스 실행엔진부는,
    서로 다른 브랜치를 병합하는 게이트웨이는 실제 입력 흐름만을 대상으로 하는 경우와 가상의 입력 흐름을 포함하여 병합하는 경우로 구분하는 것을 특징으로 하며,
    상기 실제 흐름만을 대상으로 하고 병합 조건이 주어지지 않는 경우, 모든 입력 흐름이 실제 흐름인 경우는 실제 흐름을 후속 경로로 통과시키고, 그렇지 않은 경우는 가상의 흐름을 후속 경로로 통과시키는 필터 메커니즘;
    상기 실제 흐름과 상기 가상의 흐름을 대상으로 하고 병합조건이 주어지지 않는 경우, 모든 입력이 가상 흐름인 경우는 가상의 흐름을 후속 경로로 통과시키고, 그렇지 않은 경우는 실제 흐름을 후속 경로로 통과시키는 필터 메커니즘;
    상기 실제 흐름만을 대상으로 하고 병합 조건으로 개수가 지정된 경우, 실제 흐름이 지정된 개수에 도달한 경우는 후속 경로로 실제 흐름을 통과시키고, 모든 입력 흐름이 도달했을 때 실제 흐름이 지정된 개수에 도달하지 못한 경우는 후속 경로로 가상의 흐름을 통과시키는 필터 메커니즘; 및
    상기 실제 흐름과 상기 가상의 흐름을 대상으로 하고 병합조건으로 개수가 주어지는 경우, 가상의 흐름을 포함하여 입력흐름이 지정된 개수에 도달한 경우 또는 모든 흐름이 도달한 경우에 후속 경로로 흐름을 통과시키며, 모든 입력이 가상 흐름인 경우는 가상의 흐름을, 그렇지 않은 경우는 실제 흐름을 통과시키는 필터 메커니즘에 의해 병합이 이루어지는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  28. 제 1 항에 있어서,
    상기 API 제공부는,
    외부 시스템으로부터 태스크 종료 이벤트를 수신한 경우, 이벤트를 수신한 인스턴스가 시작 액티비티에 생성된 시작 인스턴스인 경우는 새로운 플로우 인스턴스를 생성하고, 그렇지 않은 경우는 이벤트 수신 인스턴스를 종료시키는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  29. 제 28 항에 있어서,
    상기 외부 시스템으로부터 수신한 이벤트는 인스턴스 종료 여부 또는 새로운 플로우 생성 여부를 구분하지 않는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  30. 제 28 항에 있어서,
    상기 외부 시스템으로부터 이벤트를 수신한 인스턴스가 시작 인스턴스인 경우, 생성된 플로우 인스턴스는 생성 중(Creating) 상태이고, 그렇지 않은 경우는 인스턴스를 종료 중(Completing) 상태로 변경하는 것으로 이벤트 수신처리를 종료시키고, 프로세스 실행 엔진은 생성 또는 종료 중 상태에 있는 인스턴스를 처리하는 이벤트 구동(Event-Driven) 방식의 실행 엔진을 갖는 비즈니스 프로세스 관리 시스템.
  31. 제 1 항에 있어서,
    상기 프로세스 실행엔진부가,
    상기 외부 시스템에 구현된 시스템 태스크를 실행할 수 있도록, 상기 외부 시스템은 인스턴스를 식별할 수 있는 값을 인자(Argument)로 가지고 리턴 값이 없는 메쏘드(Method)를 구현해야 하며, 내부논리에서 인자로 전달받은 값을 이용하여 시작 정보의 요청과 이벤트의 송신을 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  32. 제 31 항에 있어서,
    상기 외부 시스템의 원격 함수를 호출한 프로세스 실행 엔진은 함수의 종료 시에 해당 인스턴스의 상태를 확인하여, 정상적으로 종료되지 않은 경우 재시도 설정을 하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  33. 제 31 항에 있어서,
    상기 시스템 태스크의 실행에 실패하는 경우, 수동으로 해당 태스크를 호출하기 위해 해당 액티비티에 업무수행자를 지정할 수 있는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  34. 제 31 항에 있어서,
    상기 시스템 태스크의 실행에 실패하는 경우, 예외 플로우로 진행하기 위한 재시도 실패 이벤트를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  35. 제 1 항에 있어서,
    상기 프로세스 실행엔진부는,
    하위 인스턴스를 포함하는 블록 또는 플로우 인스턴스의 종료 이벤트의 처리 시점에 진행 중인 모든 하위 인스턴스들을 취소 처리하지 않고, 상위 인스턴스가 종료된 하위 인스턴스를 별도로 조회하여 취소 처리하는 메커니즘을 갖는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  36. 제 1 항에서 있어서,
    상기 업무목록 제공부는,
    카테고리 정보와 태스크와 카테고리의 대응(Mapping) 정보 또는 업무항목의 속성을 이용하여 업무항목을 분류하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  37. 제 1 항에서 있어서,
    상기 업무 목록 제공부는,
    외부 시스템의 태스크 구현 부분에서 시작 정보를 요청할 때, 해당 인스턴스의 어떤 속성 변경 없이 시작 데이터만을 전달할 수 있도록 태스크 시작 이전에 시작과 관련된 처리를 미리 수행하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  38. 제 1 항에 있어서,
    상기 프로세스 모델러는,
    명시적인 종료(Explicit Termination) 이벤트를 플로우를 종료하는 이벤트와 블록을 종료하는 이벤트를 구분하여 모델링하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  39. 제 1 항에 있어서,
    상기 인터페이스 정의는,
    시작 및 종료 정보가 정의되는 휴먼 태스크와 시스템 태스크, 시작 정보만 정의되는 시작 태스크, 종료 정보만 정의되는 이벤트 태스크를 구분하여 지정할 수 있는 액티비티 유형을 정의하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  40. 제 1 항에 있어서,
    인스턴스 정보는,
    인스턴스의 소유자(Owner) 정보와 업무를 시작한 사용자 정보를 포함하며, 소유자 정보가 하위 인스턴스를 갖는 블록 인스턴스에 생성되는 경우, 해당 소유자가 상기 인스턴스의 하위 인스턴스들의 업무수행자를 변경하거나 긴급 여부 표시 등의 관리 권한을 갖는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템
  41. 제 40 항에 있어서,
    상기 인스턴스의 소유자(Owner)는 조직단위(OU), 직위(OP), 사용자 집합(User Set) 또는 사용자(User) 식별자, 업무를 시작한 사용자 속성에는 사용자(User) 식별자를 지정할 수 있으며, 인스턴스의 소유자와 시작한 사람이 다른 경우 해당 인스턴스의 시작을 취소하여 다른 사용자가 인스턴스를 시작할 수 있도록 하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  42. 제 40 항에 있어서,
    시작 인스턴스나 종료 이벤트를 수신하지 않는 인스턴스에는 업무를 시작한 사용자 속성에 사용자식별자가 지정되지 않으며, 종료 이벤트에 의해 해당 인스턴스가 종료될 수 있는 경우에만 사용자 식별자가 지정되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  43. 제 2항에 있어서
    상기 역할(Role) 정보는 위임 가능여부 속성을 포함할 수 있으며, 위임 가능한 역할은 해당 역할에 속하는 사용자가 역할을 위임할 수 있으며, 역할과 사용자 대응(Mapping) 정보에 정의된 위임한 사용자 속성에 위임 받은 사용자가 지정되는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  44. 제 1 항에 있어서,
    상기 프로세스 실행엔진부가 다중 엔진을 갖는 경우, 동일한 인스턴스를 두 개 이상의 실행 엔진이 동시에 처리하는 것을 차단하기 위하여, 처리할 인스턴스의 상위 인스턴스에 실행 엔진의 식별자를 지정하여 다른 실행 엔진이 해당 인스턴스의 하위 인스턴스의 실행처리를 차단하는 메커니즘을 갖는 비즈니스 프로세스 관리 시스템.
  45. 제 1 항에 있어서,
    상기 프로세스 실행엔진부는,
    루프 등에 의해 동일한 상위 인스턴스를 갖는 둘 이상의 인스턴스가 노드에 생성되는 경우, 인스턴스 생성 시점에 동일한 상위 인스턴스를 갖는 인스턴스를 조회하여 로그 처리하거나, 선행 인스턴스가 로그 처리된 인스턴스를 로그 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  46. 제 45 항에 있어서,
    동일한 상위 인스턴스를 갖는 둘 이상의 인스턴스가 생성되는 경우, 선행 인스턴스가 로그 처리된 인스턴스를 로그 처리하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  47. 제 1 항에 있어서,
    상기 프로세스 실행엔진부는,
    다중 인스턴스(Multiple Instance) 액티비티 또는 다중 인스턴스 블록의 경 우, 실행 시에 다중 인스턴스를 포함하는 블록 인스턴스를 생성하는 것을 특징으로 하는 비즈니스 프로세스 관리 시스템.
  48. 제 47 항에 있어서,
    다중 인스턴스 액티비티 또는 다중 인스턴스 블록에는 다중 인스턴스 분리조건을 지정하는 제어 유형의 데이터가 정의되며, 분리조건으로 지정된 데이터의 값을 콤마 등의 구분자로 분리한 문자열의 수만큼의 인스턴스를 생성하고, 분리된 문자열의 값을 상기 제어 유형의 데이터의 값으로 지정하는 것을 특징으로 비즈니스 프로세스 관리 시스템.
KR1020080066740A 2008-07-09 2008-07-09 비즈니스 프로세스 관리 시스템 및 방법 KR20100006494A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066740A KR20100006494A (ko) 2008-07-09 2008-07-09 비즈니스 프로세스 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066740A KR20100006494A (ko) 2008-07-09 2008-07-09 비즈니스 프로세스 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20100006494A true KR20100006494A (ko) 2010-01-19

Family

ID=41815657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066740A KR20100006494A (ko) 2008-07-09 2008-07-09 비즈니스 프로세스 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20100006494A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127701B1 (ko) * 2010-04-13 2012-03-22 한국과학기술원 비즈니스 프로세스로부터 사용자 맞춤형 웹 서비스를 생성하는 시스템 및 방법
KR101310420B1 (ko) * 2011-05-06 2013-09-24 한양대학교 산학협력단 사용자가 정의 가능한 업무 절차 기반 도시 계획 관리 시스템 및 이를 위한 기록매체
KR20180065416A (ko) * 2016-12-07 2018-06-18 (주)에스피파트너스 빅데이터 분석 프로세스 모델링을 위한 인터페이스 장치
CN110912724A (zh) * 2018-09-18 2020-03-24 亿阳信通股份有限公司 一种基于参数驱动的自动业务编排方法及装置
CN112418720A (zh) * 2020-12-08 2021-02-26 中国建设银行股份有限公司 业务与流程引擎映射的管理方法、装置、电子设备及介质
CN115169891B (zh) * 2022-07-07 2024-04-19 北京有生博大软件股份有限公司 一种包含多起点多分支流程的工作流引擎的实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127701B1 (ko) * 2010-04-13 2012-03-22 한국과학기술원 비즈니스 프로세스로부터 사용자 맞춤형 웹 서비스를 생성하는 시스템 및 방법
KR101310420B1 (ko) * 2011-05-06 2013-09-24 한양대학교 산학협력단 사용자가 정의 가능한 업무 절차 기반 도시 계획 관리 시스템 및 이를 위한 기록매체
KR20180065416A (ko) * 2016-12-07 2018-06-18 (주)에스피파트너스 빅데이터 분석 프로세스 모델링을 위한 인터페이스 장치
CN110912724A (zh) * 2018-09-18 2020-03-24 亿阳信通股份有限公司 一种基于参数驱动的自动业务编排方法及装置
CN110912724B (zh) * 2018-09-18 2023-03-10 亿阳信通股份有限公司 一种基于参数驱动的自动业务编排方法及装置
CN112418720A (zh) * 2020-12-08 2021-02-26 中国建设银行股份有限公司 业务与流程引擎映射的管理方法、装置、电子设备及介质
CN115169891B (zh) * 2022-07-07 2024-04-19 北京有生博大软件股份有限公司 一种包含多起点多分支流程的工作流引擎的实现方法

Similar Documents

Publication Publication Date Title
US11961022B2 (en) Task based organizational management system and control method
US9773216B2 (en) Workflow sharing
Carminati et al. Security conscious web service composition
JP4599364B2 (ja) 自動化されたワークフローサービスシステム
US7543292B2 (en) Method and computer system for workflow control
US9858043B2 (en) Service-oriented process configuration systems and/or methods
KR20100006494A (ko) 비즈니스 프로세스 관리 시스템 및 방법
US8141160B2 (en) Mitigating and managing privacy risks using planning
US20150066572A1 (en) Identity and access management
JP2002517826A (ja) エンタープライズ内または間におけるコラボレーション管理システム及び管理方法
EP2745209A2 (en) Integrated asset tracking, task manager, and virtual container for data center management
JP2002517825A (ja) ワークフロー通信
JP2002517827A (ja) オブジェクト・ワークスペースを創作するためのシステムおよび方法
JPS63239552A (ja) データ処理を複数の制御位置にわたって分散させるための装置
JP2002517828A (ja) 意思決定支援環境でオブジェクト・ワークスペース・エージェントを実行するためのシステムおよび方法
CN103095574A (zh) 网络系统的管理方法、网络系统以及管理服务器
Rinderle et al. A formal framework for adaptive access control models
US20030225607A1 (en) Commoditized information management system providing role aware, extended relationship, distributed workflows
Verheecke et al. Aspect-oriented programming for dynamic web service monitoring and selection
US20030225839A1 (en) Knowledge router
Nikoo et al. A survey on service composition languages
JP5426578B2 (ja) コードレスプロビジョニング
Atluri et al. Chinese wall security for decentralized workflow management systems
US11582138B2 (en) Configurable system for resolving requests received from multiple client devices in a network system
CN111754203B (zh) 一种基于工作流的任务候选人处理方法、系统及存储介质

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination