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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 워크플로우 시스템과 어플리케이션간의 데이터 교환 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 워크플로우 시스템의 활용에 반드시 선결되어야 할 과제 중 하나인 워크플로우 시스템과 범용적인 어플리케이션 간에 데이터를 교환을 처리하는 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.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)
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)
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)
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)
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 |
-
1999
- 1999-12-24 KR KR10-1999-0061904A patent/KR100377189B1/en not_active IP Right Cessation
Cited By (10)
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 |
---|---|---|
Volter et al. | Remoting patterns | |
Zhu | Web services provide the power to integrate | |
KR20010063810A (en) | System and method for data exchange between workflow system and applications | |
CN1239252A (en) | Publish and subscribe data processing apparatus, method and computer program product with use of stream to distribute administrative and configuration information | |
CN105446819A (en) | Service connection system and design method therefor | |
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 | |
CN112363856A (en) | Method for realizing interoperation of deep learning framework and application program based on DDS | |
Yan et al. | Researching and Designing the Architecture of E-government Based on SOA | |
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 | |
KR100499049B1 (en) | A project management method implemented by project progress monitoring through source code version control | |
Chen et al. | Jtang synergy: A service oriented architecture for enterprise application integration | |
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 | |
JP2003202984A (en) | Program control method, execution system thereof and processing program thereof | |
KR100808368B1 (en) | Method and apparatus for sending and receiving a large amount data in replication database | |
CN216437218U (en) | Data transmission system based on API and computer storage medium | |
JP2002041293A (en) | Program control method and program control system | |
Cabri et al. | A Web Infrastructure for People and Agent Interaction and Collaboration | |
KR20000045494A (en) | Support device of new goods development | |
Mills et al. | AeroWEB: an information infrastructure for the supply chain | |
CN116233117A (en) | Data transmission method, system, electronic equipment and medium | |
Schroth | Loosening the hierarchy of cross-company electronic collaboration |
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 |