KR20010063810A - System and method for data exchange between workflow system and applications - Google Patents

System and method for data exchange between workflow system and applications Download PDF

Info

Publication number
KR20010063810A
KR20010063810A KR1019990061904A KR19990061904A KR20010063810A KR 20010063810 A KR20010063810 A KR 20010063810A KR 1019990061904 A KR1019990061904 A KR 1019990061904A KR 19990061904 A KR19990061904 A KR 19990061904A KR 20010063810 A KR20010063810 A KR 20010063810A
Authority
KR
South Korea
Prior art keywords
application
event
data
workflow
workflow system
Prior art date
Application number
KR1019990061904A
Other languages
Korean (ko)
Other versions
KR100377189B1 (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 KR10-1999-0061904A priority Critical patent/KR100377189B1/en
Publication of KR20010063810A publication Critical patent/KR20010063810A/en
Application granted granted Critical
Publication of KR100377189B1 publication Critical patent/KR100377189B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Abstract

PURPOSE: The system and method for exchanging data are provided to implement the flexible and universal data exchange between the workflow system and the application by utilizing a component technology, event processing, and an XML(eXtensible Markup Language). CONSTITUTION: The system largely comprises an AP(Application)(101), AA (Application Adaptor)(102), EMS(Event Management System)(103), and WfS (Workflow System)(104). The AP, application program for running the activity, runs the work based on the data, which is delivered from the WfS and sends an end event to the EMS when ending the work. The AA, component managing the item about all the application operation, receives an AP driving event, drives the AP, sends back the related data to the AP that requests the data, and sends the related data together with the event while generating the AP end event when the AP ends. The EMS receives the event generation registry from an event source and the event subscription from an event subscriber, and delivers the event, which the event source sends, to the event subscriber. The WfS requests the event subscription to the EMS for receiving the event which the AP generates, receives the event which the AA generates when the AP ends, and generates the AP driving event for making the next AP drive.

Description

워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 및 그 방법{SYSTEM AND METHOD FOR DATA EXCHANGE BETWEEN WORKFLOW SYSTEM AND APPLICATIONS}Data exchange system between workflow system and application and its method {SYSTEM AND METHOD FOR DATA EXCHANGE BETWEEN WORKFLOW SYSTEM AND APPLICATIONS}

본 발명은 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 워크플로우 시스템의 활용에 반드시 선결되어야 할 과제 중 하나인 워크플로우 시스템과 범용적인 어플리케이션 간에 데이터를 교환을 처리하는 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a system for exchanging data between a workflow system and an application, and a method and a computer readable recording medium storing a program for realizing the method. A system for processing data exchange between an in-workflow system and a general-purpose application, and a method thereof and a computer-readable recording medium having recorded thereon a program for realizing the method.

워크플로우 시스템은 기업 내에서 일어나는 모든 업무 활동의 흐름을 자동화해 주는 소프트웨어 시스템이다. 여기서 자동화라 함은 하나의 업무가 완료되기까지 수행되어야 하는 단위 업무(Activity)들을 사전에 기록된 순서에 따라 사전에 기록된 담당자에게 전달해 주는 것을 의미한다. 따라서, 워크플로우 시스템이 동작하기 위해서는 업무 흐름 및 담당자 정보를 기술하는 워크플로우 설계기, 설계된 워크플로우 정보를 저장하는 저장소, 실제 업무 수행 시 저장된 워크플로우 정보에 따라 업무 흐름을 관리해 주는 워크플로우 관리기, 워크플로우 시스템 운영을 위한 네트워크 환경 등이 요구된다.Workflow systems are software systems that automate the flow of all business activities within an enterprise. In this case, automation means delivering the activities to be performed in advance in order recorded in advance. Therefore, in order for the workflow system to operate, a workflow designer describing the workflow and contact information, a repository for storing the designed workflow information, a workflow manager that manages the workflow according to the stored workflow information when performing actual work, A network environment for operating a workflow system is required.

그러나, 이는 워크플로우 시스템의 가장 기본적인 기능인 업무 내용의 전달 기능만 수행할 뿐이다. 업무 흐름의 자동화에 있어 가장 중요한 것은 단위 업무를 수행할 때 사용되는 각종 어플리케이션들과 워크플로우 시스템 간의 연동이다.However, it only performs the delivery of work content, the most basic function of the workflow system. The most important thing in automating work flows is the interworking between various applications and workflow systems used to perform unit tasks.

워크플로우 시스템과 어플리케이션 간의 연동이라 함은 워크플로우 시스템이 업무 수행에 동원되는 어플리케이션들과 정보를 교환한다는 것을 의미한다. 예를 들어, 1번 단위 업무와 2번 단위 업무가 연속으로 이루어지는 경우, 워크플로우 시스템은 1번 업무가 종료될 때 1번 업무를 수행한 어플리케이션으로부터 결과 데이터를 받아 2번 업무를 수행하는 어플리케이션에게 전달해야 한다. 이래야만 업무의 연속성이 이루어지기 때문이다. 이것은 기능적으로 매우 간단하지만 실제 활용 가능한 시스템을 구축하기는 쉽지 않다.Interworking between a workflow system and an application means that the workflow system exchanges information with the applications that are used to perform the task. For example, when unit 1 task and unit 2 task are continuously performed, the workflow system receives the result data from the application that performed task 1 when task 1 is completed, and sends the result data to an application that performs task 2 twice. Must be communicated. This is because continuity of work is achieved. This is very simple in function but it is not easy to build a practical system.

왜냐하면, 두 시스템 간에 데이터 교환이 이루어지기 위해서는 데이터 교환을 위해 사용할 공통 인터페이스를 두 시스템이 공히 소유하고 있어야 하고, 공통으로 사용할 데이터 형식도 사전에 정의되어 있어야 하기 때문이다. 이미 업무에서 광범위하게 사용되는 어플리케이션들과 워크플로우 시스템들은 이러한 조건을 만족시키지 못한다. 이를 해결하기 위해 더블유에프엠씨(WfMC)에서 워크플로우 시스템과 어플리케이션 간의 데이터 교환을 위한 표준 인터페이스를 제안하고 있지만 이 인터페이스는 개념적인 모델만 제공할 뿐 실제 구현을 위한 지침은 제공되지 못하고 있는 문제점이 있었다.This is because, in order to exchange data between two systems, both systems must own the common interface to use for data exchange and the data format to be used in common must be defined in advance. Applications and workflow systems already in widespread use at work do not meet these requirements. To solve this problem, WfMC proposes a standard interface for exchanging data between a workflow system and an application, but this interface provides only a conceptual model but does not provide a guide for actual implementation. .

본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 컴포넌트 기술, 이벤트 처리 및 확장 마크업 언어(XML : eXtensible Markup Language) 기술을 활용하여 유연하고 범용적인 어플리케이션 간 데이터 교환을 실현하는 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems. The present invention utilizes component technology, event processing, and extensible markup language (XML) technology to realize a flexible and universal data exchange between applications. It is an object of the present invention to provide a data exchange system between a flow system and an application, and a method and a computer readable recording medium storing a program for realizing the method.

도 1 은 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템의 일실시예 구성도.1 is a configuration diagram of an embodiment of a data exchange system between a workflow system and an application according to the present invention.

도 2 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템의 다른 실시예 구성도.2 is a block diagram of another embodiment of a data exchange system between a workflow system and an application according to the present invention;

도 3 및 도 4 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 방법의 일실시예 흐름도.3 and 4 are flowcharts of one embodiment of a method for exchanging data between a workflow system and an application according to the present invention;

도 5 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 인터페이스의 일실시예 설명도.5 illustrates one embodiment of a data exchange system interface between a workflow system and an application in accordance with the present invention.

*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

101 : 어플리케이션 102 : 어플리케이션 어댑터101: application 102: application adapter

103 : 이벤트 관리 시스템 104 : 워크플로우 시스템103: event management system 104: workflow system

상기 목적을 달성하기 위한 본 발명의 시스템은, 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에 있어서, 주어진 작업을 처리하며 외부에 공개할 데이터를 확장 마크업 언어(XML : eXtensible Markup Language)의 데이터 타입 정의(DTD : Data Type Definition)에 따라 표현하고 리플렉션 인터페이스를 이용하여 제공하기 위한 어플리케이션 처리수단; 상기 어플리케이션 처리수단에서 발생하는 이벤트를 수신하기 위해 이벤트 구독을 신청하고, 상기 어플리케이션 처리수단에서의 작업 종료시 처리 결과 정보를 수신하며, 다음 어플리케이션을 처리하기 위한 어플리케이션 구동 이벤트를 발생시키는 워크플로우 관리수단; 상기 어플리케이션 구동 이벤트를 수신하여 상기 어플리케이션 처리수단을 구동하고 상기 어플리케이션이 요구하는 관련데이터를 전송하며 상기 어플리케이션 처리수단의 작업 종료시 관련 데이터를 담은 종료 이벤트를 발생시키기 위한 어플리케이션 조정수단; 및 상기 어플리케이션 처리수단, 상기 워크플로우 관리수단 및 상기 어플리케이션 조정수단을 이벤트 발생자와 이벤트 구독자로 하여 이벤트 발생 등록을 받고 이벤트 구독 신청도 받아 발생한 이벤트에 대해 이벤트 구독자에게 전달하기 위한 이벤트 관리수단을 포함하는 것을 특징으로 한다.In order to achieve the above object, a system of the present invention is a data exchange system between a workflow system and an application, and defines a data type of an extended markup language (XML) for processing a given task and publishing data to the outside. Application processing means for expressing in accordance with (DTD: Data Type Definition) and providing using a reflection interface; Workflow management means for subscribing to an event subscription to receive an event occurring in the application processing means, receiving processing result information at the end of the work in the application processing means, and generating an application driving event for processing a next application; Application adjusting means for receiving the application driving event to drive the application processing means, transmitting the related data requested by the application, and generating an end event containing the relevant data when the application processing means ends; And event management means for using the application processing means, the workflow management means, and the application coordination means as event generators and event subscribers to receive an event occurrence registration and receive an event subscription request, and deliver the event to an event subscriber. Characterized in that.

또한, 본 발명의 방법은, 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에 적용되는 데이터 교환 방법에 있어서, 단위 업무(Activity)와 업무 전달(Transition)을 이용한 워크플로우 모델을 설정받고 각 단위 업무 별로 실행할 응용 프로그램과 관련 데이터를 정의받는 제 1 단계; 이벤트 관리 시스템이 어플리케이션을 관리하는 어플리케이션 어댑터와 워크플로우 시스템으로부터 이벤트 등록 및 이벤트 구독 신청을 받아 상기 워크플로우 시스템과 어플리케이션 간에 데이터 전달을 위한 정보 관리를 수행하는 제 2 단계; 상기 워크플로우 시스템로부터 어플리케이션 구동 이벤트를 받아 어플리케이션을 구동하고 구동된 상기 어플리케이션으로부터 관련 데이터를 요구받아 이를 전달하여 워크플로우 시스템으로부터 어플리케이션으로의 데이터 전달을 처리하는 제 3 단계; 및 상기 이벤트 관리 시스템이 실행 관련 데이터를 확장 마크업 언어(XML)화하여 데이터를 처리하는 어플리케이션으로부터 종료 정보와 관련 데이터 정보를 포함한 종료 이벤트를 전달받아 상기 워크플로우 시스템으로 전달하는 제 4 단계를 포함하는 것을 특징으로 한다.In addition, the method of the present invention, in the data exchange method applied to the data exchange system between the workflow system and the application, the workflow model using the activity and the task (Transition) is set and executed for each unit task A first step of defining an application and related data; A second step in which an event management system receives an event registration and an event subscription request from an application adapter and a workflow system managing an application, and performs information management for data transfer between the workflow system and the application; A third step of receiving an application driving event from the workflow system to drive an application, receiving related data from the driven application, and transferring the related data to process the data transfer from the workflow system to the application; And a fourth step in which the event management system receives an end event including end information and related data information from an application processing data by converting the execution related data into an extended markup language (XML) and delivers the finished event to the workflow system. Characterized in that.

또한, 본 발명은, 대용량 프로세서를 구비한 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에, 단위 업무(Activity)와 업무 전달(Transition)을 이용한 워크플로우 모델을 설정받고 각 단위 업무 별로 실행할 응용 프로그램과 관련 데이터를 정의받는 제 1 기능; 이벤트 관리 시스템이 어플리케이션을 관리하는 어플리케이션 어댑터와 워크플로우 시스템으로부터 이벤트 등록 및 이벤트 구독 신청을 받아 상기 워크플로우 시스템과 어플리케이션 간에 데이터 전달을 위한 정보 관리를 수행하는 제 2 기능; 상기 워크플로우 시스템로부터 어플리케이션 구동 이벤트를 받아 어플리케이션을 구동하고 구동된 상기 어플리케이션으로부터 관련 데이터를 요구받아 이를 전달하여 워크플로우 시스템으로부터 어플리케이션으로의 데이터 전달을 처리하는 제 3 기능; 및 상기 이벤트 관리 시스템이 실행 관련 데이터를 확장 마크업 언어(XML)화하여 데이터를 처리하는 어플리케이션으로부터 종료 정보와 관련 데이터 정보를 포함한 종료 이벤트를 전달받아 상기 워크플로우 시스템으로 전달하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention relates to a data exchange system between a workflow system having a large capacity processor and an application, wherein a workflow model using activity and transition is set and associated with an application to be executed for each unit task. A first function of receiving data; A second function in which an event management system receives an event registration and an event subscription request from an application adapter and a workflow system managing an application, and performs information management for data transfer between the workflow system and an application; A third function of receiving an application driving event from the workflow system to drive an application, receiving related data from the driven application, and delivering the related data to process data transfer from the workflow system to the application; And a fourth function of receiving, by the event management system, an execution related data into an extended markup language (XML) and receiving an end event including termination information and related data information from an application processing the data and delivering the data to the workflow system. A computer readable recording medium having a program recorded thereon is provided.

본 발명은 워크플로우 시스템과 어플리케이션 간의 원활한 데이터 교환을 위한 소프트웨어 시스템과 지원 도구를 제시한다. 이 시스템은 이벤트 처리 기술과 XML기술을 기반으로 데이터 교환 기능을 구축한다. 이 데이터 교환 기반 시스템을 통해 어플리케이션들은 상호간에 필요한 정보를 자유롭게 주고 받을 수 있다.The present invention proposes a software system and supporting tool for smooth data exchange between a workflow system and an application. This system builds data exchange function based on event processing technology and XML technology. This data exchange-based system allows applications to freely exchange information with each other.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템의 일실시예 구성도이다.1 is a block diagram of an embodiment of a data exchange system between a workflow system and an application according to the present invention.

본 발명에 따른 시스템의 구성은, 어플리케이션(101), 어플리케이션 어댑터(102), 이벤트 관리 시스템(103) 및 워크플로우 시스템(104)을 포함하여 이루어진다. 구성 서브 시스템을 상세히 살펴보면 다음과 같다.The configuration of the system according to the present invention includes an application 101, an application adapter 102, an event management system 103, and a workflow system 104. The configuration subsystem is described in detail as follows.

우선, 어플리케이션(AP : Application, 101)은 단위 업무 수행을 위해 사용하는 응용 프로그램으로서, 담당 기능은 다음과 같다.First, an application (AP) 101 is an application program used to perform a unit task, and a function thereof is as follows.

첫째, 실행하는 작업들에 대한 내용 중 외부에 공개할 데이터를 사전에 정의하고 표준 인터페이스를 이용하여 외부에 공개한다. 데이터 정의는 XML 디티디(DTD : Data Type Definition)로 하며, 공개 데이터는 XML 형태이어야 한다. 이와 함께, 실행 시 입력으로 받아들이는 데이터도 공개한다. 이는 간단한 리플렉션(Reflection) 인터페이스를 이용하여 구현한다.First, the data to be published to the outside of the tasks to be executed is defined in advance and published to the outside using a standard interface. The data definition is an XML Data Type Definition (DTD), and the public data must be in XML format. At the same time, it also exposes data that is accepted as input at runtime. This is accomplished using a simple reflection interface.

둘째, 실행 시 작업을 수행하기 이전에 어플리케이션 어댑터(102)로부터 수신할 데이터가 있는지 점검한다. 수신할 데이터가 있으면 데이터를 수신하여 그 데이터를 기반으로 작업을 수행한다(이 데이터는 워크플로우 시스템(104)으로부터 전달된 데이터가 된다).Second, it checks if there is data to be received from the application adapter 102 before performing the task at run time. If there is data to receive, it receives the data and performs work based on that data (this data becomes the data passed from workflow system 104).

셋째, 종료 시 종료 이벤트를 이벤트 관리 시스템(103)으로 전달하며, 이때 첫째항에서 정의한 형식에 따라 외부 공개 데이터를 XML 형태로 함께 전달한다.Third, upon termination, the event is sent to the event management system 103. In this case, the external public data is delivered together with the XML according to the format defined in the first section.

다음으로, 이벤트 관리 시스템(EMS : Event Management System, 103)에 대해 설명한다. 이벤트 관리 시스템(103)은 전체 시스템을 구성하는 각 서브 시스템들이 발생하는 이벤트들을 전달하고 관리하는 역할을 수행한다. "Microsoft COM", "Javabeans"와 같은 컴포넌트 기술을 이용하여 구현되며, 시스템 서비스의 형태로 항시 수행된다.Next, an event management system (EMS) 103 will be described. The event management system 103 delivers and manages events generated by respective subsystems constituting the entire system. It is implemented using component technologies such as "Microsoft COM" and "Javabeans", and is always performed as a system service.

다음과 같은 기능을 담당한다.It is responsible for the following functions.

첫째, 이벤트 발생자(Event Source)로부터 이벤트 발생 등록을 받는다.First, event occurrence registration is received from an event source.

둘째, 이벤트 수신자(Event Subscriber)로부터 이벤트 구독 신청을 받는다.Second, receive an event subscription from an event subscriber.

셋째, 이벤트 발생자가 전달한 이벤트를 이벤트 구독자들에게 전달한다.Third, deliver the event delivered by the event generator to event subscribers.

어플리케이션 어댑터(AA : Application Adapter, 102)는 어플리케이션 운용 전반에 대한 사항을 관리하는 컴포넌트로서, 다음과 같은 기능을 담당한다.Application adapter (AA) 102 is a component that manages the overall application operation, and is responsible for the following functions.

첫째, EMS(103)로부터 어플리케이션 구동 이벤트를 수신한다.First, an application driving event is received from the EMS 103.

둘째, 어플리케이션(101)을 구동한다.Secondly, the application 101 is driven.

셋째, 어플리케이션(101)이 관련 데이터를 요구하는 메시지를 보내면 해당 관련 데이터를 전송한다.Third, when the application 101 sends a message requesting the relevant data, the corresponding data is transmitted.

넷째, 어플리케이션 종료 시 EMS(103)로 어플리케이션 종료 이벤트를 발생하며, 이때 관련 데이터를 이벤트에 실어 전달한다. 관련 데이터는 어플리케이션(101)으로부터 받는다.Fourth, upon termination of the application, an application termination event is generated to the EMS 103, and at this time, the relevant data is carried in the event. The relevant data is received from the application 101.

워크플로우 시스템 (WfS : Workflow System, 104)은 워크플로우 시스템의 서버와 클라이언트를 총칭하는 것으로서, 다음과 같은 기능을 담당한다.Workflow System (WfS: Workflow System, 104) is a general term for servers and clients of a workflow system. It is responsible for the following functions.

첫째, 어플리케이션(101)이 발생하는 이벤트를 수신하기 위해 이벤트 관리 시스템에 이벤트 구독 신청을 요구한다.First, the application 101 requests an event subscription to the event management system in order to receive an event that occurs.

둘째, 어플리케이션 종료 시 AA(102)가 발생한 이벤트를 수신한다. 이 이벤트에는 어플리케이션의 작업 수행 결과에 대한 정보가 담겨 있다.Second, upon termination of the application, AA 102 receives an event. This event contains information about the results of the application's work.

셋째, 다음 어플리케이션을 구동하기 위해 어플리케이션 구동 이벤트를 발생한다.Third, an application driving event is generated to drive the next application.

도 2 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템의 다른 실시예 구성도이다.2 is a block diagram of another embodiment of a data exchange system between a workflow system and an application according to the present invention.

도 2 는 시스템의 배치 구조를 보여준다. 그림에서 제1 컴퓨터(201)와 제2 컴퓨터(202)는 클라이언트에 해당한다. 제3 컴퓨터(203)는 워크플로우 시스템의 운영을 책임지는 서버이다.2 shows the layout structure of the system. In the figure, the first computer 201 and the second computer 202 correspond to clients. The third computer 203 is a server responsible for the operation of the workflow system.

도 3 및 도 4 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 방법의 일실시예 흐름도이다.3 and 4 are flowcharts of one embodiment of a method of exchanging data between a workflow system and an application according to the present invention.

본 발명에 따라 워크플로우 시스템과 어플리케이션 간에 데이터 교환이 일어나는 시나리오는 도3과 도4에 표시하였다. 그림에서 보듯이 데이터 교환은 이벤트를 기반으로 이루어진다. 이러한 시나리오가 가능하려면 몇 가지 만족되어야 할 사항들이 있는데 다음과 같다.A scenario in which data exchange occurs between a workflow system and an application according to the present invention is shown in FIGS. 3 and 4. As shown in the figure, data exchange is event based. There are several things that need to be met for this scenario to be possible:

AP(101)는 실행 최초의 작업시에 AA(102)로부터 제공받을 데이터가 있는지 검사한다.The AP 101 checks whether there is data to be provided from the AA 102 at the first operation of execution.

AP(101)는 실행 종료 시 공개할 관련 데이터를 AA(102)로 전달해야 한다.The AP 101 must forward the relevant data to AA 102 to be published at the end of execution.

즉, AP(101)는 AA(102)와 연동될 수 있는 기능을 포함하고 있어야만 한다.In other words, the AP 101 should include a function that can interwork with the AA (102).

도 3 은 본 발명에 따른 어플리케이션으로부터 워크플로우 시스템으로 데이터가 전달되는 과정에 대한 일실시예 흐름도이다.3 is a flowchart illustrating an example of a process of transferring data from an application to a workflow system according to the present invention.

AA(32)가 EMS(33)로 이벤트를 등록하고(301), WfS 클라이언트(34)가 이벤트 구독 신청을 EMS(34)로 보내어 이벤트 구독 처리가 이루어지게 된다.The AA 32 registers the event with the EMS 33 (301), and the WfS client 34 sends the event subscription request to the EMS 34 to perform event subscription processing.

AP(31)는 실행관련 데이터를 XML화하여 처리한다(303). AP(31)는 처리를 완료하고 종료 이벤트를 발생시켜 AA(32)로 전달하고(304), AA(32)는 이를 EMS(33)를 통해 WfS 클라이언트(34)로 보낸다(305, 306). WfS 클라이언트(34)에서는 AP 종료정보 및 관련 데이터를 WfS 서버(35)로 전송한다(307).The AP 31 XML-processes the execution related data and processes it (303). The AP 31 completes the processing and generates an end event and forwards it to the AA 32 (304), which sends it to the WfS client 34 via the EMS 33 (305, 306). The WfS client 34 transmits AP termination information and related data to the WfS server 35 (307).

도 4 는 본 발명에 따른 어플리케이션으로부터 워크플로우 시스템으로 데이터가 전달되는 과정에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an example of a process of transferring data from an application to a workflow system according to the present invention.

WfS 서버(45)는 WfS 클라이언트(44)로 구동될 AP(41) 정보 및 관련데이터 정보를 WfS 클라이언트(44)로 보내고(401), WfS 클라이언트(44)는 AP 구동 이벤트 정보를 EMS(43)를 거쳐 AA(42)로 보낸다(402, 403). AA(42)는 AP(41)를 구동시킨다(404).The WfS server 45 sends AP 41 information and related data information to the WfS client 44 to be driven by the WfS client 44 (401), and the WfS client 44 sends the AP driving event information to the EMS 43. Via AA 42 (402, 403). AA 42 drives AP 41 (404).

AP(41)는 관련 데이터를 AA(42)로 요구하고(405), AA(42)는 그에 따른 데이터를 AP(41)로 전달한다.The AP 41 requests the relevant data to the AA 42 (405), and the AA 42 passes the data accordingly to the AP 41.

도 5 는 본 발명에 따른 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 인터페이스의 일실시예 설명도이다.5 is a diagram illustrating an embodiment of a data exchange system interface between a workflow system and an application according to the present invention.

도 5 는 서브 시스템들이 구현해야 하는 주요 인터페이스 및 각 인터페이스와 서브 시스템 간의 연관 관계를 보여준다.5 shows the main interface that subsystems should implement and the relationship between each interface and subsystem.

어플리케이션 어댑터(52)에는 어플리케이션 매니저 인터페이스(IApplicationManager)가 있어 어플리케이션(51)과 연결되며, 이벤트 구독자 인터페이스(IEventSubscriber)가 있어 이벤트 관리 시스템(EMS, 53)으로부터 연결받는다.The application adapter 52 has an application manager interface (IApplicationManager) and is connected to the application 51, and has an event subscriber interface (IEventSubscriber) to be connected from the event management system (EMS) 53.

이벤트 관리 시스템(EMS, 53)은 이벤트 발행자 인터페이스(IEventPublisher) 가 있어 어플리케이션 어댑터(52)와 워크플로우 시스템(WfS) 클라이언트(54)로부터 정보를 전달받는다.The event management system (EMS) 53 has an event publisher interface (IEventPublisher) to receive information from the application adapter 52 and the workflow system (WfS) client 54.

워크플로우 시스템(WfS) 클라이언트(54)에는 이벤트 구독자 인터페이스(IEventSubscriber)가 있어 이벤트 관리 시스템(EMS, 53)으로부터 연결받는다.The workflow system (WfS) client 54 has an event subscriber interface (IEventSubscriber) to receive connections from the event management system (EMS) 53.

본 발명에 따른 시스템에서 AP(101)와 WfS(104) 간 데이터 교환을 위해 사용하는 데이터 형식은 XML이다. AP(101)는 공개할 데이터에 대한 정보를 XML DTD 형태로 제공하고 종료 시 관련 데이터를 정의된 XML DTD에 따라 형식화하여 공개해야 한다. 또한, AP(101)는 공개하는 데이터에 대한 명세를 제공하여 그 의미를 파악할 수 있도록 해 줘야 한다. 이를 위해 AP(101)는 기초적인 수준의 리플렉션(Reflection) 기능을 제공한다. 외부 프로그램은 이 리플렉션(Reflection) 인터페이스를 통해 AP(101)가 제공하는 데이터를 XML DTD 형태로 제공받는다.The data format used for data exchange between the AP 101 and the WfS 104 in the system according to the present invention is XML. The AP 101 should provide information on the data to be published in the form of XML DTD and, upon termination, format the relevant data according to the defined XML DTD and publish it. In addition, the AP 101 should provide a specification on the data to be disclosed so that the AP 101 can grasp its meaning. To this end, the AP 101 provides a basic level of reflection. The external program receives the data provided by the AP 101 in the form of XML DTD through this reflection interface.

본 시스템의 운영을 위해서는 AP(101)가 제공하는 데이터들과 워크플로우 모델의 각 단위 업무가 필요로 하는 데이터들 간에 대응 관계가 사전에 정의되어 있어야만 한다. 이러한 사전 정의는 워크플로우 모델을 작성할 때 이루어지는데 그 과정은 다음과 같다.In order to operate the system, a correspondence relationship between data provided by the AP 101 and data required for each unit task of the workflow model must be defined in advance. This pre-definition occurs when you create a workflow model. The process is as follows:

1. 워크플로우 설계자는 단위 업무(Activity)와 업무 전달(Transition)을 이용하여 워크플로우 모델을 설계한다.Workflow designers design workflow models using activity and transitions.

2. 각 단위 업무 별로 실행할 응용 프로그램과 관련 데이터를 정의한다.2. Define application and related data to execute for each unit task.

A. 단위 업무 별로 실행할 응용 프로그램을 설정한다.A. Set up an application to be executed for each task.

B. 단위 업무 별로 담당 어플리케이션의 리플렉션(Reflection) 인터페이스를 이용하여 입출력 데이터 정보를 추출한다.B. Extract I / O data information for each unit task using the reflection interface of the application in charge.

C. 출력 데이터를 이용하여 다음 단위 업무를 실행하는 어플리케이션에서 필요로 하는 데이터 항목들을 골라서 관련 데이터(Relevant Data)로 정의한다(이 데이터들은 다음 단위 업무의 응용 프로그램에 입력으로 전달된다).C. Using the output data, select the data items required by the application executing the next unit task and define them as Relevant Data (these data are passed as input to the application program of the next unit task).

D. 입력 데이터를 이용하여 이전 단위 업무에서 정의한 관련 데이터 항목들을 어플리케이션의 입력 데이터 항목에 대입시킨다. 이 작업을 통해 WfS 서버(Server)는 이전 단위 업무 수행 결과로 넘겨 받은 데이터 항목들 중 어떤 항목을 현재 단위 업무를 담당한 어플리케이션에게 넘겨줄 지 알 수 있게 된다.D. Use the input data to assign the relevant data items defined in the previous unit task to the application's input data items. Through this task, the WfS server can know which of the data items received as a result of previous unit work will be handed over to the application in charge of the current unit work.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 워크플로우 시스템과 어플리케이션 간에 데이터를 교환할 수 있도록 함으로써, 워크플로우 시스템의 가장 기본적이지만 구현하기가 용이하지 않은 데이터 교환 시스템의 기능과 구조를 제시하고, 보다 실용적인 워크플로우 시스템을 구축할 수 있도록 하는 효과가 있다.As described above, the present invention enables the exchange of data between the workflow system and the application, thereby presenting the functions and structures of the most basic but not easy to implement data exchange system of the workflow system, and the more practical workflow. It has the effect of building a system.

Claims (4)

워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에 있어서,In the data exchange system between the workflow system and the application, 주어진 작업을 처리하며 외부에 공개할 데이터를 확장 마크업 언어(XML : eXtensible Markup Language)의 데이터 타입 정의(DTD : Data Type Definition)에 따라 표현하고 리플렉션 인터페이스를 이용하여 제공하기 위한 어플리케이션 처리수단;Application processing means for processing a given task and expressing data to be disclosed to the outside according to a data type definition (DTD) of an extended markup language (XML) and using a reflection interface; 상기 어플리케이션 처리수단에서 발생하는 이벤트를 수신하기 위해 이벤트 구독을 신청하고, 상기 어플리케이션 처리수단에서의 작업 종료시 처리 결과 정보를 수신하며, 다음 어플리케이션을 처리하기 위한 어플리케이션 구동 이벤트를 발생시키는 워크플로우 관리수단;Workflow management means for subscribing to an event subscription to receive an event occurring in the application processing means, receiving processing result information at the end of the work in the application processing means, and generating an application driving event for processing a next application; 상기 어플리케이션 구동 이벤트를 수신하여 상기 어플리케이션 처리수단을 구동하고 상기 어플리케이션이 요구하는 관련데이터를 전송하며 상기 어플리케이션 처리수단의 작업 종료시 관련 데이터를 담은 종료 이벤트를 발생시키기 위한 어플리케이션 조정수단; 및Application adjusting means for receiving the application driving event to drive the application processing means, transmitting the related data requested by the application, and generating an end event containing the relevant data when the application processing means ends; And 상기 어플리케이션 처리수단, 상기 워크플로우 관리수단 및 상기 어플리케이션 조정수단을 이벤트 발생자와 이벤트 구독자로 하여 이벤트 발생 등록을 받고 이벤트 구독 신청도 받아 발생한 이벤트에 대해 이벤트 구독자에게 전달하기 위한 이벤트 관리수단Event management means for receiving the event occurrence registration and event subscription request by the application processing means, the workflow management means and the application coordination means as an event generator and an event subscriber, and delivers the event to the event subscribers. 을 포함하는 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템.Data exchange system between the workflow system and the application comprising a. 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에 적용되는 데이터 교환 방법에 있어서,In the data exchange method applied to the data exchange system between the workflow system and the application, 단위 업무(Activity)와 업무 전달(Transition)을 이용한 워크플로우 모델을 설정받고 각 단위 업무 별로 실행할 응용 프로그램과 관련 데이터를 정의받는 제 1 단계;A first step of setting a workflow model using activity and transition and defining application programs and related data to be executed for each unit task; 이벤트 관리 시스템이 어플리케이션을 관리하는 어플리케이션 어댑터와 워크플로우 시스템으로부터 이벤트 등록 및 이벤트 구독 신청을 받아 상기 워크플로우 시스템과 어플리케이션 간에 데이터 전달을 위한 정보 관리를 수행하는 제 2 단계;A second step in which an event management system receives an event registration and an event subscription request from an application adapter and a workflow system managing an application, and performs information management for data transfer between the workflow system and the application; 상기 워크플로우 시스템로부터 어플리케이션 구동 이벤트를 받아 어플리케이션을 구동하고 구동된 상기 어플리케이션으로부터 관련 데이터를 요구받아 이를 전달하여 워크플로우 시스템으로부터 어플리케이션으로의 데이터 전달을 처리하는 제 3 단계; 및A third step of receiving an application driving event from the workflow system to drive an application, receiving related data from the driven application, and transferring the related data to process the data transfer from the workflow system to the application; And 상기 이벤트 관리 시스템이 실행 관련 데이터를 확장 마크업 언어(XML)화하여 데이터를 처리하는 어플리케이션으로부터 종료 정보와 관련 데이터 정보를 포함한 종료 이벤트를 전달받아 상기 워크플로우 시스템으로 전달하는 제 4 단계A fourth step in which the event management system receives an end event including termination information and related data information from an application processing data by converting execution related data into an extended markup language (XML) and delivers it to the workflow system; 를 포함하는 워크플로우 시스템과 어플리케이션간의 데이터 교환 방법.Data exchange method between the workflow system and the application comprising a. 제 2 항에 있어서,The method of claim 2, 상기 어플리케이션은,The application, 리플렉션 인터페이스를 통해 외부에 데이터를 공개하는 것을 특징으로 하는 워크플로우 시스템과 어플리케이션간의 데이터 교환 방법.A method of exchanging data between a workflow system and an application, wherein the data is disclosed to the outside through a reflection interface. 대용량 프로세서를 구비한 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템에,In the data exchange system between the workflow system and the application with a large processor, 단위 업무(Activity)와 업무 전달(Transition)을 이용한 워크플로우 모델을 설정받고 각 단위 업무 별로 실행할 응용 프로그램과 관련 데이터를 정의받는 제 1 기능;A first function for setting a workflow model using activity and transition and defining an application program and related data to be executed for each unit task; 이벤트 관리 시스템이 어플리케이션을 관리하는 어플리케이션 어댑터와 워크플로우 시스템으로부터 이벤트 등록 및 이벤트 구독 신청을 받아 상기 워크플로우 시스템과 어플리케이션 간에 데이터 전달을 위한 정보 관리를 수행하는 제 2 기능;A second function in which an event management system receives an event registration and an event subscription request from an application adapter and a workflow system managing an application, and performs information management for data transfer between the workflow system and an application; 상기 워크플로우 시스템로부터 어플리케이션 구동 이벤트를 받아 어플리케이션을 구동하고 구동된 상기 어플리케이션으로부터 관련 데이터를 요구받아 이를 전달하여 워크플로우 시스템으로부터 어플리케이션으로의 데이터 전달을 처리하는 제 3 기능; 및A third function of receiving an application driving event from the workflow system to drive an application, receiving related data from the driven application, and delivering the related data to process data transfer from the workflow system to the application; And 상기 이벤트 관리 시스템이 실행 관련 데이터를 확장 마크업 언어(XML)화하여 데이터를 처리하는 어플리케이션으로부터 종료 정보와 관련 데이터 정보를 포함한 종료 이벤트를 전달받아 상기 워크플로우 시스템으로 전달하는 제 4 기능A fourth function of receiving, by the event management system, an end event including end information and related data information from an application processing the data by converting execution related data into an extended markup language (XML) and transmitting the received event to the workflow system; 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR10-1999-0061904A 1999-12-24 1999-12-24 System and method for data exchange between workflow system and applications KR100377189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0061904A KR100377189B1 (en) 1999-12-24 1999-12-24 System and method for data exchange between workflow system and applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0061904A KR100377189B1 (en) 1999-12-24 1999-12-24 System and method for data exchange between workflow system and applications

Publications (2)

Publication Number Publication Date
KR20010063810A true KR20010063810A (en) 2001-07-09
KR100377189B1 KR100377189B1 (en) 2003-03-28

Family

ID=19629467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0061904A KR100377189B1 (en) 1999-12-24 1999-12-24 System and method for data exchange between workflow system and applications

Country Status (1)

Country Link
KR (1) KR100377189B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100414406B1 (en) * 2001-08-09 2004-01-14 주식회사 핸디소프트 Workflow System Capable of Version Management of Documents and the Method of Version Management of Documents Using the Same
WO2007078668A1 (en) * 2005-12-29 2007-07-12 Microsoft Corporation Object model on workflow
WO2008095128A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Request processing with mapping and repeatable processes
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919414B (en) * 2015-12-28 2021-10-08 创新先进技术有限公司 Link request processing method and device
CN112001402B (en) 2017-05-11 2023-10-03 创新先进技术有限公司 Identity authentication method, device and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153068A (en) * 1994-11-28 1996-06-11 Toshiba Corp Workflow system
US5799297A (en) * 1995-12-15 1998-08-25 Ncr Corporation Task workflow management system and method including an external program execution feature
JP3581779B2 (en) * 1997-11-28 2004-10-27 株式会社日立製作所 Multi-server workflow system
CA2226062A1 (en) * 1997-12-31 1999-06-30 Ibm Canada Limited-Ibm Canada Limitee Workflow mechanism for a stateless environment
KR100583869B1 (en) * 1999-12-13 2006-05-26 주식회사 케이티 Method for providing groupware application which is to support flexible bussiness management system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100414406B1 (en) * 2001-08-09 2004-01-14 주식회사 핸디소프트 Workflow System Capable of Version Management of Documents and the Method of Version Management of Documents Using the Same
WO2007078668A1 (en) * 2005-12-29 2007-07-12 Microsoft Corporation Object model on workflow
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US9710773B2 (en) 2005-12-29 2017-07-18 Microsoft Technology Licensing, Llc Modeling user input and interaction in workflow based applications
WO2008095128A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Request processing with mapping and repeatable processes
US8326911B2 (en) 2007-02-02 2012-12-04 Microsoft Corporation Request processing with mapping and repeatable processes
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US9916136B2 (en) 2008-12-29 2018-03-13 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime

Also Published As

Publication number Publication date
KR100377189B1 (en) 2003-03-28

Similar Documents

Publication Publication Date Title
US7665096B2 (en) DDS-assisted CORBA discovery
CN102347959B (en) Resource access system and method based on identity and session
CN101466077A (en) System, device and method for implementing synchronization of presentation information and schedule information
KR20010063810A (en) System and method for data exchange between workflow system and applications
Yan et al. Researching and Designing the Architecture of E-government Based on SOA
CN108667817A (en) Message converting system and message forwarding method
CN1239252A (en) Publish and subscribe data processing apparatus, method and computer program product with use of stream to distribute administrative and configuration information
JP4516594B2 (en) Message transmission control method, message transmission control device, and message transmission control program
CN111127224B (en) Information processing method, information processing device, electronic equipment and storage medium
Jang et al. A heterogeneous coupling scheme of OPRoS component framework with ROS
WO2021238516A1 (en) Method and device for generating resource allocation data
Helal et al. The internet enterprise
Li et al. Decentralized execution of event-driven scientific workflows
CN112363856A (en) Method for realizing interoperation of deep learning framework and application program based on DDS
Shan et al. Systematic interaction management in a workflow view based business-to-business process engine
Langdon Information systems architecture styles and business interaction patterns: Toward theoretic correspondence
KR100499049B1 (en) A project management method implemented by project progress monitoring through source code version control
JP2003202984A (en) Program control method, execution system thereof and processing program thereof
CN113419843B (en) NAS-based distributed resource management system
CN216437218U (en) Data transmission system based on API and computer storage medium
Fidler PADRES: a distributed content-based publish/subscribe system
Shen et al. WebBlow: A web/agent based MDO environment
JP2002041293A (en) Program control method and program control system
KR20000045494A (en) Support device of new goods development
Mills et al. AeroWEB: an information infrastructure for the supply chain

Legal Events

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

Payment date: 20090303

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee