KR102261064B1 - workflow based business process processing system - Google Patents

workflow based business process processing system Download PDF

Info

Publication number
KR102261064B1
KR102261064B1 KR1020190076149A KR20190076149A KR102261064B1 KR 102261064 B1 KR102261064 B1 KR 102261064B1 KR 1020190076149 A KR1020190076149 A KR 1020190076149A KR 20190076149 A KR20190076149 A KR 20190076149A KR 102261064 B1 KR102261064 B1 KR 102261064B1
Authority
KR
South Korea
Prior art keywords
state information
workflow
flow element
execution control
flow
Prior art date
Application number
KR1020190076149A
Other languages
Korean (ko)
Other versions
KR20210000891A (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 KR1020190076149A priority Critical patent/KR102261064B1/en
Publication of KR20210000891A publication Critical patent/KR20210000891A/en
Application granted granted Critical
Publication of KR102261064B1 publication Critical patent/KR102261064B1/en

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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • 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/067Enterprise or organisation modelling

Landscapes

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

Abstract

업무 프로세스 관리(BPM : Business Process Management)를 이용하는 워크플로우 기반의 업무자동화 시스템이 개시된다. 구조화된 워크플로우 모델을 기초로 플로우 요소에 부착된 이벤트의 트리거 조건을 상태 정보로 계산하여 프로세스의 진행이 제어된다. 워크플로우 모델의 플로우 요소 중 저장점이 정의된다. 프로세스가 시작되면, 각 저장점마다 상태 정보가 저장된다. 특정한 저장점으로 되돌리기(rollback) 지시가 입력되면, 그 프로세스의 상태정보는 그 저장점에서 저장된 상태 정보로 변경된다.A workflow-based business automation system using business process management (BPM) is disclosed. Based on the structured workflow model, the process progress is controlled by calculating the trigger condition of the event attached to the flow element as state information. A save point is defined among the flow elements of the workflow model. When the process starts, state information is saved for each savepoint. When a rollback instruction is input to a specific save point, the state information of the process is changed to the state information saved at that save point.

Description

워크플로우 기반의 업무자동화 시스템{workflow based business process processing system}Workflow-based business automation system {workflow based business process processing system}

컴퓨팅 기술, 특히 업무 처리를 자동화하는 컴퓨팅 기술이 개시된다. Disclosed are computing technologies, particularly those for automating business processes.

업무 프로세스 관리(BPM : Business Process Management) 기술이 기업의 업무 처리 시스템에 도입되면서 기업은 BPM에 기초한 경영을 통해 업무 효율의 향상을 도모하고 있다. BPM 기술은 기업의 업무 프로세스를 구조화된 워크플로우로 모델링한다. 이 구조화된 워크플로우 모델의 요소(element)에는 프로세스의 참가자(participants)를 나타내는 스윔레인 객체(swimlane objects), 상호간에 연결되어 업무 워크플로우를 구성하는 플로우 요소(flow elements), 그리고 이들을 연결하는 연결 객체(connecting object), 그리고 업무 프로세스를 실행할 때 필요하거나 그 결과로 생성되는 데이터를 포함한다. As BPM (Business Process Management) technology has been introduced into corporate business processing systems, companies are seeking to improve business efficiency through BPM-based management. BPM technology models the business process of an enterprise as a structured workflow. The elements of this structured workflow model include swimlane objects that represent participants in a process, flow elements that are interconnected to form a business workflow, and connections that connect them. It includes connecting objects and data required or generated as a result of executing business processes.

스윔레인 객체는 풀(pools)과 레인(lanes)이 있다. 풀에는 해당 참가자에 의해 처리되는 플로우 요소들로 구성되는 워크플로우가 존재한다. 풀이 조직을 나타낼 때 레인은 그 풀에 포함되어 하부 조직을 표시할 수 있다. A swimlane object has pools and lanes. In a pool, there is a workflow that consists of flow elements that are processed by that participant. When a pool represents a tissue, lanes may be included in that pool to represent sub-organisms.

플로우 요소에는 활동(activity), 이벤트 및 게이트웨이 등이 있다. 활동(activity) 요소에는 더 이상 가분되지 않는 기본이 되는 업무를 정의하는 타스크(task)와, 복수의 타스크로 쪼개어 질 수 있는 서브-프로세스(sub-process)가 있다. 이벤트는 트리거(trigger)라고 불리는 실행 조건을 포함하며 활동이나 게이트웨이에 부착될 수 있다. 게이트웨이는 업무 프로세스 모델링에서 분기나 집중을 표현한다. Flow elements include activities, events, and gateways. The activity element includes a task that defines a basic task that is no longer indivisible, and a sub-process that can be divided into a plurality of tasks. Events contain execution conditions called triggers and can be attached to activities or gateways. A gateway represents a branch or focus in business process modeling.

연결 객체에는 시퀀스 플로우(sequence flow)와 메시지 플로우(message flow)가 있다. 시퀀스 플로우는 플로우 요소들을 연결한다. 메시지 플로우는 풀(pool)간의 통신을 표시한다. 이외에 연결 객체에 속성 연결(association)이 있다. A connection object has a sequence flow and a message flow. A sequence flow connects flow elements. Message flows represent communication between pools. In addition, there is an attribute association in the connection object.

이러한 워크플로우 모델에 기반하여 업무를 처리할 때 프로세스는 시간의 흐름에 따라 진행된다. 하지만 실제의 업무 프로세스에서는 업무를 진행하다 특정 과거 시점으로 되돌아가야 하는 경우가 발생한다. 기업의 다양한 업무 특성상 모든 프로세스가 사전에 정의된 절차에 의해서만 진행되기 어렵고, 다양한 예외 상황이 발생할 수 있다. 워크플로우 모델에 기반하여 이러한 상황을 처리하기 위해 보상(Compensation)과 취소(Cancelation) 기법을 사용할 수 있다. 보상은 발생된 문제를 다른 방법을 동원하여 보완하는 것이다. 예를 들어 오류가 발생하면 해당 오류를 기록하고 나중에 재처리 할 수 있는 방법을 제공할 수 있다. 취소는 해당 작업을 무시하고 없던 것으로 처리하는 방법이다. When processing a task based on this workflow model, the process progresses according to the passage of time. However, in the actual work process, there are cases where it is necessary to go back to a specific past point in the process of work. Due to the nature of a company's diverse business, it is difficult for all processes to proceed only according to a predefined procedure, and various exceptions may occur. Compensation and cancellation techniques can be used to handle this situation based on the workflow model. Compensation is to compensate for the problems that have arisen by mobilizing other methods. For example, if an error occurs, you can log that error and provide a way to reprocess it later. Cancel is a method of ignoring the corresponding operation and processing it as if it did not exist.

그러나 이러한 방식은 모두 원래 프로세스에 변경을 가하게 되어 특정시점으로 완벽하게 되돌아(Rollback) 갈 수 없다. However, in all of these methods, changes are made to the original process, so it is impossible to completely roll back to a specific point in time.

또 다른 방법으로 해당 프로세스를 완전히 종료하고 새로운 사본 프로세스를 생성하여 되돌리고자 하는 시점까지 처음부터 동일한 과정을 강제로 진행되도록 조작하는 방법도 생각해볼 수 있다. 이러한 방식은 원본 프로세스와 사본 프로세스의 일관성 손실, 작업처리 로그와 각종 업무상태(Business State)가 변조되는 등의 문제점이 발생한다.Another way is to completely terminate the process, create a new copy process, and force the same process to proceed from the beginning until the point where you want to go back. In this method, there are problems such as loss of consistency between the original process and the copy process, and falsification of work processing logs and various business states.

제안된 발명은 워크플로우 모델 기반의 업무 자동화 시스템에서 사전에 정의되지 않은 예외 상황이 발생하는 경우 이를 해결하는 한 기법을 제안하는 것을 목적으로 한다. The purpose of the proposed invention is to propose a technique for solving an exception that is not defined in advance in a workflow model-based work automation system.

나아가 제안된 발명은 업무 처리에 시간과 비용의 중복 투입을 회피하면서 발생한 예외 상황을 처리하는 것을 또 다른 목적으로 한다. Furthermore, the proposed invention has another object to handle exceptional situations that occur while avoiding redundant input of time and cost in business processing.

나아가 제안된 발명은 타 시스템과의 인터페이스에 모순이나 장애를 유발하지 않고 발생한 예외 상황을 처리하는 것을 또 다른 목적으로 한다.Furthermore, the proposed invention has another purpose to handle the exception that occurred without causing contradiction or failure in the interface with other systems.

일 양상에 따르면, 구조화된 워크플로우 모델을 기초로 플로우 요소에 부착된 이벤트의 트리거 조건을 상태 정보로 계산하여 프로세스의 진행이 제어된다. 워크플로우 모델의 플로우 요소 중 저장점이 정의된다. 프로세스가 시작되면, 각 저장점마다 상태 정보가 저장된다. 특정한 저장점으로 되돌리기(rollback) 지시가 입력되면, 그 프로세스의 상태정보는 그 저장점에서 저장된 상태 정보로 변경된다. According to an aspect, the progress of a process is controlled by calculating a trigger condition of an event attached to a flow element as state information based on a structured workflow model. A save point is defined among the flow elements of the workflow model. When the process starts, state information is saved for each savepoint. When a rollback instruction is input to a specific save point, the state information of the process is changed to the state information saved at that save point.

추가적인 양상에 따르면, 저장점은 플로우 요소(flow element) 중 활동(activity)과 게이트웨이(gateway)를 포함할 수 있다. 나아가, 상태 정보는 프로세스 메타 정보, 활동 메타 정보, 게이트웨이 메타 정보를 포함할 수 있다. According to a further aspect, the storage point may include an activity among flow elements and a gateway. Furthermore, the state information may include process meta information, activity meta information, and gateway meta information.

추가적인 양상에 따르면, 해당 프로세스의 종료 후에 그 프로세스에서 저장된 상태 정보는 삭제될 수 있다.According to a further aspect, the state information stored in the process may be deleted after the process is terminated.

제안된 발명에 따라 프로세스의 진행 중에 특정 시점으로의 되돌리기가 쉽게 가능해짐에 따라, 워크플로우 모델 기반의 업무 자동화 시스템에서 적용 가능한 업무의 범위가 확대될 수 있다. According to the proposed invention, as it is easily possible to return to a specific point in time during the progress of the process, the range of applicable tasks in the workflow model-based task automation system can be expanded.

도 1은 일 실시예에 따른 업무자동화 시스템의 구성을 도시한 블록도이다.
도 2는 제안된 발명을 설명하기 위한 예시적인 업무 프로세스 모델링을 도시한다.
도 3은 일 실시예에 따른 워크플로우 기반의 업무 처리 방법의 구성을 도시한 흐름도이다.
1 is a block diagram illustrating the configuration of a work automation system according to an embodiment.
2 shows an exemplary business process modeling for explaining the proposed invention.
3 is a flowchart illustrating a configuration of a workflow-based work processing method according to an embodiment.

전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시예들을 통해 구체화된다. 각 실시예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 다양한 조합이 가능한 것으로 이해된다. 이하에서는 이러한 양상들을 첨부된 도면을 참조하여 설명하는 실시예들을 통하여 상세히 설명한다. The foregoing and additional aspects are embodied through the embodiments described with reference to the accompanying drawings. It is understood that various combinations of elements of each of the embodiments are possible as long as there is no contradiction between them or other references. Hereinafter, these aspects will be described in detail through embodiments described with reference to the accompanying drawings.

도 1은 일 실시예에 따른 업무자동화 시스템의 구성을 도시한 블록도이다. 도시된 업무자동화 시스템은 컴퓨터 및 그 컴퓨터에서 실행되는 프로그램으로 구현될 수 있다. 업무자동화 시스템은 연관된 기능으로 나누어 복수의 컴퓨터로 구현될 수 있다. 또 기능별로 나누어 복수의 프로그램으로 구현될 수 있다. 1 is a block diagram illustrating the configuration of a work automation system according to an embodiment. The illustrated business automation system may be implemented as a computer and a program running on the computer. The work automation system can be implemented by a plurality of computers by dividing the related functions. In addition, it can be implemented as a plurality of programs divided by function.

도시된 바와 같이, 일 실시예에 따른 업무자동화 시스템은 워크플로우 모델링 데이터베이스(120)와, 관리자 인터페이스(70)와, 프로세스 실행 제어부(110)를 포함한다. 도면에서 각각의 블록들은 컴퓨터 프로그램의 기능적인 단위일 수 있다. 각각의 블록들이 프로그램의 하나의 서브루틴(Subroutine)으로 작성될 수도 있고, 복수의 서브루틴이나 다수의 프로그램 모듈로 구현될 수도 있다. As shown, the work automation system according to an embodiment includes a workflow modeling database 120 , a manager interface 70 , and a process execution control unit 110 . Each block in the drawing may be a functional unit of a computer program. Each block may be written as one subroutine of a program, or may be implemented with a plurality of subroutines or a plurality of program modules.

워크플로우 모델링 데이터베이스(120)는 구조화된 워크플로우 모델(workflow model)을 관리한다. 관리자 인터페이스(70)는 관리자에게 시스템의 정보를 제공하고, 지시를 입력 받는다. 관리자 인터페이스(70)는 디스플레이 화면에 업무자동화 시스템의 출력 양식을 통해 진행 중인 시스템의 산출 결과 등 정보를 제공하고, 입력 장치를 통해 관리자로부터의 조작 지시를 입력 받는다. The workflow modeling database 120 manages a structured workflow model. The manager interface 70 provides system information to the manager and receives instructions. The manager interface 70 provides information such as a calculation result of an ongoing system through an output form of the work automation system on the display screen, and receives an operation instruction from the manager through an input device.

프로세스 실행 제어부(110)는 워크플로우 모델링 데이터베이스를 참조하여 플로우 요소(flow element)에 부착된 이벤트(event)의 트리거(trigger) 조건을 상태 정보로 계산하여 프로세스의 진행을 제어한다. 프로세스 실행 제어부는 특정한 프로세스의 시작 이벤트(start event)의 트리거 조건(trigger condition)이 만족되면 해당 프로세스의 실행을 개시한다. 워크플로우 모델링 데이터베이스를 참조하여 해당 프로세스가 속한 스윔레인(swimlane)의 실행 주체가 결정되고, 스윔레인에 속한 플로우 요소들의 실행이 그 구조에 따라 진행된다. 각각의 활동(activity)이나 게이트웨이에 부착된 중간 이벤트(intermediate event)들이 체크되고, 상태 정보로 그 트리거 조건이 계산된다. 트리거 조건의 결과값에 따라 그 다음 실행될 플로우 요소가 결정된다. 이렇게 플로우 요소들의 실행이 제어되다 마지막 플로우 요소에서 그 부착된 종료 이벤트(end event)의 트리거 조건이 만족되면 프로세스가 종료된다. The process execution control unit 110 controls the progress of the process by calculating a trigger condition of an event attached to a flow element as state information with reference to a workflow modeling database. When a trigger condition of a start event of a specific process is satisfied, the process execution control unit starts execution of the corresponding process. The execution subject of the swimlane to which the process belongs is determined by referring to the workflow modeling database, and the execution of the flow elements belonging to the swimlane proceeds according to the structure. Each activity or intermediate event attached to the gateway is checked, and the trigger condition is calculated with the status information. The flow element to be executed next is determined according to the result of the trigger condition. In this way, the execution of the flow elements is controlled. When the trigger condition of the attached end event is satisfied in the last flow element, the process is terminated.

플로우 요소 중 활동(activity)을 처리하기 위해, 프로세스 실행 제어부(110)는 업무 처리부(30)와 연동될 수 있다. 업무 처리부(30)는 활동(activity)에 대응되는 업무를 처리하는 업무 처리 시스템으로, 제안된 발명의 일부일 수도 있고, 외부의 시스템일 수도 있다. 업무 처리부(30)는 해당 활동의 처리 결과 생성된 문서 등 결과물을 업무 데이터베이스(50)에 저장한다. In order to process an activity among flow elements, the process execution control unit 110 may be linked with the business processing unit 30 . The business processing unit 30 is a business processing system for processing a business corresponding to an activity, and may be a part of the proposed invention or an external system. The business processing unit 30 stores results such as documents generated as a result of processing the corresponding activity in the business database 50 .

업무자동화 시스템은 워크플로우 편집부(170)를 더 포함할 수 있다. 워크플로우 편집부(170)는 관리자 인터페이스(70)를 통해 워크플로우 모델링 데이터베이스(120)에 저장된 기존의 워크플로우를 수정하거나, 새로운 워크플로우를 생성하도록 지원한다. BPM(Business Process Model) 기반으로 워크플로우를 그리도록 지원하는 상용화된 툴들이 알려져 있다. The work automation system may further include a workflow editing unit 170 . The workflow editing unit 170 supports to modify an existing workflow stored in the workflow modeling database 120 through the manager interface 70 or to create a new workflow. Commercially available tools that support drawing a workflow based on BPM (Business Process Model) are known.

일 양상에 따르면, 일 실시예에 따른 업무자동화 시스템은 상태 백업부(130)와, 되돌리기 처리부(150)를 더 포함할 수 있다. 상태 백업부(130)는 프로세스 실행 제어부(110)가 진행을 제어하는 플로우 요소의 각각의 저장점(save point)마다 상태 정보를 프로세스별로 저장한다. 도시된 실시예에서, 상태 정보는 영구 메모리인 상태 백업 메모리(140)에 저장된다. 상태 백업 메모리(140)에는 실행 중인 복수의 프로세스의 상태 정보가 저장되어 나간다. 저장점은 상태 백업부(130)가 프로세스의 진행 제어에 필요한 정보를 백업하는 플로우 요소를 의미한다. According to an aspect, the work automation system according to an embodiment may further include a state backup unit 130 and a revert processing unit 150 . The state backup unit 130 stores state information for each process at each save point of the flow element for which the process execution control unit 110 controls the progress. In the illustrated embodiment, state information is stored in state backup memory 140, which is a permanent memory. State information of a plurality of processes being executed is stored in the state backup memory 140 . The save point refers to a flow element in which the state backup unit 130 backs up information necessary for process progress control.

또 다른 양상에 따르면, 저장점은 플로우 요소 중 활동(activity)과, 게이트웨이(gateway)를 포함할 수 있다. 활동은 완전히 수행되거나 아니면 전혀 수행되지 않는 최소 단위(원소, atomic)의 활동을 의미한다. 게이트웨이(Gateway)는 프로세스의 다양한 대체흐름이나 동시흐름을 표시하며 프로세스가 분할되거나 분할된 흐름이 다시 병합되는 것을 통제한다. 이러한 플로우 요소들은 그 플로우 요소에 부착된 이벤트의 트리거 조건을 계산하여 그 다음 진행할 플로우 요소를 결정한다. According to another aspect, the storage point may include an activity among flow elements and a gateway. An activity refers to an activity of the smallest unit (atomic) that is either fully performed or not performed at all. A gateway indicates various alternate flows or simultaneous flows of a process, and controls the division of processes or the re-merging of divided flows. These flow elements determine the next flow element to proceed by calculating the trigger condition of the event attached to that flow element.

상태 정보는 이러한 트리거 조건의 입력이다. 저장점(Save Point)이 지정된 곳에서는 해당 활동이 실행되는 순간의 프로세스의 상태 정보를 마치 스냅샷(Snapshot)을 찍듯이 발췌하여 영구기록장치에 기록하게 된다. 저장되는 상태 정보는 해당 저장점에서 다시 프로세스가 진행될 때 다른 부가적인 정보 없이도 진행이 가능하도록 필요한 모든 상태 정보를 기록한다. 여기서 업무 처리부(30)가 관리하는 업무 결과물들, 즉 업무 프로세스 모델링에서 업무 데이터라고 부르는 것들과, 상태 정보는 명확히 구별되어야 한다. 업무 데이터는 업무 처리의 결과물로 생성된 문서나 양식 등을 의미하며 업무 처리부(30)의 산출물이고, 상태 정보는 프로세스 실행 제어부(110)가 특정한 프로세스의 실행을 제어하기 위해 임시로 유지하는 정보로, 일반적으로는 프로세스가 진행되면 매 활동마다 생성되었다가 그 다음 활동으로 넘어갈 때 삭제되는 임시적인 정보이다. State information is the input of these trigger conditions. In the place where the save point is designated, the state information of the process at the moment the relevant activity is executed is extracted as if taking a snapshot and recorded in the permanent recording device. The stored state information records all necessary state information to enable the process to proceed without any additional information when the process proceeds again at the corresponding save point. Here, the business results managed by the business processing unit 30, that is, those called business data in business process modeling, and state information should be clearly distinguished. The business data means a document or form generated as a result of business processing, and is a product of the business processing unit 30, and the status information is information temporarily maintained by the process execution control unit 110 to control the execution of a specific process. In general, it is temporary information that is created for every activity as the process progresses, and then deleted when moving on to the next activity.

추가적인 양상에 따르면, 상태 정보는 프로세스 메타 정보, 게이트웨이 메타 정보를 포함할 수 있다. 프로세스 메타 정보는 프로세스 식별자(ID), 프로세스 시작일을 비롯한 각종 타임스탬프, 활동(Activity) 내부 변수 값 등을 포함할 수 있다. 게이트웨이 메타 정보는 게이트웨이 식별자(ID), 호출되는 활동(Action) 정보, 분기의 트리거 조건과 입력값 등을 포함할 수 있다. According to a further aspect, the state information may include process meta information and gateway meta information. The process meta information may include a process identifier (ID), various timestamps including a process start date, and an activity internal variable value. The gateway meta information may include a gateway identifier (ID), called action information, branch trigger conditions and input values, and the like.

되돌리기 처리부(150)는 관리자 인터페이스(70)로부터의 지시에 응답하여, 프로세스 실행 제어부(110)의 상태 정보를 되돌리기(rollback) 지시된 저장점에서 저장된 상태 정보로 변경한다. 이때, 프로세스를 되돌리는 동안 프로세스가 진행되면 프로세스 상태 데이터의 정합성이 손상될 수 있으므로 프로세스를 잠금(lock)한 상태에서 진행한다. 프로세스를 되돌리는 동안 프로세스 실행 제어부(110)는 프로세스를 진행할 수 없게 된다. 되돌리기 처리가 완료되고, 프로세스 실행 제어부(110)는 지시된 저장점에서 부터 다시 프로세스가 진행되도록 제어하게 된다. 되돌리기(Rollback) 처리 시 저장된 상태 정보를 이용하여 저장된 상태 그대로 되돌리게 된다. 저장점 이전에 처리된 활동들의 업무 결과물은 업무 데이터베이스(50)에 남아 있고, 프로세스의 연속성이 보장된다. In response to an instruction from the manager interface 70 , the rollback processing unit 150 changes the state information of the process execution controller 110 to the state information stored in the rollback instruction storage point. At this time, if the process proceeds while reverting the process, the integrity of the process state data may be damaged, so the process is performed in a locked state. While reverting the process, the process execution control unit 110 is unable to proceed with the process. The undo process is completed, and the process execution control unit 110 controls the process to proceed again from the indicated storage point. In the rollback process, the stored state information is used to return the stored state as it is. The work results of the activities processed before the save point remain in the work database 50, and the continuity of the process is ensured.

일 실시예에서, 저장점 이후의 활동들로 이전에 진행되었던 것들의 로그나 그 활동들을 업무 처리부(30)가 처리하여 생성된 업무 결과물들은 삭제될 수 있다. 또 다른 실시예에서, 저장점 이후의 활동들로 이전에 진행되었던 것들의 로그나 그 활동들을 업무 처리부(30)가 처리하여 생성된 업무 결과물들이 그대로 유지될 수 있다. 이 경우 프로세스 정보는 저장점 이후의 활동들에 대해 이전에 진행되었던 것과 그 다음 진행되었던 것에 대해 상이한 식별자로 관리할 수 있다. 또 다른 실시예에서, 저장점 이후의 활동들로 이전에 진행되었던 것들의 로그는 삭제되고, 그 활동들을 업무 처리부(30)가 처리하여 생성된 업무 결과물들은 그대로 유지될 수 있다. 취소(abort)된 결과물들이 유지됨으로써, 향후 감사(audit)나 업무 점검에 활용할 수 있다. In an embodiment, the log of the ones that have been previously carried out as activities after the storage point or the business results generated by the business processing unit 30 processing the activities may be deleted. In another embodiment, the log of those previously performed as activities after the storage point or the business results generated by the business processing unit 30 processing the activities may be maintained as they are. In this case, the process information can be managed with different identifiers for the activities that have been performed since the save point and those that have progressed before. In another embodiment, the log of those previously performed as activities after the storage point may be deleted, and business results generated by processing the activities by the business processing unit 30 may be maintained. As the aborted results are maintained, they can be used for future audits or business inspections.

또 다른 양상에 따르면, 프로세스 실행 제어부(110)는 해당 프로세스의 종료 후에 그 프로세스에서 저장된 상태 정보를 삭제할 수 있다. 프로세스의 종료 후에도 그 프로세스에서 저장된 상태 정보를 삭제하지 않는다면, 완전히 종료된 프로세스를 다시 진행 상태로 되돌릴 수 있게 된다. 대개의 업무에서 이러한 경우는 바람직하지 않으므로 업무 상황을 고려하여 프로세스의 종료 후에는 그 프로세스에서 저장된 상태 정보를 삭제할 수 있다. According to another aspect, the process execution control unit 110 may delete the stored state information in the process after the end of the process. If the state information stored in the process is not deleted even after the process is terminated, the completely terminated process can be returned to the in-progress state. Since this is not desirable in most business situations, the state information stored in the process may be deleted after the process is terminated in consideration of the business situation.

도 2는 제안된 발명을 설명하기 위한 예시적인 업무 프로세스 모델링을 도시한다. 도시된 업무 프로세스는 주문접수 및 배송을 처리하는 상품판매 업무 프로세스이다. 주문이 접수되면(211), 재고 체크 활동(213)이 실행되고, 재고가 있으면 배송 활동(235)이 실행된 후 결제처리 활동(270)이 실행된다. 재고가 없으면 원인체크 활동(250)이 실행되어 배송불가인 경우에는 고객 통지 활동(263)이 실행된 후 카타로그에서 해당 상품을 삭제하는 카타로그에서 삭제 활동(265)이 실행되고, 지연배송이 가능한 경우에는 고객 통지 활동(261)이 실행된다. 2 shows an exemplary business process modeling for explaining the proposed invention. The illustrated business process is a product sales business process that handles order reception and delivery. When an order is received (211), an inventory check activity (213) is executed, if in stock, a shipping activity (235) is executed, followed by a payment processing activity (270). If there is no stock, if the cause check activity 250 is executed and delivery is not possible, the customer notification activity 263 is executed and then the deletion activity 265 is executed from the catalog to delete the product from the catalog, and delayed delivery is possible A customer notification activity 261 is executed.

여기서 주문접수(211)는 메시지 트리거로 시작되는 시작 이벤트를 나타낸다. 또 재고 체크(213), 배송(235), 결제 처리(270), 원인 체크(250), 통지(261), 통지(263), 카탈로그에서 삭제(265)는 모두 활동들이다. 또 재고여부판단(230)은 게이트웨이를 나타낸다. 활동들과 게이트웨이를 연결하는 화살표들은 모두 연결 객체(connecting object)들이다. 또 원인 체크 활동(250)에 부착(attach)되어 있는 것들은 배송불가 이벤트(251)와 지연배송 이벤트(253)이다. Here, the order reception 211 indicates a start event that starts with a message trigger. Also, inventory check 213 , shipping 235 , payment processing 270 , cause check 250 , notification 261 , notification 263 , and delete from catalog 265 are all activities. In addition, the stock determination 230 indicates a gateway. Arrows connecting activities and gateways are all connecting objects. Also attached to the cause check activity 250 are the non-delivery event 251 and the delayed delivery event 253 .

도 1에서 프로세스 실행 제어부(110)는 주문 메시지가 접수되어 시작 이벤트가 발생하면 주문접수 이벤트(211)로부터 시작하여 연결 객체를 따라 각각의 플로우 요소들을 실행한다. 활동들에 관련된 자동화 툴들이 업무 처리부(30)로 요청되어 해당 실행주체(participants)들에게 제공되고 그 프로세스의 활동이 진행된다. 이때 상태 백업부(130)는 각각의 플로우 요소들 중 저장점에서 상태 정보를 저장한다. 도시된 실시예에서는 재고 체크(213), 배송(235), 결제 처리(270), 원인 체크(250), 통지(261), 통지(263), 카탈로그에서 삭제(265) 활동들과 재고여부판단(230) 게이트웨이가 저장점이 될 수 있다. 예를 들어 게이트웨이(230)에서는 현재 업무의 프로세스에서 재고 체크 활동(213) 결과 트리거 조건의 입력과, 트리거 조건의 결과값마다 실행될 활동들의 식별자를 저장할 수 있다. In FIG. 1 , when an order message is received and a start event occurs, the process execution control unit 110 starts from the order reception event 211 and executes each flow element along the connection object. Automation tools related to the activities are requested to the task processing unit 30 and provided to the corresponding participants (participants), and the activity of the process is performed. At this time, the state backup unit 130 stores state information at a storage point among the respective flow elements. In the illustrated embodiment, inventory check (213), delivery (235), payment processing (270), cause check (250), notification (261), notification (263), delete from catalog (265) activities and stock determination (230) A gateway may be a save point. For example, the gateway 230 may store the input of the inventory check activity 213 result trigger condition in the current business process, and identifiers of activities to be executed for each result value of the trigger condition.

예를 들어 프로세스가 진행될 때 주문 접수된 상품이 품절되어 원인 체크활동(250)에서 지연배송 이벤트(253)가 실행되어 통지 활동(261)이 처리되는 단계에서, 품절되었던 상품의 재고가 다시 회복된 경우에, 해당 상품을 지연배송 처리하는 나머지 통지 활동(261)을 계속할 수도 있지만 재고 체크 활동(213)으로 되돌려 처리하라고 지시가 올 수도 있다. 이 경우에 주문 접수 이벤트가 다시 있을 수는 없으므로 되돌리기 처리부(1500는 재고 체크 활동(213)으로 되돌리기 처리를 실행하여 프로세스는 그곳에서부터 다시 진행되게 된다. For example, when the process is in progress, the product that has been ordered is out of stock, and the delayed delivery event 253 is executed in the cause check activity 250 and the notification activity 261 is processed. In this case, the remaining notification activity 261 of processing the product delayed may be continued, but an instruction to return to the inventory check activity 213 may be given. In this case, the order receipt event cannot happen again, so the revert processing unit 1500 executes the revert process to the inventory check activity 213 so that the process proceeds again from there.

도 3은 일 실시예에 따른 워크플로우 기반의 업무 처리 방법의 구성을 도시한 흐름도이다. 도시된 바와 같이, 일 양상에 따른 워크플로우 기반의 업무 처리 방법은 플로우 요소 실행 제어 단계(310)와, 상태 정보 저장 단계(320)와, 되돌리기 지시 입력 단계(330)와, 그리고 되돌리기 처리 단계(350)를 포함한다. 플로우 요소 실행 제어 단계(310)에서 컴퓨팅 장치는 워크플로우 모델링 데이터베이스를 참조하여 플로우 요소(flow element)에 부착된 이벤트(event)에 상태 정보를 입력하여 트리거(trigger) 조건을 계산하고 그 다음 실행할 플로우 요소를 결정한다. 여기서 상태 정보는 프로세스 메타 정보, 게이트웨이 메타 정보를 포함할 수 있다. 3 is a flowchart illustrating a configuration of a workflow-based work processing method according to an embodiment. As shown, the workflow-based business processing method according to an aspect includes a flow element execution control step 310, a state information storage step 320, a revert instruction input step 330, and a revert processing step ( 350). In the flow element execution control step 310, the computing device refers to the workflow modeling database and inputs state information to an event attached to the flow element to calculate a trigger condition, and then the flow to be executed. determine the elements. Here, the status information may include process meta information and gateway meta information.

상태 정보 저장 단계(320)에서 컴퓨팅 장치는 현재의 상태 정보를 해당 프로세스의 해당 플로우 요소에 관련지어 영구 메모리에 저장한다. 추가적인 양상에 따라, 저장점은 플로우 요소 중 활동(activity)과, 게이트웨이(gateway)를 포함할 수 있다. 되돌리기 지시 입력 단계(330)에서 컴퓨팅 장치는 관리자 인터페이스로부터 저장점으로의 되돌리기 지시가 입력되는지 체크한다. 되돌리기 지시가 입력되면, 되돌리기 처리 단계(350)에서 컴퓨팅 장치는 해당 저장점에서 저장된 상태 정보를 영구 메모리에서 읽어 들여 현재의 상태 정보로 로딩한다. 이후에, 플로우 요소 실행 제어 단계(310)로 돌아간다. In the state information storage step 320, the computing device stores the current state information in the permanent memory in association with the corresponding flow element of the corresponding process. According to a further aspect, the storage point may include an activity among flow elements and a gateway. In step 330 of inputting the reverting instruction, the computing device checks whether a reverting instruction from the administrator interface to the storage point is input. When the undo instruction is input, the computing device reads the state information stored in the corresponding storage point from the permanent memory and loads it as the current state information in the undo processing step 350 . After that, it returns to the flow element execution control step 310 .

되돌리기 지시가 입력되지 않았으면, 컴퓨팅 장치는 프로세스가 종료되었는지, 즉 종료 이벤트가 발생하였는지 체크한다(370). 프로세스가 종료되지 않았으면 다음 플로우 요소를 실행하기 위해 플로우 요소 실행 제어 단계(310)로 되돌아간다. 단계들(310,320,330,350)의 처리 내용은 도 1을 참조하여 설명하였으므로 상세한 설명은 생략한다. If the revert instruction is not input, the computing device checks whether the process has ended, that is, an end event has occurred ( 370 ). If the process has not ended, it returns to the flow element execution control step 310 to execute the next flow element. Since the processing contents of steps 310 , 320 , 330 , and 350 have been described with reference to FIG. 1 , a detailed description thereof will be omitted.

추가적인 양상에 따라, 워크플로우 기반의 업무 처리 방법은 상태 정보 삭제 단계(390)를 더 포함할 수 있다. 단계(370)에서 프로세스가 종료되었으면, 상태 정보 삭제 단계(390)에서 컴퓨팅 장치는 그 프로세스에서 저장된 상태 정보를 삭제한다. According to an additional aspect, the workflow-based business processing method may further include a state information deletion step 390 . If the process is terminated in step 370, the computing device deletes the state information stored in the process in step 390 of deleting state information.

이상에서 본 발명을 첨부된 도면을 참조하는 실시예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형예들을 포괄하도록 의도되었다. Although the present invention has been described above with reference to the accompanying drawings, the present invention is not limited thereto, and it should be construed to encompass various modifications that can be apparent from those skilled in the art. The claims are intended to cover such modifications.

10 : 제어부 30 : 업무 처리부
50 : 업무 데이터베이스 70 : 관리자 인터페이스
110 : 프로세스 실행 제어부 120 : 워크플로우 모델링 데이터베이스
130 : 상태 백업부 140 : 상태 백업 데이터베이스(140)
150 : 되돌리기 처리부 170 : 워크플로우 편집부
10: control unit 30: business processing unit
50: business database 70: administrator interface
110: process execution control unit 120: workflow modeling database
130: state backup unit 140: state backup database 140
150: undo processing unit 170: workflow editing unit

Claims (8)

구조화된 워크플로우 모델(workflow model)을 관리하는 워크플로우 모델링 데이터베이스;
관리자에게 시스템의 정보를 제공하고, 지시를 입력 받는 관리자 인터페이스;
워크플로우 모델링 데이터베이스를 참조하여 플로우 요소(flow element)에 부착된 이벤트(event)의 트리거(trigger) 조건을 상태 정보로 계산하고 트리거 조건의 결과값에 따라 그 다음 실행될 플로우 요소를 결정하여 프로세스의 진행을 제어하는 프로세스 실행 제어부;
를 포함하는 업무 자동화 시스템에 있어서, 상기 시스템이 :
프로세스 실행 제어부가 진행을 제어하는 플로우 요소의 각각의 저장점(save point)마다 상태 정보를 프로세스별로 저장하는 상태 백업부와;
관리자 인터페이스로부터의 지시에 응답하여, 프로세스 실행 제어부의 상태 정보를 되돌리기(rollback) 지시된 저장점에서 저장된 상태 정보로 변경하는 되돌리기 처리부;
를 더 포함하는 워크플로우 기반의 업무자동화 시스템.
a workflow modeling database that manages a structured workflow model;
an administrator interface that provides system information to an administrator and receives instructions;
By referring to the workflow modeling database, the trigger condition of the event attached to the flow element is calculated as state information, and the flow element to be executed next is determined according to the result value of the trigger condition to proceed with the process. Process execution control unit to control;
A business automation system comprising:
a state backup unit for storing state information for each process at each save point of a flow element for which the process execution control unit controls progress;
a rollback processing unit that, in response to an instruction from the manager interface, changes the state information of the process execution control unit to the state information stored at the storage point instructed to roll back;
A workflow-based business automation system that further includes.
청구항 1에 있어서, 저장점은 플로우 요소 중 활동(activity)과, 게이트웨이(gateway)를 포함하는 워크플로우 기반의 업무자동화 시스템.
The system according to claim 1, wherein the storage point includes an activity among flow elements and a gateway.
제 2 항에 있어서, 상태 정보는 프로세스 메타 정보, 게이트웨이 메타 정보를 포함하는 워크플로우 기반의 업무자동화 시스템.
The system of claim 2, wherein the status information includes process meta information and gateway meta information.
제 1 항에 있어서, 프로세스 실행 제어부는 해당 프로세스의 종료 후에 그 프로세스에서 저장된 상태 정보를 삭제하는 워크플로우 기반의 업무자동화 시스템.The system of claim 1, wherein the process execution control unit deletes the state information stored in the process after the process is terminated. 적어도 하나의 컴퓨터에서 실행되는 프로그램 명령어들로 구현되는 워크플로우 기반의 업무 처리 방법에 있어서, 상기 방법이 :
워크플로우 모델링 데이터베이스를 참조하여 플로우 요소(flow element)에 부착된 이벤트(event)에 상태 정보를 입력하여 트리거(trigger) 조건을 계산하고 트리거 조건의 결과값에 따라 그 다음 실행할 플로우 요소를 결정하는 플로우 요소 실행 제어 단계;
현재의 상태 정보를 해당 프로세스의 해당 플로우 요소에 관련지어 영구 메모리에 저장하는 상태 정보 저장 단계;
관리자 인터페이스로부터 저장점으로의 되돌리기 지시를 입력 받는 되돌리기 지시 입력 단계;
해당 저장점에서 저장된 상태 정보를 영구 메모리에서 읽어 들여 현재의 상태 정보로 하여 플로우 요소 실행 제어 단계로 돌아가는 되돌리기 처리 단계;
를 포함하는 워크플로우 기반의 업무 처리 방법.
A workflow-based business processing method implemented with program instructions executed on at least one computer, the method comprising:
A flow that refers to a workflow modeling database and calculates a trigger condition by inputting status information to an event attached to a flow element, and determines the next flow element to be executed according to the result value of the trigger condition element execution control step;
a state information storage step of storing the current state information in a permanent memory in association with a corresponding flow element of the corresponding process;
a return instruction input step of receiving an instruction to return to the save point from the manager interface;
a reverting processing step of reading the state information stored in the storage point from the permanent memory and returning to the flow element execution control step as the current state information;
A workflow-based business processing method that includes.
청구항 5에 있어서, 저장점은 플로우 요소 중 활동(activity)과, 게이트웨이(gateway)를 포함하는 워크플로우 기반의 업무 처리 방법.
The method of claim 5 , wherein the storage point includes an activity among flow elements and a gateway.
청구항 6에 있어서, 상태 정보는 프로세스 메타 정보, 게이트웨이 메타 정보를 포함하는 워크플로우 기반의 업무 처리 방법.The method of claim 6 , wherein the status information includes process meta information and gateway meta information. 제 5 항에 있어서, 상기 방법이 :
해당 프로세스의 실행이 종료되면 그 프로세스에서 저장된 상태 정보를 삭제하는 상태 정보 삭제 단계;를 더 포함하는 워크플로우 기반의 업무 처리 방법.


6. The method of claim 5, wherein the method comprises:
When the execution of the corresponding process is terminated, a state information deletion step of deleting the state information stored in the process; a workflow-based business processing method further comprising a.


KR1020190076149A 2019-06-26 2019-06-26 workflow based business process processing system KR102261064B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190076149A KR102261064B1 (en) 2019-06-26 2019-06-26 workflow based business process processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190076149A KR102261064B1 (en) 2019-06-26 2019-06-26 workflow based business process processing system

Publications (2)

Publication Number Publication Date
KR20210000891A KR20210000891A (en) 2021-01-06
KR102261064B1 true KR102261064B1 (en) 2021-06-04

Family

ID=74128579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190076149A KR102261064B1 (en) 2019-06-26 2019-06-26 workflow based business process processing system

Country Status (1)

Country Link
KR (1) KR102261064B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221473A (en) * 2011-04-14 2012-11-12 Mitsubishi Electric Corp Process management device and process management method
US20140279919A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Hierarchical system manager rollback

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588685B1 (en) * 2013-05-03 2017-03-07 EMC IP Holding Company LLC Distributed workflow manager

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221473A (en) * 2011-04-14 2012-11-12 Mitsubishi Electric Corp Process management device and process management method
US20140279919A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Hierarchical system manager rollback

Also Published As

Publication number Publication date
KR20210000891A (en) 2021-01-06

Similar Documents

Publication Publication Date Title
US8265979B2 (en) Automatic generation of process models
EP2079020B1 (en) System amd method for automating ETL applications
CN111582827B (en) Approval process control method and system
Bussler et al. Implementing agent coordination for workflow management systems using active database systems
EP1913451B1 (en) Server-side project manager
JPH0683689A (en) Control system for long-time operating transaction and method for performing long-time operating transaction
JPH0683841A (en) Work flow management system and method
US9256850B2 (en) Orphan token management during in-flight process system migration
KR102261064B1 (en) workflow based business process processing system
Bond Systems analysis and business process mapping: a symbiosis
CN113254426B (en) CAD data distributed version control system based on branches and base lines
CA2747019A1 (en) Capturing and processing data generated in an erp interim phase
US20140278639A1 (en) System and method for interface management
CN113791977A (en) Code development processing method and device, electronic equipment and storage medium
US20060294006A1 (en) Business transaction process controller for composite transactions
EP1072993A2 (en) Method of processing the preceding work for workflow system
CN117093144B (en) Flexible storage method and system for BOM order
JP2008033815A (en) Project management device, method and program
Lomakin et al. Managing the process of re-engineering of information systems based on integrated monitoring of obsolescence
CN116011968A (en) Project review method and device, electronic equipment and storage medium
Banks-Grasedyck et al. Project Support Tools
CN113448978A (en) Method and device for guaranteeing data consistency in same-name image file replacement operation
Valverde et al. Traditional Data Oriented versus Process Oriented Reengineering of Legacy Systems
Brooks An approach to high availability in high-transaction-rate systems
Wolf Program Evaluation Review Technique

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant