KR102621742B1 - An automation service system using a no-code based automation service platform and method thereof, and computer program - Google Patents

An automation service system using a no-code based automation service platform and method thereof, and computer program Download PDF

Info

Publication number
KR102621742B1
KR102621742B1 KR1020230097655A KR20230097655A KR102621742B1 KR 102621742 B1 KR102621742 B1 KR 102621742B1 KR 1020230097655 A KR1020230097655 A KR 1020230097655A KR 20230097655 A KR20230097655 A KR 20230097655A KR 102621742 B1 KR102621742 B1 KR 102621742B1
Authority
KR
South Korea
Prior art keywords
task
information
plug
code
user
Prior art date
Application number
KR1020230097655A
Other languages
Korean (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 KR1020230097655A priority Critical patent/KR102621742B1/en
Application granted granted Critical
Publication of KR102621742B1 publication Critical patent/KR102621742B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 작업 시나리오의 대상 작업의 명칭, 실행 주기, 동작 조건 중 적어도 하나를 입력 설정하는 사용자: 및 사용자의 입력 값에 따른 작업 시나리오를 자동 프로그램화하고, 사용자의 입력값에 따라 자동 실행하는 노코드 기반 자동화 플랫폼; 을 포함하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템을 포함한다.The present invention provides a user who inputs and sets at least one of the name, execution cycle, and operating conditions of the target task of the work scenario, and a machine that automatically programs the work scenario according to the user's input value and automatically executes it according to the user's input value. Code-based automation platform; Includes an automated service system using a no-code-based automated service platform that includes.

Figure R1020230097655
Figure R1020230097655

Description

노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템과 그 방법 및 컴퓨터 프로그램{An automation service system using a no-code based automation service platform and method thereof, and computer program}An automation service system using a no-code based automation service platform and method thereof, and computer program}

본 발명은 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템과 그 방법, 이를 실행하는 컴퓨터 프로그램에 관한 것이다. The present invention relates to an automated service system and method using a no-code-based automated service platform, and a computer program that executes the same.

최근 몇 년간 노코드 기술의 부상은 많은 산업 분야에서 디지털 혁신에 대한 수요 증가, 비즈니스가 변화하는 시장 조건에 보다 민첩하고 대응해야 할 필요성, 숙련된 인력 부족 등 여러 요인에 의해 주도되었다. The rise of no-code technologies in recent years has been driven by several factors, including the growing demand for digital transformation across many industries, the need for businesses to be more agile and responsive to changing market conditions, and the shortage of skilled workers.

최근 제안된 기술 중, 노코드 기반 자동화 서비스 플랫폼은 자동화가 가능하지만 프로그래밍 기술이 필요한 시간 소모적이고 반복적인 작업의 문제를 해결하는데 탁월한 효과를 발휘한다. Among recently proposed technologies, no-code-based automation service platforms are excellent at solving the problem of time-consuming and repetitive tasks that can be automated but require programming skills.

즉, 노코드 기반 자동화 서비스 플랫폼은 코드 작성 필요없이 자신이 원하는 업무를 프로그램화 할 수 있는 노코드 작업 자동화 솔루션을 사용하면 영업, 인사, 행정등 비기술 직원이 코드를 작성하지 않고도 반복적인 업무를 시나리오화 하고 이를 자동화하여 프로세스를 더 빠르고 효율적으로 만들 수 있는 장점을 갖는다. In other words, the no-code-based automation service platform uses a no-code work automation solution that allows you to program the work you want without the need to write code, so non-technical staff such as sales, human resources, and administration can perform repetitive tasks without writing code. It has the advantage of making the process faster and more efficient by creating scenarios and automating them.

최근에는 이와 같은 노코드 기술이 부상되었고, 이를 통해 많은 산업 분야에서 디지털 혁신에 대한 수요 증가, 비즈니스가 변화하는 시장 조건에 보다 민첩하고 대응해야 할 필요성, 숙련된 인력 부족 등 여러 요인을 해소할 수 있었다. The recent rise of such no-code technologies has helped many industries address a number of factors, including the growing demand for digital transformation, the need for businesses to be more agile and responsive to changing market conditions, and the shortage of skilled workers. there was.

예를 들면, 코드가 없는 솔루션을 사용하면 비기술 직원이 작업과 프로세스를 자동화할 수 있으므로 개발자는 보다 복잡한 프로젝트에 집중할 수 있어 비용을 절감하고 효율성을 높이며 전반적인 비즈니스 성과를 개선할 수 있다. For example, no-code solutions allow non-technical staff to automate tasks and processes, freeing developers to focus on more complex projects, reducing costs, increasing efficiency, and improving overall business performance.

그러나 종래에는 위와 같은 노코드 기반의 많은 툴들이 사용자가 작성한 시나리오를 파일이나 DB(140)에 저장하고, 이를 정해진 시간에 특정 백엔드 프로세스가 읽어서 순차적으로 실행하는 형태를 띄고 있으며, 이는 고도화된 디지털화 시대에서 또 다른 병목이 되고 있다. However, conventionally, many no-code-based tools like the above save scenarios written by users in files or DB 140, and a specific back-end process reads them at a set time and executes them sequentially, which is in the advanced digitalization era. is becoming another bottleneck.

예를 들면, 종래에는 많은 작업이 동시간대에 실행이 필요한데 백엔드프로세스가 선형적으로 Auto-Scaleout 되지 못하여 설정된 시간에 정확히 실행되어야하는 작업이 늦거나 일찍 실행되는 문제가 빈번히 발생하고 있다. For example, conventionally, many tasks need to be executed at the same time, but the backend process is not linearly auto-scaled, so problems that should be executed exactly at the set time frequently occur late or early.

또한 이러한 프로세스방법은 내부의 로그 기록여부에 따라 추후 문제가 발생했을때 그 원인이나 당시 상태를 추적하기 어렵다. 따라서 작업이 급속도로 증가하더라고 Auto-Scaleout 이 가능하도록 클라우드 기반에서 독립적으로 작동하면서 높은 가용성을 유지할 수 있는 서비스가 필요하다. Additionally, with this process method, it is difficult to trace the cause or status of a problem when it occurs later, depending on whether or not the internal log is recorded. Therefore, even if work increases rapidly, a service that can maintain high availability while operating independently on a cloud basis is needed to enable Auto-Scaleout.

또한 종래기술은 문제상황에 대한 감시와 내 작업이 실행되는지 위치, 데이터 투명성 및 보안성을 유지할 수 있는 서비스가 부족하여 이에 대한 보완이 시급하다. In addition, the prior art lacks services that can monitor problematic situations, determine the location of my work, and maintain data transparency and security, so supplementation is urgently needed.

KRKR 10-2022-0084792 10-2022-0084792 A(2022.06.21)A(2022.06.21)

본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 데이터의 투명성 및 보안성의 유지가 가능한 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템 및 방법을 제공함에 있다. The present invention was created to solve the above-described conventional problems, and the purpose of the present invention is to provide an automated service system and method using a no-code-based automated service platform that can maintain data transparency and security.

본 발명은 위와 같은 목적을 달성하기 위하여 하기와 같은 실시예를 포함할 수 있다 The present invention may include the following embodiments to achieve the above object.

본 발명의 실시예는, 작업 시나리오의 대상 작업의 명칭, 실행 주기, 동작 조건 중 적어도 하나를 입력 설정하는 사용자 및 사용자의 입력 값에 따른 작업 시나리오를 자동 프로그램화하고, 사용자의 입력값에 따라 자동 실행하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템을 제공할 수 있다. An embodiment of the present invention automatically programs a work scenario according to the user's input value and a user who inputs and sets at least one of the name, execution cycle, and operating conditions of the target task of the work scenario, and automatically programs the work scenario according to the user's input value. An automated service system using a no-code-based automated service platform can be provided.

위 실시예에서, 노코드 기반 자동화 플랫폼은 설정된 작업을 수행하기 위한 코드(프로그램)와 고객의 UI를 어떻게 표현할지를 담은 메타 데이터, 실행에 필요한 메타 데이터를 포함하는 플러그인과, 사용자의 입력 값에 포함된 작업 명칭과 실행 주기, 동작 조건 중 적어도 하나와 매칭되는 플러그인의 메타 데이터의 위치를 조회 및 출력하는 노코드 웹빌더부와, 노코드 웹빌더부로부터 해당 작업의 명칭과 실행 주기, 메타 데이터의 위치 중 적어도 하나를 수신하고, 작업의 실행 주기에 해당되면 노코드 웹빌더부에서 조회된 작업 실행의 메타 데이터를 순차적으로 로딩하는 엔진코어와, 엔진코어로부터 사용자의 입력값 및 작업 실행의 메타 데이터를 수신하여 실행가능한 형태의 프로그램으로 사전 정의된 액션 로직으로 변환된 모듈 정보를 등록하는 컨테이너 엔진과, 컨테이너 엔진의 사전 정의 된 액션 로직의 에러 유무 확인 과정을 거친 뒤에 실행 가능한 형태로 프로그램으로서 작업 시나리오를 생성하는 작업 생성부 및 작업 시나리오에서 설정된 실행 조건에 해당되면, 작업 생성부에서 생성된 작업 시나리오를 로드하여 실행시키는 작업 실행부를 포함할 수 있다.In the above embodiment, the no-code-based automation platform includes code (program) to perform the set task, metadata containing how to express the customer's UI, a plug-in containing metadata necessary for execution, and the user's input value. A no-code web builder unit that searches and outputs the location of the metadata of the plug-in that matches at least one of the job name, execution cycle, and operating conditions, and the name, execution cycle, and metadata of the job from the no-code web builder unit. An engine core that receives at least one of the positions and sequentially loads the metadata of the task execution searched in the no-code web builder part when it corresponds to the task execution cycle, and the user's input value and metadata of the task execution from the engine core A container engine that receives and registers module information converted into action logic predefined as a program in an executable form, and after going through the process of checking for errors in the predefined action logic of the container engine, a work scenario as a program in executable form. It may include a task creation unit that creates a job, and a task execution unit that loads and executes the job scenario created in the task creation unit if the execution conditions set in the job scenario are met.

또한, 노코드 웹빌더부는 사용자로부터 수신 또는 입력된 명령에 의해 대상 코드(프로그램)의 플러그인(Plug-in)을 조회하고, 실행 조건에 해당되면 플러그인 내에서 작업을 조회하여 작업에 필요한 인증 및 메타 데이터를 통한 조건의 선택 리스트를 출력할 수 있다. In addition, the no-code web builder unit searches the plug-in of the target code (program) according to the command received or entered from the user, and if it meets the execution conditions, searches the task within the plug-in and provides authentication and metadata required for the task. You can output a selection list of conditions based on data.

또한, 플러그인은 노코드 웹빌더부에 의해 사용자에게 입력 받기 위한 폼으로서 필수 데이터 목록과, 인증, 동작 설정 및 환경 설정을 위한 UI 패널을 구성하는 UI 컴포넌트 정보와, 해당 플러그인이 지원하는 사전 정의된 로직이 구현된 액션의 메타 데이터 정보를 담고 있어 특정 액션의 수행을 위해 새로운 플러그인의 추가가 가능한 액션 정보와, 플랫폼 지원가능 버젼 및 설명, 다국어 정보, 플러그인이 구현하는 앱에 대한 정보, 플러그인 제작자, 플러그인 라이센스, 플러그인 제작일, 최근 업데이트 일, 필수 라이브러리 목록, 기타 제약 사항 중 적어도 하나를 포함하는 플러그인 정보 및 플러그인을 통해 자동화 할수 있는 기능들의 프로그램 로직을 포함하는 액션별 사전 정의 로직을 포함할 수 있다. In addition, the plug-in is a form for receiving input from the user by a no-code web builder, including a list of required data, UI component information that makes up the UI panel for authentication, operation settings, and environment settings, and predefined information supported by the plug-in. It contains metadata information of the action in which the logic is implemented, action information that allows the addition of a new plug-in to perform a specific action, platform supportable versions and descriptions, multilingual information, information about the app implemented by the plug-in, plug-in creator, It may include plug-in information including at least one of the following: plug-in license, plug-in production date, latest update date, required library list, and other restrictions, and predefined logic for each action, including program logic for functions that can be automated through plug-ins. .

또한, 엔진코어는 하나의 메인과, 복수의 서브로 구축되고, 복수의 서브는 통신을 통해 메인을 유지하고 작업 시나리오의 자동 실행 여부를 제어하고, 실행 과정과 결과를 모니터링하여 스토리지에 저장하는 것을 특징으로 한다. In addition, the engine core is built with one main and multiple subs, and the multiple subs maintain the main through communication, control whether to automatically execute work scenarios, monitor the execution process and results, and store them in storage. It is characterized by

또한, 엔진코어는 스토리지에 저장된 메타 데이터 정보의 엑세스 및 관리하는 스토리지 모듈과, 시간 동기화를 위한 NTP(Network Time Protocol)와 와치독(Watchdog)을 포함하는 스케쥴러 모듈 및 사용자의 프로그램이 실행되는 엔진에서 발생하는 에러, 로그, 응답시간, CPU 로드 중 적어도 하나의 정보를 수집하고, 작업 시나리오의 실행 과정을 모니터링하는 모니터링 모듈을 포함할 수 있다. In addition, the engine core includes a storage module that accesses and manages metadata information stored in storage, a scheduler module that includes NTP (Network Time Protocol) and a watchdog for time synchronization, and an engine that executes user programs. It may include a monitoring module that collects at least one information among occurring errors, logs, response time, and CPU load, and monitors the execution process of the work scenario.

위 실시예에서, 컨테이너 엔진의 사전 정의된 액션 로직의 구조화된 형태는 function action_logic(input:InputProps):OutputProps {//실제 프로그램} 일 수 있다. In the above embodiment, the structured form of the container engine's predefined action logic may be function action_logic(input:InputProps):OutputProps {//actual program}.

또한, 작업 생성부는 프로그램으로 패키징하기 위해 액션 로직의 Input/Output 검증과, 감사에 필요한 정보를 스토리지에 기록하고, 종료시 자원 반환을 위한 Exit 코드를 발행하는 것을 특징으로 한다. In addition, the task creation unit verifies the input/output of the action logic for packaging into a program, records information necessary for auditing in storage, and issues an exit code to return resources upon completion.

또한, 작업 실행부는 실행 정보와 인증 정보가 포함된 메타 데이터와 독립 실행 가능한 프로그램을 로드하고, 설정된 실행 시간에 해당되면 작업 시나리오를 실행하여 실행하여 성공 또는 실패 여부와, 오류시 덤프 정보(Dump)를 스토리지에 저장할 수 있다. In addition, the task execution unit loads metadata containing execution information and authentication information and an independently executable program, and if it corresponds to the set execution time, executes the task scenario to determine whether it succeeds or fails, and dumps information in case of an error. can be stored in storage.

본 발명은 위 실시예의 시스템에 의한 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법에 있어서, a)서비스 부재에서 사용자가 입력한 작업 시작 시간과, 대상 코드, 시나리오 중 적어도 하나가 포함하는 입력값을 포함하는 작업 설정 정보를 저장하는 단계와, b)엔진코어에서 사용자의 작업 정보 및 플러그인의 메타 데이터 위치를 수신하고, 작업 시간에 해당되면 작업에 필요한 플러그인 메타 데이터를 순차적으로 로드하여 컨테이너 엔진에 송신하는 단계와, c)서비스 처리부재에서 수신된 플러그인 메타 데이터와 사용자의 입력값을 사전 정의된 로직으로 모듈화하고, 이를 자동실행 가능한 프로그램화 하여 자동 실행하여 그 결과를 스토리지에 저장하는 단계를 포함할 수 있다. The present invention relates to an automated service method using a no-code-based automated service platform by the system of the above embodiment, a) an input value including at least one of the task start time, target code, and scenario entered by the user in the absence of service. A step of storing the job setting information, and b) receiving the user's job information and the metadata location of the plug-in from the engine core, and sequentially loading the plug-in metadata required for the job when it corresponds to the work time and sending it to the container engine. and c) modularizing the plug-in metadata and user input values received from the service processing member into predefined logic, programming it into an automatically executable program, automatically executing it, and storing the results in storage. You can.

위 실시예의 b)단계는 b-1)사용자의 입력 명령에 의해 작업이 활성화되면, 엔진코어가 해당 작업의 실행 주기, 일정, 작업종류, 작업의 시나리오 중 적어도 하나가 포함된 정보를 수신 및 저장하는 단계와, b-2)엔진코어가 플러그인 목록을 확인하고, 플러그인의 메타 데이터를 로드 하는 단계와, b-3)엔진코어가 로드된 플러그인의 메타 데이터와 사용자의 입력 데이터를 교차 검증하여 에러가 발생되면 사용자에게 에러 정보를 송신하는 단계와, b-4)엔진코어가 사용자가 입력한 작업 시나리오가 실행 가능한 프로그램으로 판명되면 주기적으로 실행할 수 있는 작업으로 만들기 위해 실행에 필요한 메타 데이터와 플러그인 정보, 인증 정보가 포함된 사용자 입력 데이터를 패키징하여 컨테이너 엔진에 송신하는 단계를 포함할 수 있다. In step b) of the above embodiment, b-1) when a task is activated by a user's input command, the engine core receives and stores information including at least one of the task's execution cycle, schedule, task type, and task scenario. step, b-2) the engine core checks the plug-in list and loads the meta data of the plug-in, and b-3) the engine core cross-verifies the meta data of the loaded plug-in and the user's input data to detect errors. A step of sending error information to the user when an error occurs, and b-4) If the engine core determines that the task scenario entered by the user is an executable program, metadata and plug-in information required for execution to make it a task that can be executed periodically. , It may include packaging user input data containing authentication information and transmitting it to the container engine.

또한, c)단계는 c-1)컨테이너 엔진에서 사용자의 입력 데이터와, 플러그인 메타 데이터, X509 인증서, 프로그램 정보, 실행시간 정보 및 사용자의 구독 정보 중 적어도 하나가 포함된 메타 데이터를 수신하는 단계와, c-2)컨테이너 엔진에서 로드된 데이터를 복호화하고, 정상 여부를 확인하여 실행 가능하도록 사전 정의된 액션 로직형태로 전환시키는 단계와, c-3)작업 생성부가 컨테이너 엔진에서 실행 가능형태로 만들어진 자동화 프로그램과 복호화된 메타 데이터를 Input으로 설정하여 작업 일정을 등록하는 단계와, c-4)작업 실행부가 등록된 프로그램을 설정 정보에 따라 실행하고, 그 결과를 저장하는 단계와, c-5)작업 실행부가 결과값과 프로그램의 Exit Code를 확인하여 프로그램의 작업 완료여부를 확인하고, 작업 실행이 완료되면 스토리지에 완료 정보를 저장하는 단계를 포함할 수 있다. In addition, step c) includes receiving metadata containing at least one of the user's input data, plug-in metadata, X509 certificate, program information, runtime information, and user's subscription information from c-1) container engine; , c-2) Decrypting the data loaded from the container engine, checking whether it is normal, and converting it into a predefined action logic form so that it can be executed, and c-3) The task creation unit is created in an executable form in the container engine. A step of registering a work schedule by setting the automation program and decrypted metadata as input, c-4) A step of the task execution unit executing the registered program according to the setting information and storing the result, c-5) The task execution unit may check whether the task of the program has been completed by checking the result value and the exit code of the program, and may include a step of storing the completion information in storage when the task execution is completed.

또한, 본 발명의 또 다른 실시예는 컴퓨팅 장치와 결합되어, 다른 실시예들 중 어느 하나의 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법을 실행 시키기 위하여 컴퓨팅 장치로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램을 포함할 수 있다. In addition, another embodiment of the present invention is a computer program stored in a recording medium readable by the computing device in combination with a computing device to execute an automated service method using a no-code-based automated service platform of any of the other embodiments. may include.

본 발명은 논리적으로 격리되어 실제 서버처럼 동작하는 컨테이너를 구비함에 따라 사용자가 실제 격리된 서버에서 작업을 실행한것과 같은 보안성을 갖을 수 있다. The present invention provides a container that is logically isolated and operates like a real server, so that the user can enjoy the same security as if the task was executed on an actually isolated server.

또한, 본 발명은 표준화된 환경을 기반으로 하기 때문에 공개 클라우드, 사설 클라우드 상의 원하는 위치의 데이터센터에서 수행 가능하도록 구축할 수 있기에 사용자가 보안성을 유지하며 자신의 작업을 격리된 환경에서 최소 간섭 상태에서 정확한 시간에 수행을 가능하게 한다. In addition, because the present invention is based on a standardized environment, it can be implemented in a data center in a desired location on a public cloud or private cloud, allowing users to maintain security and perform their work in an isolated environment with minimal interference. It makes it possible to perform at the correct time.

또한, 본 발명은 컨테이너 기반 확장성의 장점을 그대로 받을 수 있어, 작업의 양이 폭팔적으로 증가하더라도 별도의 IDC 구축없이 단순히 엔진을 스케일업하는것만으로 확장할 수 있으며, 트래픽과 연계하여 자동으로 확장되도록 구축할 수 있다. In addition, the present invention can receive the advantages of container-based scalability, so even if the amount of work increases explosively, it can be expanded by simply scaling up the engine without building a separate IDC, and can be automatically expanded in connection with traffic. It can be built.

또한, 본 발명은 표준화된 환경 구성으로 사용자가 프레임워크를 이용하여 자신만의 플러그인을 개발하고 이를 본 시스템에서 실행할 수 있어 개방성을 확보할 수 있다. In addition, the present invention has a standardized environment configuration, so users can develop their own plug-ins using the framework and run them on the system, thereby ensuring openness.

