KR20010110097A - 작업흐름-관리-시스템에서의 보관 방법 - Google Patents

작업흐름-관리-시스템에서의 보관 방법 Download PDF

Info

Publication number
KR20010110097A
KR20010110097A KR1020010025527A KR20010025527A KR20010110097A KR 20010110097 A KR20010110097 A KR 20010110097A KR 1020010025527 A KR1020010025527 A KR 1020010025527A KR 20010025527 A KR20010025527 A KR 20010025527A KR 20010110097 A KR20010110097 A KR 20010110097A
Authority
KR
South Korea
Prior art keywords
database
wfms
archive
process model
instances
Prior art date
Application number
KR1020010025527A
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 포만 제프리 엘
Publication of KR20010110097A publication Critical patent/KR20010110097A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 WFMS를 최적화하는 방법에 관한 것이다. 상기 방법은 적어도 하나의 컴퓨터 상에서 상기 WFMS에 의해 실행가능하며, 상기 WFMS는 적어도 하나의 프로세스 모델과 상기 프로세스 모델의 구체적 사례(프로세스 인스턴스)로 구성된 데이타베이스를 액세스한다. 이 방법은 데이타베이스의 객체를 보관 데이타베이스(archive database)로 전송하는 것을 제시한다(보관 기능). 이러한 전송은 양호하게는 선정된 이벤트가 발생하거나 이들 객체들이 WFMS에 의해 현재 사용중에 있지 않을 때 실행된다. 양호하게는 보관 데이타베이스로 전송될 객체는 프로세스 인스턴스이다. 이들 프로세스 인스턴스는 양호하게는 소정의 프로세스 모델의 모든 프로세스 인스턴스들 중에서, 이 프로세스 모델의 소정의 특성 값에 따라, 선택된다. 보관 데이타베이스로 전송될 데이타베이스의 객체들은 프로세스 모델일 수도 있다. 추가적으로 프로세스 모델의 다양한 활동을 이행하는 애플리케이션에 의해 관리되는 데이타는, 사용자 프로그램으로 하여금 통상의 애플리케이션 스토어(application store)로부터 보관 데이타베이스 스토어(archive database store)로 데이타를 이동시키게 함으로써 전송될 수 있다. 나아가 이 방법은 보관된 WFMS 객체들이 다시 필요할 때 애플리케이션 보관 데이타베이스 내의 데이타를 애플리케이션 스토어로 되전송하는 것 외에도 WFMS 객체를 WFMS 데이타베이스로 되전송하는 것도 제시하고 있다(복원 기능)

Description

작업흐름-관리-시스템에서의 보관 방법{ARCHIVING IN WORKFLOW-MANAGEMENT-SYSTEMS}
본 발명은 작업흐름-관리-시스템(Workflow-Management-Systems; WFMS)에 관한 것으로, 보다 구체적으로는, 작업흐름-관리-시스템을 최적화하는 방법에 관한 것이다.
작업흐름-관리-시스템 분야는 갈수록 그 중요성이 더해가는 새로운 기술 분야이다. WFMS는 비즈니스 프로세스의 모델링과 실행을 지원한다. WFMS 환경 내에서 실행되는 비즈니스 프로세스는, 네트워크를 이루는 작업편들(network of pieces of works)중 어떤 작업편이 누구에 의해 수행될 것인지, 및 이 작업을 위해 어떤 리소스가 이용될 것인지를 제어한다. 개개의 작업편은 소정 유형의 네트워크에 의해 접속된 복수개의 서로 다른 컴퓨터 시스템에 걸쳐 분산될 수 있다. WFMS 기술의 완전한 설명은, 뉴저지주 어퍼 새들 리버에 위치한 프렌티스 홀사에 의해 1999년 출판된 Frank Leymann, Dieter Roller의 "생산 작업흐름: 개념과 기법"에 나와 있다.
제품 "IBM MQSeries Workflow"는 이와 같은 전형적인 현대의 정교하고도 강력한 작업흐름 관리 시스템을 잘 표현하고 있다. 이 제품은 비즈니스 프로세스를 활동망(network of activities)으로서 모델링하는 것을 지원한다. 이러한 활동망, 즉 프로세스 모델은, 방향을 가지며 비순환적이며 가중치가 부여된 착색된 그래프(directed, acyclic, weighted, colored graph)로서 만들어진다. 그래프의노드는 수행되는 활동(activity)을 나타낸다. 그래프의 엣지(edge), 즉, 제어 커넥터(control connector)는 활동의 실행가능성있는 시퀀스를 기술한다. 프로세스 그래프의 정의는 IBM MQSeries Flow Definition Language(FDL) 또는 내장된 그래픽 편집기에 의해 이루어진다. 작업흐름 관리자의 런타임 구성요소는, 예를 들어 각각의 사람에 따라 작업 리스트(work list)에 태스크(task)를 할당함으로써, 프로세스 그래프를 해석하고 활동의 실행(excution of activity)을 적합한 장소의 적합한 인물에게 분배한다. 여기서, 작업 리스트는 상기 작업흐름 또는 프로세스 관리 컴퓨터 시스템 내의 디지털 데이타로서 저장된다.
시스템의 동작 동안에 WFMS는, 프로세스 모델, 및 프로세스 모델의 구체적 사례(instantiation)들, 즉 프로세스 인스턴스(instances)들이 저장되어 있는 데이타베이스에 액세스한다. WFMS 데이타베이스의 크기는 대단히 커질 수 있다. 예를 들어, 전형적인 전자 상거래 회사의 WFMS 데이타베이스는 100 GB까지 달할 수 있다.
이와 같은 대규모 데이타베이스의 단점은, 데이타베이스에 연관된 성능은 데이타베이스가 커질수록 악화된다는 것이다.
본 발명의 목적은 WFMS의 성능을 최적화하는 목적에 기초하고 있다.
본 발명의 목적은 독립항들에 의해 해결된다. 추가적인 이점과 실시예들은 각각의 종속항에서 청구된다.
본 발명은 WFMS를 최적화하는 방법에 관한 것이다. 상기 방법은 적어도 하나의 컴퓨터 상에서 상기 WFMS에 의해 실행가능하며, 상기 WFMS는 적어도 하나의 프로세스 모델과 상기 프로세스 모델의 구체적 사례(프로세스 인스턴스)로 구성된 데이타베이스를 액세스한다. 이 방법은 데이타베이스의 객체(object)를 보관 데이타베이스(archive database)로 전송하는 것을 제시한다(보관 기능). 이러한 전송은 양호하게는 선정된 이벤트가 발생하거나 이들 객체들이 WFMS에 의해 현재 사용중에 있지 않을 때 실행된다. 양호하게는 보관 데이타베이스로 전송될 객체는 프로세스 인스턴스이다. 이들 프로세스 인스턴스는 양호하게는 소정의 프로세스 모델의 모든 프로세스 인스턴스들 중에서, 이 프로세스 모델의 소정의 특성 값에 따라 선택된다. 보관 데이타베이스로 전송될 데이타베이스의 객체들은 프로세스 모델일 수도 있다. 추가적으로 프로세스 모델의 다양한 활동을 이행하는 애플리케이션에 의해 관리되는 데이타는, 사용자 프로그램으로 하여금 통상의 애플리케이션 스토어(application store)로부터 보관 데이타베이스 스토어(archive database store)로 데이타를 이동시키게 함으로써 전송될 수 있다. 나아가 이 방법은 보관된 WFMS 객체들이 다시 필요할 때 애플리케이션 보관 데이타베이스 내의 데이타를 애플리케이션 스토어로 되전송하는 것 외에도 WFMS 객체를 WFMS 데이타베이스로 되전송하는 것도 제시하고 있다(복원 기능).
본 발명에서, 활동 이행부(activity implementations)에 의해 관리되는 애플리케이션 스토어의 크기뿐만 아니라 WFMS 데이타베이스의 크기가 최소화될 수 있다. 본 발명의 가장 중요한 특징은, 저장소(repository)의 크기가 작으면 작을수록 데이타베이스의 액세스에 연관된 성능이 향상된다는 것이다.
본 발명을 구현함으로써 WFMS의 성능이 향상된다.
도 1은 본 발명의 실시예에 따라 보관 처리가 인에이블된 WFMS 시스템의 정의를 도시하는 도면.
도 2는 본 발명의 실시예에 따라 보관 처리가 인에이블된 프로세스 모델의 정의를 도시한 도면.
도 3은 본 발명의 실시예에 따라 프로세스 인스턴스를 보관 및 복원하는 명령어들을 도시한 도면.
도 4는 본 발명의 실시예에 따른 프로세스 모델의 자동 보관의 정의를 도시하는 도면.
도 5는 본 발명의 실시예에 따라 모델 수준에서 보관하고 복원하는 명령어들을 도시하는 도면.
도 6은 본 발명의 실시예에 따라 관련된 데이타를 보관/복원하기 위한 프로그램의 정의와, 관련된 데이타의 보관/복원을 갖는 프로세스 모델의 정의를 도시한 도면.
도 7은 본 발명의 또 다른 실시예에 따라 관련된 데이타의 상세한 보관/복원을 갖는 프로세스의 정의를 도시한 도면.
본 발명은, IBM사의 MQSeries Workflow 작업흐름 관리 시스템에 기초하여 설명된다. 물론 다른 WFMS가 사용될 수도 있다. 나아가, 본 발명은 독립된 WFMS로서의 WFMS 기능뿐만 아니라 다른 유형의 시스템내에서 WFMS 기능을 제공하는 임의의 유형의 시스템에도 적용될 수 있다.
본 발명의 설명에 있어서 중요하다고 생각되는 범위까지 IBM사의 MQSeries Workflow WFMS에 기초한 작업흐름 관리 시스템의 기본 개념의 개요가 설명될 것이다.
기업의 관점에서 보면, 비즈니스 프로세스의 관리는 갈수록 중요해져가고 있다: 비즈니스 프로세스는, 어떤 작업편이 누구에 의해 수행될 것이며 이 작업을 위해 어떤 리소스가 이용될 것인지에 대한 간결한 제어를 위한 것이다. 즉, 비즈니스 프로세스는 그 비즈니스 목적을 어떻게 달성할 것인지를 기술한다. WFMS는 비즈니스 프로세스의 모델링 및 그 실행 모두를 지원할 수도 있다.
소프트웨어 시스템에 의해 직접 지원되는 방식의 문장 구성 단위(syntatical unit)로 비즈니스 프로세스를 모델링하는 것이 지극히 바람직하다. 게다가, 소프트웨어 시스템은 기본적으로 이와 같은 모델을 입력으로서 받아들이는 인터프리터(interpreter)로서 동작할 수 있다: 그 다음, 모델, 이른바 프로세스 모델 또는 작업흐름 모델이 구체화될 수 있으며, 모델의 구체 사례의 상황에 따라 작업 단계들의 개별적인 시퀀스가 결정될 수 있다. 이와 같은 비즈니스 프로세스의모델은, 기업 내에서 수행되는 유사한 프로세스들 집합에 대한 원형(template)으로서 인식될 수 있으며, 특정한 종류의 비즈니스 프로세스의 모든 가능한 실행 변형예를 기술하는 도식이다. 이와 같은 모델의 인스턴스와 그 구체적 사례는 개개의 프로세스, 즉, 모델에 의해 규정된 변형예의 구체적이고도 상황에 따라 다른 실행을 나타낸다. WFMS는 비즈니스 프로세스의 관리를 용이하게 해준다. 또한, 비즈니스 프로세스의 관리 모델을 기술하는 수단을 제공하며(구축시), 관련된 모델에 기초한 비즈니스 프로세스를 구동시킨다(실행시). 다음으로, IBM's WFMS MQSeries Workflow의 메타 모델, 즉, 비즈니스 프로세스 모델을 기술하기 위해 제공되는 문장 구성요소들(syntactical elements), 및 이들 문장 구성 요소들의 의미와 해석이 설명될 것이다.
프로세스 모델은, 프로세스 도식과 도식의 구성 요소들 배후의 논리를 정의하는 설정값을 포함한다. MQSeries Workflow 프로세스 모델의 중요한 구성 요소는 다음과 같다:
~ 프로세스(Process)
~ 활동(Activities)
~블럭(Blocks)
~제어 흐름(Control Flows)
~커넥터(Connectors)
~데이타 컨테이너(Data Containers)
~데이타 구조(Data Structures)
~프로그램(Programs)
~스태프(Staff)
이하에서 이들 모든 요소들을 설명하지는 않을 것이다.
활동(Activity): 활동은 메타 모델(meta model)의 기본적 요소이다. 활동은 소정의 고유한 의미론적 실체로부터 나오는 비즈니스 동작이다.
MQSeries Workflow 프로세스 모델은 다음과 같은 유형의 활동으로 구성된다.
프로그램 활동(Program activity): 프로그램 활동은 자신을 수행하기 위해 할당된 프로그램을 가진다. 이 프로그램은 활동이 개시되는 때에 기동된다. 완전 자동화된 작업 흐름에서, 프로그램은 인간의 간섭없이 활동을 수행한다. 그렇지 않은 경우, 사용자가 런타임 작업 리스트로부터 활동을 선택함으로써 활동을 개시해야만 한다.
프로세스 활동(Process activity): 프로세스 활동은 그 자신을 수행하기 위해 할당된 (부)프로세스를 가진다. 프로세스 활동은 다른 프로세스들에 공통되는 활동 집합을 재사용하기 위한 방법을 나타낸다.
제어의 흐름(The flow of control) : 즉, 실행중인 프로세스의 제어 흐름은 활동이 실행될 시퀀스를 결정한다. MQSeries Workflow 작업 흐름 관리자는 프로세스를 관통하는 경로를 항행한다.
활동에 의해 표현된 작업에 의해 일반적으로 생성되는 결과는, 각각의 활동과 연관된 출력 컨테이너(output container)에 놓여진다. 일반적으로 활동은 다른 활동들의 출력 컨테이너에 액세스할 필요가 있기 때문에, 각각의 활동은 입력 컨테이너에도 역시 연관되어 있다.
커넥터는 프로세스 모델 내의 활동들을 링크시킨다. 커넥터를 사용하여, 활동들의 시퀀스와 이들 활동들간의 데이타 전송을 정의한다. 활동들은 임의로 실행되지 않기 때문에, 이들은 제어 커넥터를 통해 서로 결합된다. 제어 커넥터는 2개의 활동들 사이에 있는 방향을 가진 엣지(directed edge)로서 인식된다. 커넥터의 끝점에서의 활동은 커넥터의 시작점에서의 활동이 (성공적으로) 종료하기 이전에 시작될 수 없다. 따라서, 제어 커넥터들은 비즈니스 프로세스 모델 내에서의 가능성있는 제어의 흐름을 모델링한다. 데이타 커넥터들은 작업흐름 모델에서 데이타의 흐름을 명시한다. 데이타 커넥터는 활동 또는 블럭으로부터 발생하며, 타겟으로서 활동 또는 블럭을 가진다. 출력 데이타가 하나의 타겟으로 가거나 복수개의 타겟으로 가도록 명시할 수 있다. 타겟은 하나 이상의 인입 데이타 커넥터를 포함할 수 있다.
프로세스 정의(process definition)는 활동들의 모델링, 활동들간의 제어 커넥터, 입력/출력 컨테이너, 및 데이타 커넥터들을 포함한다. 프로세스는, 노드로서 활동을 가지며 엣지로서 제어/데이타 커넥터들을 갖는 그래프로서 표현된다. 그래프는 내장 그래픽 편집기를 통해 조작된다. 데이타 컨테이너들은 명칭이 부여된 데이타 구조로서 명시된다. 이들 데이타 구조들은 DataStructureDefinition 설비를 통해 명시된다. 프로그램 활동들은 프로그램을 통해 구현된다. 프로그램은 프로그램 정의 설비를 통해 등록된다. 블럭은, 활동 또는 제어 커넥터등과 같은 프로세스와 동일한 구조를 포함한다. 프로세스 활동은 프로세스로서 구현된다.이들 부프로세스는 모든 통상의 속성을 갖는 정규의 명칭부여된 프로세스로서 독립적으로 정의된다. 프로세스 활동은 프로세스 정의를 위해 상당한 융통성을 제공한다. 프로세스 활동들은, 활동들을 프로그램과 프로세서 활동으로 영구적 세분화함으로써 프로세스를 구축(탑-다운)할뿐만 아니라, 기존 프로세스 세트로부터 프로세스를 구축(바텀-다운)하는 것을 허용한다.
프로그램 활동들을 구현하는 모든 프로그램들은 프로그램 등록 설비에 의해 정의된다. 각각의 프로그램에 대해 프로그램의 명칭, 그 위치, 및 기동 문자열이 등록된다. 기동 문자열은 프로그램 명칭과 프로그램으로 전달되는 명령어 문자열로 구성된다.
보관작업 준비(preparing archiving)
본 발명은 보관될 데이타를 저장하기 위해 보관 데이타베이스를 이용한다. 보관 데이타베이스는 통상의 데이타베이스와 동일한 구조를 가진다. 보관 데이타베이스는 양호하게는 서로 다른 장치 상에 위치한다. 이것은 양쪽 모두의 데이타베이스를 액세스할 때 보다 나은 성능을 제공한다. 이것은 전형적으로 WFMS의 보관이 인에이블된 때 WFMS에 의해 자동으로 할당된다. 다른 선택사항들은 보관이 자동으로 수행될 때까지 할당을 연기한다.
본 발명의 양호한 실시예에서, WFMS의 보관/복원 기능의 인에이블링은 도 1에 도시된 바와 같은 정의를 사용하여 수행된다. 이러한 목적을 위하여, 새로운 키워드 ARCHIVE_SUPPORT(100)이 WFMS 시스템 명세(specification)에 추가된다. 이키워드(100)은, WFMS 시스템(1)에 대한 보관기능의 인에이블 허락(ARCHIVE_SUPPORT YES) 또는 금지(ARCHIVE_SUPPORT NO)의 여부를 명시하는데 이용된다. 본 설명의 모든 도면 내의 예로서 MQSeries WorkFlow의 Flow Definition Language(FDL)가 이용되고 있다는 것에 주목해야 한다.
비즈니스 프로세스의 보관 및 복원은 WFMS측상에서의 추가적인 처리를 요구한다. 예를 들어, 이 추가적인 처리는 WFMS~s 데이타베이스 내에 정보를 유지하는 것, 또는 비즈니스 프로세스에 대한 보관된 버전이 존재하는지를 검사하는 것이다. 이러한 이유 때문에, 보관 및 복원이 특정의 프로세스 인스턴스에 대해 유효한 동작임이 보장되어야만 한다. 도 2는 프로세스 모델, 예를 들어, 은행에서 대출 프로세스를 어떻게 보관하는지를 도시한다. 그리하여, 도 1에 도시된 바와 같은 키워드(100)과 동일한 키워드가 이용된다.
프로세스 인스턴스의 보관(Archiving of process instances)
프로세스 모델이 보관가능한 것으로 정의될 때, 특정의 프로세스 인스턴스가 보관 및 복원될 수 있다. 프로세스 인스턴스를 보관 및 복원하기 위해, 프로세스 모델의 명세에 새로운 명령이 추가된다. 도 3은 양호한 실시예의 전형적인 명령어들의 일부를 도시하고 있다. 그리하여, 명령 ARCHIVE(300)은 주어진 프로세스 인스턴스 식별자(301)과 더불어 프로세스 인스턴스를 보관하는 반면, 명령 RESTORE(302)는 프로세스 인스턴스를 복원한다.
보관(archiving)은, 특정의 프로세스 인스턴스에 대한 모든 정보를 WFMS 데이타베이스로부터 보관 데이타베이스로 이동시키는 것을 의미한다. 이렇게 이동된 정보는 특정의 프로세스 인스턴스를 실행하는데 이용되는 프로세스 모델에 대한 정보도 역시 포함한다. 복원(restoring)은 특정의 인스턴스에 대한 모든 정보를 보관 데이타베이스로부터 WFMS 데이타베이스로 이동시키는 것을 의미한다. 이렇게 이동된 정보는 특정의 프로세스 인스턴스를 실행하는데 이용되는 프로세스 모델에 대한 정보도 역시 포함한다.
보관/복원은, 양호하게는 WFMS의 일부로서 특별히 설계된 보관/복원 구성 성분에 의해 실행된다. 다른 방법으로서, 보관/복원 구성성분은 외부적 요소(예를 들어, '플러그-인' 요소)로서 구현될 수 있다.
프로세스 모델의 부분들은 상당히 자주 자동으로 실행된다. 이것은 사용자의 간섭없이 실행됨을 의미한다. 명령을 통해 보관 및 복원을 수행하는 것은, 엔드 유저 또는 관리자로부터 상호작용, 예를 들어, 적절한 프로그래밍 인터페이스를 통해 수행되는 상호작용을 요구하기 때문에, 드물게 이용되는 선택사항일 수 있다.
다른 방법으로서, 보관은 특정한 프로세스 모델에 대한 시간-제어형 활동으로서 정의될 수 있다. 도 4는 이러한 접근법에 대한 정의를 도시한다. 이러한 목적을 위해, 새로운 키워드 ARCHIVE(400)이 WFMS 시스템의 명세에 추가된다. ARCHIVE 키워드(400)은 자동 보관이 발생해야 하는 때를 명시하는 것을 허용한다. 기술된 예에서, 프로세스 인스턴스가 4일 이상 유휴상태일 때 프로세스 모델 'Loan Process'의 특정 프로세스 인스턴스가 보관됨을 정의한다. ARCHIVE 키워드에 대한 명세는, 특정한 시간을 명시할 수 있는 것으로 제한되지 않으며, 임의의 복합 논리표현도 허용한다. 이 경우에, 논리 표현이 참이라면 보관이 수행된다.
보관은 상술한 실시예에 따라 자동으로 수행될 수 있는 반면, 복원 부분은 일반적으로 자동으로 수행되지 않을 것이다. 대부분의 경우에, 명시적인 호출, 예를 들어, 사용자의 명령이나 정의된 이벤트의 발생을 통해 복원을 수행하는 것으로 충분할 것이다. 예를 들어 WFMS가 보관된 대상을 사용하기를 요청한다면 복원이 수행된다. 즉, 이 대상은, 다시 요구된다면, WFMS 데이타베이스로 되전송된다.
상황에 기초한 보관(Context based archiving)
도 3에서 보관/복원이 프로세스 인스턴스 수준에서 기술되었지만, 보관/복원의 방법은 프로세스 인스턴스의 집합, 즉 프로세스 모델 수준에도 적용될 수 있다.
이 실시예에서, 소정의 속성을 갖는 특정한 프로세스 모델의 모든 프로세스 인스턴스들, 예를 들어, 대출금이 $10.000이상의 모든 프로세스-인스턴스들이 보관된다. 이러한 목적을 위해, 프로세스 모델의 적절한 인스턴스들이 선택되어야 한다.
도 5는 보관 및 복원 명령의 양호한 실시예를 도시한다. 그리하여 <Process Model Name>(500)은 프로세스 모델을 식별케한다. 이러한 선택은 <Properties Operator Value>(501)을 이용하여 수행된다. <Properties Operator Value>(501)은 명시된 프로세스 모델의 프로세스 인스턴스가 만족해야 하는 값을 명시한다.
속성(Properties)은, WFMS에 의해 자동으로 관리되는 속성뿐만 아니라 프로세스 모델에 대해 사용자가 정의하는 임의의 속성일 수 있다. 사용자-정의형 속성은 프로세스 모델의 입력 또는 출력 컨테이너 내의 필드들, 또는 활동의 입력 또는 출력 컨테이너 내의 필드들로서 정의된다. 프로세스 모델 LOAN_PROCESS의 프로세스 입력 컨테이너가 관련된 대출 금액을 포함하는 필드 LOAN_AMOUNT를 포함한다고 가정하면, 명세(ProcessInputContainer > 50000)은, 프로세스 모델 LOAN_PROCESS의 모든 프로세스 인스턴스들중 대출 금액이 $50.000보다 큰 인스턴스들을 선택할 것이다. 속성에 의해 관리되는 전형적인 시스템은, 프로세스 인스턴스가 시작된 날짜이다. 따라서, 명세(START_DATE < 4/10/99)은 1999년 4월 10일 이전에 시작된 모든 인스턴스들을 선택할 것이다.
<Properties Operator Value>(501)은 임의의 복합 논리 표현식을 포함할 수 있다. 이 논리식의 값에 따라 WFMS는 <Process Model Name>(500)에 의해 정의된 프로세스 모델의 프로세스 인스턴스들의 보관/복원을 수행한다.
본 발명의 또 다른 실시예에서, 프로세스 인스턴스뿐만 아니라 프로세스 모델 그 자체도 보관/복원된다. 이것은 특히, 특정의 프로세스 모델의 모든 프로세스 인스턴스들이 이미 보관된 경우에, 적용가능하다.
관련된 데이타의 보관(Archiving of associated data)
그러나 상술한 바와 같은 프로세스 인스턴스의 보관은 충분하지 않다. 작업흐름-기반의 애플리케이션들은 프로세스 모델 및 적절한 활동 이행부(activity implementations)들로 구성된다. 이들 활동 이행부들은 데이타도 역시 관리한다. 완전한 보관을 위해, 활동 이행부에 의해 관리되는 데이타도 역시 보관된다. 예를들어, 활동 이행부가 고객 레코드를 관리한다면, 특정의 프로세스 인스턴스를 위해 관리되는 고객 레코드도 역시 관리되어야 한다. 그리하여 양호하게는, 보관 데이타베이스로 전송되는 프로세스 인스턴스들의 출처인 프로세스 활동을 구현하는 프로그램에 의해 관리되는 이들 데이타도 보관된다.
활동 이행부에 의해 관리되는 데이타는 애플리케이션 스토어 내에 유지된다. 애플리케이션 스토어는 임의의 데이타스토어일 수 있다. WFMS 시스템은 통상적으로 활동 이행부에 의해 관리되는 데이타에 대한 정보, 예를 들어, 데이타의 위치를 알지 못하기 때문에, 통상의 애플리케이션 스토어로부터 애플리케이션 보관 스토어로 데이타를 이동시키거나 그 역으로 이동시키기 위해 특별히 설계된 수단, 예를 들어, 프로그램을 이용한다. 양호하게는 애플리케이션 보관 스토어는 애플리케이션 스토어가 아닌 다른 장치 상에 위치한다.
도 6은 프로세스와 연관된 데이타가 보관되는 본 발명의 양호한 실시예를 도시한다. 그리하여, 키워드 USING PROGRAM(600)은 비즈니스 프로세스가 보관 또는 복원될 때 호출되는 프로그램(601, 602)를 식별케한다. 응용 프로그래밍 인터페이스는 호출된 프로그램(601, 602)에게 컨테이너 콘텐트와 같은 적절한 데이타를 제공하여, 프로그램이 적절한 동작을 취할 수 있도록 해준다.
실시예에서, 보관/복원 프로그램쌍(601, 602)는, 프로세스 모델 'Loan Process'의 모든 활동을 보관/복원하는데 이용된다. 이것은 이들 프로그램(601, 602)들이 보관/복원될 프로세스의 전체 구조를 파악해야만 한다는 것을 의미한다. 따라서 이들 프로그램들은 비교적 복잡하다.
더욱 더 개선된 접근법은 도 7에 도시되어 있으며, 여기에는, 관련 데이타의상세 보관이 수행되는 양호한 실시예가 도시되어 있다. 그리하여 활동(Activity1, Activity2, Activity3)(700)의 각각의 프로그램(Pgm1, Pgm2, Pgm3)(701)은, 보관 프로그램(Pgm1A, Pgm2A, Pgm3A)(702)와 복원 프로그램(Pgm1R, Pgm2R, Pgm3R)(702)와 연관된다.
대출 프로세스의 통상적 실행 동안에, 활동(1, 2, 및 3), 즉, 프로그램 Pgm1, Pgm2, 및 Pgm3이 실행된다. 만일 프로세스가 보관된다면, WFMS는 실행된 그래프를 역전시키고 ARCHIVE 키워드를 통해 정의된 적절한 프로그램을 기동시킴으로써 이 새로운 그래프를 실행한다. 예를 들어, Activity2의 실행 이후에 프로그램이 보관되면, WFMS는 보관작업 동안에 프로그램 Pgm2A 및 Pgm1A를 기동시킨다. 마찬가지로, 비즈니스 프로세스가 복원될 때 프로그램 Pgm1R 및 Pgm2R이 기동된다.
본 발명의 또 다른 실시예에서, 프로그램 Pgm1, Pgm2, 및 Pgm3의 프로그램 버전이 관련 데이타에 추가해서 보관된다. 프로그램 버전을 보관함으로써 보관 이전에 사용한 프로그램 버전과 동일한 프로그램 버전을 사용하여 프로세스를 복원하는 것을 보장한다.
본 발명은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 본 발명에 따른 WFMS는 하나의 컴퓨터에서 집중화된 방식으로 실현될 수도 있고, 서로 다른 요소들이 수개의 상호접속된 컴퓨터 시스템에 걸쳐 분산되어 있는 분산형으로 수행될 수도 있다. 임의 유형의 컴퓨터 시스템-본 명세서에서 기술된 방법을 실행하는데 적합한 다른 장치-도 적합하다. 하드웨어 및 소프트웨어의 한전형적인 조합으로서, 로드되어 실행될 때 본 명세서에서 기술된 방법들을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 가진 범용 컴퓨터 시스템도 해당된다. 본 발명은, 본 명세서에서 기술된 방법의 구현을 가능케해주는 모든 특징들을 포함하며 컴퓨터 시스템에 로드되어 실행될 때 이들 방법들을 실행할 수 있는 컴퓨터 프로그램 제품으로 구현될 수도 있다.
본 명세서에서의 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은, 임의의 랭귀지나 코드 또는 표기로 된 명령어 세트의 임의의 표현식으로서 직접적으로 정보 처리 능력을 갖는 시스템으로 하여금 특정의 기능을 수행하도록 만드는 임의의 표현식이거나, a) 다른 랭귀지나 코드 또는 표기로의 변환; b) 다른 물질 형태로의 재생중 어느 하나 또는 양쪽 모두를 거친 이후에 간접적으로 정보 처리 능력을 갖는 시스템으로 하여금 특정의 기능을 수행하도록 만드는 임의의 표현식을 의미한다.
데이타베이스의 객체(object)를 보관 데이타베이스(archive database)로 전송하는 것을 제시하며(보관 기능), 보관된 WFMS 객체들이 다시 필요할 때 애플리케이션 보관 데이타베이스 내의 데이타를 애플리케이션 스토어로 되전송하는 것 외에도 WFMS 객체를 WFMS 데이타베이스로 되전송하는 것도 제시함(복원 기능)으로써, WFMS를 최적화하는 방법을 제공한다.

Claims (13)

  1. 적어도 하나의 프로세스 모델과 상기 프로세스 모델의 구체 사례(프로세스 인스턴스)를 포함하는 데이타베이스에 액세스하는 작업흐름-관리-시스템(WFMS)을 최적화하는 방법-상기 방법은 상기 WFMS에 의해 적어도 하나의 컴퓨터 시스템상에서 실행가능함-에 있어서,
    상기 데이타베이스의 객체를 보관 데이타베이스(archive database)로 전송하는 단계를 포함하는 것을 특징으로 하는 WFMS의 최적화 방법.
  2. 제1항에 있어서, 상기 데이타베이스의 객체를 상기 보관 데이타베이스로 전송하는 상기 단계는, 선정된 이벤트가 발생하는 경우에 실행되는 것을 특징으로 하는 WFMS의 최적화 방법.
  3. 제1항에 있어서, 상기 데이타베이스의 객체를 상기 보관 데이타베이스로 전송하는 상기 단계는, 상기 객체가 상기 WFMS에 의해 현재 사용되고 있지 않을 때 실행되는 것을 특징으로 하는 WFMS의 최적화 방법.
  4. 제1항에 있어서, 상기 보관 데이타베이스로 전송될 객체는 프로세스 인스턴스(process instance)인 것을 특징으로 하는 WFMS의 최적화 방법.
  5. 제4항에 있어서, 상기 보관 데이타베이스로 전송될 프로세스 인스턴스는 소정의 프로세스 모델의 인스턴스들중에서 상기 프로세스 모델의 소정의 속성값에 따라 선택되는 것을 특징으로 하는 WFMS의 최적화 방법.
  6. 제4항 또는 5항에 있어서, 보관 데이타베이스로 전송되는 프로세스 인스턴스들의 출처인 상기 프로세스 모델의 활동을 이행한 프로그램에 의해 관리되는 데이타를 애플리케이션 스토어로부터 애플리케이션 보관 스토어로 전송하는 단계를 더 포함하는 것을 특징으로 하는 WFMS의 최적화 방법.
  7. 제1항에 있어서, 상기 보관 데이타베이스로 전송될 객체는 프로세스 모델인 것을 특징으로 하는 WFMS 최적화 방법.
  8. 제1항에 있어서, 상기 객체들을 상기 데이타베이스로 되전송하는 단계를 더 포함하는 것을 특징으로 하는 WFMS의 최적화 방법.
  9. 제6항에 있어서, 상기 애플리케이션 보관 스토어로부터 상기 애플리케이션 스토어로 상기 데이타를 되전송하는 단계를 더 포함하는 것을 특징으로 하는 WFMS의 최적화 방법.
  10. 제8항 또는 제9항에 있어서, 상기 객체들은, 상기 객체들이 다시금 요구될때, 상기 데이타베이스로 되전송되는 것을 특징으로 하는 WFMS의 최적화 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 수단을 포함하는 시스템으로서, 보관 데이타베이스(archive database)를 포함하는 시스템.
  12. 데이타 처리 시스템 내에서 실행될 때 제1항 내지 제10항 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 소프트웨어 코드부를 포함하는 데이타 처리 프로그램.
  13. 컴퓨터 내에서 실행될 때 컴퓨터로하여금 제1항 내지 제10항중 어느 한 항에 따른 방법을 수행하도록 만들기 위한 컴퓨터 판독가능 프로그램 수단을 포함하는 컴퓨터 프로그램 제품.
KR1020010025527A 2000-06-03 2001-05-10 작업흐름-관리-시스템에서의 보관 방법 KR20010110097A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00111784.5 2000-06-03
EP00111784 2000-06-03

Publications (1)

Publication Number Publication Date
KR20010110097A true KR20010110097A (ko) 2001-12-12

Family

ID=8168893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010025527A KR20010110097A (ko) 2000-06-03 2001-05-10 작업흐름-관리-시스템에서의 보관 방법

Country Status (4)

Country Link
US (1) US20010049712A1 (ko)
JP (1) JP2002073929A (ko)
KR (1) KR20010110097A (ko)
DE (1) DE10125956A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100005B2 (en) * 2003-06-17 2006-08-29 Agilent Technologies, Inc. Record storage and retrieval solution
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
JP5234720B2 (ja) * 2007-04-26 2013-07-10 日本電信電話株式会社 プロセスモデル作成装置、方法及びそのプログラム
DE102007042094A1 (de) * 2007-09-05 2009-03-12 Unycom Information Technology Services Gmbh Computerimplementiertes System und Verfahren zum strukturierten Speichern von Daten mindestens eines vordefinierten Ablaufs
US8392373B1 (en) * 2009-03-26 2013-03-05 Symantec Corporation Systems and methods for retaining an executable environment during a data archive process
US10078674B2 (en) 2010-06-04 2018-09-18 Mcl Systems Limited Integrated workflow and database transactions
US9424544B2 (en) * 2013-06-05 2016-08-23 International Business Machines Corporation Archival management of business processes in a cloud environment
CN105447626A (zh) * 2015-11-12 2016-03-30 东软集团股份有限公司 一种工作流变量存储方法及装置、读取方法及装置
CN113781007A (zh) * 2021-09-22 2021-12-10 广联达数字科技(深圳)有限公司 一种数据核验系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033121T2 (de) * 1989-09-01 1999-10-28 Amdahl Corp Betriebssystem und Datenbank mit einer Regelsprache zum bedingungsgesteuerten Rechnerbetrieb
JPH09501517A (ja) * 1993-02-08 1997-02-10 アクション・テクノロジーズ・インコーポレーテッド 業務処理を管理するための方法および装置
US5682532A (en) * 1994-05-02 1997-10-28 Microsoft Corporation System and method having programmable containers with functionality for managing objects
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure

Also Published As

Publication number Publication date
DE10125956A1 (de) 2001-12-13
US20010049712A1 (en) 2001-12-06
JP2002073929A (ja) 2002-03-12

Similar Documents

Publication Publication Date Title
US11288557B2 (en) Long running workflows for document processing using robotic process automation
US6772407B1 (en) Staging objects in workflow management systems
US6122633A (en) Subscription within workflow management systems
US11704224B2 (en) Long running workflows for robotic process automation
US6073111A (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
US7467383B2 (en) System for controlling task execution using a graphical representation of task dependency
US5960420A (en) Systems, methods and computer program products for implementing a workflow engine in database management system
US6237020B1 (en) Task-oriented automatic distribution of software
US7904416B2 (en) Provisioning of software components via workflow management systems
JP2986051B2 (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US20170255886A1 (en) Workflow execution
US20090013321A1 (en) Managing virtual computers
US10545951B1 (en) Workflow dependency management system
WO2002079916A2 (en) Method for incorporating human-based activities in business process models
US11620168B2 (en) Managing metadata for a distributed processing system with manager agents and worker agents
JP2002334194A (ja) ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム
US8806490B1 (en) Method and apparatus for managing workflow failures by retrying child and parent elements
JP2023070148A (ja) ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法
KR20010110097A (ko) 작업흐름-관리-시스템에서의 보관 방법
US6507844B1 (en) Method and system for minimizing network traffic
Stankovski et al. Digging deep into the data mine with DataMiningGrid
JP2022531736A (ja) Dbmsにおけるサービス管理
US20070113051A1 (en) Apparatus and method for live loading of control applications in a process control environment
US20090293064A1 (en) Synchronizing shared resources in an order processing environment using a synchronization component
US8136119B2 (en) Method, apparatus and media for managing information model jobs

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20040701

Effective date: 20051129