KR101575235B1 - 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체 - Google Patents

비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체 Download PDF

Info

Publication number
KR101575235B1
KR101575235B1 KR1020130118479A KR20130118479A KR101575235B1 KR 101575235 B1 KR101575235 B1 KR 101575235B1 KR 1020130118479 A KR1020130118479 A KR 1020130118479A KR 20130118479 A KR20130118479 A KR 20130118479A KR 101575235 B1 KR101575235 B1 KR 101575235B1
Authority
KR
South Korea
Prior art keywords
business
business process
definition data
specific activity
session
Prior art date
Application number
KR1020130118479A
Other languages
English (en)
Other versions
KR20150039998A (ko
Inventor
송정일
Original Assignee
주식회사 엘지씨엔에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지씨엔에스 filed Critical 주식회사 엘지씨엔에스
Priority to KR1020130118479A priority Critical patent/KR101575235B1/ko
Publication of KR20150039998A publication Critical patent/KR20150039998A/ko
Application granted granted Critical
Publication of KR101575235B1 publication Critical patent/KR101575235B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (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

본 발명은 비즈니스 프로세스 관리 방법에 관한 것으로, 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 방법에 있어서, (a) 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 단계 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-, (b) 상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 단계 및 (c) 상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 특정 액티비티의 처리를 동기적으로 수행하는 단계를 포함한다. 따라서 클라이언트로부터 요청된 워크플로우를 동기적으로 처리하여 응답 속도를 향상시킬 수 있다.

Description

비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체{METHOD OF BUSINESS PROCESS MANAGEMENT, SERVER PERFORMING THE SAME AND STORAGE MEDIA STORING THE SAME}
본 발명은 비즈니스 프로세스 관리 기술에 관한 것으로, 보다 상세하게는, 클라이언트로부터 요청된 워크플로우를 동기적으로 처리하여 응답 속도를 향상시킬 수 있는 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체에 관한 것이다.
일반적으로, BPM(Business Process Management) 실행엔진은 업무 흐름을 정의한 프로세스 설계 데이터를 기반으로 사용자의 요청에 따라 인스턴스를 생성하고, 업무 흐름 진행에 따라 단계별로 상태 정보를 관리하며, 프로세스가 완료될 때까지 유지, 관리 및 정보 제공의 역할을 수행한다.
한국등록특허 제10-0454214호는 메시징 기법을 이용하여 업무 프로세스의 늦은 처리를 개선할 수 있는 메시징을 이용한 비동기 워크플로우 처리 방법을 개시한다. 이러한 비동기 워크플로우 처리 방법은 메시징 시스템을 이용하여 동적으로 변하는 라우팅 정보를 관리하고 비동기적으로 워크플로우를 처리하여 업무처리 시간을 줄이며 워크플로우 시스템을 지리적으로 분산되어 있는 기업내 및 기업간 업무 환경에 적합화시킬 수 있다.
한국등록특허 제10-0445916호는 신규 서비스 도입시 운용 지원 시스템을 신속하게 구축 할 수 있는 워크플로우 기법을 이용한 업무 프로세스 처리 방법을 개시한다. 이러한 업무 프로세스 처리 방법은 여러 단계의 업무들을 표준화하여 다른 서비스에서 재사용 가능하게 표준화된 단위 업무를 처리하는 운용 지원 시스템을 구축하여 신규 서비스 도입시 용이하게 운용 지원 시스템을 구축 할 수 있다.
BPM 실행엔진은 EAI(Enterprise Application Integration) 기반 시스템들의 큐(Queue)방식 또는 메시징(Messaging) 방식을 통해 비동기 처리를 수행함으로써 호출 대상과 상태정보 불일치를 발생시킬 수 있다.
한국등록특허 제10-0454214호 한국등록특허 제10-0445916호
본 발명의 일 실시예는 클라이언트로부터 요청된 워크플로우를 동기적으로 처리하여 응답 속도를 향상시킬 수 있는 비즈니스 프로세스 관리 방법을 제공하고자 한다.
본 발명의 일 실시예는 실행 엔진을 경량화하여 워크플로우에 대한 인스턴스(Instance)를 빠르게 처리할 수 있는 비즈니스 프로세스 관리 방법을 제공하고자 한다.
본 발명의 일 실시예는 워크플로우에 대한 흐름 경로를 체크하여 워크플로우의 진행 상태를 클라이언트에게 제공할 수 있는 비즈니스 프로세스 관리 방법을 제공하고자 한다.
실시예들 중에서, 비즈니스 프로세스 관리 방법은 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 방법에 있어서, (a) 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 단계 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-, (b) 상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 단계 및 (c) 상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 특정 액티비티의 처리를 동기적으로 수행하는 단계를 포함한다.
일 실시예에서, 상기 (a) 단계는 형식 언어를 통해 정의된 상기 속성 정의 데이터 및 상기 흐름 정의 데이터를 단일 파일로서 프로세스 레포지토리에 저장하는 단계를 포함할 수 있다.
상기 (a) 단계는 비즈니스 프로세스 정의 클라이언트로부터 각 액티비티에 대한 입출력 파라미터를 수신하여 상기 속성 정의 데이터와 상기 흐름 정의 데이터를 정의하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (b) 단계는 상기 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하여 상기 비즈니스 스레드와 상기 비즈니스 프로세스 엔진을 연결하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (c) 단계는 상기 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정하는 단계 및 그렇다면 상기 비즈니스 프로세스 실행 클라이언트로부터 상기 사용자 입력이 완료될 때까지 상기 비즈니스 세션의 진행을 홀딩하는 단계를 포함할 수 있다.
상기 (c) 단계는 상기 사용자 입력이 완료되면 상기 사용자 입력을 기초로 상기 흐름 정의 데이터의 분기 매핑 정보를 체크하는 단계를 더 포함할 수 있다.
상기 (c) 단계는 상기 분기 매핑 정보에 따라 상기 흐름 정의 데이터 상의 다음 액티비티를 결정하여 상기 비즈니스 세션의 진행을 계속하여 진행하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (c) 단계는 상기 비즈니스 프로세스 엔진을 통해 상기 비즈니스 세션의 진행 상태를 체크하는 단계 및 상기 체크된 비즈니스 세션의 진행 상태를 상기 비즈니스 프로세스 실행 클라이언트에게 제공하는 단계를 더 포함할 수 있다.
(d1) 상기 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 상기 파라미터에 따라 상기 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정하는 단계를 더 포함할 수 있다.
상기 (d1) 단계는 상기 파라미터가 정적(Static)이면 상기 비즈니스 프로세스 엔진에 의해 상기 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱하는 단계를 더 포함할 수 있다.
일 실시예에서, (d2) 상기 특정 액티비티의 처리가 완료되면 상기 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행하는 단계를 더 포함할 수 있다.
실시예들 중에서, 비즈니스 프로세스 관리 서버는 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에 있어서, 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 비즈니스 프로세스 로딩(Loading)부 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-, 상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 비즈니스 세션 생성부 및 상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 특정 액티비티의 처리를 동기적으로 수행하는 액티비티 수행부를 포함한다.
일 실시예에서, 상기 비즈니스 프로세스 로딩부는 형식 언어를 통해 정의된 상기 속성 정의 데이터 및 상기 흐름 정의 데이터를 단일 파일로서 프로세스 레포지토리에 저장할 수 있다.
상기 액티비티 수행부는 상기 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정하고, 그렇다면 상기 비즈니스 프로세스 실행 클라이언트로부터 상기 사용자 입력이 완료될 때까지 상기 비즈니스 세션의 진행을 홀딩할 수 있다.
일 실시예에서, 상기 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 상기 파라미터에 따라 상기 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정하는 메타데이터 캐싱부를 더 포함할 수 있다.
상기 메타데이터 캐싱부는 상기 파라미터가 정적(Static)이면 상기 비즈니스 프로세스 엔진에 의해 상기 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱할 수 있다.
일 실시예에서, 상기 특정 액티비티의 처리가 완료되면 상기 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행하는 액티비티 수행 진행부를 더 포함할 수 있다.
실시예들 중에서, 비즈니스 프로세스 관리 방법에 관한 컴퓨터 프로그램을 저장하는 기록매체는 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 방법에 관한 컴퓨터 프로그램을 저장하는 기록매체에 있어서, 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 기능 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-, 상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 기능 및 상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 특정 액티비티의 처리를 동기적으로 수행하는 기능을 포함한다.
본 발명의 일 실시예에 따른 비즈니스 프로세스 관리 방법은 클라이언트로부터 요청된 워크플로우를 동기적으로 처리하여 응답 속도를 향상시킬 수 있다.
본 발명의 일 실시예에 따른 비즈니스 프로세스 관리 방법은 실행 엔진을 경량화하여 워크플로우에 대한 인스턴스(Instance)를 빠르게 처리할 수 있다.
본 발명의 일 실시예에 따른 비즈니스 프로세스 관리 방법은 워크플로우에 대한 흐름 경로를 체크하여 워크플로우의 진행 상태를 클라이언트에게 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비즈니스 프로세스 관리 서버를 설명하는 블록도이다.
도 2는 도 1에 있는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 과정을 설명하는 순서도이다.
도 3은 도 1에 있는 비즈니스 프로세스 관리 서버에서 사용하는 비즈니스 프로세스 엔진을 설명하는 도면이다.
도 4는 도 1에 있는 비즈니스 프로세스 관리 서버에서 수행되는 동기화 방식을 설명하는 도면이다.
도 5는 도 1에 있는 비즈니스 프로세스 관리 서버에서 가져오는 비즈니스 프로세스에 대한 설계를 예시한 도면이다,
도 6은 도 1에 있는 비즈니스 프로세스 관리 서버에서 수신하는 비즈니스 프로세스 실행 클라이언트의 사용자 입력을 예시한 도면이다.
도 7은 도 1에 있는 비즈니스 프로세스 관리 서버를 통해 비즈니스 프로세스 실행 클라이언트에게 할당된 비즈니스를 예시한 도면이다.
도 8은 도 1에 있는 비즈니스 프로세스 관리 서버에서 클라이언트에게 제공하는 비즈니스 세션의 진행 상태를 예시한 도면이다,
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
“및/또는”의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, “제1 항목, 제2 항목 및/또는 제3 항목”의 의미는 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 또는 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 비즈니스 프로세스 관리 서버를 설명하는 블록도이다.
도 1을 참조하면, 비즈니스 프로세스 서버(100)는 비즈니스 프로세스 로딩부(110), 비즈니스 세션 생성부(120), 액티비티 수행부(130), 메타데이터 캐싱부(140), 액티비티 수행 진행부(150) 및 제어부(160)를 포함한다.
비즈니스 프로세스 서버(100)는 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리할 수 있다. 여기에서, 비즈니스 프로세스 엔진은 비즈니스 프로세스의 속성 정의 데이터 및 흐름 정의 데이터에 대한 관리 및 처리를 수행할 수 있다.
일 실시예에서, 도 3에서, 비즈니스 프로세스 엔진은 클라이언트(Client)(310) 계층(이하, 제1 계층), 워크플로우 웹 호스트(Workflow Web Host)(320) 및 워크플로우 관리(Workflow Management)(330) 계층(이하, 제2 계층), 워크플로우 코어(Workflow Core)(340) 및 비즈니스 프로세스(Business Process)(350) 계층(이하, 제3 계층) 및 데이터베이스(Database)(360) 계층(이하, 제4 계층)을 포함할 수 있다.
제1 계층은 클라이언트로부터 요청되는 비즈니스 프로세스를 처리하는 클라이언트(Client) 모듈 및 레거시 클라이언트(Legacy Client) 모듈을 포함할 수 있다. 여기에서, 클라이언트 모듈은 UI를 가지고 있지 않은 인터페이스에 해당하고, 레거시 클라이언트 모듈은 UI를 가지고 있는 인터페이스에 해당할 수 있다.
제2 계층은 복수의 클라이언트들로부터 요청되는 비즈니스 프로세스를 동시에 처리할 수 있다. 예를 들어, 제2 계층은 웹 서비스 기반의 프로토콜 시스템을 호출하는 인터페이스 또는 웹 서비스 기반의 프로토콜 시스템을 호출하는 인터페이스를 통해 비즈니스 프로세스의 시작부터 종료까지 속성 정의 데이터 및 흐름 정의 데이터들을 관리할 수 있다.
제3 계층은 비즈니스 프로세스의 속성 정의 데이터 및 흐름 정의 데이터들에 대한 메타데이터를 관리할 수 있다. 여기에서, 제3 계층은 북마크(Bookmark) 모듈을 포함하여, 북마크 모듈을 통해 메타데이터의 상태 정보를 관리하고 비즈니스 프로세스 진행 과정에서 롤백(Rollback)을 제공할 수 있다.
제4 계층은 데이터베이스 입출력을 통해 비즈니스 프로세스에 대한 정보를 기록하거나 읽을 수 있다.
이하, 다시 도 1을 설명한다.
비즈니스 프로세스 로딩부(110)는 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져온다. 여기에서, 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의될 수 있다.
비즈니스 프로세스 로딩부(110)는 비즈니스 프로세스 정의 클라이언트로부터 각 액티비티에 대한 입출력 파라미터를 수신하여 속성 정의 데이터와 흐름 정의 데이터를 정의할 수 있다.
비즈니스 프로세스 로딩부(110)는 형식 언어를 통해 정의된 속성 정의 데이터 및 흐름 정의 데이터를 단일 파일로서 프로세스 레포지토리(Repository)에 저장할 수 있다. 여기에서, 비즈니스 프로세스 로딩부(110)는 비즈니스 프로세스 정의 클라이언트에 의해 설계된 비즈니스 프로세스에 대한 속성 정의 데이터 및 흐름 정의 데이터를 형식 언어(예를 들어, 형식 언어는 XML(Extensible Markup Language)로 구현됨)로 변환할 수 있다.
비즈니스 세션 생성부(120)는 비즈니스 프로세스 엔진에 의해 비즈니스 프로세스의 처리가 시작되면 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성한다.
비즈니스 세션 생성부(120)는 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하여 비즈니스 스레드와 비즈니스 프로세스 엔진을 연결할 수 있다. 예를 들어, 비즈니스 세션 생성부(120)는 제1 비즈니스 프로세스를 처리하기 위해 제1 비즈니스 세션을 생성하고, 그 하위에 제1 스레드를 생성할 수 있고, 제2 비즈니스 프로세스를 처리하기 위해 제2 비즈니스 세션을 생성하고, 그 하위에 제2 스레드를 생성할 수 있다. 비즈니스 세션 생성부(120)는 제1 및 제2 비즈니스 프로세스들에 대한 처리 요청을 수신하면 대기 시간 없이 제1 및 제2 세션들에 대한 제1 및 제2 스레드들을 동시에 제어하여 제1 및 제2 비즈니스 프로세스들에 대한 처리를 수행할 수 있다.
액티비티 수행부(130)는 비즈니스 세션을 통해 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 특정 액티비티의 속성 정의 데이터를 분석하여 특정 액티비티의 처리를 동기적으로 수행한다. 여기에서, 특정 액티비티는 액티비티 수행부(130)에서 비즈니스 세션의 진행 상태를 체크함으로써 결정될 수 있다.
액티비티 수행부(130)는 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정할 수 있다.
일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요하면 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력이 완료될 때까지 비즈니스 세션의 진행을 홀딩(Holding)할 수 있다. 여기에서, 도 6에서, 비즈니스 프로세스 실행 클라이언트는 비즈니스 프로세스의 특정 액티비티를 처리하는 담당자(601), 비즈니스 프로세스의 특정 액티비티에 대한 처리를 요청한 요청자(602), 특정 액티비티에 대한 요청 사항(603), 특정 액티비티에 대한 처리 요구일(604), 특정 액티비티의 제목(605) 및 특정 액티비티에 대한 내용(606)을 입력하여 비즈니스 프로세스 관리 서버(100)에 요청할 수 있다.
액티비티 수행부(130)는 사용자 입력이 완료되면 사용자 입력을 기초로 흐름 정의 데이터의 분기 매핑 정보를 체크할 수 있다. 여기에서, 분기 매핑 정보는 특정 액티비티에 연결된 복수의 흐름 정의 데이터들 각각에 대한 메타데이터 정보에 해당할 수 있다. 액티비티 수행부(130)는 분기 매핑 정보에 따라 흐름 정의 데이터 상의 다음 액티비티를 결정하여 비즈니스 세션의 진행을 계속하여 진행할 수 있다.
다른 일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요하지 않으면 기본값(Default)으로 설정된 흐름 정의 데이터를 기초로 다음 액티비티를 결정하여 비즈니스 세션의 진행을 계속하여 진행할 수 있다.
액티비티 수행부(130)는 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력을 수신하면 특정 비즈니스 프로세스 실행 클라이언트에게 실시간으로 특정 액티비티에 대한 처리를 요청할 수 있다. 예를 들어, 도 7에서, 액티비티 수행부(130)는 특정 액티비티에 대한 처리 요구일(604)을 기준으로 내림차순으로 특정 액티비티에 대한 요청 사항(603), 특정 액티비티의 제목(605), 특정 액티비티에 대한 처리 마감일(701) 및 특정 액티비티의 진행 상태(702)를 특정 비즈니스 프로세스 실행 클라이언트에게 제공할 수 있다. 여기에서, 특정 액티비티의 진행 상태(702)는 미작업(특정 액티비티에 대한 처리를 시작하기 않음), 진행(특정 액티비티에 대한 처리를 완료함), 진행중(특정 액티비티에 대한 처리를 진행하고 있음) 또는 지연(특정 액티비티에 대한 처리 요구일(604)이 지남) 중 하나로 구현될 수 있다.
일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 엔진을 통해 비즈니스 세션의 진행 상태를 체크하여 비즈니스 세션의 진행 상태를 비즈니스 프로세스 실행 클라이언트에게 제공할 수 있다. 예를 들어, 도 8에서, 액티비티 수행부(130)는 특정 비즈니스 프로세스 전체 과정을 특정 비즈니스 프로세스를 처리하는 복수의 비즈니스 프로세스 실행 클라이언트들에게 제공하고, 특정 액티비티에 대한 진행 상태를 특정 액티비티를 처리하는 담당자(여기에서, 담당자는 복수의 비즈니스 프로세스 실행 클라이언트들 중 한 명에 해당함)에게 제공할 수 있다. 여기에서, 특정 비즈니스 프로세스는 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의되어 시작(810), 완료(820), 특정 액티비티 처리 명령(830), 분기 흐름(840) 및 분기 조건(850)으로 디스플레이될 수 있다.
다른 일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 엔진을 통해 비즈니스 세션의 진행 상태를 체크하여 특정 액티비티에 대한 처리 마감일 전에 팝업 창으로 특정 액티비티에 대한 진행 상태를 비즈니스 프로세스 실행 클라이언트에게 제공할 수 있다. 여기에서, 특정 액티비티에 대한 진행 상태는 가로 연도표를 통해 표현될 수 있다. 예를 들어, 액티비티 수행부(130)는 특정 액티비티에 대한 처리 마감일 일주일 전에 가로 연도표에 특정 액티비티에 대한 진행 상태를 막대 그래프로 비즈니스 프로세스 실행 클라이언트에게 제공할 수 있다.
메타데이터 캐싱부(140)는 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 파라미터에 따라 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정한다. 여기에서, 메타데이터는 속성 정의 데이터 및 흐름 정의 데이터가 프로세스 레프지토리에 저장된 위치, 비즈니스 프로세스 정의 클라이언트에 관한 정보, 속성 정의 데이터에 대한 속성값 또는 흐름 정의 데이터에 대한 분기 조건 중 적어도 하나를 포함할 주 있다.
일 실시예에서, 메타데이터 캐싱부(140)는 특정 액티비티의 속성 정의 데이터에 대한 파라미터가 정적(Static)이면 비즈니스 프로세스 엔진에 의해 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱(Caching)할 수 있다. 여기에서, 캐싱된 메타데이터는 다른 비즈니스 프로세스에서 해당 특정 액티비티의 속성 정의 데이터 실행시 빠르게 호출되어 처리될 수 있다. 예를 들어, 속성 정의 데이터에 대한 메타데이터는 캐시 메모리(Cache Memory)에 로드(Load)될 수 있다.
다른 일 실시예에서, 메타데이터 캐싱부(140)는 특정 액티비티의 속성 정의 데이터에 대한 파라미터가 가변적(Variable)이면 속성 정의 데이터에 대한 메타데이터를 캐싱(Caching)하지 않을 수 있다.
액티비티 수행 진행부(150)는 특정 액티비티의 처리가 완료되면 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행한다. 여기에서, 적어도 하나의 나머지 액티비티는 특정 액티비티의 처리 결과에 따른 흐름 정의 데이터를 통해 결정될 수 있다.
일 실시예에서, 액티비티 수행 진행부(150)는 비즈니스 프로세스에 정의된 모든 액티비티들의 처리가 완료되면 비즈니스 프로세스에 대한 모든 처리 결과를 프로세스 레포지토리에 일괄적으로 저장할 수 있다. 예를 들어, 비즈니스 프로세스에 대한 모든 처리 결과는 모든 액티비티들에 대한 입출력 파라미터, 액티비티에 대한 처리 요구일, 액티비티에 대한 처리 마감일, 액티비티 처리 담당자 및 액티비티 처리 요청자에 대한 정보를 포함할 수 있다.
제어부(160)는 비즈니스 프로세스 서버(100)의 전체적인 동작을 제어하고, 비즈니스 프로세스 로딩부(110), 비즈니스 세션 생성부(120), 액티비티 수행부(130), 메타데이터 캐싱부(140) 및 액티비티 수행 진행부(150) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 2는 도 1에 있는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 과정을 설명하는 순서도이다.
도 2를 참조하면, 비즈니스 프로세스 로딩부(110)는 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져온다(단계 S201). 여기에서, 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의될 수 있다.
일 실시예에서, 비즈니스 프로세스 로딩부(110)는 비즈니스 프로세스 정의 클라이언트에 의해 설계된 비즈니스 프로세스를 가져올 수 있다. 도 5에서, 비즈니스 프로세스 정의 클라이언트는 비즈니스 프로세스 서버(100)에서 제공되는 비즈니스 프로세스 설계 도구를 통해 비즈니스 프로세스를 설계할 수 있다. 비즈니스 프로세스 정의 클라이언트는 비즈니스 프로세스 설계 도구에 포함된 복수의 액티비티들(501, 502)을 드래그하여 작업 영역에 배치하고 흐름 컨트롤(503)을 통해 복수의 액티비티들(501, 502) 간의 관계를 설정할 수 있다.
복수의 액티비티들(501, 502)은 비즈니스 프로세스 설계시 비즈니스 프로세스 서버(100)의 성능이 보장될 수 있도록 최적화로 구현될 수 있다.
일 실시예에서, 속성 정의 데이터는 다음과 같이 정의될 수 있다. 시작 액티비티(Start Event)는 비즈니스 프로세스가 시작될 때 필요한 초기화 작업을 수행하고, 종료 액티비티(End Event)는 비즈니스 프로세스가 종료될 때 필요한 작업을 수행하고, 관계 액티비티(Related Process)는 관련된 비즈니스 프로세스를 상호 연결하고, 입출력 액티비티(Service)는 외부 서비스를 호출하여 입출력 인터페이스를 호출하고, 결재 승인 액티비티(Approval)는 결재 비즈니스 프로세스 실행시 결재에 대한 승인을 처리하고, 분기 액티비티(Parallel)는 두 개 이상의 비즈니스 프로세스가 병렬로 실행되면 해당 비즈니스 프로세스들을 분기하여 동시에 실행되도록 하고, 로직 액티비티(System)는 독립적인 비즈니스 프로세스의 로직을 처리하며, 실행 액티비티(Todo)는 비즈니스 프로세스 실행 클라이언트가 처리해야 할 비즈니스 프로세스를 정의하여 제공하도록 최적화될 수 있다.
일 실시예에서, 흐름 정의 데이터는 다음과 같이 정의될 수 있다. 드릴다운 액티비티(FlowChart)는 드릴 다운(Drill-Down, 더 많은 정보를 찾기 위해 관련 텍스트나 아이콘을 클릭하여 마치 뚫고 들어가듯이 검색하는 것) 가능하도록 복잡한 비즈니스 프로세스를 분리하고, 논리 액티비티(FlowDecision)는 논리식을 부여하여 참(True) 또는 거짓(False)의 결과에 따라 비즈니스 프로세스를 분리하며, 다중 논리 액티비티(FlowSwitch)는 논리식을 부여하여 0, 1 또는 2의 결과에 따라 비즈니스 프로세스를 다중 분리하도록 최적화될 수 있다.
시작 액티비티(Start Event) 및 종료 액티비티(End Event)를 제외한 나머지 복수의 액티비티들(501, 502)은 입출력 값이 입력될 수 있다. 여기에서, 나머지 복수의 액티비티들(501, 502)은 출력 값이 입력되지 않으면 기본 값(504)으로 수행될 수 있다.
비즈니스 세션 생성부(120)는 비즈니스 프로세스 엔진에 의해 비즈니스 프로세스의 처리가 시작되면 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성한다(단계 S202 및 단계 S203).
일 실시예에서, 비즈니스 세션 생성부(120)는 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하여 비즈니스 스레드와 비즈니스 프로세스 엔진을 연결할 수 있다.
액티비티 수행부(130)는 비즈니스 세션을 통해 흐름 정의 데이터를 기초로 특정 액티비티를 결정한다(단계 S204). 여기에서, 액티비티 수행부(130)는 특정 액티비티가 결정되면 특정 액티비티의 속성 정의 데이터를 분석하여 특정 액티비티의 처리를 동기적으로 수행한다(단계 S205 및 단계 S206).
액티비티 수행부(130)는 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정할 수 있다.
일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요하면 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력이 완료될 때까지 비즈니스 세션의 진행을 홀딩(Holding)할 수 있다. 예를 들어, 도 4에서, 비즈니스 세션에서 [A], [B], [C] 및 [D] 트랜잭션(Transaction)을 순차적으로 수행한다고 가정하면, 액티비티 수행부(130)는 [B] 트랜잭션에서 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요하다고 판단하여 비즈니스 프로세스 실행 클라이언트의 사용자 입력이 완료될 때까지 [B] 트랜잭션의 진행을 홀딩할 수 있다. 액티비티 수행부(130)는 [B] 트랜잭션에서 사용자 입력이 완료되면 [C] 트랜잭션을 수행하고 [D] 트랜잭션을 수행하여 처리 결과를 송신할 수 있다.
다른 일 실시예에서, 액티비티 수행부(130)는 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요하지 않으면 기본값(Default)으로 설정된 흐름 정의 데이터를 기초로 다음 액티비티를 결정하여 비즈니스 세션의 진행을 계속하여 진행할 수 있다.
액티비티 수행부(130)는 비즈니스 프로세스 엔진을 통해 비즈니스 세션의 진행 상태를 체크할 수 있다. 예를 들어, 도 8에서, 액티비티 수행부(130)는 특정 비즈니스 프로세스 전체 과정을 특정 비즈니스 프로세스를 처리하는 복수의 비즈니스 프로세스 실행 클라이언트들에게 제공하고, 특정 액티비티에 대한 진행 상태를 특정 액티비티를 처리하는 담당자(여기에서, 담당자는 복수의 비즈니스 프로세스 실행 클라이언트들 중 한 명에 해당함)에게 제공할 수 있다. 여기에서, 특정 비즈니스 프로세스는 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의되어 시작(810), 완료(820), 특정 액티비티 처리 명령(830), 분기 흐름(840) 및 분기 조건(850)으로 디스플레이될 수 있다. 다른 예를 들어, 액티비티 수행부(130)는 특정 액티비티에 대한 처리 마감일 일주일 전에 가로 연도표에 특정 액티비티에 대한 진행 상태를 막대 그래프로 비즈니스 프로세스 실행 클라이언트에게 제공할 수 있다.
메타데이터 캐싱부(140)는 특정 액티비티의 속성 정의 데이터에 대한 파라미터가 정적(Static)이면 비즈니스 프로세스 엔진에 의해 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱(Caching)한다(단계 S207 및 단계 S208).
액티비티 수행 진행부(150)는 특정 액티비티의 속성 정의 데이터에 대한 파라미터가 정적(Static)이 아니면 특정 액티비티의 처리를 완료하여 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행한다(단계 S207 및 단계 S209).
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 비즈니스 프로세스 관리 서버
110: 비즈니스 프로세스 로딩부
120: 비즈니스 세션 생성부
130: 액티비티 수행부
140: 메타데이터 캐싱부
150: 액티비티 수행 진행부
160: 제어부

Claims (18)

  1. 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 방법에 있어서,
    (a) 복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 단계 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-;
    (b) 상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 단계;
    (c) 상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 비즈니스 세션의 진행 상태에 따라 상기 특정 액티비티의 처리를 동기적으로 수행하는 단계; 및
    (d) 상기 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 상기 파라미터에 따라 상기 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정하는 단계를 포함하되
    상기 (b) 단계는
    각 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하고 상기 비즈니스 스레드와 비즈니스 프로세스 엔진을 연결하여, 비즈니스 프로세스들에 대한 처리 요청을 수신하면 해당 비즈니스 프로세스들에 대한 비즈니스 스레드들을 동시에 제어하여 각 비즈니스 프로세스들에 대한 처리를 수행할 수 있도록 하는 단계를 포함하고,
    상기 (d) 단계는
    상기 파라미터가 정적(Static)이면 상기 비즈니스 프로세스 엔진에 의해 상기 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱하는 단계를 포함하며,
    상기 메타데이터는 속성 정의 데이터 및 흐름 정의 데이터가 프로세스 레프지토리에 저장된 위치, 비즈니스 프로세스 정의 클라이언트에 관한 정보, 속성 정의 데이터에 대한 속성값 또는 흐름 정의 데이터에 대한 분기 조건 중 적어도 하나를 포함하는
    비즈니스 프로세스 관리 방법.
  2. 제1항에 있어서, 상기 (a) 단계는
    형식 언어를 통해 정의된 상기 속성 정의 데이터 및 상기 흐름 정의 데이터를 단일 파일로서 프로세스 레포지토리에 저장하는 단계를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  3. 제1항에 있어서, 상기 (a) 단계는
    비즈니스 프로세스 정의 클라이언트로부터 각 액티비티에 대한 입출력 파라미터를 수신하여 상기 속성 정의 데이터와 상기 흐름 정의 데이터를 정의하는 단계를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 (c) 단계는
    상기 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정하는 단계; 및
    그렇다면 상기 비즈니스 프로세스 실행 클라이언트로부터 상기 사용자 입력이 완료될 때까지 상기 비즈니스 세션의 진행을 홀딩하는 단계를 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  6. 제5항에 있어서, 상기 (c) 단계는
    상기 사용자 입력이 완료되면 상기 사용자 입력을 기초로 상기 흐름 정의 데이터의 분기 매핑 정보를 체크하는 단계를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  7. 제6항에 있어서, 상기 (c) 단계는
    상기 분기 매핑 정보에 따라 상기 흐름 정의 데이터 상의 다음 액티비티를 결정하여 상기 비즈니스 세션의 진행을 계속하여 진행하는 단계를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  8. 제7항에 있어서, 상기 (c) 단계는
    상기 비즈니스 프로세스 엔진을 통해 상기 비즈니스 세션의 진행 상태를 체크하는 단계; 및
    상기 체크된 비즈니스 세션의 진행 상태를 상기 비즈니스 프로세스 실행 클라이언트에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  9. 삭제
  10. 삭제
  11. 제1항에 있어서,
    (d2) 상기 특정 액티비티의 처리가 완료되면 상기 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행하는 단계를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 방법.
  12. 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에 있어서,
    복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 비즈니스 프로세스 로딩(Loading)부 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-;
    상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 비즈니스 세션 생성부;
    상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 비즈니스 세션의 진행 상태에 따라 상기 특정 액티비티의 처리를 동기적으로 수행하는 액티비티 수행부; 및
    상기 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 상기 파라미터에 따라 상기 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정하는 메타데이터 캐싱부를 포함하되,
    상기 비즈니스 세션 생성부는
    각 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하고 상기 비즈니스 스레드와 비즈니스 프로세스 엔진을 연결하여, 비즈니스 프로세스들에 대한 처리 요청을 수신하면 해당 비즈니스 프로세스들에 대한 비즈니스 스레드들을 동시에 제어하여 각 비즈니스 프로세스들에 대한 처리를 수행할 수 있도록 하고,
    상기 메타데이터 캐싱부는
    상기 파라미터가 정적(Static)이면 상기 비즈니스 프로세스 엔진에 의해 상기 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱하며,
    상기 메타데이터는 속성 정의 데이터 및 흐름 정의 데이터가 프로세스 레프지토리에 저장된 위치, 비즈니스 프로세스 정의 클라이언트에 관한 정보, 속성 정의 데이터에 대한 속성값 또는 흐름 정의 데이터에 대한 분기 조건 중 적어도 하나를 포함하는
    비즈니스 프로세스 관리 서버.
  13. 제12항에 있어서, 상기 비즈니스 프로세스 로딩부는
    형식 언어를 통해 정의된 상기 속성 정의 데이터 및 상기 흐름 정의 데이터를 단일 파일로서 프로세스 레포지토리에 저장하는 것을 특징으로 하는 비즈니스 프로세스 관리 서버.
  14. 제12항에 있어서, 상기 액티비티 수행부는
    상기 분석된 특정 액티비티의 속성 정의 데이터를 기초로 비즈니스 프로세스 실행 클라이언트로부터 사용자 입력의 수신이 필요한지 여부를 결정하고, 그렇다면 상기 비즈니스 프로세스 실행 클라이언트로부터 상기 사용자 입력이 완료될 때까지 상기 비즈니스 세션의 진행을 홀딩하는 것을 특징으로 하는 비즈니스 프로세스 관리 서버.
  15. 삭제
  16. 삭제
  17. 제12항에 있어서,
    상기 특정 액티비티의 처리가 완료되면 상기 비즈니스 프로세스에 정의된 적어도 하나의 나머지 액티비티 각각을 동기적으로 수행하는 액티비티 수행 진행부를 더 포함하는 것을 특징으로 하는 비즈니스 프로세스 관리 서버.
  18. 비즈니스 프로세스 엔진을 통해 비즈니스 프로세스를 관리하는 비즈니스 프로세스 관리 서버에서 수행되는 비즈니스 프로세스 관리 방법에 관한 컴퓨터 프로그램을 저장하는 기록매체에 있어서,
    복수의 액티비티들(Activities) 간의 관계를 정의한 비즈니스 프로세스를 가져오는 기능 -상기 복수의 액티비티들은 속성 정의 데이터 및 흐름 정의 데이터를 통해 정의됨-;
    상기 비즈니스 프로세스 엔진에 의해 상기 비즈니스 프로세스의 처리가 시작되면 상기 비즈니스 프로세스에 해당하는 비즈니스 세션을 생성하는 기능;
    상기 비즈니스 세션을 통해 상기 흐름 정의 데이터를 기초로 특정 액티비티를 결정하고 상기 특정 액티비티의 속성 정의 데이터를 분석하여 상기 비즈니스 세션의 진행 상태에 따라 상기 특정 액티비티의 처리를 동기적으로 수행하는 기능; 및
    상기 특정 액티비티의 속성 정의 데이터에 대한 파라미터를 분석하여 상기 파라미터에 따라 상기 속성 정의 데이터에 대한 메타데이터의 캐싱 여부를 결정하는 기능을 포함하되,
    상기 비즈니스 세션을 생성하는 기능은
    각 비즈니스 세션에 대응하는 비즈니스 스레드를 생성하고 상기 비즈니스 스레드와 비즈니스 프로세스 엔진을 연결하여, 비즈니스 프로세스들에 대한 처리 요청을 수신하면 해당 비즈니스 프로세스들에 대한 비즈니스 스레드들을 동시에 제어하여 각 비즈니스 프로세스들에 대한 처리를 수행할 수 있도록 하고,
    상기 캐싱 여부를 결정하는 기능은
    상기 파라미터가 정적(Static)이면 상기 비즈니스 프로세스 엔진에 의해 상기 특정 액티비티의 속성 정의 데이터에 대한 메타데이터를 캐싱하며,
    상기 메타데이터는 속성 정의 데이터 및 흐름 정의 데이터가 프로세스 레프지토리에 저장된 위치, 비즈니스 프로세스 정의 클라이언트에 관한 정보, 속성 정의 데이터에 대한 속성값 또는 흐름 정의 데이터에 대한 분기 조건 중 적어도 하나를 포함하는
    비즈니스 프로세스 관리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020130118479A 2013-10-04 2013-10-04 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체 KR101575235B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130118479A KR101575235B1 (ko) 2013-10-04 2013-10-04 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130118479A KR101575235B1 (ko) 2013-10-04 2013-10-04 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체

Publications (2)

Publication Number Publication Date
KR20150039998A KR20150039998A (ko) 2015-04-14
KR101575235B1 true KR101575235B1 (ko) 2015-12-21

Family

ID=53031557

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130118479A KR101575235B1 (ko) 2013-10-04 2013-10-04 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체

Country Status (1)

Country Link
KR (1) KR101575235B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102221863B1 (ko) * 2019-10-25 2021-03-02 (주)에스티이지 아이티 서비스 관리 서버, 시스템 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423942B (zh) * 2016-05-24 2020-10-16 阿里巴巴集团控股有限公司 一种业务流转的方法及装置
KR102198686B1 (ko) * 2018-12-28 2021-01-05 주식회사 엘지씨엔에스 업무 화면 생성 방법 및 이를 수행하는 시스템
CN117032683A (zh) * 2023-08-18 2023-11-10 北京领雁科技股份有限公司 用于基于组件构建业务系统的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100454214B1 (ko) 2001-07-09 2004-10-26 한국전자통신연구원 메시징을 이용한 비동기 워크플로우 처리 방법
KR100445916B1 (ko) 2002-11-18 2004-08-25 주식회사 케이티 워크플로우 기법을 이용한 업무 프로세스 처리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
워크플로우 엔진 개발의 초석을 세우자. 네이버 블로그, 2006. 10. 17.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102221863B1 (ko) * 2019-10-25 2021-03-02 (주)에스티이지 아이티 서비스 관리 서버, 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20150039998A (ko) 2015-04-14

Similar Documents

Publication Publication Date Title
CA2980907C (en) Transactional conversation-based computing system
US11099816B2 (en) Workflow development system with ease-of-use features
US10860905B1 (en) Long running workflows for document processing using robotic process automation
US20200258133A1 (en) Installable web applications
US9921892B2 (en) Techniques to modify a document using a latent transfer surface
US9043750B2 (en) Automated generation of two-tier mobile applications
US8990820B2 (en) Runtime task with inherited dependencies for batch processing
US11543930B2 (en) Augmenting web applications with optimized workflows supporting user interaction
US10339040B2 (en) Core data services test double framework automation tool
KR101575235B1 (ko) 비즈니스 프로세스 관리 방법, 이를 수행하는 비즈니스 프로세스 관리 서버 및 이를 저장하는 기록매체
KR101643436B1 (ko) 웹 기반 도표 시각화를 위한 확장성
EP2250550B1 (en) Asynchronous multi-level undo support in javascript grid
US10558716B2 (en) Adaptive content-based publish/subscribe messaging
US20110082845A1 (en) Dynamic rule creation and caching
CN111488492A (zh) 用于检索图数据库的方法和装置
US9965597B2 (en) Collaborative drug discovery system
US20180314741A1 (en) Managing asynchronous analytics operation based on communication exchange
US20180165018A1 (en) Partial storage of large files in distinct storage systems
US20140089207A1 (en) System and method for providing high level view tracking of changes in sca artifacts
US10606939B2 (en) Applying matching data transformation information based on a user's editing of data within a document
Liu A BPEL-Based Web Service Flow Engine in the Early Warning of the Volcano Effusion

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 5