도 1은 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템을 도시한 블럭도이다.
도 2는 플러그인을 도시한 블럭도이다.
도 3은 UI 컴포넌트의 예를 도시한 도면이다.
도 4는 엔진코어의 전체 구조도이다.
도 5는 엔진코어의 내부 구조도이다.
도 6은 작업 생성 과정을 도시한 블럭도이다.
도 7은 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법에서 S100 단계를 도시한 순서도이다.
도 8은 S200 단계를 도시한 순서도이다.
도 9는 S300 단계를 도시한 순서도이다.
Figure 1 is a block diagram showing an automated service system using a no-code-based automated service platform according to the present invention.
Figure 2 is a block diagram showing a plug-in.
Figure 3 is a diagram showing an example of a UI component.
Figure 4 is an overall structural diagram of the engine core.
Figure 5 is a diagram of the internal structure of the engine core.
Figure 6 is a block diagram showing the task creation process.
Figure 7 is a flowchart showing step S100 in the automated service method using the no-code-based automated service platform according to the present invention.
Figure 8 is a flowchart showing step S200.
Figure 9 is a flowchart showing step S300.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있지만, 특정 실시예를 도면에 예시하여 상세하게 설명하고자 한다. 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 서로 다른 방향으로 연장되는 구조물을 연결 및/또는 고정시키기 위한 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물중 어느 하나에 해당되는 것으로 이해되어야 한다.Although the present invention may be subject to various changes and may have various embodiments, specific embodiments will be described in detail by illustrating them in the drawings. This is not intended to limit the present invention to specific embodiments, and is not intended to limit the present invention to any of the changes, equivalents, or substitutes included in the spirit and scope of the present invention for connecting and/or fixing structures extending in different directions. It must be understood as applicable.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terms used herein are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제 하지 않는 것으로 이해되어야 한다.In this specification, terms such as “comprise” or “have” are intended to indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that it does not exclude in advance the existence or possibility of addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

이하에서는 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템 및 방법의 바람직한 실시예를 첨부 도면을 참조하여 설명한다. Hereinafter, a preferred embodiment of an automated service system and method using a no-code-based automated service platform according to the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템을 도시한 블럭도이다. Figure 1 is a block diagram showing an automated service system using a no-code-based automated service platform according to the present invention.

도 1을 참조하면, 본 발명은 작업 시나리오의 대상 프로그램과, 시나리오의 반복 주기, 동작 조건를 입력 설정하는 사용자(단말)와, 사용자의 입력 값에 따른 작업 시나리오를 자동 프로그램화하고, 사용자의 입력값에 따라 자동 실행하는 노코드 기반 자동화 플랫폼을 포함한다. Referring to Figure 1, the present invention automatically programs a work scenario according to the user's input value, a user (terminal) that inputs and sets the target program of the work scenario, the repetition cycle of the scenario, and operating conditions, and the user's input value. It includes a no-code-based automation platform that automatically executes according to the requirements.

사용자는 데스크탑, 모바일 단말 등 컴퓨팅 연산 및 유무선 인터넷 통신이 가능한 단말이다. 작업 대상인 프로그램의 등록과, 등록된 프로그램을 통한 작업 시나리오 값(예를 들면, 동작 조건, 반복 주기, 종료 조건, 동작 기간 등등)을 입력한다. Users are terminals capable of computing operations and wired and wireless Internet communication, such as desktops and mobile terminals. Register the program that is the target of work and enter work scenario values (e.g., operation conditions, repetition cycle, end condition, operation period, etc.) through the registered program.

노코드 기반 자동화 플램폼은 사용자의 입력값에 따른 작업 시나리오를 자동 프로그램화하고, 사용자의 입력 조건에 따라 작업 시나리오를 자동 실행한다. 여기서 노코드 기반 자동화 플랫폼은 입력된 시나리오를 사전 정의된 액션 로직으로 변환하고, 이를 다시 자동화 프로그램화함에 따라 별도의 코드(프로그램)가 없더라도 시나리오의 자동 실행이 가능하다. The no-code-based automation platform automatically programs work scenarios according to user input values and automatically executes work scenarios according to user input conditions. Here, the no-code-based automation platform converts the input scenario into predefined action logic and reprograms it for automation, enabling automatic execution of the scenario even without separate code (program).

이를 위해 노코드 기반 자동화 플랫폼은 서비스 부재(100), 라이브러리부재, 서비스 처리부재(300)를 포함할 수 있다. To this end, the no-code-based automation platform may include a service member 100, a library member, and a service processing member 300.

서비스 부재(100)는 노코드 웹빌더부(110)와, 대시보드(120)와, 데이터 백엔드부(130), DB(140), CACHE(150)를 포함할 수 있다. The service member 100 may include a no-code web builder unit 110, a dashboard 120, a data backend unit 130, a DB 140, and a CACHE 150.

이중 노코드 웹빌더부(110)는 사용자가 자동화 하고자 하는 코드명과, 시작 조건, 반복 주기가 포함된 작업 시나리오를 사용자가 쉽게 로직형태로 표현할 수 있는 기능을 제공한다. 즉, 사용자는 웹사이트 또는 앱을 통해 본 시스템에 접속할 때, 노코드 웹빌더부(110)에서 제공하는 화면 및 메뉴를 통해 자신의 원하는 작업과 일정 및 조건을 설정할 수 있다. Among them, the no-code web builder unit 110 provides a function that allows the user to easily express the work scenario including the code name, start condition, and repetition cycle that the user wants to automate in logic form. In other words, when a user accesses this system through a website or app, he or she can set his or her desired tasks, schedule, and conditions through the screen and menu provided by the no-code web builder unit 110.

노코드 웹빌더부(110)는 사용자로부터 입력된 작업 정보에 따라 사전에 정의된 플러그인(210)의 목록을 조회하고, 각 플러그인(210)에서 실행할 수 있는 작업을 조회하여 결과를 출력할 수 있다. The no-code web builder unit 110 can query a list of predefined plug-ins 210 according to task information input from the user, query tasks that can be executed in each plug-in 210, and output the results. .

또한 노코드 웹빌더부(110)는 위와 같은 플러그인(210)의 조회가 자동으로 실행될 수 있도록 실행주기를 설정할 수 있다. Additionally, the no-code web builder unit 110 can set an execution cycle so that the inquiry of the plug-in 210 as described above can be automatically executed.

보다 구체적인 설명을 위하여 예를 들면, 노코드 웹빌더부(110)는 사용자로부터 수신 또는 입력된 명령에 의해 대상 코드(예를 들면, 메일(Mail))의 플러그인(210)(Plug-in)을 조회하고, 실행 조건(예를 들면, 신규 이메일의 수신)에 해당되면 플러그인(210) 내에서 신규 이메일의 수신 이후의 시나리오가 포함된 작업 시나리오를 조회할 수 있다. For a more specific explanation, for example, the no-code web builder unit 110 connects the plug-in 210 (Plug-in) of the target code (e.g., Mail) by a command received or input from the user. If it meets the execution condition (for example, receipt of a new email), you can search for a work scenario that includes a scenario after receiving a new email within the plug-in 210.

여기서 노코드 웹빌더부(110)는 사용자의 입력 명령에 따라 작업에 필요한 인증 및 메타 데이터(예를 들면, 메일이 포함된 문자, 메일 보낸 사람)를 통한 조건의 선택이 가능하도록 플러그인(210)의 메타 데이터의 조회와 검색이 가능하다. Here, the no-code web builder unit 110 uses a plug-in 210 to enable selection of conditions through authentication and metadata (e.g., text containing an email, email sender) required for the task according to the user's input command. It is possible to query and search metadata.

데이터 백엔드부(130)는 사용자가 설정한 데이터를 API를 통해 수신하고, 수신된 데이터를 DB(140)와 CACHE(150)를 통해 CRUD(Create, Read, Update, Delete) 작업을 수행한다. The data backend unit 130 receives data set by the user through API and performs CRUD (Create, Read, Update, Delete) operations on the received data through DB 140 and CACHE 150.

대시보드(120)는 데이터 백엔드부(130)에서 수행한 작업 결과를 출력한다. 그러므로 사용자는 작업의 실행/실패/오류상세 내용을 대시보드(120)에서 조회할 수 있다. The dashboard 120 outputs the results of work performed by the data backend unit 130. Therefore, the user can view the execution/failure/error details of the task on the dashboard 120.

라이브러리 부재(200)는 프레임워크(220)와, 플러그인(210)과, 엔진코어(230)를 포함한다. The library member 200 includes a framework 220, a plug-in 210, and an engine core 230.

프레임워크(220)는 서비스 부재(100), 라이브러리 부재(200), 서비스 처리부재(300)에서 사용하는 코드의 공통 프레임워크(220)로서 모듈간 데이터연결을 위한 방법 및 데이터 타입에 대한 정보가 담겨 있어 내외부 사용자가 공통된 코드를 작성 할 수 있는 표준화된 환경을 제공할 수 있다. The framework 220 is a common framework 220 for codes used in the service member 100, library member 200, and service processing member 300, and contains information on methods and data types for data connection between modules. It can provide a standardized environment where internal and external users can write common code.

플러그인(210)은 사용자가 입력 및 등록한 사용자 플러그인과, 사전 제공하는 플러그인을 포함한다. The plug-in 210 includes user plug-ins entered and registered by the user, and plug-ins provided in advance.

이와 같은 플러그인(210)은 처리 작업에 대한 코드와 고객에게 UI를 어떻게 표현할지를 담은 메타 데이터, 실행에 필요한 메타 데이터를 포함한다. 플러그인(210)은 위와 같은 메타 데이터를 사용자 및 서비스 처리부에 제공한다. 플러그인(210)에 대한 설명은 도 2를 참조하여 설명한다.This plug-in 210 includes code for processing tasks, metadata containing how to express the UI to customers, and metadata necessary for execution. The plug-in 210 provides the above metadata to the user and service processing unit. The plug-in 210 will be described with reference to FIG. 2 .

도 2는 플러그인을 도시한 블럭도, 도 3은 플러그인의 예를 도시한 도면이다. Figure 2 is a block diagram showing a plug-in, and Figure 3 is a diagram showing an example of a plug-in.

도 2 및 도 3을 참조하면, 플러그인(210)은 고객이 시나리오 작성시 특정 플랫폼/로직에 설정된 데이터에 접근하기 위해 사용되는 공통 인터페이스 및 메타 데이터 정보를 담고 있다. Referring to Figures 2 and 3, the plug-in 210 contains a common interface and metadata information used by a customer to access data set in a specific platform/logic when creating a scenario.

이를 위해 플러그인(210)은 UI 컴포넌트 정보, 플러그인 정보, 액션별 사전 정의 로직과, 액션 정보와, 인터페이스를 포함할 수 있다. To this end, the plug-in 210 may include UI component information, plug-in information, predefined logic for each action, action information, and an interface.

인터페이스는 액션별 사전 정의 로직 실행에 필요한 필수 데이터의 타입 및 입력 필수 여부가 포함된다. The interface includes the type of required data required to execute predefined logic for each action and whether input is required.

UI 컴포넌트 정보는, 도 3a를 참조하면, 고객으로부터 정보를 받기위한 인터페이스에서 표시된 데이터를 UI형태로 받을 수 있도록 사전 구현된 컴포넌트로서 미리 Input을 이용해 특정 작업을 프로그램 형태로 처리하고, Output으로 내보내주는 코딩이 완료된 컴포넌트이다. Referring to Figure 3a, UI component information is a pre-implemented component that allows data displayed in the interface for receiving information from customers to be received in UI form. It processes a specific task in the form of a program using input in advance and exports it as output. This is a component whose coding has been completed.

여기서 UI 컴포넌트 정보는 노코드 웹빌더부(110)에 의해 사용자에게 보여지는 부분에 대한 메타 데이터(예를 들면, 제목, 설명, 로고 등)를 포함한다.Here, the UI component information includes metadata (eg, title, description, logo, etc.) about the part shown to the user by the no-code web builder unit 110.

예를 들면, 플러그인(210)은 사전제작되어 화면상에 사용자가 선택할 수 있는 플러그인(210) 메타정보를 활용해서 웹페이지에서 도 3a와 같은 컴포넌트를 구성하고 해당 컴포넌트에서 특정 플러그인(210)을 선택하면 플러그인(210)에서 필요한 필수 데이터 목록(예를 들면, 메일1, 메일2, 스프레드 시트)을 사용자에게 입력받기 위한 폼(UI 컴포넌트 정보)을 노출한다. 이를 통해 사용자는 특정 블록(예. 이메일) 등의 인증/동작설정/블럭의 환경설정을 UI패널에서 수행할 수 있다.For example, the plug-in 210 is pre-produced and can be selected by the user on the screen by using the plug-in 210 meta information to configure a component as shown in Figure 3a on a web page and select a specific plug-in 210 from the component. Then, the plug-in 210 exposes a form (UI component information) for the user to input a list of required data (e.g., mail 1, mail 2, spreadsheet). Through this, users can perform authentication/operation settings/block environment settings such as specific blocks (e.g. email) on the UI panel.

이를 통해 사용자는 자신의 메일 계정을 화면에 표현된 컴포넌트 정보에 등록 후 메일 수신 여부와 메일 확인, 또는 스프레드 시트용 데이터의 수신 여부나 편집 및 확인이 즉시 이루어질 수 있다. Through this, the user can register his or her mail account in the component information displayed on the screen and then immediately check whether or not the mail has been received and check the mail, or whether or not data for a spreadsheet has been received or edited and confirmed.

액션 정보는, 도 3b를 참조하면, 해당 플러그인(210)이 지원하는 사전 정의된 로직이 구현된 액션의 메타 데이터 정보를 담고 있다. 여기서 액션은 하나의 기능으로서 사용자가 이메일 플러그인을 추가하고 자기 메일함에 이메일 수신시 특정 액션(기능)들이 수행되게 하고 싶으면 새로운 플러그인을 밑에 추가할 수 있다. Referring to FIG. 3B, action information contains metadata information of an action in which predefined logic supported by the corresponding plug-in 210 is implemented. Here, the action is a function. If the user adds an email plug-in and wants to perform specific actions (functions) when receiving an email in his or her mailbox, a new plug-in can be added below.

보다 구체적으로 액션 정보는 해당 플러그인(210)을 통해 자동화 할수 있는 기능들(예. 새이메일 수신시, 메일 반송시 등)의 설명, 제목, 처리를 위해 필요한 필수 입력 정보 중 적어도 하나와, 작업 실행 주기나 지연(딜레이)시간도 포함할 수 있다. More specifically, the action information includes at least one of the required input information required for the description, title, and processing of functions that can be automated through the corresponding plug-in 210 (e.g., when receiving a new email, when returning an email, etc.), and executing the task. Period or delay time may also be included.

플러그인 정보는 플러그인(210)에 대한 정보로서 최소 플랫폼 지원가능 버젼 및 설명, 다국어 정보, 플러그인(210)이 구현하는 앱에 대한 정보, 플러그인(210) 제작자, 플러그인 라이센스, 플러그인 제작일, 최근 업데이트 일, 필수 라이브러리 목록, 기타 제약 사항 중 적어도 하나를 포함한다. Plugin information is information about the plug-in 210, including minimum platform supportable version and description, multilingual information, information about the app implemented by the plug-in 210, plug-in 210 creator, plug-in license, plug-in production date, and most recent update date. , a list of required libraries, and at least one of the following constraints:

이를 통해 플러그인(210)은 해당 정보를 이용하여 사용자 입력값을 사전 검증할 수 있다. Through this, the plug-in 210 can pre-verify the user input value using the corresponding information.

액션별 사전 정의 로직은 플러그인(210)을 통해 자동화 할수 있는 기능들(예. 새이메일 수신시, 메일 반송시 등)의 프로그램 로직을 포함한다 . 액션별 사전 정의 로직은 실제 사용자가 조합한 여러 기능이 조합될 때 해당 코드가 수행되어 목표를 달성한다. Predefined logic for each action includes program logic for functions that can be automated through the plug-in 210 (e.g. when receiving a new email, returning an email, etc.) . The predefined logic for each action achieves the goal by executing the corresponding code when multiple functions combined by the actual user are combined.

예를 들면, 사용자가 이메일 플러그인과 스토리지 플러그인, 스프레드 시트 플러그인을 조합하면, 새로운 이메일의 첨부 파일을 특정 클라우드에 업로드하고 그 경로를 스프레드 시트에 정리할 수 있다. For example, if a user combines an email plugin, a storage plugin, and a spreadsheet plugin, they can upload attachments from new emails to a specific cloud and organize the paths in a spreadsheet.

엔진코어(230)는 작업의 스케쥴링, 감사 등을 제어하고, 서비스 처리부에 작업 처리 도구를 제공할 수 있다. The engine core 230 can control task scheduling, auditing, etc., and provide task processing tools to the service processing unit.

예를 들면, 본 발명에서는 자동화 작업의 실행을 위한 백엔드 프로세스를 포함하고 있지 않다. 따라서 자동화 서비스의 실행정보는 Code As A Service의 형태로 모든 실행 가능한 정보를 코드 형태의 메타 데이터로 저장한다. 이때, 메타 데이터는 실행 주기 및 실행시 조건 정보, 제약 사항이 YAML(Yet Another Markup Language) 또는 JSON 형태로 형태로 담겨 있다. For example, the present invention does not include a backend process for executing automated tasks. Therefore, the execution information of the automated service stores all executable information as metadata in the form of code in the form of Code As A Service. At this time, metadata contains execution cycle, execution condition information, and constraints in the form of YAML (Yet Another Markup Language) or JSON.

엔진코어(230)는 위와 같은 메타 데이터에 포함된 정보를 읽어서 서비스의 실행 주기와 메타 데이터 위치를 기반으로 작업을 탐색하고 스케쥴링한다. 이는 도 4 및 도 5를 참조하여 설명한다. The engine core 230 reads the information contained in the above metadata and searches and schedules tasks based on the service execution cycle and metadata location. This is explained with reference to FIGS. 4 and 5.

도 4는 엔진코어의 전체 구조도, 도 5는 엔진코어의 내부 구조도이다. Figure 4 is an overall structural diagram of the engine core, and Figure 5 is an internal structural diagram of the engine core.

도 4 및 도 5를 참조하면, 엔진코어(230)는 각 작업이 실행되기전에 작업의 정보를 관리하고 있다가 실행이 필요한 시점의 특정시간 이전(사용자 정의)에 작업에 필요한 구성 사항을 모아서 처리하는 역할을 메인으로 한다. Referring to Figures 4 and 5, the engine core 230 manages task information before each task is executed, and collects and processes the configuration information required for the task before a specific time (user-defined) when execution is required. It plays the main role.

또한 엔진코어(230)는 서비스 처리부재(300)의 전과정을 통과한 프로세스의 자원 회수를 제어하고, 중간에 실행되다가 종료된 작업의 사용자 조건에 따라 재실행하도록 서비스 처리부재를 제어할 수 있다. In addition, the engine core 230 can control resource recovery of processes that have passed through the entire process of the service processing member 300 and control the service processing member to re-execute tasks that were executed and ended in the middle according to user conditions.

또한, 본 발명에서 엔진코어(230)는 Single Point of Failure 라는 잘 알려진 구조적 문제를 피하기 위해 하나의 메인과, 복수의 서브로 구축될 수 있다. 메인과 복수의 서브는 하나의 서버로서 동작 가능하고, 작업 종류나 용량에 따라 분산 처리가 가능하다. Additionally, in the present invention, the engine core 230 can be constructed with one main and multiple subs to avoid the well-known structural problem of Single Point of Failure. The main and multiple subs can operate as one server, and distributed processing is possible depending on the type of work or capacity.

또한, 엔진코어(230)는 브로드캐스트 통신을 통해 메인을 유지하고 서브간의 통신을 통하여 자동화 프로세스를 관리한다. 그리고 엔진코어(230)는 메인에 장애가 발생한 경우에는 서브를 메인으로 선발할 수 있다. 이때 해당 로직은 공지된 기술인 Znode 방식을 따를 수 있다. In addition, the engine core 230 maintains the main system through broadcast communication and manages the automation process through communication between subs. And the engine core 230 can select the sub as the main when a failure occurs in the main. At this time, the logic may follow the Znode method, which is a known technology.

이와 같은 메인/서브로 명명된 각각의 엔진코어의 내부 구조는, 도 5를 참조하면, 스토리지 모듈과, 스케쥴러 모듈(232)과, 프로세스 모듈(233)과, 모니터링 모듈(234)을 포함할 수 있다. Referring to FIG. 5, the internal structure of each engine core named main/sub may include a storage module, a scheduler module 232, a process module 233, and a monitoring module 234. there is.

스토리지 모듈(231)은 스토리지(350)에 저장된 메타 데이터 정보의 엑세스 및 관리하기 위해 사용된다. 예를 들면, 스토리지(350)에는 자동화 프로그램의 실행과정에서 발생한 로그, 에러정보, 액션에서 사용한 임시파일, 사용자가 저장한 파일 등이 저장된다. 또한 스토리지(350)에는 프로그램실행시 구동에 필요한 사용자의 암호화된 계정정보, 구독정보(과금을 위해)도 저장된다. The storage module 231 is used to access and manage metadata information stored in the storage 350. For example, the storage 350 stores logs generated during the execution of an automation program, error information, temporary files used in actions, files saved by the user, etc. Additionally, the storage 350 stores the user's encrypted account information and subscription information (for billing) required to run the program.

본 발명은 하나로 완전히 격리된 컨테이너 기반으로 작업이 실행될 때 컨테이너가 생성되고 끝나면 임시 저장된 파일들이 사라질 수 있다. 따라서 스토리지 모듈(231)은 위와 같은 정보들을 스토리지(350)에 저장하고, 입력 명령에 따라 해당 파일을 불러들여 출력 실행시킨다. 아울러 스토리지(350)에 저장된 파일은 인증 과정을 거쳐 출력될 수 있다. The present invention is based on a completely isolated container, so when a task is executed, a container is created and when it is finished, temporarily stored files may disappear. Therefore, the storage module 231 stores the above information in the storage 350, loads the corresponding file according to the input command, and outputs and executes the file. In addition, files stored in the storage 350 can be output after going through an authentication process.

스케쥴러 모듈(232)은 작업을 정확한 시간에 처리하기 위하여 코어별 정확한 시간 동기화를 위한 NTP(Network Time Protocol)와 와치독(Watchdog)을 포함할 수 있다. The scheduler module 232 may include NTP (Network Time Protocol) and a watchdog for accurate time synchronization for each core in order to process tasks at the correct time.

프로세스 모듈(233)은 작업이 여러번 실행되지 않게 하기위한 노드별 동기화를 위한 글로벌락, 메인 장애시 복수 서브중 메인으로 선발하기 위한 로직과, 에러 처리를 조정한다. The process module 233 coordinates a global lock for synchronization of each node to prevent a task from being executed multiple times, logic for selecting the main among multiple subs in the event of a main failure, and error processing.

모니터링 모듈(234)은 작업자동화 프로세스를 관리하기 위한 로직을 포함한다. 예를 들면, 모니터링 모듈(234)은 컨테이너 기반으로 서버리스를 구성한다는건 그때마다 새 컴퓨터를 사서 프로그램을 실행하고 지우는 것과 같아서 작업이 잘 준비되었는지, 컴퓨터가(컨테이너가) 잘 준비되었는지 프로그램이 실행되었는지, 컴퓨터가(컨테이너 자원)이 잘 반환되었는지 각 프로세스를 모니터링한다. The monitoring module 234 includes logic for managing the work automation process. For example, the monitoring module 234 monitors whether the task is well prepared and the computer (container) is well prepared, as configuring serverless based on containers is like buying a new computer each time and executing and deleting the program. Each process is monitored to see if the computer (container resource) has been properly returned.

또한 모니터링 모듈(234)은 실제 사용자의 프로그램이 실행되는 엔진에서 발생하는 에러, 로그, 각종 모니터링 지표(응답시간, CPU 로드 등)을 수집한다. Additionally, the monitoring module 234 collects errors, logs, and various monitoring indicators (response time, CPU load, etc.) that occur in the engine where the actual user's program is executed.

서비스 처리부재(300)는 컨테이너 엔진(310)과, 작업 생성부(320)와, 작업 실행부(330)와, 작업 정리부(340)와, 스토리지(350)를 포함할 수 있다.The service processing member 300 may include a container engine 310, a job creation unit 320, a job execution unit 330, a job organizing unit 340, and a storage 350.

컨테이너 엔진(310)은 표준화된 쿠버네티스 엔진을 기반으로 동작함에 따라 논리적으로 격리되어 실제 서버처럼 동작이 가능하고, 표준화된 환경을 기반으로 구축됨에 따라 공개 클라우드, 사설 클라우드 상의 원하는 위치의 데이터 센터에서 수행 가능하다. As the container engine 310 operates based on a standardized Kubernetes engine, it is logically isolated and can operate like a real server, and is built based on a standardized environment, so it is a data center in a desired location on a public cloud or private cloud. It can be performed in

따라서 사용자는 실제 격리된 서버에서 작업을 실행한 것과 같은 보안성을 얻을 수 있고, 별도의 IDC를 구축할 필요가 없고, 트래픽과 연계하여 자동으로 확장될 수 있을 것이다. Therefore, users can obtain the same security as if the task was executed on an actual isolated server, there is no need to build a separate IDC, and it can be automatically expanded in conjunction with traffic.

보다 구체적으로 설명하자면, 컨테이너 엔진(310)은 엔진코어(230)로부터 수신된 작업 실행의 메타 데이터를 수신하여 사용자 지정한 작업을 위한 코드를 모듈 형태로 가져온다. 그리고 컨테이너 엔진(310)은 작업 실행 명령을 통해 입력된 인증이나 설정 정보를 가져와서 모듈에 입력할 수 있는 형태로 변환한다. To be more specific, the container engine 310 receives metadata of task execution received from the engine core 230 and retrieves the code for the customized task in the form of a module. Then, the container engine 310 takes the authentication or configuration information entered through the task execution command and converts it into a form that can be input into the module.

앞서 설명한 플러그인(210)의 정보에는 액션의 사전 정의 실행로직이 작성되어 있다. 해당 로직은 프로그램이 아니고 프로그램의 내부 로직이기에 해당 프로그램(코드)가 완전한 프로그램이 되기 위해서는 실행가능한(예를 들면 .exe) 형태로 만들어져야 된다. In the information of the plug-in 210 described above, predefined execution logic of the action is written. Since the logic in question is not a program but the internal logic of the program, in order for the program (code) to become a complete program, it must be created in an executable (for example, .exe) form.

이를 위해 컨테이너 엔진(310)은 실행가능한 형태의 프로그램으로 사전 정의된 액션로직을 프로그램화 해주는 과정을 수행한다. To this end, the container engine 310 performs a process of programming predefined action logic into an executable program.

사전 정의된 로직의 간단한 예를 들면 아래와 같다. A simple example of predefined logic is as follows.

function action_logic(input:InputProps):OutputProps {function action_logic(input:InputProps):OutputProps {

//실제 프로그램//actual program

}}

즉, 컨테이너 엔진(310)은 위와 같이 사전 정의된 로직과 같은 코드를 사용자가 추가한 플러그인 정보에서 가져와서 이를 실행가능한 형태의 프로그램을 만들어줄 수 있도록 위와 같이 구조화된 형태로 변경한다. In other words, the container engine 310 takes code such as predefined logic from the plug-in information added by the user and changes it into a structured form as above to create an executable program.

따라서 사용자가 선택한 액션들(예, 새 이메일이 수신되면)의 코드는 컨테이너 엔진(310)에 의해 미리 정의된 모듈의 형태에 구조화된 형태로 변환된다. Accordingly, the code of the actions selected by the user (eg, when a new email is received) is converted into a structured form in the form of a predefined module by the container engine 310.

아울러, 컨테이너 엔진(310)은 표준화된 쿠버네티스 기반으로 구성됨에 작업 시나리오별로 위와 같은 과정을 수행하는 컨테이너를 생성하게 되고, 작업 완료후 해당 컨테이너를 삭제할 수 있다.In addition, the container engine 310 is configured based on standardized Kubernetes, so it creates a container that performs the above process for each work scenario, and the container can be deleted after the work is completed.

작업 생성부(320)는 컨테이너 엔진(310)에서 변환된 모듈 정보와 메타 데이터가 미리 정의된 모듈형태로서 구조화된 형태를 Input과 Output을 차례로 연결한 하나의 프로그램으로 프로그램화(.exe화) 한다. 이는 도 6을 참조하여 설명한다. The task creation unit 320 programs (.exes) the module information and metadata converted from the container engine 310 into a predefined structured form into one program that sequentially connects input and output. . This is explained with reference to FIG. 6.

도 6은 작업 생성부의 작업 서비스 생성 과정을 도시한 블럭도이다.Figure 6 is a block diagram showing the job service creation process of the job creation unit.

도 6을 참조하면, 작업 생성부(320)는 독립 실행 가능한 작업 서비스(예를 들면, 작업 시나리오 형태의 설정 정보)를 생성한다. 예를 들면, 작업 생성부(320)는 프로그램화 하기 위한 액션 로직의 Input/Output 검증 및 에러/로그 등 감사에 필요한 정보를 스토리지(350)에 기록하고, 종료시 자원 반환을 위한 Exit 코드를 발행하여 모듈들이 프로그램으로 동작할 수 있도록 한다. Referring to FIG. 6, the task creation unit 320 generates an independently executable task service (for example, setting information in the form of a task scenario). For example, the task creation unit 320 records information necessary for auditing, such as verification of input/output of action logic for programming and errors/logs, in the storage 350, and issues an Exit code to return resources upon completion. Allows modules to operate as programs.

위와 같은 과정의 예를 들면, 작업 생성부(320)는 이메일이 수신되면 액션 로직이 생성되면서, 이메일 수신과 관련된 첨부파일 유무에 따라 분기 액션 로직과, 드라이브 저장 유무에 따른 액션 로직, 스프레드 시트 열 추가 유무에 따른 액션 로직들을 순차 생성한다. For example, the task creation unit 320 generates action logic when an email is received, branching action logic depending on the presence or absence of an attachment related to receiving the email, action logic depending on the presence or absence of drive storage, and spreadsheet columns. Action logic is sequentially created according to the presence or absence of additions.

여기서 액션 로직은 위와 같은 프로그램화된 형태의 모듈로서 작업 생성부(320) 자체에서 입력값의 검증과, 사용자의 액션 유무, 에러 유무 확인 과정을 거친 뒤에 실행 가능한 형태로 변환된다. Here, the action logic is a programmed module as above, and is converted into an executable form after going through the process of verifying the input value, whether the user takes action, and whether there is an error in the task creation unit 320 itself.

그리고, 작업 생성부(320)는 각 액션 로직에 따른 결과/발생 데이터를 스토리지(350)에 저장한다. Then, the task creation unit 320 stores result/occurrence data according to each action logic in the storage 350.

작업 실행부(330)는 프로그램의 실행 정보 메타 데이터(예를 들면, 인증정보, 실행 정보)와 독립 실행 가능한 프로그램을 로드한다. 따라서 작업 실행부(330)는 설정된 실행 시간에 해당되면, 작업 서비스를 실행하여 성공 또는 실패 여부와, 오류시 덤프 정보(Dump)를 스토리지(350)에 저장한다. The task execution unit 330 loads program execution information metadata (eg, authentication information, execution information) and an independently executable program. Accordingly, when the set execution time corresponds to the set execution time, the task execution unit 330 executes the task service and stores success or failure information and dump information (Dump) in case of an error in the storage 350.

작업 정리부(340)는 작업 실행에 필요한 모든 컴퓨팅 리소스를 정리하는 작업을 수행한다. The task organizing unit 340 performs the task of organizing all computing resources required for task execution.

본 발명은 상기와 같은 구성을 포함하며, 이하에서는 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법을 설명한다. The present invention includes the above-described configuration, and hereinafter, an automated service method using a no-code-based automated service platform according to the present invention will be described.

본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법은 사용자의 작업을 저장하는 S100 단계와, 엔진코어(230)의 자동화 프로그램 실행 위하여 준비하는 S200 단계와, 서비스 처리부재(300)의 자동화 프로그램으로 작업을 실행하는 S300 단계를 포함한다. The automated service method using the no-code-based automated service platform according to the present invention includes a step S100 of storing the user's work, a step S200 of preparing to execute the automation program of the engine core 230, and automation of the service processing member 300. It includes the S300 step of executing the task as a program.

이중 S100 단계는 도 7, S200 단계는 도 8, S300 단계는 도 9를 참조하여 설명한다. Of these, step S100 will be described with reference to FIG. 7, step S200 with reference to FIG. 8, and step S300 with reference to FIG. 9.

도 7은 본 발명에 따른 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법에서 S100 단계를 도시한 순서도이다. Figure 7 is a flowchart showing step S100 in the automated service method using the no-code-based automated service platform according to the present invention.

도 7을 참조하면, S100 단계는 서비스 부재(100)가 사용자가 입력한 작업 관련 데이터를 검증하는 S110 단계와, 메타 데이터의 버전을 체크하는 S120 단계와, 최소동작 버전 준수 여부를 확인하는 S130 단계와, 데이터를 저장하는 S140 단계와, 작업 유무 활성화를 확인하는 S150 단계를 포함한다. Referring to FIG. 7, step S100 includes step S110 in which the service member 100 verifies task-related data entered by the user, step S120 in which the version of metadata is checked, and step S130 in which compliance with the minimum operating version is checked. It includes a step S140 of storing data, and a step S150 of checking whether the operation is active or not.

S110 단계는 서비스 부재(100)가 사용자가 입력한 데이터의 오류 여부를 검증하는 단계이다. 서비스 부재(100)는 플러그인 메타 데이터를 통해 사용자의 입력데이터를 정의한 스키마에 따라 string, date 등 입력된 값이 맞는지 확인 하고, 인증이나 파일 위치와 같은 플러그인의 필수 입력 값이 사용자로부터 입력되었는지 확인한다. Step S110 is a step in which the service member 100 verifies whether there is an error in the data entered by the user. Service member 100 checks whether input values such as string and date are correct according to the schema that defines the user's input data through plug-in metadata, and checks whether required input values of the plug-in, such as authentication or file location, have been entered by the user. .

S120 단계는 메타 데이터 버전을 체크 하는 단계이다. 서비스 부재(100)는, 예를 들면, 웹 애플리케이션으로 사용자의 입력을 사용자가 보는 화면에서 실행할 프로그램을 정의했을 때 메타 데이터 버전을 확인한다. 이때 서비스 부재(100)의 노코드 웹빌더부(110) 또는 데이터 백엔드부(130)는 플러그인(210)의 메타 데이터를 표시하는 스키마의 버전 정보를 확인한다. Step S120 is a step to check the metadata version. The service member 100 checks the metadata version when, for example, a web application defines a program to be executed on a screen where the user inputs a user's input. At this time, the no-code web builder unit 110 or the data backend unit 130 of the service member 100 checks the version information of the schema representing the metadata of the plug-in 210.

이는 메타 데이터가 버전 업이 되면서 새로운 항목이 생겨 났을 때 이전에 작업을 생성하여 저장된 기존의 데이터에 새로운 항목이 없어도 동작할 수 있다면 허용 가능한 버전으로 볼 수 있다. This can be viewed as an acceptable version if it can operate even if there are no new items in the existing data stored by previously created tasks when new items are created as the metadata is upgraded.

S130 단계는 동작 버전 준수 여부를 확인하는 단계이다. 여기서 서비스 부재(100)는 사용자가 기존에 선택한 플러그인의 버전이 지원하는 플러그인 동작 버전의 범위에 해당되지 않으면 사전에 컴포넌트 리스트에 표시되지 않게 하거나 안내 팝업을 노출시킨다. Step S130 is a step to check compliance with the operating version. Here, the absence of service 100 prevents the plug-in from being displayed in the component list in advance or exposes an information pop-up if the version of the plug-in previously selected by the user does not fall within the range of plug-in operation versions supported.

이를 위해 서비스 부재(100)는 사용자가 정의한 프로그램(플러그인(210)과 액션의 동작 연결 데이터)의 데이터가 JSON 형태로 데이터 백엔드부(130)로 전달된 경우 DB(140) 기반의 사용자 정보와 사용자 인증 정보를 대조하고, 전달된 사용자의 데이터를 2차로 사전 정의된 플러그인(210)의 메타 데이터(플러그인 정보)와 대조하여 검증한다. For this purpose, when the data of the user-defined program (action connection data of the plug-in 210 and the action) is delivered to the data backend 130 in JSON format, the service member 100 provides user information and user information based on the DB 140. Authentication information is compared, and the transmitted user data is secondarily verified by comparing it with metadata (plugin information) of the predefined plug-in 210.

S140 단계는 데이터 백엔드부(130)가 DB(140)에 데이터를 저장하는 단계이다. 저장되는 정보는 작성자 정보, 추가, 수정 시점, 화면을 구성하기 위한 데이터일 수 있다. Step S140 is a step in which the data backend unit 130 stores data in the DB 140. Stored information may include author information, addition and modification times, and data for configuring the screen.

S150 단계는 작업 활성화 유무를 확인하는 단계이다. 서비스 부재(100)는 사용자의 입력 값에 따라 작업 활성화 유무를 확인할 수 있다. 여기서 작업 활성화는, 예를 들면, 사용자가 설정한 시간간격(예5분) 마다 계속하여 메일을 가져오게 되도록 설정한 작업의 실행을 의미한다. 이와 같은 작업 활성화 유무 단계는 후술되는 서비스 처리부재(300)의 S300 단계와 연계되어 실행될 수 있다. Step S150 is a step to check whether the task is activated. The service member 100 can check whether or not a task is activated according to the user's input value. Here, task activation means, for example, execution of a task set to continuously retrieve mail at time intervals (e.g. 5 minutes) set by the user. This task activation or non-existence step may be executed in conjunction with step S300 of the service processing member 300, which will be described later.

도 8은 S200 단계를 도시한 순서도이다.Figure 8 is a flowchart showing step S200.

도 8을 참조하면, S200 단계는 예정 작업을 로드 하는 S210 단계와, 실행 여부를 확인하는 S220 단계와, 데이터의 정상 여부를 확인하는 S230 단계와, 플러그인(210) 목록 확인 및 메타 데이터를 로드하는 S240 단계와, 교차 검증하는 S250 단계와, 데이터 패키징 후 송신하는 S260 단계를 포함한다. Referring to FIG. 8, step S200 includes step S210 of loading a scheduled task, step S220 of checking whether it is executed, step S230 of checking whether the data is normal, and checking the list of plug-ins 210 and loading metadata. It includes steps S240, step S250 of cross-verification, and step S260 of packaging and transmitting data.

S210 단계는 엔진코어(230)에서 예정 작업의 실행 정보를 로드 하는 단계이다. 여기서 엔진코어(230)는 사용자로부터 입력된 명령에 의해 작업이 활성화되면, 해당 작업을 설정된 스케쥴에 맞춰 주기적으로 실행되어 작업을 처리하게 된다. 이때 해당 작업의 실행 주기, 일정, 작업종류, 작업의 시나리오와 같은 정보가 실행 정보로서 전달되어지고 해당 정보가 저장된다. Step S210 is a step of loading execution information of the scheduled task in the engine core 230. Here, when a task is activated by a command input by the user, the engine core 230 executes the task periodically according to a set schedule to process the task. At this time, information such as the execution cycle, schedule, task type, and task scenario of the task is transmitted as execution information and the information is stored.

S220 단계는 엔진코어(230)가 데이터베이스에 저장된 데이터와 로드된 데이터를 교차 비교하여 실행여부를 확인하는 단계이다. 예를 들면, 실행 정보에는 사용자의 입력값만을 사용할 경우에 사용자 값에 의한 시스템 조작이나 정보 도용, 보안 문제가 발생될 가능성이 있다. 따라서 엔진코어(230)는 서버에 저장된 사용자 정보(예를 들면, 계정정보, 구독 정보)와 교차 대조를 통한 인증 및 인가를 거친다. Step S220 is a step in which the engine core 230 checks execution by cross-comparing data stored in the database and data loaded. For example, if only user input values are used for execution information, there is a possibility that system manipulation, information theft, or security problems may occur due to user values. Therefore, the engine core 230 undergoes authentication and authorization through cross-matching with user information (e.g., account information, subscription information) stored in the server.

S230 단계는 엔진코어(230)가 데이터의 정상 여부를 확인하는 단계이다. 예를 들면, 데이터가 정상인 경우에는 작업이 진행되고, 아닌 경우 에러를 발생시킬 수 있다. 따라서 엔진코어(230)는 에러가 발생될 경우에 사용자에 에러 정보를 출력한다. Step S230 is a step in which the engine core 230 checks whether the data is normal. For example, if the data is normal, the operation may proceed, and if not, an error may occur. Therefore, the engine core 230 outputs error information to the user when an error occurs.

S240 단계는 엔진코어(230)가 플러그인(210) 목록을 확인하고, 메타 데이터를 로드 하는 단계이다. 사용자의 입력 데이터는 작업을 실행하는 시나리오에 관련된 정보가 포함될 수 있다. Step S240 is a step in which the engine core 230 checks the plug-in 210 list and loads metadata. The user's input data may include information related to the scenario in which the task is executed.

예를 들면, 작업 실행을 위한 시나리오에 관련된 정보는 플러그인(210)이 신규로 개발되거나 업데이트 되기전에 작성되어 저장되었다가 사용자에 의해 활성화되면 당시에는 정상 정보였어도 현재는 동작 시킬수 없는 상황이 벌어질 수 있다. For example, if the information related to the scenario for task execution is created and stored before the plug-in 210 is newly developed or updated, and then activated by the user, a situation may occur where it cannot be operated now even if the information was normal at the time. there is.

따라서 엔진코어(230)는 교차 검증을 위해 플러그인(210)의 메타 데이터를 로드한다. Therefore, the engine core 230 loads the metadata of the plug-in 210 for cross-verification.

S250 단계는 엔진 코어가 교차 검증 하는 단계이다. 엔진코어(230)는 S240 단계에서 로드된 메타 데이터와 사용자의 입력 데이터를 교차 검증하여 에러가 발생되면 사용자에게 에러 정보를 송신할 수 있다. The S250 step is a cross-verification step by the engine core. The engine core 230 may cross-verify the loaded metadata and the user's input data in step S240 and transmit error information to the user if an error occurs.

S260 단계는 엔진코어(230)가 데이터를 패키징하고, 송신하는 단계이다. 엔진코어(230)는 사용자가 입력한 작업 시나리오가 실행 가능한 프로그램으로 판명되면, 주기적으로 실행할 수 있는 작업으로 만들기 위해 실행에 필요한 정보를 패키징(예를 들면, 메타 데이터와 플러그인 정보, 사용자 입력 데이터(인증 데이터 포함) 정보를 컨테이너 엔진(310)에 전달한다. Step S260 is a step in which the engine core 230 packages and transmits data. If the task scenario entered by the user is determined to be an executable program, the engine core 230 packages the information necessary for execution (e.g., metadata, plug-in information, user input data) to make it a task that can be executed periodically. Information (including authentication data) is transmitted to the container engine 310.

도 9는 S300 단계를 도시한 순서도이다. Figure 9 is a flowchart showing step S300.

도 9를 참조하면, S300 단계는 서비스 처리부재(300)에서 메타 데이터를 로드하는 S310 단계와, 언패키징하는 S320 단계와, 프로그램/실행시간 정보 및 메타 데이터를 입력하는 S330 단계와, 실행을 등록하는 S340 단계와, 작업을 실행하는 S350 단계와, 실행 완료 여부를 확인하는 S360 단계와, 실행 완료가 감지되면 관련 정보를 저장 및 엔진코어(230)에 송신하는 S370 단계와, 실행 완료되지 않으면 에러 메타 데이터 및 덤프를 생성하여 엔진코어(230)에 송신하는 S380 단계를 포함한다. Referring to FIG. 9, step S300 includes step S310 of loading metadata from the service processing member 300, step S320 of unpackaging, step S330 of inputting program/execution time information and metadata, and registering execution. Step S340, step S350 of executing the task, step S360 of checking whether execution has been completed, step S370 of storing and transmitting related information to the engine core 230 when execution completion is detected, and an error error if execution is not completed. It includes step S380 of generating metadata and dumps and transmitting them to the engine core 230.

S310 단계는 서비스 처리부재(300)(예를 들면, 컨테이너 엔진(310))에서 노코드 웹빌더부(110)에서 사용자의 입력 데이터와, 라이브러리 부재(200)에서 사전 정의된 플러그인 메타 데이터(모듈정보), X509인증서, 프로그램 정보, 실행시간 정보 및 사용자의 구독 정보 중 적어도 하나가 포함된 메타 데이터를 DB(140) 및/또는 스토리지(350)에서 가져오는 단계이다. In step S310, the service processing member 300 (e.g., container engine 310) receives user input data from the no-code web builder unit 110, and predefined plug-in metadata (module) from the library member 200. This is a step of retrieving metadata including at least one of information), X509 certificate, program information, execution time information, and user subscription information from the DB 140 and/or storage 350.

S320 단계는 서비스 처리부재(300)의 컨테이너 엔진(310)에서 로드된 데이터를 복호화 및 교차 검증 하는 단계이다. 메타 데이터는 기본적으로 암호화되어 저장된다. 따라서 컨테이너 엔진(310)은 메타 데이터의 로드 후 암호화된 메타 데이터를 복호화하고, 교차 검증하여 정상 여부를 확인한다.Step S320 is a step of decoding and cross-verifying data loaded from the container engine 310 of the service processing member 300. Metadata is stored encrypted by default. Therefore, after loading the metadata, the container engine 310 decrypts the encrypted metadata and cross-verifies it to check whether it is normal.

S330 단계는 서비스 처리부재(300)에서 교차 검증된 메타 데이터와, 사용자로부터 입력된 프로그램 및 실행시간 정보를 작업 일정에 입력 및 등록하는 단계이다. 작업 생성부(320)는 컨테이너 엔진(310)에서 실행 가능 형태로 만들어진 자동화 프로그램과 복호화된 메타 데이터를 Input으로 설정하여 스케쥴러 모듈(232)의 일정을 검증하여 작업 일정을 등록한다. Step S330 is a step where the service processing member 300 inputs and registers cross-verified metadata and program and execution time information input from the user into the work schedule. The task creation unit 320 verifies the schedule of the scheduler module 232 by setting the automated program created in an executable form in the container engine 310 and the decrypted metadata as input and registers the task schedule.

S340 단계는 서비스 처리부재(300)가 등록된 프로그램을 실행하는 단계이다. 작업 실행부(330)는 설정된 작업 일정 또는 설정 조건에 따라 등록된 프로그램을 자동으로 실행시키고, 그 결과를 출력한다. Step S340 is a step in which the service processing member 300 executes a registered program. The task execution unit 330 automatically executes the registered program according to the set task schedule or set conditions and outputs the results.

S350 단계는 서비스 처리부재(300)에서 실행 완료 여부를 확인하는 단계이다. 작업 실행부(330)는 결과값과 프로그램의 ExitCode를 확인하여 프로그램의 작업 완료여부를 확인한다. 여기서 ExitCode는 일반적인 리눅스 프로그램의 ExitCode 메커니즘을 따를 수 있고, 결과값(Output)은 실행중 에러가 발생하면 해당 내용이 기록되어 있기에 정상 실행 여부를 확인할 수 있다. Step S350 is a step in which the service processing member 300 checks whether execution has been completed. The task execution unit 330 checks whether the program has completed its work by checking the result value and the ExitCode of the program. Here, ExitCode can follow the ExitCode mechanism of a typical Linux program, and the output value is recorded if an error occurs during execution, so you can check whether it is running normally.

S360 단계는 서비스 처리부재(300)가 작업 실행이 완료됨을 확인하여 정보를 스토리지(350)에 저장하는 단계이다. 여기서 작업 실행부(330)는 엔진코어(230)에 프로그램 실행과 관련된 모든 정보를 송신한다. 그리고 엔진코어(230)는 수신된 정보를 스토리지(350)에 저장한다. Step S360 is a step in which the service processing member 300 confirms that task execution is complete and stores the information in the storage 350. Here, the task execution unit 330 transmits all information related to program execution to the engine core 230. And the engine core 230 stores the received information in the storage 350.

S370 단계는 S350 단계에서 실행되지 않은 것으로 확인되면 에러 메타 데이터 및 덤프 정보를 생성하여 엔진코어(230)에 송신하는 단계이다. 여기서 엔진코어(230)는 수신된 에러 메타 데이터 및 덤프 정보를 스토리지(350)에 저장한다. Step S370 is a step in which, if it is confirmed that it was not executed in step S350, error meta data and dump information are generated and transmitted to the engine core 230. Here, the engine core 230 stores the received error metadata and dump information in the storage 350.

이상과 같이 본 발명은 예시된 도면을 참고하여 설명하였으나, 본 발명은 이상에서 설명된 실시예와 도면에 의해 한정되지 않으며, 특허청구범위 내에서 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자들에 의해 다양한 실시가 가능하다.As described above, the present invention has been described with reference to the illustrative drawings, but the present invention is not limited to the embodiments and drawings described above, and those skilled in the art in the technical field to which the present invention pertains within the scope of the patent claims. Various implementations are possible.

100 : 서비스 부재
110 : 노코드 웹빌더부
120 : 대시보드
130 : 데이터 백엔드부
140 : DB
150 : CACHE
200 : 라이브러리 부재
210 : 플러그인
220 : 프레임워크
230 : 엔진코어
300 : 서비스 처리부재
310 : 컨테이너 엔진
320 : 작업 생성부
330 : 작업 실행부
340 : 작업 정리부
350 : 스토리지
100: No service
110: No-code web builder part
120: Dashboard
130: Data backend unit
140 : DB
150 : CACHE
200: Library absent
210: plug-in
220: Framework
230: Engine core
300: Service processing absence
310: container engine
320: Task creation unit
330: task execution unit
340: Work organizer
350: Storage

Claims (13)

작업 시나리오의 대상 작업의 명칭, 실행 주기, 동작 조건 중 적어도 하나를 입력 설정하는 사용자의 입력 값에 따른 작업 시나리오를 자동 프로그램화하고, 사용자의 입력값에 따라 자동 실행하는 노코드 기반 자동화 플랫폼; 을 포함하고,
노코드 기반 자동화 플랫폼은
설정된 작업을 수행하기 위한 코드(프로그램)와 고객의 UI를 어떻게 표현할지를 담은 메타 데이터, 실행에 필요한 메타 데이터를 포함하는 플러그인(210);
사용자의 입력 값에 포함된 작업 명칭과 실행 주기, 동작 조건 중 적어도 하나와 매칭되는 플러그인(210)의 메타 데이터의 위치를 조회 및 출력하는 노코드 웹빌더부(110);
노코드 웹빌더부(110)로부터 해당 작업의 명칭과 실행 주기, 메타 데이터의 위치 중 적어도 하나를 수신하고, 작업의 실행 주기에 해당되면 노코드 웹빌더부(110)에서 조회된 작업 실행의 메타 데이터를 순차적으로 로딩하는 엔진코어(230);
엔진코어(230)로부터 사용자의 입력값 및 작업 실행의 메타 데이터를 수신하여 실행가능한 형태의 프로그램으로 사전 정의된 액션 로직으로 변환된 모듈 정보를 등록하는 컨테이너 엔진(310);
컨테이너 엔진(310)의 사전 정의 된 액션 로직의 에러 유무 확인 과정을 거친 뒤에 실행 가능한 형태로 프로그램으로서 작업 시나리오를 생성하는 작업 생성부(320); 및
작업 시나리오에서 설정된 실행 조건에 해당되면, 작업 생성부(320)에서 생성된 작업 시나리오를 로드하여 실행시키는 작업 실행부(330); 를 포함하고,
엔진코어(230)는
하나의 메인과, 복수의 서브로 구축되고, 복수의 서브는 통신을 통해 메인을 유지하고 작업 시나리오의 자동 실행 여부를 제어하고, 실행 과정과 결과를 모니터링하여 스토리지(350)에 저장하는 것; 을 특징으로 하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
A no-code-based automation platform that automatically programs work scenarios according to input values of a user who inputs and sets at least one of the name, execution cycle, and operating conditions of the target task of the work scenario, and automatically executes the work scenarios according to the user input values; Including,
The no-code based automation platform is
A plug-in 210 containing code (program) to perform a set task, metadata containing how to express the customer's UI, and metadata necessary for execution;
A no-code web builder unit 110 that searches for and outputs the location of metadata of the plug-in 210 that matches at least one of the task name, execution cycle, and operating conditions included in the user's input value;
At least one of the name, execution cycle, and location of meta data of the task is received from the no-code web builder unit 110, and if it corresponds to the execution cycle of the task, the meta data of the task execution searched by the no-code web builder unit 110 An engine core 230 that sequentially loads data;
A container engine 310 that receives user input and task execution metadata from the engine core 230 and registers module information converted into action logic predefined as an executable program;
A task creation unit 320 that generates a task scenario as a program in an executable form after going through a process of checking for errors in the predefined action logic of the container engine 310; and
a task execution unit 330 that loads and executes the task scenario generated by the task creation unit 320 if the execution conditions set in the task scenario are met; Including,
Engine core 230 is
It is constructed with one main and a plurality of subs, and the plurality of subs maintain the main through communication, control whether or not to automatically execute work scenarios, monitor the execution process and results, and store them in the storage 350; Automation service system using a no-code-based automation service platform characterized by .
삭제delete 청구항 1에 있어서, 노코드 웹빌더부(110)는 사용자로부터 수신 또는 입력된 명령에 의해 대상 코드(프로그램)의 플러그인(210)(Plug-in)을 조회하고, 실행 조건에 해당되면 플러그인(210) 내에서 작업을 조회하여 작업에 필요한 인증 및 메타 데이터를 통한 조건의 선택 리스트를 출력하는 것; 을 특징으로 하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
The method of claim 1, wherein the no-code web builder unit 110 checks the plug-in 210 of the target code (program) according to a command received or input from the user, and if it meets the execution conditions, plug-in 210 ) to search for tasks within the task and output a selection list of conditions through authentication and metadata required for the task; Automation service system using a no-code-based automation service platform characterized by .
청구항 1에 있어서, 플러그인(210)은
노코드 웹빌더부(110)에 의해 사용자에게 입력 받기 위한 폼으로서 필수 데이터 목록과, 인증, 동작 설정 및 환경 설정을 위한 UI 패널을 구성하는 UI 컴포넌트 정보;
해당 플러그인(210)이 지원하는 사전 정의된 로직이 구현된 액션의 메타 데이터 정보를 담고 있어 특정 액션의 수행을 위해 새로운 플러그인(210)의 추가가 가능한 액션 정보;
플랫폼 지원가능 버젼 및 설명, 다국어 정보, 플러그인(210)이 구현하는 앱에 대한 정보, 플러그인(210) 제작자, 플러그인(210) 라이센스, 플러그인(210) 제작일, 최근 업데이트 일, 필수 라이브러리 목록, 기타 제약 사항 중 적어도 하나를 포함하는 플러그인 정보; 및
플러그인(210)을 통해 자동화 할수 있는 기능들의 프로그램 로직을 포함하는 액션별 사전 정의 로직; 을 포함하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
The method of claim 1, wherein the plug-in 210
A list of required data as a form to be input by the user by the no-code web builder unit 110, and UI component information constituting a UI panel for authentication, operation settings, and environment settings;
Action information that contains metadata information of an action in which predefined logic supported by the corresponding plug-in 210 is implemented, allowing the addition of a new plug-in 210 to perform a specific action;
Platform supportable versions and descriptions, multilingual information, information about apps implemented by plug-in (210), plug-in (210) creator, plug-in (210) license, plug-in (210) production date, latest update date, list of required libraries, etc. Plugin information including at least one of the constraints; and
Predefined logic for each action, including program logic for functions that can be automated through the plug-in 210; Automation service system using a no-code-based automation service platform that includes.
삭제delete 청구항 1에 있어서, 엔진코어(230)는
스토리지(350)에 저장된 메타 데이터 정보의 엑세스 및 관리하는 스토리지 모듈(231);
시간 동기화를 위한 NTP(Network Time Protocol)와 와치독(Watchdog)을 포함하는 스케쥴러 모듈(232); 및
사용자의 프로그램이 실행되는 엔진에서 발생하는 에러, 로그, 응답시간, CPU 로드 중 적어도 하나의 정보를 수집하고, 작업 시나리오의 실행 과정을 모니터링하는 모니터링 모듈(234); 을 포함하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
In claim 1, the engine core 230 is
a storage module 231 that accesses and manages metadata information stored in the storage 350;
Scheduler module 232 including Network Time Protocol (NTP) and watchdog for time synchronization; and
a monitoring module 234 that collects information on at least one of errors, logs, response time, and CPU load that occur in the engine in which the user's program runs, and monitors the execution process of the work scenario; Automation service system using a no-code-based automation service platform that includes.
청구항 1에 있어서, 컨테이너 엔진(310)의 사전 정의된 액션 로직의 구조화된 형태는
function action_logic(input:InputProps):OutputProps {
//실제 프로그램
}
인 것; 을 특징으로 하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
The method of claim 1, wherein the structured form of predefined action logic of the container engine 310 is
function action_logic(input:InputProps):OutputProps {
//actual program
}
being; Automation service system using a no-code-based automation service platform characterized by .
청구항 1에 있어서, 작업 생성부(320)는
프로그램으로 패키징하기 위해 액션 로직의 Input/Output 검증과, 감사에 필요한 정보를 스토리지(350)에 기록하고, 종료시 자원 반환을 위한 Exit 코드를 발행하는 것; 을 특징으로 하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
The method of claim 1, wherein the task creation unit 320
Verifying the input/output of the action logic to package it as a program, recording information required for auditing in the storage 350, and issuing an Exit code to return resources upon termination; Automation service system using a no-code-based automation service platform characterized by .
청구항 1에 있어서, 작업 실행부(330)는
실행 정보와 인증 정보가 포함된 메타 데이터와 독립 실행 가능한 프로그램을 로드하고, 설정된 실행 시간에 해당되면 작업 시나리오를 실행하여 실행하여 성공 또는 실패 여부와, 오류시 덤프 정보(Dump)를 스토리지(350)에 저장하는 것; 을 특징으로 하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 시스템.
The method in claim 1, wherein the task execution unit 330
Loads metadata containing execution information and authentication information and an independently executable program, executes a task scenario when it falls within the set execution time, determines whether it succeeds or fails, and stores dump information (Dump) in case of an error (350). to save to; Automation service system using a no-code-based automation service platform characterized by .
청구항 1의 시스템에 의한 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법에 있어서,
a)서비스 부재(100)에서 사용자가 입력한 작업 시작 시간과, 대상 코드, 시나리오 중 적어도 하나가 포함하는 입력값을 포함하는 작업 설정 정보를 저장하는 단계;
b)엔진코어(230)에서 사용자의 작업 정보 및 플러그인(210)의 메타 데이터 위치를 수신하고, 작업 시간에 해당되면 작업에 필요한 플러그인 메타 데이터를 순차적으로 로드하여 컨테이너 엔진(310)에 송신하는 단계; 및
c)서비스 처리부재(300)에서 수신된 플러그인 메타 데이터와 사용자의 입력값을 사전 정의된 로직으로 모듈화하고, 이를 자동실행 가능한 프로그램화 하여 자동 실행하여 그 결과를 스토리지(350)에 저장하는 단계; 를 포함하고,
b)단계는
b-1)사용자의 입력 명령에 의해 작업이 활성화되면, 엔진코어(230)가 해당 작업의 실행 주기, 일정, 작업종류, 작업의 시나리오 중 적어도 하나가 포함된 정보를 수신 및 저장하는 단계;
b-2)엔진코어(230)가 플러그인(210) 목록을 확인하고, 플러그인(210)의 메타 데이터를 로드 하는 단계;
b-3)엔진코어(230)가 로드된 플러그인(210)의 메타 데이터와 사용자의 입력 데이터를 교차 검증하여 에러가 발생되면 사용자에게 에러 정보를 송신하는 단계; 및
b-4)엔진코어(230)가 사용자가 입력한 작업 시나리오가 실행 가능한 프로그램으로 판명되면 주기적으로 실행할 수 있는 작업으로 만들기 위해 실행에 필요한 메타 데이터와 플러그인 정보, 인증 정보가 포함된 사용자 입력 데이터를 패키징하여 컨테이너 엔진(310)에 송신하는 단계; 를 포함하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법.
In the automated service method using a no-code-based automated service platform by the system of claim 1,
a) storing job setting information including an input value included in at least one of the job start time, target code, and scenario entered by the user in the service member 100;
b) Receiving the user's task information and the metadata location of the plug-in 210 from the engine core 230, and sequentially loading the plug-in metadata required for the task when it corresponds to the task time and transmitting it to the container engine 310. ; and
c) modularizing the plug-in metadata and user input values received from the service processing member 300 into predefined logic, programming it into an automatically executable program, automatically executing the result, and storing the result in the storage 350; Including,
Step b) is
b-1) When a task is activated by a user's input command, the engine core 230 receives and stores information including at least one of the execution cycle, schedule, task type, and task scenario of the task;
b-2) the engine core 230 checking the plug-in 210 list and loading metadata of the plug-in 210;
b-3) the engine core 230 cross-verifies the metadata of the loaded plug-in 210 and the user's input data and, if an error occurs, transmits error information to the user; and
b-4) If the engine core 230 determines that the task scenario entered by the user is an executable program, the engine core 230 collects user input data including metadata, plug-in information, and authentication information required for execution to make it a task that can be executed periodically. packaging and transmitting to the container engine 310; Automation service method using a no-code-based automation service platform including.
삭제delete 청구항 10에 있어서, c)단계는
c-1)컨테이너 엔진(310)에서 사용자의 입력 데이터와, 플러그인 메타 데이터(모듈정보), X509인증서, 프로그램 정보, 실행시간 정보 및 사용자의 구독 정보 중 적어도 하나가 포함된 메타 데이터를 수신하는 단계;
c-2)컨테이너 엔진(310)에서 로드된 데이터를 복호화하고, 정상 여부를 확인하여 실행 가능하도록 사전 정의된 액션 로직형태로 전환시키는 단계;
c-3)작업 생성부(320)가 컨테이너 엔진(310)에서 실행 가능형태로 만들어진 자동화 프로그램과 복호화된 메타 데이터를 Input으로 설정하여 작업 일정을 등록하는 단계;
c-4)작업 실행부(330)가 등록된 프로그램을 설정 정보에 따라 실행하고, 그 결과를 저장하는 단계; 및
c-5)작업 실행부(330)가 결과값과 프로그램의 ExitCode를 확인하여 프로그램의 작업 완료여부를 확인하고, 작업 실행이 완료되면 스토리지(350)에 완료 정보를 저장하는 단계;를 포함하는 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법.
The method of claim 10, wherein step c) is
c-1) Receiving metadata containing at least one of the user's input data, plug-in metadata (module information), X509 certificate, program information, runtime information, and user's subscription information from the container engine 310. ;
c-2) Decoding the data loaded from the container engine 310, checking whether it is normal, and converting it into a predefined action logic form so that it can be executed;
c-3) the task creation unit 320 registering a task schedule by setting an automated program made executable in the container engine 310 and decrypted metadata as input;
c-4) the task execution unit 330 executing the registered program according to the setting information and storing the result; and
c-5) the task execution unit 330 checks the result value and the ExitCode of the program to determine whether the task of the program has been completed, and when task execution is completed, storing the completion information in the storage 350; Automation service method using a code-based automation service platform.
컴퓨팅 장치와 결합되어,
청구항 10과 청구항 12 중 어느 하나의 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화 서비스 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.


Combined with a computing device,
A computer program stored in a recording medium readable by a computing device to execute an automated service method using the no-code-based automated service platform of any one of claims 10 and 12.


KR1020230097655A 2023-07-26 2023-07-26 An automation service system using a no-code based automation service platform and method thereof, and computer program KR102621742B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230097655A KR102621742B1 (en) 2023-07-26 2023-07-26 An automation service system using a no-code based automation service platform and method thereof, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230097655A KR102621742B1 (en) 2023-07-26 2023-07-26 An automation service system using a no-code based automation service platform and method thereof, and computer program

Publications (1)

Publication Number Publication Date
KR102621742B1 true KR102621742B1 (en) 2024-01-09

Family

ID=89538353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230097655A KR102621742B1 (en) 2023-07-26 2023-07-26 An automation service system using a no-code based automation service platform and method thereof, and computer program

Country Status (1)

Country Link
KR (1) KR102621742B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150098818A (en) * 2014-02-21 2015-08-31 주식회사 넥스다임 A method for providing an application developing environment
KR102397495B1 (en) * 2021-11-17 2022-05-13 (주)에스엠시스템 No code web development and operating system, and service method using of it
KR20220084792A (en) 2020-12-14 2022-06-21 주식회사 파워테스크 Service platform system for generating workflow and workflow generating method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150098818A (en) * 2014-02-21 2015-08-31 주식회사 넥스다임 A method for providing an application developing environment
KR20220084792A (en) 2020-12-14 2022-06-21 주식회사 파워테스크 Service platform system for generating workflow and workflow generating method
KR102397495B1 (en) * 2021-11-17 2022-05-13 (주)에스엠시스템 No code web development and operating system, and service method using of it

Similar Documents

Publication Publication Date Title
US10108593B2 (en) Workflow schedule authoring tool
US8504803B2 (en) System and method for creating and executing portable software
US9098364B2 (en) Migration services for systems
US20230247090A1 (en) Dynamic execution resource selection for customized workflow tasks
CN103069385B (en) System and method for dynamic load calculating based on figure
CN110941446A (en) Version release method and device based on multi-environment offline task
US20070038683A1 (en) Business intelligence system and methods
US20120331392A1 (en) System and method for data-driven web page navigation control
US20170255886A1 (en) Workflow execution
Scholl et al. Cloud native: using containers, functions, and data to build next-generation applications
CN114115838A (en) Data interaction method and system based on distributed components and cloud platform
CN111930354A (en) Framework component for software development and construction method thereof
EP2913757A1 (en) Method, system, and computer software product for test automation
US20100122258A1 (en) Versioning and effectivity dates for orchestration business process design
KR102621742B1 (en) An automation service system using a no-code based automation service platform and method thereof, and computer program
Annett Working with Legacy Systems: A practical guide to looking after and maintaining the systems we inherit
CN109151021B (en) Distributed storage system file lock characteristic testing method and device
US9059992B2 (en) Distributed mobile enterprise application platform
CN114860202A (en) Project operation method, device, server and storage medium
Sreeram Azure Serverless Computing Cookbook: Build and monitor Azure applications hosted on serverless architecture using Azure functions
Schewe et al. Horizontal business process model integration
US11922153B2 (en) Pipeline manager
Mahmoud Developing Middleware in Java EE 8: Build robust middleware solutions using the latest technologies and trends
US11093935B2 (en) System and methods for a resource-saving exchange protocol based on trigger-ready envelopes among distributed nodes
WO2007144891A1 (en) A method for the distribution of software processes to a plurality of computers

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant