WO2024080425A1 - 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체 - Google Patents

공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
WO2024080425A1
WO2024080425A1 PCT/KR2022/016027 KR2022016027W WO2024080425A1 WO 2024080425 A1 WO2024080425 A1 WO 2024080425A1 KR 2022016027 W KR2022016027 W KR 2022016027W WO 2024080425 A1 WO2024080425 A1 WO 2024080425A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
terminal
electronic device
workflow
command
Prior art date
Application number
PCT/KR2022/016027
Other languages
English (en)
French (fr)
Inventor
진동현
김선유
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2024080425A1 publication Critical patent/WO2024080425A1/ko

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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • 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
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms

Definitions

  • This disclosure relates to techniques for controlling workflow related to supply chain management.
  • SCM Serial Chain Management
  • the technical problem to be solved through an embodiment of the present disclosure is to provide a platform where multiple members can publicly process data in the process of creating a work flow for SCM (Supply Chain Management).
  • Another technical problem to be solved through an embodiment of the present disclosure is to provide a platform that can be easily used by both developers and non-developers.
  • Another technical problem to be solved through an embodiment of the present disclosure is to provide a platform that allows users to complete tasks at a desired time by setting an execution schedule for each workflow.
  • Another technical problem to be solved through an embodiment of the present disclosure is to provide a platform that can monitor the status of the created work flow at a glance.
  • An electronic device that provides a platform for controlling work flow related to supply chain management includes a communication circuit for communicating with a terminal and one or more external devices, one or more processors, and when executed by the one or more processors, and one or more memories storing instructions for causing the one or more processors to perform operations, and when the instructions are executed by the one or more processors, the one or more processors are configured to: Providing the terminal with a workflow configuration page including one or more nodes and an area in which one or more connection lines indicating a sequential relationship between the one or more nodes can be placed, and providing one or more nodes arranged by the user in the area from the terminal. Receive information about a node and one or more connection lines, generate a workflow model based on the received information about the one or more nodes and one or more connection lines, and generate the generated workflow model through the one or more external devices. It can be run.
  • the one or more nodes include a plurality of nodes, and the one or more processors, through the one or more external devices, consider a precedence relationship according to the one or more connection lines, and the one or more nodes take precedence among the plurality of nodes. After the execution of the command indicated by the preceding node is completed, the command indicated by the succeeding node can be executed.
  • the one or more nodes include a plurality of nodes
  • the one or more external devices include a plurality of external devices
  • the one or more processors are connected to the one or more connection lines among the plurality of nodes. Based on the precedence relationship, at least some nodes that can be performed simultaneously are determined, and commands indicated by each of the at least some nodes determined to be performed simultaneously are executed in parallel through the plurality of external devices. You can.
  • the one or more processors when the user refers to an output value of a command indicated by a node preceding at least some nodes of the one or more nodes along the one or more connection lines, An input value selection page that allows selection of an input value for a command indicated by may be provided to the terminal.
  • the one or more nodes include a node that directs a query to a first storage, and the one or more processors execute the query, via the one or more external devices, and The results can be stored in a secondary storage.
  • the one or more processors may provide the terminal with information indicating the address of the second storage where the result of the executed query is stored.
  • the one or more processors transmit commands indicated by the one or more nodes included in the workflow model to the one or more external devices, and from the one or more external devices, the one or more nodes indicate an instruction. Information on whether the execution of the command is successful can be received, and an execution result page indicating whether the execution of the command instructed by the one or more nodes has been successful can be provided to the terminal.
  • the one or more processors transmit commands indicated by the one or more nodes included in the workflow model to the one or more external devices, and from the one or more external devices, the one or more nodes indicate an instruction. Information on the time taken to execute the command may be received, and an execution result page displaying the time taken to execute the command indicated by the one or more nodes may be provided to the terminal.
  • the one or more processors may determine the time taken to execute the workflow model and provide an execution result page displaying the time taken to execute the workflow model to the terminal.
  • the one or more processors provide a notification settings page where the user can set up an account to receive notifications and notifications corresponding to specific conditions related to commands indicated by at least some of the one or more nodes.
  • Provide to the terminal and receive, from the terminal, a notification corresponding to a specific condition related to a command indicated by at least some of the one or more nodes set by the user and information about an account to receive the notification; , when the above specific conditions are met, a notification may be provided to the account.
  • the one or more processors provide a notification setting page on the terminal where the user can set up an account to receive notifications and notifications corresponding to specific conditions related to the workflow model, and send from the terminal , a notification corresponding to a specific condition related to the workflow model set by the user and information on an account to be provided with the notification may be received, and a notification may be provided to the account when the specific condition is satisfied.
  • the one or more processors provide the terminal with an execution schedule setting page that allows the user to set an execution schedule related to the workflow model, and provide the workflow set by the user from the terminal.
  • Information about an execution schedule for a model may be received, and based on the execution schedule, the workflow model may be executed through the one or more external devices.
  • the one or more processors are configured to set a specific condition for the output value of the first command indicated by at least some of the nodes of the one or more nodes and to follow the at least some of the nodes corresponding to the specific condition.
  • An output verification setting page that sets an execution rule for a second command indicated by a node is provided to the terminal, and from the terminal, a specific condition for the output value of the first command set by the user and the first command are provided.
  • the workflow configuration page is configured to allow the user to select a node template corresponding to a node to be placed in the area from among one or more node templates, and the one or more processors are configured to select a node template from the one or more external devices. , information about a node template defined to indicate a specific command may be received, and the received node template may be added to the one or more node templates that the user can select.
  • the one or more processors store information about the generated workflow model in the memory and provide the terminal with a workflow management page that can manage the generated workflow model as a group. You can.
  • the one or more processors when a credential is needed in the process of executing a command indicated by at least some of the one or more nodes, the one or more processors transmit a key corresponding to the credential to the external device, When the commands indicated by at least some of the nodes are completed, the key can be discarded.
  • the one or more processors are configured to process at least one of a workflow model scheduled to run, a running workflow model, a failed workflow model, a stopped workflow model, a paused workflow model, and a successful workflow model.
  • a dashboard page on which information is displayed can be provided to the terminal.
  • a method of providing a platform for controlling work flow related to supply chain management of electronic devices includes one or more nodes where a user instructs a specific command regarding the work flow and a sequential relationship between the one or more nodes.
  • the user responds to a command indicated by at least some of the nodes by referring to an output value of a command indicated by a node preceding at least some of the one or more nodes along the one or more connection lines. It may further include providing the terminal with an input value selection page that allows selection of an input value.
  • the program includes instructions executable by one or more processors, and when the instructions are executed by the one or more processors, An operation in which the one or more processors include an area in which a user can generate a workflow model by placing one or more nodes indicating specific commands related to the workflow and one or more connection lines indicating a sequential relationship between the one or more nodes. An operation of providing a flow configuration page to a terminal, an operation of receiving information about one or more nodes and one or more connection lines placed by the user in the area from the terminal, and the received information through one or more external devices. The operation of executing the workflow model created based on the task can be performed.
  • SCM Supply Chain Management
  • FIG 1 illustrates an environment in which an electronic device according to an embodiment of the present disclosure can be applied.
  • Figure 2 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • Figure 3 is a diagram showing the specific configuration and operation of an electronic device according to an embodiment of the present disclosure.
  • FIGS. 4 to 6 are diagrams illustrating a work flow configuration page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an input value selection page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating an execution result page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating a work flow configuration page provided by an electronic device according to an embodiment of the present disclosure.
  • Figure 10 is a diagram illustrating a notification settings page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating an execution schedule setting page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram illustrating an output verification settings page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating a workflow management page provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 14 is a diagram illustrating a dashboard page provided by an electronic device according to an embodiment of the present disclosure.
  • Figure 15 is an operation flowchart showing a method according to an embodiment of the present disclosure.
  • A, B, and C As used herein, “A, B, and C”, “A, B, or C”, “A, B, and/or C”, or “at least one of A, B, and C”, “A, B Expressions such as “at least one of , or C”, “at least one of A, B, and/or C” may mean each listed item or all possible combinations of the listed items. For example, “at least one of A or B” may refer to both (1) at least one A, (2) at least one B, (3) at least one A and at least one B.
  • the expression "based on” is used to describe one or more factors that influence the act or action of decision, judgment, or action described in the phrase or sentence containing this expression, and is used in this disclosure. does not exclude additional factors influencing the decision, act of judgment, or action.
  • a certain component e.g., a first component
  • another component e.g., a second component
  • a component is not only directly connected or connected to the other component, but is also connected or connected through another new component (for example, a third component).
  • a processor configured to perform a specific operation refers to a general purpose processor capable of performing that specific operation by executing software. It may mean, or it may mean a special purpose computer structured through programming to perform a specific operation.
  • platform used in this disclosure may refer to a tangible or intangible space that serves as the basis for use by users by integrating and managing services of the same or similar purpose, and although there are differences in detailed meaning, it is comprehensive. It may also be referred to interchangeably with “software,” “application,” “program,” “tool,” or “solution.”
  • FIG. 1 illustrates an environment in which an electronic device 110 according to an embodiment of the present disclosure can be applied.
  • the electronic device 110 is connected to the terminal 120 and the external device 130 through a network and can communicate with each other.
  • the electronic device 110 may be a device for managing and providing a platform that controls workflow related to supply chain management.
  • the electronic device 100 may be a server that manages a platform that controls workflow related to supply chain management.
  • Supply chain management can refer to a series of processes to derive management solutions for products during production and/or distribution.
  • supply chain management may include optimizing the production and/or distribution process of products in order to provide products required by consumers at the desired time and place.
  • supply chain management may include supply chain management for products handled by an e-commerce service where products are purchased and sold online.
  • the electronic device 110 may configure various information as a web page on a website and provide it to the user terminal 120.
  • Workflow can refer to a series of work flows.
  • a workflow may involve the movement of information or tasks required for supply chain management.
  • members from various occupations such as operations team, developers, business analysts, and data scientists can participate.
  • the electronic device 110 may check whether the user has access to the platform that controls the work flow related to supply chain management through the user's account connected to the terminal 120. For example, when the user's terminal 120 accesses the web address for the platform, the electronic device 110 displays a login page where the user can log in by entering the account if the user's account is not logged in. It can be provided at (120).
  • the electronic device 110 may provide a graphical user interface (GUI) regarding a platform that controls work flow related to supply chain management to the terminal 120 of a user with access rights. The user can create, modify, and/or delete internally accessible work flows through the GUI of the platform provided on the terminal 120.
  • GUI graphical user interface
  • the terminal 120 may be a device for users participating in supply chain management to use a platform to control work flow related to supply chain management.
  • the terminal 120 may be implemented as a terminal capable of transmitting and receiving various information to and from the electronic device 110 through a network.
  • the terminal 120 may be one of a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or a HMD.
  • the type of terminal 120 is not limited to this, and the terminal 120 includes an input/output interface that can receive information from the user or output information to the user, and is connected to the electronic device 110 or another device through a network. It may be any device capable of communicating with other devices.
  • the terminal 120 may provide information received from the electronic device 110 to the user, and may receive input from the user and transmit it to the electronic device 110.
  • Input obtained from the user may include various types of input, such as a click using a mouse, a touch using a touch pad or touch screen, voice recognition, and other electronic input.
  • the terminal 120 can access a platform that controls the work flow related to supply chain management, and receives information about various pages to be described later from the electronic device 110 in response to a specific input within the platform. You can receive it and print the page.
  • the external device 130 may be a device or a server capable of executing at least a portion of commands of a workflow for supply chain management based on information received from the electronic device 110.
  • the external device 130 may refer to another device that is hardware-separated from the electronic device 110.
  • the external device 130 may access a database as a first storage that stores data on product orders, inventory, and/or distribution, and perform a query to receive desired data.
  • the content of the query performed by the external device 130 will be described in detail with reference to FIG. 3, which will be described later.
  • the external device 130 may provide preset services in addition to queries.
  • external device 130 may perform the services of order processing and/or order distribution. In this case, the external device 130 outputs an order processing and/or order distribution command through the server of the team performing order processing and/or order distribution, thereby executing a service that continues offline.
  • the network may serve to connect the electronic device 110 and the user's terminal 120 or an external device 130.
  • the network may provide a connection path so that the user terminal 120 can be connected to the electronic device 110 and transmit and receive packet data with the electronic device 110.
  • a network is any type of wired or wireless network, for example, a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wireless Broadband Internet (Wibro). It can be implemented as:
  • FIG. 2 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • Electronic device 200 may provide a platform to control workflow related to supply chain management.
  • the electronic device 200 may include a communication circuit 210, one or more processors 220, and/or one or more memories 230 as components.
  • at least one of the components of the electronic device 200 may be omitted, or another component may be added to the electronic device 200.
  • some components may be integrated and implemented, or may be implemented as a single or plural entity.
  • one or more processors 220 may be referred to as processor 220 .
  • the expression processor 220 may mean a set of one or more processors, unless the context clearly expresses otherwise.
  • one or more memories 230 may be referred to as memory 230 .
  • the expression memory 230 may mean a set of one or more memories, unless the context clearly expresses otherwise.
  • at least some of the components inside/outside the electronic device 200 include a bus, General Purpose Input/Output (GPIO), Serial Peripheral Interface (SPI), or Mobile Industry Processor Interface (MIPI), etc. They are connected to each other and can exchange information (data, signals, etc.).
  • GPIO General Purpose Input/Output
  • SPI Serial Peripheral Interface
  • MIPI Mobile Industry Processor Interface
  • the communication circuit 210 can communicate with the user's terminal and external devices.
  • the communication circuit 210 may perform wireless or wired communication between the electronic device 200 and the user's terminal and external device.
  • the communication circuit 210 may include enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), Long-Term Evolution (LTE), and LTE Advance (LTE-A).
  • eMBB enhanced Mobile Broadband
  • URLLC Ultra Reliable Low-Latency Communications
  • MMTC Massive Machine Type Communications
  • LTE Long-Term Evolution
  • LTE-A LTE Advance
  • the communication circuit 210 provides wired communication according to a method such as USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). It can be done.
  • the electronic device 200 may be implemented by being integrated with another device. In this case, the communication circuit 210 may function as a connection circuit or interface that connects the electronic device 200 and the other device.
  • the processor 220 may control at least one component of the electronic device 200 connected to the processor 220 by running software (eg, commands, programs, etc.). Additionally, the processor 220 may perform various operations related to the present disclosure, such as calculation, processing, data generation, and processing. Additionally, the processor 220 may load data, etc. from the memory 230 or store it in the memory 230 . Furthermore, the processor 220 can transmit and receive various information with the user's terminal and external devices through the communication circuit 210. In one embodiment, the processor 220 can control the communication circuit 210 to transmit various information, such as information about various pages, to the user's terminal.
  • software eg, commands, programs, etc.
  • the processor 220 may perform various operations related to the present disclosure, such as calculation, processing, data generation, and processing. Additionally, the processor 220 may load data, etc. from the memory 230 or store it in the memory 230 .
  • the processor 220 can transmit and receive various information with the user's terminal and external devices through the communication circuit 210. In one embodiment, the processor
  • the processor 220 provides a workflow configuration page, etc., including an area where the user can place one or more nodes indicating specific commands regarding the workflow and one or more connection lines indicating a sequential relationship between one or more nodes. It can be provided to the terminal. Additionally, the processor 220 may receive information about one or more nodes and one or more connection lines placed by the user from the terminal through the communication circuit 210. Additionally, the processor 220 may generate a workflow model based on the received information about one or more nodes and one or more connection lines. Additionally, the processor 220 may execute the generated workflow model through an external device. That is, the processor 220 can execute the workflow model by transmitting information about the workflow model to an external device through the communication circuit 210.
  • the memory 230 can store various information (data).
  • Information stored in the memory 230 is information acquired, processed, or used by at least one component of the electronic device 200, and may include software (eg, commands, programs, etc.).
  • Memory 230 may include volatile and/or non-volatile memory.
  • a command or program is software stored in the memory 230, an operating system for controlling the resources of the electronic device 200, an application, and/or various functions so that the application can utilize the resources of the electronic device 200. It may include middleware that provides to the application.
  • the memory 230 may store instructions that allow the processor 220 to perform an operation when executed by the processor 220.
  • the memory 230 may store at least a portion of information received from the terminal and/or an external device through the communication circuit 210 and/or information transmitted to the terminal and/or an external device through the communication circuit 210.
  • the processor 220 stores at least part of the information received from the terminal and/or external device through the communication circuit 210 and/or the information transmitted to the terminal and/or external device through the communication circuit 210 in the memory 230. It can be saved in .
  • the memory 230 includes information about nodes and connection lines arranged from the terminal, execution results of at least part of the command of the work flow executed from the external device (e.g., whether the execution of the command was successful, or Information on time spent, etc.) can be stored.
  • FIG. 3 is a diagram showing the specific configuration and operation of the electronic device 300 according to an embodiment of the present disclosure.
  • the electronic device 300 can communicate with the user 311 (the terminal of the user 311) and an external device 312.
  • the electronic device 300 may store data in the workflow database 307 and access information stored in the workflow database 307.
  • the electronic device 300 may communicate with a service provider 320 including external devices 324 and 325.
  • the electronic device 300 includes, for example, a detailed configuration, a workflow management module 301, a scheduler module 302, a service registration module 303, an execution module 304, a notification module 305, and a response. It may include a module 306.
  • the workflow management module 301, scheduler module 302, service registration module 303, execution module 304, notification module 305, and response module 306 are each configured to include a corresponding processor, or one It can be implemented as a software module separated into functional units in a processor.
  • the workflow management module 301 generates a workflow model based on information input from the user 311 (terminal of the user 311) or an external device 312, and overall executes the generated workflow model. It may refer to a module that is managed.
  • the work flow management module 301 may provide the user 311 or the external device 312 with various pages related to the platform that control the work flow related to supply chain management. Additionally, the workflow management module 301 may receive information about the deployed nodes and connection lines from the user 311 (the terminal of the user 311) or the external device 312.
  • the workflow management module 301 may generate a workflow model corresponding to the deployed nodes and connection lines based on the received information. Meanwhile, the workflow management module 301 is connected to the scheduler module 302, service registration module 303, execution module 304, notification module 305, response module 306, and workflow database 307. It can process various services or commands included in the workflow model.
  • the scheduler module 302 may refer to a module that manages the execution schedule of a workflow model input from the user 311 or an external device 312.
  • the scheduler module 302 may store information about the execution schedule in memory, or read information about the execution schedule stored in the memory and transmit it to the workflow management module 301.
  • the service registration module 303 can register a custom service input from the external device 324 as a new service component.
  • the external device 324 is a custom service that executes a specific query and stores data from a first storage (e.g., a database of an online storage service provided through an external web service) to a second storage (e.g., a database of an online storage service provided through an external web service).
  • a first storage e.g., a database of an online storage service provided through an external web service
  • a second storage e.g., a database of an online storage service provided through an external web service.
  • RDB internally managed relational database
  • the external device 324 may include a processor that processes data.
  • Service components registered through the service registration module 303 will be provided in the form of nodes that can be placed on the workflow configuration page delivered to the user 311 or external device 312 by the workflow management module 301. You can.
  • the execution module 304 may execute services or commands included in the generated workflow model through the external devices 324 and 325.
  • the execution module 304 may receive a signal from the workflow management module 301 to execute a specific service or command.
  • the execution module 304 transmits signals 321 and 322 corresponding to the service or command to the external devices 324 and 325, respectively, in the form of a queue, so that the corresponding service or command is executed in the external devices 324 and 325. You can make it run.
  • the notification module 305 can provide notifications to the user's account according to specific conditions for a specific service or command. For example, the notification module 305 may receive a command to output a notification from the workflow management module 301 when a specific condition for a specific service or command is satisfied. Additionally, the notification module 305 may deliver a notification to a preset user's account. Specifically, the notification module 305 can deliver a notification to the terminal to which the user's account is connected in the form of Slack or email.
  • the response module 306 may receive response information 323 in the form of a queue from an external device 325 that has received a signal 322 regarding execution of a service or command.
  • the response information 323 may include information such as whether the service or command was successful or failed, and the time required to execute the service or command.
  • the response module 306 may transmit the received response information 323 to the workflow management module 301.
  • the workflow database 307 may store various information regarding the created workflow model.
  • Information stored in the workflow database 307 may include information about services or commands included in the workflow model, information on the execution history of the workflow model, etc.
  • FIG. 4 is a diagram illustrating a work flow configuration page 400 provided by an electronic device according to an embodiment of the present disclosure.
  • the workflow configuration page 400 may include an area where a user can place nodes 401 to 405 and connection lines 406 to 411 indicating the sequential relationship between the nodes 401 to 405.
  • the nodes 401 to 405 are nodes (e.g., nodes (e.g., S3, Redshift, Hive, etc.), which are databases of online storage services provided through external web services) that direct queries to the first repository ( 402 to 404), wherein the electronic device may execute a query through one or more external devices and store the result of the executed query in a second storage (eg, an internally managed relational database).
  • the second storage may refer to a local database directly connected to the electronic device and managed by the same entity as the electronic device.
  • the electronic device may provide the user's terminal with information indicating the address of the second storage where the results of the executed query are stored. Specifically, the electronic device may provide the user's terminal with information indicating a local address that can access a file corresponding to the result of the query in the second storage.
  • Nodes 401 to 405 may indicate commands corresponding to each.
  • node 401 may indicate information about specific rules (CONFIG) defined in the workflow model upon the start of the workflow.
  • Node 402 may instruct a command (Extract Inventory) to extract inventory data by executing a query on the database.
  • Node 403 may instruct a command (Extract Open Order) to extract waiting order data by executing a query on the database.
  • Node 404 may issue a command (Find Sku (Stock keeping unit)) to find the minimum unit for inventory management by executing a query on the database.
  • Node 405 may issue a command (Calculate Transfer Quantity) to calculate the transfer quantity and store it in the database.
  • Connection lines 406 to 411 may indicate successive conventions between nodes 401 to 405.
  • connection line 406 may indicate that node 402 follows node 401.
  • Connection line 407 may indicate that node 403 follows node 401.
  • Connection line 408 may indicate that node 404 follows node 401.
  • Connection line 409 may indicate that node 405 follows node 402.
  • Connection line 410 may indicate that node 405 follows node 403.
  • Connection line 411 may indicate that node 405 follows node 404.
  • the electronic device executes a command indicated by a preceding node among the plurality of nodes 401 to 405 through one or more external devices, considering the precedence relationship according to one or more connection lines 406 to 411.
  • the command indicated by the succeeding node can be executed.
  • the electronic device first executes the command corresponding to node 401 (here, the command corresponding to node 401 directs the start of the workflow, so it may not be executed through an external device), and then executes the command corresponding to node 401 to nodes 402 to 404.
  • the corresponding command can be executed through one or more external devices.
  • the electronic device may execute a command corresponding to node 405 through one or more external devices.
  • the electronic device determines at least some of the nodes 402 to 404 that can be performed simultaneously among the plurality of nodes 401 to 405 based on a sequential relationship along one or more connection lines 406 to 411. And, commands indicated by each of at least some of the nodes 402 to 404 determined to be able to be executed simultaneously can be executed in parallel through a plurality of external devices. For example, queries performed in commands indicated by nodes 402 to 404 may each be queries for different databases. In this case, the commands indicated by nodes 402 to 404 are executed through an external device, so they can be executed simultaneously and in parallel. Through this, the query execution time and data throughput of the electronic device can be reduced.
  • FIG. 5 is a diagram illustrating a work flow configuration page 500 provided by an electronic device according to an embodiment of the present disclosure.
  • the workflow configuration page 500 includes a first area 501 including icons indicating registered services and icons indicating history information, and icons indicating various commands for the workflow configuration page 500.
  • the first area 501 may be placed, for example, in the upper left corner of the workflow configuration page 500.
  • the electronic device may display a list of pre-registered services on the workflow configuration page 500. The list of already registered services will be explained in detail with reference to FIG. 6, which will be described later.
  • the electronic device may provide the terminal with an execution result page displaying history information of the executed workflow model.
  • the execution result page will be explained in detail with reference to Figure 8, which will be described later.
  • the second area 502 may be placed, for example, at the top center of the workflow configuration page 500.
  • the second area 502 may include an icon indicating enlargement/reduction of the magnification of the workflow configuration page, an icon indicating screen capture, and an icon indicating screen locking.
  • the electronic device changes the magnification of the workflow configuration page 500 or captures an image of the workflow configuration page 500 in response to the input icon.
  • the placement, modification, and deletion of nodes and connections on the workflow configuration page 500 can be locked.
  • the third area 503 may be placed, for example, in the upper right corner of the workflow configuration page 500.
  • the electronic device may display detailed information of the workflow model on the workflow configuration page 500.
  • detailed information may include information about the workflow model's name, creator, access rights, last modified time, tags, etc.
  • detailed information of the workflow model may be displayed on the right side of the workflow configuration page 500.
  • the electronic device displays a list of credentials available in the current workflow model on the workflow configuration page 500. It can be displayed. For example, a list of credentials available in the current workflow model may be displayed on the right side of the workflow configuration page 500.
  • Credentials available in the workflow model may include ID/PW required to access a specific database. If the executed workflow includes queries to an external database, credentials such as account ID/PW may be required to access specific data stored in the external database. Multiple users can access the platform that controls the work flow related to supply chain management provided by electronic devices and create a work flow model, but there is no need to access the ID/PW of the account to access specific data stored in an external database.
  • Denial may not be disclosed to multiple users. Therefore, when the list of available credentials in the workflow model is displayed on the workflow configuration page 500, the credentials such as ID/PW are not displayed directly, but rather the available credentials are stored in which database. Only information such as whether it is for accessing data can be displayed.
  • the electronic device when a credential is needed in the process of executing a command indicated by at least some of the one or more nodes, transmits a key corresponding to the credential to an external device, and at least some of the nodes indicate. Once the command is complete, the key can be discarded. Specifically, the electronic device stores the credential information in advance in another credential database (encrypted with a key) and transmits only information about the key to the external device instead of direct information about the credential, thereby sending the credential to the external device. You can prevent the denial from being exposed.
  • the external device can inject credential information from the credential database where the credential information is stored into an external database that requires the credential, that is, where the query is executed. In other words, through this process, the electronic device can perform commands such as queries that require credentials through an external device while preventing credentials such as ID/PW from being directly disclosed to the external device.
  • the fourth area 505 may be placed, for example, at the bottom right of the workflow configuration page 500.
  • the relative positions of all nodes arranged on the workflow configuration page 500 may be displayed in a small scale, regardless of the magnification of the workflow configuration page 500.
  • the electronic device when the electronic device determines that two or more nodes placed on the workflow configuration page 500 can be performed simultaneously, the electronic device horizontally displays the two or more nodes that are determined to be performed simultaneously on the workflow configuration page 500. It can be placed neatly. For example, if the electronic device determines that two or more nodes can be performed simultaneously in real time, it automatically places two or more nodes horizontally on the workflow configuration page 500 or instructs the user to arrange the nodes from the terminal. At the time of receiving the input, two or more nodes can be placed horizontally on the workflow configuration page 500. Through this, the user can intuitively perceive the temporal sequential relationship of commands indicated by various nodes arranged on the workflow configuration page 500.
  • the electronic device may predict the execution time of the command indicated by each node and adjust the height of the corresponding node displayed on the workflow configuration page 500 according to the predicted time. For example, a node corresponding to an instruction predicted to have a short execution time may be displayed with a relatively small height, and a node corresponding to an instruction predicted to have a long execution time may be displayed with a relatively large height.
  • FIG. 6 is a diagram illustrating a work flow configuration page 600 provided by an electronic device according to an embodiment of the present disclosure.
  • the workflow configuration page 600 may include an area 601 configured to allow the user to select a node template corresponding to the node to be placed from among one or more node templates.
  • Node templates each contain services defined by default on the platform (e.g., services that can be executed on the electronic device itself, such as notifications, callbacks from other workflows, retries, conditional branches, iterations, etc.). and services that can be executed through external devices, such as uploading data to a database, downloading data from a database, etc.) and services registered by external devices (e.g., the operation of a pre-trained machine learning model that processes data, etc.) It may correspond to already registered services including.
  • the electronic device receives information about a node template defined to indicate a specific command (i.e., a node template indicating a pre-registered service) from one or more external devices, and provides one or more options for the user to select.
  • the user can drag and drop the icon of the node template indicating the pre-registered services (CONFIG, IF_ELSE, TRIGGER_WORKFLOW) displayed in area 601 to the desired location on the workflow configuration page 600. By placing it in , you can create and deploy a node pointing to a pre-registered service.
  • the user clicks the icon of a node template indicating a pre-registered service (CONFIG, IF_ELSE, TRIGGER_WORKFLOW) and then clicks the desired location on the workflow configuration page 600 to indicate a pre-registered service.
  • a pre-registered service CONFIG, IF_ELSE, TRIGGER_WORKFLOW
  • the user can connect two or more nodes with a connection line by successively clicking two or more nodes placed on the workflow configuration page 600. For example, the node that the user clicks first becomes the preceding node, and the node that the user clicks later becomes the succeeding node, and an arrow connecting line indicating the precedence relationship may be created and placed.
  • FIG. 7 is a diagram illustrating an input value selection page 700 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device refers to the output value of a command indicated by a node that precedes at least some of the one or more nodes along one or more connection lines, and responds to the command indicated by the at least some of the nodes.
  • An input value selection page 700 that allows selection of input values may be provided to the terminal. For example, when a specific input (which may not be limited to a double click) for a specific node is received from the user's terminal, such as double-clicking a node placed on the workflow configuration page, the electronic device receives the input value selection page (700). ) can be provided to the terminal.
  • the input value selection page 700 may include an area 701 where the user can select an input value for a command indicated by a specific node.
  • area 701 may include an inverted triangle icon on the right side.
  • the electronic device receives the input of the inverted triangle icon in area 701, it can display on the terminal a list of command output values indicated by a node preceding the corresponding node, which can be input values of the command corresponding to the corresponding node.
  • a list of output values of the command indicated by the node preceding the corresponding node may be displayed on the input value selection page 700 in the form of a list box.
  • the input value selection page 700 includes the name of the service (or command) corresponding to the selected node, the type of database referenced by the query corresponding to the selected node, the list of nodes (Parents) preceding the selected node, and the selected node.
  • a query corresponding to may be displayed.
  • the query corresponding to the selected node may be displayed in JSON (JavaScript Object Notation) format.
  • FIG. 8 is a diagram illustrating an execution result page 800 provided by an electronic device according to an embodiment of the present disclosure.
  • the execution result page 800 has an area 801 on the left where the success or failure of execution of each workflow model is displayed, an area 802 on the center where the status of the nodes and connection lines of the selected workflow model are displayed, and an area 802 on the selected work flow model. It may include an area 803 where detailed information about the workflow model is displayed.
  • Area 801 of the execution result page 800 may display whether the execution of the workflow model created to date has been successful. Specifically, in area 801, the success or failure corresponding to the execution of each workflow model may be displayed in phrases such as "SUCCESS”, “FAIL”, and "STOP", and the time when execution of each workflow model is completed, A failed time or a stopped time may also be displayed. In area 801, text may be displayed in different colors for each status so that the user can easily recognize whether the execution of each workflow model was successful (for example, green for “SUCCESS” and green for “FAIL”). red for “STOP” and yellow for “STOP”).
  • the electronic device receives information about whether execution of a command indicated by one or more nodes is successful, from one or more external devices, and displays whether execution of a command indicated by one or more nodes was successful.
  • An execution result page 800 can be provided to the terminal.
  • the execution result page 800 may include an area 802 that displays whether execution of a command indicated by one or more nodes was successful.
  • the success or failure of the command corresponding to each node may be displayed on each node of area 802 with phrases such as “SUCCESS,” “FAIL,” and “STOP.”
  • the color of the node may be displayed differently according to each status so that the user can easily recognize whether the command corresponding to each node was successful (for example, a node for which the corresponding command was successfully completed is green, Nodes where the corresponding command failed are red, nodes where the corresponding command stopped are yellow).
  • the electronic device receives information about the time taken to execute a command indicated by one or more nodes, from one or more external devices, and displays the time taken to execute the command indicated by one or more nodes.
  • An execution result page 800 can be provided to the terminal.
  • the time taken to execute the command corresponding to each node may be displayed on each node of area 802.
  • the electronic device may receive information about the start time and completion time of the execution of a command indicated by one or more nodes from one or more external devices, and an execution result page (800) that displays the received information. ) can be provided to the terminal.
  • an execution result page 800
  • the start time and completion time of the execution of the command corresponding to each node may be displayed on each node of the area 802.
  • the electronic device may determine the time taken to execute the workflow model and provide an execution result page 800 that displays the time taken to execute the workflow model to the terminal.
  • the electronic device may receive information about the start time and end time of execution of the command corresponding to each node of the workflow model from one or more external devices. In other words, the electronic device determines the total time taken to execute the workflow model based on the start time of the command corresponding to the first executed node of the workflow model and the end time of the command corresponding to the last executed node. You can decide.
  • the time taken to execute the corresponding workflow model may be displayed as phrases such as “Processing Time” and “10 mins 11 secs.”
  • area 803 further displays at least one of the ID, version, status, name, retry setting status, maximum number of retries, creator, creation time, execution start time, and execution end time of the corresponding workflow model. It can be.
  • FIG. 9 is a diagram illustrating a work flow configuration page 900 provided by an electronic device according to an embodiment of the present disclosure.
  • the workflow configuration page 900 may include an area 901 indicating detailed information of the corresponding workflow model.
  • area 901 of the workflow configuration page 900 may display an icon 902 indicating notification settings when execution of the corresponding workflow model fails.
  • the electronic device receives an input of an icon 902 indicating notification settings when execution of the corresponding workflow model fails, it may provide the terminal with a notification settings page where notifications can be set.
  • the notification settings page will be explained in detail with reference to Figure 10, which will be described later.
  • the icon 902 indicating setting a notification when execution of a workflow model fails may include the phrase “ADD DEFAULT ALERT.” Additionally, in area 901, at least one of a directory, name, description, tag, retry setting status, and maximum number of retries corresponding to the corresponding workflow model may be further displayed.
  • FIG. 10 is a diagram illustrating a notification settings page 1000 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device provides a notification setting page 1000 on the terminal where the user can set up an account to receive notifications and notifications corresponding to specific conditions related to commands indicated by at least some of the one or more nodes. And, from the terminal, receive information about the account to be provided with notifications and notifications corresponding to specific conditions related to commands indicated by at least some of the one or more nodes set by the user, and when the specific conditions are satisfied, the account is registered. Notifications can be provided.
  • the notification setting page 1000 may include an area 1001 where specific conditions related to commands instructed by the node can be set and an area 1002 where information about an account to receive notifications can be entered.
  • specific conditions related to the command indicated by the node may include completion (SUCCESS), failure (FAIL), stop (STOP), or pause (PAUSE) of the command indicated by the node.
  • SUCCESS completion
  • FAIL failure
  • STOP stop
  • PAUSE pause
  • a list of specific conditions that can be set may be displayed on the terminal.
  • a list of accounts that can receive notifications may be displayed on the terminal.
  • Accounts that can receive notifications may include accounts that have access rights to the node or the workflow model, or accounts that are pre-registered as accounts that can receive notifications.
  • areas 1001 and 1002 may receive information about accounts to receive specific conditions and notifications through typing, respectively.
  • the electronic device provides a notification setting page 1000 on the terminal where the user can set up an account to receive notifications and notifications corresponding to specific conditions related to the workflow model, and from the terminal, the user sets the notification settings page 1000.
  • information about the accounts to be provided with notifications and notifications corresponding to specific conditions related to the workflow model can be received, and notifications can be provided to the accounts when specific conditions are met.
  • the notification settings page 1000 may include an area 1001 where specific conditions related to the workflow model can be set and an area 1002 where information about an account to receive notifications can be entered.
  • specific conditions related to a workflow model may include SUCCESS, FAIL, STOP, or PAUSE of execution of the workflow model.
  • a list of specific conditions that can be set may be displayed on the terminal.
  • a list of accounts that can receive notifications may be displayed on the terminal.
  • Accounts that can receive notifications may include accounts that have access to the corresponding workflow model or accounts that are pre-registered as accounts that can receive notifications.
  • areas 1001 and 1002 may receive information about accounts to receive specific conditions and notifications through typing, respectively.
  • FIG. 11 is a diagram illustrating an execution schedule setting page 1100 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device provides the terminal with an execution schedule setting page 1100 where the user can set an execution schedule related to the workflow model, and from the terminal, the execution schedule related to the workflow model set by the user is sent to the terminal.
  • the workflow model may be executed through one or more external devices based on an execution schedule.
  • the execution schedule setting page 1100 may include an area where an execution schedule can be set in units according to categories such as days, hours, and minutes. For example, when the unit of day is selected, the execution schedule setting page 1100 is in the form of a check box, N days from a specific day every day, every week (N is an integer between 1 and 7), and a specific date each month. It may include an area where you can input options such as N days from, a specific day of the week (multiple selections possible), between two specific days of the week selected, and a selected date of each month (multiple selections possible). Although the case where the category of day is selected is illustrated, similar options that the user can select may be provided on the execution schedule setting page 1100 even when the category of hours, minutes, etc. is selected.
  • the electronic device may convert the execution schedule entered through the execution schedule setting page 1100 into a Cron Expression.
  • a cron conversion corresponding to the execution schedule may be displayed on the execution schedule setting page 1100. Even if a non-developer does not know the cron expression, he or she can set an execution schedule for the work flow through the execution schedule setting page 1100 provided by the electronic device.
  • FIG. 12 is a diagram illustrating an output verification settings page 1200 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device may provide a specific condition for the output value of the first command indicated by at least some of the nodes among the one or more nodes and a second command indicated by a node following at least some of the nodes corresponding to the specific condition.
  • An output verification setting page 1200 that sets execution rules for commands can be provided to the terminal.
  • the electronic device receives information from the terminal about specific conditions for the output value of the first command and execution rules for the second command, set by the user, and executes the first command through one or more external devices, Evaluate whether the output value of the first command satisfies a specific condition, and if the output value of the first command satisfies the specific condition, through one or more external devices, based on the execution rule for the second command, 2 Commands can be executed.
  • the output verification setting page 1200 has an area 1202 where specific conditions for the output value of the first command indicated by at least some nodes can be set, and nodes following at least some nodes corresponding to the specific conditions indicate It may include an area 1201 where execution rules for the second command can be set.
  • the execution rule for the second command indicated by the succeeding node may include FAIL processing or IGNORE processing. For example, if failure processing is selected as the execution rule for the second command indicated by the succeeding node, and a specific condition for the output value of the first command indicated by at least some nodes is satisfied, at least some nodes The second command indicated by all succeeding nodes may be treated as failed and not executed. In this case, the corresponding workflow model may also be treated as failed. As another example, if ignore processing is selected as the execution rule for the second command indicated by the following node, and a specific condition for the output value of the first command indicated by at least some nodes is satisfied, at least some nodes The second command indicated by all succeeding nodes may be treated as ignored and not executed. However, in this case, the corresponding workflow model can be processed as successfully completed.
  • Area 1201 may include an area where “FAIL” or “IGNORE” can be selected along with the phrase “Action After Validation”.
  • a list including "FAIL” or "IGNORE” may be displayed on the terminal.
  • a specific condition for the output value of the first command may include, for example, a condition that the output value is a file (or data) updated within a specific period of time.
  • the command corresponding to the node following the node i.e., the second command
  • the command corresponding to the node following the node is Since it may be the same as the command, it may not be performed redundantly. Therefore, by setting conditions for output values in this way, unnecessary calculations can be prevented and memory usage and data processing amount can be reduced.
  • FIG. 13 is a diagram illustrating a workflow management page 1300 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device stores information about the generated workflow model in the memory and provides the terminal with a workflow management page 1300 that allows the generated workflow model to be managed as a group.
  • the workflow management page 1300 may include an area 1301 where one or more groups (or folders) are displayed. When each group is selected, a list of workflow models corresponding to the selected group may be displayed on the terminal. Workflow models with similar properties can be classified according to each group. Additionally, an account with access rights to the group and/or an administrator account for the group may be set. A group's administrator account can manage other accounts' access to all or part of the workflow models included in the group.
  • credentials that can be used in the workflow model included in the group may be defined. Only the group administrator can access the credentials of each group. Additionally, a password may be set to access each group.
  • FIG. 14 is a diagram illustrating a dashboard page 1400 provided by an electronic device according to an embodiment of the present disclosure.
  • the electronic device displays information about at least one of a workflow model scheduled to be executed, a workflow model running, a failed workflow model, a stopped workflow model, a paused workflow model, and a successful workflow model.
  • a dashboard page 1400 can be provided to the terminal.
  • the dashboard page 1400 includes an area 1401 where a period can be set, an area 1402 where automatic refresh can be set or manual refresh can be commanded, an area 1403 indicating the execution status of the workflow model, and an area 1403 where the execution status of the workflow model can be displayed. It may include an area 1404 indicating specific information of the workflow model. When a specific period is set through area 1401, information regarding the execution of a workflow model corresponding to that period may be displayed in areas 1403 and 1404.
  • Area 1403 contains workflow models that are READY, RUNNING, FAIL, STOP, and PAUSED. and information about at least one of the successful (SUCCESS) workflow model may be displayed.
  • Area 1404 may display specific information about the executed workflow model in order from top to most recent. For example, area 1404 may display information regarding the status, name, start time, end time, and creation time of each workflow model. .
  • Figure 15 is an operation flowchart showing a method according to an embodiment of the present disclosure.
  • a method 1500 of providing a platform for controlling work flow related to supply chain management of electronic devices wherein a user places one or more nodes directing specific commands regarding the work flow and one or more connecting lines directing sequential relationships between the one or more nodes.
  • operation S1510 includes receiving information about a node template defined to indicate a specific command from one or more external devices and adding the received node template to one or more node templates that can be selected by the user. It can be included.
  • operation S1540 executes a command indicated by a succeeding node after execution of a command indicated by a preceding node among a plurality of nodes is completed, taking into account the precedence relationship according to one or more connection lines, through one or more external devices. It can include actions to execute.
  • operation S1540 may be performed simultaneously through an operation of determining at least some nodes that can be performed simultaneously, among a plurality of nodes, based on a precedence relationship along one or more connection lines, and through a plurality of external devices. It may include an operation of executing commands indicated by each of at least some of the determined nodes in parallel.
  • operation S1540 when the one or more nodes include a node directing a query to the first storage, executes the query through one or more external devices and stores the results of the executed query in the second storage. It may include actions such as: At this time, operation S1530 may further include providing the terminal with information indicating the address of the second storage where the result of the executed query is stored.
  • operation S1540 is an operation of transmitting a key corresponding to the credential to an external device when a credential is required in the process of executing a command indicated by at least some of the nodes among the one or more nodes, and at least some of the nodes When the command to indicate is completed, the operation of discarding the key may be included.
  • method 1500 allows a user to respond to a command indicated by at least some nodes by referring to output values of commands indicated by nodes preceding at least some of the one or more nodes along one or more connection lines. It may further include providing the terminal with an input value selection page that allows the terminal to select an input value.
  • the method 1500 includes an operation of transmitting a command indicated by one or more nodes included in a workflow model to one or more external devices, and executing a command indicated by one or more nodes from one or more external devices. It may further include receiving information on whether the command was successful and providing an execution result page to the terminal indicating whether the execution of the command indicated by one or more nodes was successful. In one embodiment, the method 1500 includes receiving, from one or more external devices, information about the time taken to execute a command indicated by one or more nodes and the time taken to execute a command indicated by one or more nodes. It may further include providing an execution result page displaying to the terminal. In one embodiment, the method 1500 may further include determining the time taken to execute the workflow model and providing the terminal with an execution result page displaying the time taken to execute the workflow model. there is.
  • the method 1500 provides a notification settings page on the terminal where a user can set up an account to receive notifications and notifications corresponding to specific conditions related to commands indicated by at least some of the one or more nodes.
  • An operation to receive, from a terminal, information about an account to be provided with notifications and notifications corresponding to specific conditions related to commands indicated by at least some of one or more nodes set by the user, and when the specific conditions are satisfied, the account An operation to provide a notification may be further included.
  • method 1500 includes providing a notification settings page on a terminal where a user can set up an account to be provided with notifications and notifications corresponding to specific conditions related to a workflow model, from the terminal, and providing notifications set by the user. , an operation of receiving a notification corresponding to a specific condition related to the workflow model and information about the account to be provided with the notification, and an operation of providing a notification to the account when the specific condition is satisfied.
  • the method 1500 includes the operation of providing an execution schedule setting page on which a user can set an execution schedule for a workflow model to a terminal, and an execution schedule for a workflow model set by the user from the terminal. It may further include an operation of receiving information about. At this time, operation S1530 may include executing the workflow model through one or more external devices based on the execution schedule.
  • the method 1500 allows a user to specify a condition for the output value of a first command indicated by at least some of the nodes and a node subsequent to at least some of the nodes corresponding to the specific condition indicates.
  • operation S1530 is an operation of executing the first command through one or more external devices, an operation of evaluating whether the output value of the first command satisfies a specific condition, and an operation of evaluating whether the output value of the first command satisfies the specific condition.
  • the operation of executing the second command through one or more external devices may be further included based on the execution rule for the second command.
  • the method 1500 may further include providing the terminal with a workflow management page that can manage the generated workflow model as a group.
  • method 1500 provides information about at least one of a workflow model scheduled to run, a running workflow model, a failed workflow model, a stopped workflow model, a paused workflow model, and a successful workflow model.
  • the operation of providing a dashboard page displayed on the terminal may further be included.
  • each step of the method or algorithm is described in sequential order, but each step may be performed in an order that can be arbitrarily combined in addition to being performed sequentially.
  • the description of the present disclosure in terms of flowcharts or flowcharts does not exclude making changes or modifications to the method or algorithm, nor does it imply that any step is required or desirable.
  • at least some of the steps may be performed in parallel, iteratively, or heuristically.
  • at least some steps may be omitted or other steps may be added.
  • Various embodiments according to the present disclosure may be implemented as software on a machine-readable storage medium.
  • the software may be software for implementing various embodiments described in this disclosure.
  • Software can be inferred from the various embodiments described in this disclosure by programmers in the technical field to which this disclosure pertains.
  • software may be a program that contains machine-readable instructions (e.g., instructions, code, or code segments).
  • a device is a device that can operate according to commands retrieved from a storage medium, and may be, for example, a computer.
  • the device may be a computing device according to various embodiments described in this disclosure.
  • the device's processor may execute the called instruction, causing the device's components to perform a function corresponding to the instruction.
  • a storage medium can refer to any type of recording medium in which data that can be read by a device is stored.
  • Storage media may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc.
  • the storage medium may be implemented in a distributed form, such as in a networked computer system. At this time, the software may be distributed, stored, and executed on a computer system, etc.
  • the storage medium may be a non-transitory storage medium.
  • Non-transitory storage media refers to a medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include signals that are transmitted temporarily.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Emergency Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시는 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치 및 그 방법에 관한 것이다. 본 개시의 일 실시예에 따른 전자 장치는, 통신 회로, 하나 이상의 프로세서, 및 하나 이상의 메모리를 포함하고, 하나 이상의 프로세서는, 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하고, 단말로부터, 영역에 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하고, 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하고, 하나 이상의 외부 장치를 통해, 생성된 작업 흐름 모델을 실행할 수 있다.

Description

공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
본 개시는 공급망 관리에 관한 작업 흐름을 제어하는 기술에 관한 것이다.
SCM(Supply Chain Management)은 상품 공급자, 운송 업체, 배송에 이르기까지 제품 또는 서비스와 관련된 상품, 데이터 흐름을 관리하는 것을 의미한다. SCM에 있어서 상품의 수요를 예측하고, 구매 주문을 이행하기 위한 파이프라인을 구축하고 효율적으로 관리하는 것이 중요하다. 효율적인 구매 주문 이행 및 센터 간 물류 분배를 위한 다양한 알고리즘 및 모델을 개발하는 것이 필요하고, 이를 개발하는 다양한 멤버들의 협업이 필수적이다. 이러한 협업에 있어서, 비개발자를 포함하는 멤버들이 데이터의 생성과 수정, 나아가, 생산한 데이터를 생산 시스템까지 쉽게 연동할 수 있도록 하는 플랫폼이 요구된다.
또한, 작업 흐름을 생성하는 과정에서 사용되는 도메인을 확장할 때마다, 새로운 시스템을 구축해야 한다면, 비용과 시간이 많이 소모된다. 따라서, 도메인 확장 시 새로운 시스템의 구축 없이, 기존의 시스템을 확장하여 사용할 수 있는 플랫폼의 제공이 요구되고 있다.
본 개시의 일 실시예를 통해 해결하고자 하는 기술적 과제는, SCM(Supply Chain Management)를 위해 다수의 멤버가 작업 흐름을 생성하는 과정에서 데이터를 공용으로 처리할 수 있는 플랫폼을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 개발자와 비개발자가 모두 용이하게 사용할 수 있는 플랫폼을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 작업 흐름 각각의 실행 스케줄을 설정하여 사용자가 원하는 시간에 작업을 완료할 수 있도록 하는 플랫폼을 제공하는 것이다.
본 개시의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 생성된 작업 흐름의 상태를 한눈에 모니터링할 수 있는 플랫폼을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시예에 따른 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치는 단말 및 하나 이상의 외부 장치와 통신하는 통신 회로, 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령어들이 저장된 하나 이상의 메모리를 포함하고, 상기 하나 이상의 프로세서에 의해 상기 명령어들이 실행될 시, 상기 하나 이상의 프로세서는, 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 상기 단말에 제공하고, 상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하고, 상기 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하고, 상기 하나 이상의 외부 장치를 통해, 상기 생성된 작업 흐름 모델을 실행할 수 있다.
일 실시예에서, 상기 하나 이상의 노드는, 복수의 노드를 포함하고, 상기 하나 이상의 프로세서는, 상기 하나 이상의 외부 장치를 통해, 상기 하나 이상의 연결선에 따른 선후 관계를 고려하여, 상기 복수의 노드 중 선행하는 노드가 지시하는 명령의 실행이 완료된 후에 후행하는 노드가 지시하는 명령을 실행할 수 있다.
일 실시예에서, 상기 하나 이상의 노드는, 복수의 노드를 포함하고, 상기 하나 이상의 외부 장치는, 복수의 외부 장치를 포함하고, 상기 하나 이상의 프로세서는, 상기 복수의 노드 중에서, 상기 하나 이상의 연결선에 따른 선후 관계에 기초하여, 동시에 수행될 수 있는 적어도 일부의 노드를 결정하고, 상기 복수의 외부 장치를 통해, 상기 동시에 수행될 수 있다고 결정된 적어도 일부의 노드의 각각이 지시하는 명령을 병렬적으로 실행할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 사용자가, 상기 하나 이상의 연결선에 따라 상기 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 상기 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 노드는, 제1 저장소에 대한 쿼리를 지시하는 노드를 포함하고, 상기 하나 이상의 프로세서는, 상기 하나 이상의 외부 장치를 통해, 상기 쿼리를 실행하고, 상기 실행된 쿼리의 결과를 제2 저장소에 저장할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 실행된 쿼리의 결과가 저장된 상기 제2 저장소의 주소를 지시하는 정보를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 하나 이상의 외부 장치에, 상기 작업 흐름 모델에 포함되는 상기 하나 이상의 노드가 지시하는 명령을 전달하고, 상기 하나 이상의 외부 장치로부터, 상기 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부에 대한 정보를 수신하고, 상기 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부를 표시하는 실행 결과 페이지를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 하나 이상의 외부 장치에, 상기 작업 흐름 모델에 포함되는 상기 하나 이상의 노드가 지시하는 명령을 전달하고, 상기 하나 이상의 외부 장치로부터, 상기 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간에 대한 정보를 수신하고, 상기 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 작업 흐름 모델의 실행에 소요된 시간을 결정하고, 상기 작업 흐름 모델의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 사용자가 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 상기 단말에 제공하고, 상기 단말로부터, 상기 사용자가 설정한, 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정에 대한 정보를 수신하고, 상기 특정 조건이 만족되면 상기 계정에 알림을 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 사용자가 상기 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 상기 단말에 제공하고, 상기 단말로부터, 상기 사용자가 설정한, 상기 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정에 대한 정보를 수신하고, 상기 특정 조건이 만족되면 상기 계정에 알림을 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 사용자가 상기 작업 흐름 모델에 관한 실행 스케줄을 설정할 수 있는 실행 스케줄 설정 페이지를 상기 단말에 제공하고, 상기 단말로부터, 상기 사용자가 설정한, 상기 작업 흐름 모델에 관한 실행 스케줄에 대한 정보를 수신하고, 상기 실행 스케줄에 기초하여, 상기 하나 이상의 외부 장치를 통해, 상기 작업 흐름 모델을 실행할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 사용자가 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건 및 상기 특정 조건에 대응하는 상기 적어도 일부의 노드에 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙을 설정하는 출력 검증 설정 페이지를 상기 단말에 제공하고, 상기 단말로부터, 상기 사용자가 설정한, 상기 제1 명령의 출력 값에 대한 특정 조건 및 상기 제2 명령에 대한 실행 규칙에 대한 정보를 수신하고, 상기 하나 이상의 외부 장치를 통해, 상기 제1 명령을 실행하고, 상기 제1 명령의 출력 값이 상기 특정 조건을 만족하는지 여부를 평가하고, 상기 제1 명령의 출력 값이 상기 특정 조건을 만족하는 경우, 상기 제2 명령에 대한 실행 규칙에 기초하여, 상기 하나 이상의 외부 장치를 통해, 상기 제2 명령을 실행할 수 있다.
일 실시예에서, 상기 작업 흐름 구성 페이지는, 상기 사용자가 하나 이상의 노드 템플릿 중에서 상기 영역에 배치할 노드에 대응하는 노드 템플릿을 선택할 수 있도록 구성되고, 상기 하나 이상의 프로세서는, 상기 하나 이상의 외부 장치로부터, 특정 명령을 지시하도록 정의된 노드 템플릿에 대한 정보를 수신하고, 상기 사용자가 선택할 수 있는 상기 하나 이상의 노드 템플릿에 상기 수신된 노드 템플릿을 추가할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 생성된 작업 흐름 모델에 대한 정보를 상기 메모리에 저장하고, 상기 생성된 작업 흐름 모델을 그룹으로 관리할 수 있는 작업 흐름 관리 페이지를 상기 단말에 제공할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령을 실행하는 과정에서 크리덴셜이 필요한 경우, 상기 외부 장치에 상기 크리덴셜에 대응하는 키를 전달하고, 상기 적어도 일부의 노드가 지시하는 명령이 완료되면, 상기 키를 폐기할 수 있다.
일 실시예에서, 상기 하나 이상의 프로세서는, 실행 예정인 작업 흐름 모델, 실행 중인 작업 흐름 모델, 실패한 작업 흐름 모델, 중지된 작업 흐름 모델, 일시 정지된 작업 흐름 모델 및 성공한 작업 흐름 모델 중 적어도 하나에 대한 정보가 표시되는 대시보드 페이지를 상기 단말에 제공할 수 있다.
본 개시의 일 실시예에 따른 전자 장치의 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 방법은, 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하는 동작, 상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하는 동작, 상기 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하는 동작, 및 하나 이상의 외부 장치를 통해, 상기 생성된 작업 흐름 모델을 실행하는 동작을 포함할 수 있다.
일 실시예에서, 상기 사용자가, 상기 하나 이상의 연결선에 따라 상기 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 상기 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지를 상기 단말에 제공하는 동작을 더 포함할 수 있다.
본 개시의 일 실시예에 따른 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 프로그램은 하나 이상의 프로세서에 의해 실행 가능한 명령어들을 포함하고, 상기 명령어들은 상기 하나 이상의 프로세서에 의한 실행 시에, 상기 하나 이상의 프로세서가, 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치하여 작업 흐름 모델을 생성할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하는 동작, 상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하는 동작, 및 하나 이상의 외부 장치를 통해, 상기 수신된 정보에 기초하여 생성된 작업 흐름 모델을 실행하는 동작을 수행하도록 할 수 있다.
본 개시에 따르면, SCM(Supply Chain Management)를 위해 다수의 멤버가 작업 흐름을 생성하는 과정에서 데이터를 공용으로 처리할 수 있는 플랫폼을 제공할 수 있다.
본 개시에 따르면, 개발자와 비개발자가 모두 용이하게 사용할 수 있는 플랫폼을 제공할 수 있다.
본 개시에 따르면, 작업 흐름 각각의 실행 스케줄을 설정하여 사용자가 원하는 시간에 작업을 완료할 수 있도록 하는 플랫폼을 제공할 수 있다.
본 개시에 따르면, 생성된 작업 흐름의 상태를 한눈에 모니터링할 수 있는 플랫폼을 제공할 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 명세서의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 적용될 수 있는 환경을 도시한다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 구체적인 구성과 동작을 나타내는 도면이다.
도 4 내지 도 6은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지를 나타내는 도면이다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 입력 값 선택 페이지를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 실행 결과 페이지를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 알림 설정 페이지를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 실행 스케줄 설정 페이지를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 출력 검증 설정 페이지를 나타내는 도면이다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 관리 페이지를 나타내는 도면이다.
도 14는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 대시보드 페이지를 나타내는 도면이다.
도 15는 본 개시의 일 실시예에 따른 방법을 나타낸 동작흐름도이다.
본 개시에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 개시에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.
기술적이거나 과학적인 용어를 포함해서, 본 개시에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다.
본 개시에서 사용되는 "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예를 들어, 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.
본 개시에서 사용되는 단수형의 표현은, 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다.
본 개시에서 사용되는 "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 대상들 간의 순서 또는 중요도를 한정하는 것은 아니다. 예를 들어, 본 개시에 따른 저장소는 "제1 저장소" 및 "제2 저장소" 등과 같이 표현됨으로써 서로 구분될 수 있다.
본 문서에서 사용되는 "A, B, 및 C", "A, B, 또는 C", "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나", "A, B, 또는 C 중 적어도 하나", "A, B, 및/또는 C 중 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A, (2) 적어도 하나의 B, (3) 적어도 하나의 A 및 적어도 하나의 B를 모두 지칭할 수 있다.
본 개시에서 사용되는 "~에 기초하여"라는 표현은, 이 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는 데에 사용되고, 이 표현은 그 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 개시에서 사용되는, 어떤 구성요소(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예를 들어, 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 이 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(generic purpose processor)를 의미하거나, 그 특정 동작을 수행하도록 프로그래밍을 통해 구조화된 특수 목적 컴퓨터(special purpose computer)를 의미할 수 있다.
본 개시에서 사용되는 용어 "플랫폼(platform)"은, 동일하거나 유사한 목적의 서비스들을 통합 관리함으로써 사용자들의 사용 기반이 되는 유형 또는 무형의 공간을 의미할 수 있고, 그 세부적인 의미의 차이는 있으나 포괄적으로 "소프트웨어", "애플리케이션", "프로그램", "툴(tool)" 또는 "솔루션"과 상호 교환적으로 지칭될 수도 있다.
이하, 첨부된 도면들을 참조하여, 본 개시에 기재된 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 그 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.
도 1은 본 개시의 일 실시예에 따른 전자 장치(110)가 적용될 수 있는 환경을 도시한다. 전자 장치(110)는 네트워크를 통해, 단말(120) 및 외부 장치(130)과 연결되어, 서로 통신할 수 있다.
전자 장치(110)는 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 관리 및 제공하기 위한 장치일 수 있다. 예를 들어, 전자 장치(100)는 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 관리하는 서버일 수 있다. 공급망 관리는 생산 및/또는 유통 등의 과정에서 제품에 대한 관리 솔루션을 도출하기 위한 일련의 과정을 의미할 수 있다. 구체적으로, 공급망 관리는 수요자가 요구하는 제품을 원하는 시간과 장소에 제공하기 위하여, 제품의 생산 및/또는 유통 프로세스를 최적화하는 것을 포함할 수 있다. 예를 들어, 공급망 관리는 온라인 상에서 제품의 구매 및 판매가 이루어지는 전자상거래 서비스에 의해 취급되는 제품에 관한 공급망 관리를 포함할 수 있다. 전자 장치(110)는 다양한 정보를 웹사이트 상의 웹 페이지로 구성하여 사용자 단말(120)에 제공할 수 있다. 작업 흐름(Workflow)란 일련의 업무 흐름을 의미할 수 있다. 예를 들어, 작업 흐름은 공급망 관리에 필요한 정보 또는 업무의 이동을 포함할 수 있다. 특히, 공급망 관리에 대한 작업 흐름에서는 운영팀, 개발자, 비즈니스 분석가(Business analyst), 데이터 사이언티스트(Data scientist) 등 다양한 직군의 멤버들이 참여할 수 있다.
전자 장치(110)는 단말(120)에 접속된 사용자의 계정 등을 통해, 사용자가 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼에 접근 권한이 있는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(110)는 사용자의 단말(120)이 플랫폼에 대한 웹 주소에 접속하면, 사용자의 계정이 로그인 되어 있지 않은 경우, 사용자가 계정을 입력하여 로그인 할 수 있는 로그인 페이지를 단말(120)에 제공할 수 있다. 전자 장치(110)는 접근 권한이 있는 사용자의 단말(120)에 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼에 관한 GUI(Graphical User Interface)를 제공할 수 있다. 사용자는 단말(120)에 제공된 플랫폼의 GUI를 통해, 내부적으로 접근이 허용된 작업 흐름의 생성, 수정 및/또는 삭제 등을 수행할 수 있다.
단말(120)은 공급망 관리에 참여하는 사용자가 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 이용하기 위한 장치일 수 있다. 단말(120)은 네트워크를 통해 다양한 정보를 전자 장치(110)와 송수신할 수 있는 단말로 구현될 수 있다. 예를 들어, 단말(120)은 컴퓨터, 랩탑(laptop), 휴대용 통신 단말(스마트폰 등), 휴대용 멀티미디어 장치, 웨어러블 장치 또는 HMD 중 하나일 수 있다. 단, 단말(120)의 종류는 이에 한정되지 않으며, 단말(120)은 사용자로부터 정보를 입력받거나, 사용자에게 정보를 출력할 수 있는 입출력 인터페이스를 포함하고, 네트워크를 통해 전자 장치(110) 또는 다른 기타 장치와 통신을 수행할 수 있는 임의의 장치일 수 있다.
단말(120)은 전자 장치(110)로부터 수신한 정보를 사용자에게 제공할 수 있고, 사용자로부터 입력을 수신하여 전자 장치(110)로 전송할 수 있다. 사용자로부터 획득되는 입력은 마우스를 이용한 클릭, 터치 패드나 터치 스크린을 이용한 터치, 음성 인식, 기타 전자적 입력 등 다양한 형태의 입력을 포함할 수 있다. 단말(120)은 기 설정된 웹 주소에 접속함으로써, 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼에 접속할 수 있고, 해당 플랫폼 내의 특정 입력에 대응하여 전자 장치(110)로부터 후술될 각종 페이지에 대한 정보를 전달받고, 페이지를 출력할 수 있다.
외부 장치(130)는 전자 장치(110)로부터 수신한 정보에 기초하여, 공급망 관리에 대한 작업 흐름의 적어도 일부의 명령을 실행할 수 있는 장치 내지 서버일 수 있다. 외부 장치(130)는 전자 장치(110)와 하드웨어적으로 분리된 다른 장치를 의미할 수 있다. 예를 들어, 외부 장치(130)는 제품의 주문, 재고 및/또는 유통에 관한 데이터를 저장하는 제1 저장소로서의 데이터베이스에 접근하여, 원하는 데이터를 제공받기 위해 쿼리를 수행할 수 있다. 외부 장치(130)가 쿼리를 수행하는 내용에 대해서는 후술되는 도 3을 통해 구체적으로 설명한다. 또한, 외부 장치(130)는 쿼리 이외에도 기 설정된 서비스를 제공할 수 있다. 예를 들어, 외부 장치(130)는 주문 처리 및/또는 주문 분배의 서비스를 실행할 수 있다. 이 경우, 외부 장치(130)는 주문 처리 및/또는 주문 분배를 수행하는 팀의 서버를 통해 주문 처리 및/또는 주문 분배의 명령을 출력함으로써, 오프라인 상으로 이어지는 서비스를 실행할 수 있다.
네트워크는 전자 장치(110)와 사용자의 단말(120) 또는 외부 장치(130)를 연결하는 역할을 수행할 수 있다. 예를 들어, 네트워크는 사용자 단말(120)이 전자 장치(110)와 연결되어 전자 장치(110)와 패킷 데이터를 송수신할 수 있도록 접속 경로를 제공할 수 있다. 네트워크는 예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(Mobile Radio Communication Network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유선 또는 무선 네트워크로 구현될 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다. 전자 장치(200)는 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공할 수 있다. 일 실시예에서, 전자 장치(200)는 통신 회로(210), 하나 이상의 프로세서(220) 및/또는 하나 이상의 메모리(230)를 구성요소로서 포함할 수 있다. 일 실시예에서, 전자 장치(200)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 장치 전자 장치(200)에 추가될 수 있다. 일 실시예에서, 추가적으로 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(220)는 프로세서(220)라고 표현될 수 있다. 프로세서(220)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 본 개시에서, 하나 이상의 메모리(230)는 메모리(230)라고 표현될 수 있다. 메모리(230)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다. 일 실시예에서, 전자 장치(200) 내/외부의 구성요소들 중 적어도 일부의 구성요소들은 버스, GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 정보(데이터, 신호 등)를 주고 받을 수 있다.
통신 회로(communication circuit, 210)는 사용자의 단말 및 외부 장치와 통신할 수 있다. 통신 회로(210)는 전자 장치(200)와 사용자의 단말 및 외부 장치 간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 회로(210)는 eMBB(enhanced Mobile Broadband), URLLC(Ultra Reliable Low-Latency Communications), MMTC(Massive Machine Type Communications), LTE(Long-Term Evolution), LTE-A(LTE Advance), NR(New Radio), UMTS(Universal Mobile Telecommunications System), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), WiBro(Wireless Broadband), WiFi(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication), GPS(Global Positioning System) 또는 GNSS(Global Navigation Satellite System) 등의 방식에 따른 무선 통신을 수행할 수 있다. 예를 들어, 통신 회로(210)는 USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), RS-232(Recommended Standard-232) 또는 POTS(Plain Old Telephone Service) 등의 방식에 따른 유선 통신을 수행할 수 있다. 일 실시예에서, 전자 장치(200)는 다른 장치와 통합되어 구현될 수도 있다. 이 경우, 통신 회로(210)는 전자 장치(200)와 해당 다른 장치를 연결하는 접속 회로 내지 인터페이스로서 기능할 수 있다.
프로세서(220)는 소프트웨어(예: 명령, 프로그램 등)를 구동하여 프로세서(220)에 연결된 전자 장치(200)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(220)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(220)는 데이터 등을 메모리(230)로부터 로드하거나, 메모리(230)에 저장할 수 있다. 나아가 프로세서(220)는 통신 회로(210)를 통해, 사용자의 단말 및 외부 장치와 다양한 정보를 송수신할 수 있다. 일 실시예에서, 프로세서(220)는 통신 회로(210)를 제어하여, 사용자의 단말에 각종 페이지에 대한 정보 등 다양한 정보를 송신할 수 있다. 구체적으로, 프로세서(220)는 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지 등을 단말에 제공할 수 있다. 또한, 프로세서(220)는 통신 회로(210)를 통해, 단말로부터 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신할 수 있다. 또한, 프로세서(220)는 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성할 수 있다. 또한, 프로세서(220)는 외부 장치를 통해, 생성된 작업 흐름 모델을 실행할 수 있다. 즉, 프로세서(220)는 통신 회로(210)를 통해, 외부 장치에 작업 흐름 모델에 관한 정보를 전달함으로써, 작업 흐름 모델을 실행할 수 있다.
메모리(230)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(230)에 저장되는 정보는, 전자 장치(200)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령어, 프로그램 등)를 포함할 수 있다. 메모리(230)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 본 개시에서, 명령 내지 프로그램은 메모리(230)에 저장되는 소프트웨어로서, 전자 장치(200)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 전자 장치(200)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(230)는 프로세서(220)에 의한 실행 시 프로세서(220)가 연산을 수행하도록 하는 명령어들을 저장할 수 있다. 메모리(230)는 통신 회로(210)를 통하여 단말 및/또는 외부 장치로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말 및/또는 외부 장치에 송신된 정보의 적어도 일부를 저장할 수 있다. 프로세서(220)는 통신 회로(210)를 통하여 단말 및/또는 외부 장치로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말 및/또는 외부 장치에 송신된 정보의 적어도 일부를 메모리(230)에 저장할 수 있다. 구체적으로, 메모리(230)는 단말로부터 배치된 노드 및 연결선에 대한 정보, 외부 장치로부터 실행된 작업 흐름의 적어도 일부의 명령의 실행 결과(예를 들어, 명령의 실행의 성공 여부, 명령의 실행에 소요된 시간 등)에 대한 정보 등을 저장할 수 있다.
이하, 도 3 내지 도 14에서 전자 장치에 의해 수행되는 것으로 설명되는 동작은, 도 2에서 설명된 전자 장치(200)의 프로세서(220)에 의해 수행되는 것으로 이해될 수 있다.
도 3은 본 개시의 일 실시예에 따른 전자 장치(300)의 구체적인 구성과 동작을 나타내는 도면이다. 전자 장치(300)는 사용자(311)(사용자(311)의 단말), 외부 장치(312)와 통신할 수 있다. 전자 장치(300)는 작업 흐름 데이터베이스(307)에 데이터를 저장하고, 작업 흐름 데이터베이스(307)에 저장된 정보에 접근할 수 있다. 전자 장치(300)는 외부 장치(324, 325)를 포함하는 서비스 제공자(320)와 통신할 수 있다.
전자 장치(300)는, 예를 들어, 세부적인 구성으로서, 작업 흐름 관리 모듈(301), 스케줄러 모듈(302), 서비스 등록 모듈(303), 실행 모듈(304), 알림 모듈(305) 및 응답 모듈(306)을 포함할 수 있다. 작업 흐름 관리 모듈(301), 스케줄러 모듈(302), 서비스 등록 모듈(303), 실행 모듈(304), 알림 모듈(305) 및 응답 모듈(306)은 대응하는 프로세서를 각각 포함하여 구성되거나, 하나의 프로세서에서 기능 단위로 분리된 소프트웨어 모듈로 구현될 수 있다.
작업 흐름 관리 모듈(301)은 사용자(311)(사용자(311)의 단말) 또는 외부 장치(312)로부터 입력된 정보에 기초하여 작업 흐름 모델을 생성하고, 생성된 작업 흐름 모델의 실행을 전반적으로 관리하는 모듈을 의미할 수 있다. 작업 흐름 관리 모듈(301)은 사용자(311) 또는 외부 장치(312)에 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼에 관한 각종 페이지를 제공할 수 있다. 또한, 작업 흐름 관리 모듈(301)은 사용자(311)(사용자(311)의 단말) 또는 외부 장치(312)로부터 배치된 노드 및 연결선에 대한 정보를 수신할 수 있다. 작업 흐름 관리 모듈(301)은 수신된 정보에 기초하여, 배치된 노드 및 연결선에 대응하는 작업 흐름 모델을 생성할 수 있다. 한편, 작업 흐름 관리 모듈(301)은 스케줄러 모듈(302), 서비스 등록 모듈(303), 실행 모듈(304), 알림 모듈(305), 응답 모듈(306) 및 작업 흐름 데이터 베이스(307)과 연결되어, 작업 흐름 모델에 포함되는 다양한 서비스 내지 명령을 처리할 수 있다.
스케줄러 모듈(302)는 사용자(311) 또는 외부 장치(312)로부터 입력된 작업 흐름 모델의 실행 스케줄을 관리하는 모듈을 의미할 수 있다. 예를 들어, 스케줄러 모듈(302)는 실행 스케줄에 관한 정보를 메모리에 저장하거나, 메모리에 저장된 실행 스케줄에 관한 정보를 읽어서 작업 흐름 관리 모듈(301)에 전달할 수 있다.
서비스 등록 모듈(303)은 외부 장치(324)로부터 입력된 커스텀 서비스를 새로운 서비스 컴포넌트로 등록할 수 있다. 예를 들어, 외부 장치(324)는 커스텀 서비스로서, 특정 쿼리를 실행하는 것, 제1 저장소(예를 들어, 외부의 웹 서비스를 통해 제공되는 온라인 스토리지 서비스의 데이터베이스)의 데이터를 제2 저장소(예를 들어, 내부에서 관리되는 관계형 데이터베이스(RDB, Related Database))에 저장하는 것, 데이터로서 CSV 파일을 머지(merge)하는 것, 제2 저장소의 데이터를 제1 저장소에 업로드하는 것 등을 포함할 수 있다. 이 경우, 외부 장치(324)는 데이터를 처리하는 프로세서를 포함할 수 있다. 서비스 등록 모듈(303)을 통해 등록된 서비스 컴포넌트는 작업 흐름 관리 모듈(301)에 의해 사용자(311) 또는 외부 장치(312)에 전달되는 작업 흐름 구성 페이지에 배치될 수 있는 노드의 형태로 제공될 수 있다.
실행 모듈(304)은 생성된 작업 흐름 모델에 포함되는 서비스 내지 명령을 외부 장치(324, 325)를 통해 실행할 수 있다. 예를 들어, 실행 모듈(304)은 작업 흐름 관리 모듈(301)로부터 특정 서비스 내지 명령을 실행하라는 신호를 전달받을 수 있다. 또한, 실행 모듈(304)은 외부 장치(324, 325)에 각각 서비스 내지 명령에 대응하는 신호(321, 322)를 큐의 형태로 전달하여, 외부 장치(324, 325)에서 해당 서비스 내지 명령이 실행될 수 있도록 할 수 있다.
알림 모듈(305)는 특정 서비스 내지 명령에 대한 특정 조건에 따라 사용자의 계정에 알림을 제공할 수 있다. 예를 들어, 알림 모듈(305)는 특정 서비스 내지 명령에 대한 특정 조건이 만족되는 경우, 작업 흐름 관리 모듈(301)로부터 알림을 출력하라는 명령을 전달받을 수 있다. 또한, 알림 모듈(305)은 기 설정된 사용자의 계정에 알림을 전달할 수 있다. 구체적으로, 알림 모듈(305)은 슬랙(slack) 또는 이메일 등의 형태로 사용자의 계정이 접속된 단말에 알림을 전달할 수 있다.
응답 모듈(306)은 서비스 내지 명령의 실행에 관한 신호(322)를 전달받은 외부 장치(325)로부터 큐의 형태로 응답 정보(323)를 전달받을 수 있다. 예를 들어, 응답 정보(323)에는 서비스 내지 명령의 성공 또는 실패 여부, 서비스 내지 명령의 실행에 소요된 시간 등의 정보가 포함될 수 있다. 응답 모듈(306)은 전달받은 응답 정보(323)를 작업 흐름 관리 모듈(301)에 전달할 수 있다.
작업 흐름 데이터 베이스(307)는 생성된 작업 흐름 모델에 관한 각종 정보를 저장할 수 있다. 작업 흐름 데이터 베이스(307)에 저장되는 정보는 해당 작업 흐름 모델이 포함하는 서비스 내지 명령에 관한 정보, 해당 작업 흐름 모델이 실행된 이력 정보 등을 포함할 수 있다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지(400)를 나타내는 도면이다. 작업 흐름 구성 페이지(400)는 사용자가 노드(401 내지 405) 및 노드(401 내지 405) 간의 선후 관계를 지시하는 연결선(406 내지 411)을 배치할 수 있는 영역을 포함할 수 있다.
일 실시예에서, 노드(401 내지 405)는, 제1 저장소(예를 들어, 외부의 웹 서비스를 통해 제공되는 온라인 스토리지 서비스의 데이터베이스인 S3, Redshift, Hive 등)에 대한 쿼리를 지시하는 노드(402 내지 404)를 포함하고, 전자 장치는 하나 이상의 외부 장치를 통해, 쿼리를 실행하고, 실행된 쿼리의 결과를 제2 저장소(예를 들어, 내부에서 관리되는 관계형 데이터베이스)에 저장할 수 있다. 여기서, 제2 저장소는 전자 장치와 직접적으로 연결되어 전자 장치와 동일 주체에 의해 관리되는 로컬 데이터베이스를 의미할 수 있다. 일 실시예에서, 전자 장치는 실행된 쿼리의 결과가 저장된 제2 저장소의 주소를 지시하는 정보를 사용자의 단말에 제공할 수 있다. 구체적으로, 전자 장치는 제2 저장소의 해당 쿼리의 결과에 대응하는 파일에 접근할 수 있는 로컬 주소를 지시하는 정보를 사용자의 단말에 제공할 수 있다.
노드(401 내지 405)는 각각에 대응하는 명령을 지시할 수 있다. 예를 들어, 노드 401은 작업 흐름의 시작과 함께 작업 흐름 모델에서 정의되는 특정 규칙(CONFIG)에 대한 정보를 지시할 수 있다. 노드 402는 데이터베이스에 대한 쿼리를 실행하여 재고 데이터를 추출하는 명령(Extract Inventory)을 지시할 수 있다. 노드 403은 데이터베이스에 대한 쿼리를 실행하여 대기 주문 데이터를 추출하는 명령(Extract Open Order)을 지시할 수 있다. 노드 404는 데이터베이스에 대한 쿼리를 실행하여 재고관리를 위한 최소한의 단위를 알아내는 명령(Find Sku(Stock keeping unit))을 지시할 수 있다. 노드 405는 이송 수량을 계산하고 데이터베이스에 저장하는 명령(Calculate Transfer Quantity)을 지시할 수 있다.
연결선(406 내지 411)은 노드(401 내지 405) 간의 선후 관례를 지시할 수 있다. 예를 들어, 연결선 406은 노드 402가 노드 401에 후행함을 지시할 수 있다. 연결선 407은 노드 403이 노드 401에 후행함을 지시할 수 있다. 연결선 408은 노드 404가 노드 401에 후행함을 지시할 수 있다. 연결선 409는 노드 405가 노드 402에 후행함을 지시할 수 있다. 연결선 410은 노드 405가 노드 403에 후행함을 지시할 수 있다. 연결선 411은 노드 405가 노드 404에 후행함을 지시할 수 있다.
일 실시예에서, 전자 장치는 하나 이상의 외부 장치를 통해, 하나 이상의 연결선(406 내지 411)에 따른 선후 관계를 고려하여, 복수의 노드(401 내지 405) 중 선행하는 노드가 지시하는 명령의 실행이 완료된 후에 후행하는 노드가 지시하는 명령을 실행할 수 있다. 예를 들어, 전자 장치는 노드 401에 대응하는 명령을 먼저 실행하고(여기서는 노드 401에 대응하는 명령이 작업 흐름의 시작을 지시하므로, 외부 장치를 통해 실행되지 않을 수 있다), 노드 402 내지 404에 대응하는 명령을 하나 이상의 외부 장치를 통해, 실행할 수 있다. 또한, 전자 장치는 하나 이상의 외부 장치를 통해 노드 402 내지 404에 대응하는 명령의 실행이 완료된 것을 확인한 후, 하나 이상의 외부 장치를 통해 노드 405에 대응하는 명령을 실행할 수 있다.
일 실시예에서, 전자 장치는 복수의 노드(401 내지 405) 중에서, 하나 이상의 연결선(406 내지 411)에 따른 선후 관계에 기초하여, 동시에 수행될 수 있는 적어도 일부의 노드(402 내지 404)를 결정하고, 복수의 외부 장치를 통해, 동시에 수행될 수 있다고 결정된 적어도 일부의 노드(402 내지 404)의 각각이 지시하는 명령을 병렬적으로 실행할 수 있다. 예를 들어, 노드 402 내지 404가 지시하는 명령에서 수행되는 쿼리는 각각 상이한 데이터베이스에 대한 쿼리일 수 있다. 이 경우, 노드 402 내지 404가 지시하는 명령은 외부 장치를 통해 실행되므로, 각각 병렬적으로 동시에 실행될 수 있다. 이를 통해, 쿼리가 실행되는 시간 및 전자 장치의 데이터 처리량이 감소할 수 있다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지(500)를 나타내는 도면이다. 작업 흐름 구성 페이지(500)는 등록된 서비스를 지시하는 아이콘 및 이력 정보를 지시하는 아이콘을 포함하는 제1 영역(501), 작업 흐름 구성 페이지(500)에 대한 각종 명령을 지시하는 아이콘을 포함하는 제2 영역(502), 작업 흐름 모델의 상세 정보를 지시하는 아이콘 및 작업 흐름에 관련된 크리덴셜을 지시하는 아이콘을 포함하는 제3 영역(503), 작업 흐름 구성 페이지(500)에 배치된 노드의 위치를 개략적으로 작게 도시하는 제4 영역(505)을 포함할 수 있다.
제1 영역(501)은, 예를 들어, 작업 흐름 구성 페이지(500)의 좌측 상단에 배치될 수 있다. 단말을 통해 제1 영역(501)의 등록된 서비스를 지시하는 아이콘에 대한 입력이 수신되면, 전자 장치는 기 등록된 서비스에 대한 목록을 작업 흐름 구성 페이지(500)에 표시할 수 있다. 기 등록된 서비스에 대한 목록에 대해서는 후술되는 도 6을 통해 구체적으로 설명한다.
단말을 통해 제1 영역(501)의 이력 정보를 지시하는 아이콘에 대한 입력이 수신되면, 전자 장치는 실행된 작업 흐름 모델의 이력 정보를 표시하는 실행 결과 페이지를 단말에 제공할 수 있다. 실행 결과 페이지에 대해서는 후술되는 도 8을 통해 구체적으로 설명한다.
제2 영역(502)은, 예를 들어, 작업 흐름 구성 페이지(500)의 가운데 상단에 배치될 수 있다. 제2 영역(502)은 작업 흐름 구성 페이지의 배율의 확대/축소를 지시하는 아이콘, 화면 캡쳐를 지시하는 아이콘 및 화면 잠금을 지시하는 아이콘을 포함할 수 있다. 단말을 통해 제2 영역에 포함된 아이콘의 입력이 수신되면, 전자 장치는 입력된 아이콘에 대응하여, 작업 흐름 구성 페이지(500)의 배율을 변경하거나, 작업 흐름 구성 페이지(500)의 캡쳐 이미지를 제공하거나, 또는 작업 흐름 구성 페이지(500)에 대한 노드 및 연결선의 배치, 수정 및 삭제를 잠금할 수 있다.
제3 영역(503)은, 예를 들어, 작업 흐름 구성 페이지(500)의 우측 상단에 배치될 수 있다. 단말을 통해 제3 영역(501)의 작업 흐름 모델의 상세 정보를 지시하는 아이콘에 대한 입력이 수신되면, 전자 장치는 작업 흐름 모델의 상세 정보를 작업 흐름 구성 페이지(500)에 표시할 수 있다. 예를 들어, 상세 정보는 작업 흐름 모델의 이름, 생성자, 접근 권한, 마지막으로 수정된 시간, 태그 등에 대한 정보를 포함할 수 있다. 예를 들어, 작업 흐름 모델의 상세 정보는 작업 흐름 구성 페이지(500)의 우측에 표시될 수 있다.
단말을 통해 제3 영역(503)의 작업 흐름에 관련된 크리덴셜을 지시하는 아이콘에 대한 입력이 수신되면, 전자 장치는 현재 작업 흐름 모델에서 사용 가능한 크리덴셜의 목록을 작업 흐름 구성 페이지(500)에 표시할 수 있다. 예를 들어, 현재 작업 흐름 모델에서 사용 가능한 크리덴셜의 목록은 작업 흐름 구성 페이지(500)의 우측에 표시될 수 있다. 작업 흐름 모델에서 사용 가능한 크리덴셜이란, 특정 데이터베이스에 접근하기 위해 필요한 ID/PW 등을 포함할 수 있다. 실행되는 작업 흐름에 외부의 데이터베이스에 대한 쿼리가 포함되는 경우, 외부의 데이터베이스에 저장된 특정 데이터에 접근하기 위한 계정의 ID/PW 등의 크리덴셜이 필요할 수 있다. 전자 장치가 제공하는 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼에 다수의 사용자가 접근하여 작업 흐름 모델을 생성할 수 있지만, 외부의 데이터베이스에 저장된 특정 데이터에 접근하기 위한 계정의 ID/PW 등의 크리덴셜은 다수의 사용자에게 공개되지 않을 수 있다. 따라서, 작업 흐름 모델에서 사용 가능한 크리덴셜의 목록이 작업 흐름 구성 페이지(500)에 표시되는 경우, ID/PW 등의 크리덴셜이 직접적으로 표시되지는 않고, 사용 가능한 크리덴셜이 어느 데이터베이스에 저장된 어떤 데이터에 접근하기 위한 것인지에 관한 정보 등만이 표시될 수 있다.
일 실시예에서, 전자 장치는 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령을 실행하는 과정에서 크리덴셜이 필요한 경우, 외부 장치에 크리덴셜에 대응하는 키를 전달하고, 적어도 일부의 노드가 지시하는 명령이 완료되면, 키를 폐기할 수 있다. 구체적으로, 전자 장치는 미리 크리덴셜의 정보를 다른 크리덴셜 데이터베이스에 저장하고(키를 통해 암호화되어), 외부 장치에 크리덴셜에 대한 직접적인 정보 대신에 키에 대한 정보만을 전송하여, 외부 장치에 크리덴셜이 노출되지 않도록 할 수 있다. 외부 장치는 전달받은 키를 통해, 크리덴셜의 정보가 저장된 크리덴셜 데이터베이스로부터 크리덴셜이 필요한, 즉, 쿼리가 실행되는 외부의 데이터베이스에 크리덴셜 정보가 주입되도록 할 수 있다. 즉, 이러한 과정을 통해, 전자 장치는 외부 장치에 ID/PW 등의 크리덴셜이 직접적으로 공개되지 않도록 하면서, 외부 장치를 통해 크리덴셜이 필요한 쿼리 등의 명령을 수행할 수 있다.
제4 영역(505)은, 예를 들어, 작업 흐름 구성 페이지(500)의 우측 하단에 배치될 수 있다. 제4 영역(505)에는 작업 흐름 구성 페이지(500)의 배율에 관계없이, 작업 흐름 구성 페이지(500)에 배치된 모든 노드들의 상대적인 위치가 작게 축소되어 표시될 수 있다.
일 실시예에서, 전자 장치는 작업 흐름 구성 페이지(500)에 배치된 둘 이상의 노드가 동시에 수행될 수 있다고 결정되는 경우, 동시에 수행될 수 있다고 결정된 둘 이상의 노드를 작업 흐름 구성 페이지(500)에 수평하게 배치할 수 있다. 예를 들어, 전자 장치는 실시간으로 둘 이상의 노드가 동시에 수행될 수 있다고 판단되는 경우, 자동으로 둘 이상의 노드를 작업 흐름 구성 페이지(500)에 수평하게 배치하거나, 사용자의 단말로부터 노드의 정렬을 지시하는 입력을 수신한 시점에 둘 이상의 노드를 작업 흐름 구성 페이지(500)에 수평하게 배치할 수 있다. 이를 통해, 사용자는, 작업 흐름 구성 페이지(500) 상에 배치된 여러 노드가 지시하는 명령의 시간적 선후 관계를 직관적으로 인지할 수 있다.
일 실시예에서, 전자 장치는 각각의 노드가 지시하는 명령의 실행 시간을 예측하고, 예측된 시간에 따라 작업 흐름 구성 페이지(500)에 표시되는 해당 노드의 높이를 조절할 수 있다. 예를 들어, 실행 시간이 짧을 것으로 예측되는 명령에 대응하는 노드는 높이가 상대적으로 작게 표시될 수 있고, 실행 시간이 길 것으로 예측되는 명령에 대응하는 노드는 높이가 상대적으로 크게 표시될 수 있다.
도 6은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지(600)를 나타내는 도면이다. 작업 흐름 구성 페이지(600)는 사용자가 하나 이상의 노드 템플릿 중에서 배치할 노드에 대응하는 노드 템플릿을 선택할 수 있도록 구성된 영역(601)을 포함할 수 있다.
예를 들어, 노드 템플릿에 대한 목록은 작업 흐름 구성 페이지(600)의 좌측에 표시될 수 있다. 노드 템플릿은 각각 플랫폼에서 기본적으로 정의된 서비스(예를 들어, 알림, 다른 작업 흐름의 콜백(callback), 재시도(retry), 조건 분기, 반복(iteration) 등과 같이 전자 장치 자체적으로 실행될 수 있는 서비스 및 데이터베이스에 데이터 업로드, 데이터베이스로부터 데이터 다운로드 등과 같이 외부 장치를 통해 실행될 수 있는 서비스를 포함) 및 외부 장치에 의해 등록된 서비스(예를 들어, 데이터를 처리하는 기 학습된 머신러닝 모델의 동작 등)를 포함하는 기 등록된 서비스에 대응될 수 있다.
일 실시예에서, 전자 장치는 하나 이상의 외부 장치로부터, 특정 명령을 지시하도록 정의된 노드 템플릿(즉, 기 등록된 서비스를 지시하는 노드 템플릿)에 대한 정보를 수신하고, 사용자가 선택할 수 있는 하나 이상의 노드 템플릿에 수신된 노드 템플릿을 추가할 수 있다. 예를 들어, 사용자는 영역 601에 표시되는 기 등록된 서비스(CONFIG, IF_ELSE, TRIGGER_WORKFLOW)를 지시하는 노드 템플릿의 아이콘을 드래그 앤 드롭(drag & drop) 하여, 작업 흐름 구성 페이지(600)의 원하는 위치에 가져다 놓음으로써, 기 등록된 서비스를 지시하는 노드를 생성 및 배치할 수 있다. 다른 예로, 사용자는 기 등록된 서비스(CONFIG, IF_ELSE, TRIGGER_WORKFLOW)를 지시하는 노드 템플릿의 아이콘을 클릭한 후, 작업 흐름 구성 페이지(600)의 원하는 위치를 다음에 클릭함으로써, 기 등록된 서비스를 지시하는 노드를 생성 및 배치할 수 있다.
또한, 사용자는 작업 흐름 구성 페이지(600)에 배치된 둘 이상의 노드를 연속적으로 클릭함으로써, 둘 이상의 노드를 연결선으로 연결할 수 있다. 예를 들어, 사용자가 먼저 클릭한 노드가 선행하는 노드, 나중에 클릭한 노드가 후행하는 노드가 되어, 선후 관계를 지시하는 화살표의 연결선이 생성 및 배치될 수 있다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 입력 값 선택 페이지(700)를 나타내는 도면이다.
일 실시예에서, 전자 장치는, 사용자가 하나 이상의 연결선에 따라 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 해당 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지(700)를 단말에 제공할 수 있다. 예를 들어, 전자 장치는 사용자의 단말로부터 작업 흐름 구성 페이지에 배치된 노드를 더블 클릭 하는 등 특정 노드에 대한 특정 입력(더블 클릭으로 한정되지 않을 수 있음)이 수신되면, 입력 값 선택 페이지(700)를 단말에 제공할 수 있다. 입력 값 선택 페이지(700)는 사용자가 특정 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있는 영역(701)을 포함할 수 있다. 예를 들어, 영역 701은 우측에 역삼각형 아이콘을 포함할 수 있다. 전자 장치는 영역 701의 역삼각형 아이콘의 입력을 수신하면, 해당 노드에 대응하는 명령의 입력 값으로 가능한 해당 노드에 선행하는 노드가 지시하는 명령의 출력 값의 목록을 단말에 표시할 수 있다. 해당 노드에 선행하는 노드가 지시하는 명령의 출력 값의 목록은 목록 박스의 형태로 입력 값 선택 페이지(700)에 표시될 수 있다.
또한, 입력 값 선택 페이지(700)에는 선택된 노드에 대응하는 서비스(내지 명령)의 이름, 선택된 노드에 대응하는 쿼리가 참조하는 데이터베이스의 종류, 선택된 노드에 선행하는 노드(Parents)의 목록 및 선택된 노드에 대응하는 쿼리가 표시될 수 있다. 예를 들어, 선택된 노드에 대응하는 쿼리는 JSON(JavaScript Object Notation) 형태로 표시될 수 있다.
도 8은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 실행 결과 페이지(800)를 나타내는 도면이다. 실행 결과 페이지(800)는 좌측에 각각의 작업 흐름 모델의 실행의 성공 여부가 표시되는 영역(801), 가운데에 선택된 작업 흐름 모델의 노드 및 연결선이 배치된 상태가 표시되는 영역(802) 및 선택된 작업 흐름 모델에 대한 상세 정보가 표시되는 영역(803)을 포함할 수 있다.
실행 결과 페이지(800)의 영역 801에는 현재까지 생성되었던 작업 흐름 모델의 실행의 성공 여부가 표시될 수 있다. 구체적으로, 영역 801에 각각의 작업 흐름 모델의 실행에 대응하는 성공 여부가 "SUCCESS", "FAIL", "STOP" 등의 문구로 표시될 수 있고, 각각의 작업 흐름 모델의 실행이 완료된 시각, 실패한 시각 또는 정지된 시각이 함께 표시될 수 있다. 영역 801에 사용자가 각각의 작업 흐름 모델의 실행의 성공 여부를 쉽게 인지할 수 있도록 각각의 상태에 따른 문구의 색상이 다르게 표시될 수 있다(예를 들어, "SUCCESS"는 초록색, "FAIL"은 빨간색, "STOP"은 노랑색).
일 실시예에서, 전자 장치는 하나 이상의 외부 장치로부터, 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부에 대한 정보를 수신하고, 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부를 표시하는 실행 결과 페이지(800)를 단말에 제공할 수 있다. 예를 들어, 실행 결과 페이지(800)는 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부가 표시되는 영역(802)을 포함할 수 있다. 도시되지는 않았지만, 각각의 노드에 대응하는 명령의 성공 여부가 "SUCCESS", "FAIL", "STOP" 등의 문구로 영역 802의 각각의 노드에 표시될 수 있다. 또한, 사용자가 각각의 노드에 대응하는 명령의 성공 여부를 쉽게 인지할 수 있도록 각각의 상태에 따른 노드의 색상이 다르게 표시될 수 있다(예를 들어, 대응하는 명령이 성공적으로 완료된 노드는 초록색, 대응하는 명령이 실패한 노드는 빨간색, 대응하는 명령이 정지된 노드는 노랑색).
일 실시예에서, 전자 장치는 하나 이상의 외부 장치로부터, 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간에 대한 정보를 수신하고, 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간을 표시하는 실행 결과 페이지(800)를 단말에 제공할 수 있다. 도시되지는 않았지만, 각각의 노드에 대응하는 명령의 실행에 소요된 시간이 영역 802의 각각의 노드에 표시될 수 있다.
다른 일 실시예에서, 전자 장치는 하나 이상의 외부 장치로부터, 하나 이상의 노드가 지시하는 명령의 실행이 시작된 시각 및 완료된 시각에 대한 정보를 수신할 수 있고, 수신한 정보를 표시하는 실행 결과 페이지(800)를 단말에 제공할 수 있다. 이 경우, 도시되지는 않았지만, 각각의 노드에 대응하는 명령의 실행이 시작된 시각 및 완료된 시각이 영역 802의 각각의 노드에 표시될 수 있다.
일 실시예에서, 전자 장치는 작업 흐름 모델의 실행에 소요된 시간을 결정하고, 작업 흐름 모델의 실행에 소요된 시간을 표시하는 실행 결과 페이지(800)를 단말에 제공할 수 있다. 전자 장치는 작업 흐름 모델의 각각의 노드에 대응하는 명령의 실행이 시작한 시각 및 종료된 시각에 대한 정보를 하나 이상의 외부 장치로부터 전달받을 수 있다. 즉, 전자 장치는 작업 흐름 모델의 첫 번째로 실행되는 노드에 대응하는 명령의 시작 시각 및 마지막으로 실행되는 노드에 대응하는 명령의 종료 시각에 기초하여, 작업 흐름 모델의 실행에 소요된 총 시간을 결정할 수 있다. 예를 들어, 실행 결과 페이지(800)의 영역 803에 해당 작업 흐름 모델의 실행에 소요된 시간이 "Processing Time", "10 mins 11 secs"라는 문구와 같이 표시될 수 있다. 또한, 영역 803에는 해당 작업 흐름 모델의 ID, 버전, 상태, 이름, 재시도 설정 여부, 재시도 최대 횟수, 생성자, 생성된 시각, 실행이 시작된 시각 및 실행이 종료된 시각 중 적어도 하나가 더 표시될 수 있다.
도 9는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 구성 페이지(900)를 나타내는 도면이다. 작업 흐름 구성 페이지(900)는 해당 작업 흐름 모델의 상세 정보를 나타내는 영역(901)을 포함할 수 있다. 일 실시예에서, 작업 흐름 구성 페이지(900)의 영역 901은 해당 작업 흐름 모델의 실행이 실패할 시 알림 설정을 지시하는 아이콘(902)이 표시될 수 있다. 전자 장치는 해당 작업 흐름 모델의 실행이 실패할 시 알림 설정을 지시하는 아이콘(902)의 입력을 수신하면, 알림을 설정할 수 있는 알림 설정 페이지를 단말에 제공할 수 있다. 알림 설정 페이지에 대해서는 후술되는 도 10을 통해 구체적으로 설명한다. 예를 들어, 작업 흐름 모델의 실행이 실패할 시 알림 설정을 지시하는 아이콘(902)은 "ADD DEFAULT ALERT"의 문구를 포함할 수 있다. 또한, 영역 901에는 해당 작업 흐름 모델에 대응하는 디렉토리(directory), 이름, 설명, 태그, 재시도 설정 여부 및 재시도 최대 횟수 중 적어도 하나가 더 표시될 수 있다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 알림 설정 페이지(1000)를 나타내는 도면이다.
일 실시예에서, 전자 장치는 사용자가 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지(1000)를 단말에 제공하고, 단말로부터, 사용자가 설정한, 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정에 대한 정보를 수신하고, 특정 조건이 만족되면 계정에 알림을 제공할 수 있다. 알림 설정 페이지(1000)는 노드가 지시하는 명령에 관련된 특정 조건을 설정할 수 있는 영역(1001) 및 알림을 제공받을 계정에 대한 정보를 입력할 수 있는 영역(1002)를 포함할 수 있다. 예를 들어, 노드가 지시하는 명령에 관련된 특정 조건은 해당 노드가 지시하는 명령의 완료(SUCCESS), 실패(FAIL), 정지(STOP) 또는 일시 정지(PAUSE)를 포함할 수 있다. 예를 들어, 영역 1001의 우측 역삼각형 아이콘이 입력되면, 설정할 수 있는 특정 조건의 목록이 단말에 표시될 수 있다. 또한, 영역 1002의 우측 역삼각형 아이콘이 입력되면, 알림을 제공받을 수 있는 계정의 목록이 단말에 표시될 수 있다. 알림을 제공받을 수 있는 계정은 해당 노드 또는 해당 작업 흐름 모델에 관하여 접근 권한을 가지고 있는 계정 또는 알림을 제공받을 수 있는 계정으로 미리 등록된 계정을 포함할 수 있다. 다른 예로, 영역 1001 및 1002는 타이핑(typing)을 통해 각각 특정 조건 및 알림을 제공받을 계정에 대한 정보를 입력받을 수도 있다.
일 실시예에서, 전자 장치는 사용자가 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지(1000)를 단말에 제공하고, 단말로부터, 사용자가 설정한, 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정에 대한 정보를 수신하고, 특정 조건이 만족되면 계정에 알림을 제공할 수 있다. 알림 설정 페이지(1000)는 작업 흐름 모델에 관련된 특정 조건을 설정할 수 있는 영역(1001) 및 알림을 제공받을 계정에 대한 정보를 입력할 수 있는 영역(1002)를 포함할 수 있다. 예를 들어, 작업 흐름 모델에 관련된 특정 조건은 작업 흐름 모델의 실행의 완료(SUCCESS), 실패(FAIL), 정지(STOP) 또는 일시 정지(PAUSE)를 포함할 수 있다. 예를 들어, 영역 1001의 우측 역삼각형 아이콘이 입력되면, 설정할 수 있는 특정 조건의 목록이 단말에 표시될 수 있다. 또한, 영역 1002의 우측 역삼각형 아이콘이 입력되면, 알림을 제공받을 수 있는 계정의 목록이 단말에 표시될 수 있다. 알림을 제공받을 수 있는 계정은 해당 작업 흐름 모델에 관하여 접근 권한을 가지고 있는 계정 또는 알림을 제공받을 수 있는 계정으로 미리 등록된 계정을 포함할 수 있다. 다른 예로, 영역 1001 및 1002는 타이핑을 통해 각각 특정 조건 및 알림을 제공받을 계정에 대한 정보를 입력받을 수도 있다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 실행 스케줄 설정 페이지(1100)를 나타내는 도면이다. 일 실시예에서, 전자 장치는 사용자가 작업 흐름 모델에 관한 실행 스케줄을 설정할 수 있는 실행 스케줄 설정 페이지(1100)를 단말에 제공하고, 단말로부터, 사용자가 설정한, 작업 흐름 모델에 관한 실행 스케줄에 대한 정보를 수신하고, 실행 스케줄에 기초하여, 하나 이상의 외부 장치를 통해, 작업 흐름 모델을 실행할 수 있다.
실행 스케줄 설정 페이지(1100)는 일(day), 시간(hour), 분(minutes) 등의 카테고리에 따른 단위로 실행 스케줄을 설정할 수 있는 영역을 포함할 수 있다. 예를 들어, 일(day)의 단위가 선택된 경우, 실행 스케줄 설정 페이지(1100)는 체크 박스의 형태로, 매일, 매주 특정 요일로부터 N일(N은 1 이상 7 이하의 정수), 매월 특정 날짜로부터 N일, 매주 특정 요일(복수 선택 가능), 매주 선택된 두 개의 특정 요일 사이, 매월 선택된 날짜(복수 선택 가능) 등의 옵션을 입력받을 수 있는 영역을 포함할 수 있다. 일(day)의 카테고리가 선택된 경우가 예시되었지만, 시간(hour), 분(minutes) 등의 카테고리가 선택된 경우에도 사용자가 선택할 수 있는 유사한 옵션이 실행 스케줄 설정 페이지(1100)에 제공될 수 있다.
또한, 전자 장치는 실행 스케줄 설정 페이지(1100)를 통해 입력된 실행 스케줄을 크론 표현(Cron Expression)으로 변환할 수 있다. 실행 스케줄 설정 페이지(1100)에 실행 스케줄에 대응하는 크론 변환이 표시될 수 있다. 비개발자는 크론 표현을 모르더라도, 전자 장치에 의해 제공되는 실행 스케줄 설정 페이지(1100)를 통해, 작업 흐름에 대한 실행 스케줄을 설정할 수 있다.
도 12는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 출력 검증 설정 페이지(1200)를 나타내는 도면이다. 일 실시예에서, 전자 장치는 사용자가 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건 및 특정 조건에 대응하는 적어도 일부의 노드에 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙을 설정하는 출력 검증 설정 페이지(1200)를 단말에 제공할 수 있다. 전자 장치는 단말로부터, 사용자가 설정한, 제1 명령의 출력 값에 대한 특정 조건 및 제2 명령에 대한 실행 규칙에 대한 정보를 수신하고, 하나 이상의 외부 장치를 통해, 제1 명령을 실행하고, 제1 명령의 출력 값이 특정 조건을 만족하는지 여부를 평가하고, 제1 명령의 출력 값이 특정 조건을 만족하는 경우, 제2 명령에 대한 실행 규칙에 기초하여, 하나 이상의 외부 장치를 통해, 제2 명령을 실행할 수 있다.
출력 검증 설정 페이지(1200)는 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건을 설정할 수 있는 영역(1202) 및 특정 조건에 대응하는 적어도 일부의 노드에 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙을 설정할 수 있는 영역(1201)을 포함할 수 있다.
후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙은 실패(FAIL) 처리 또는 무시(IGNORE) 처리를 포함할 수 있다. 예를 들어, 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙으로서 실패 처리가 선택되고, 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건이 만족된 경우, 적어도 일부의 노드의 후행하는 모든 노드가 지시하는 제2 명령은 실패한 것으로 처리되어 실행되지 않을 수 있다. 이 경우, 해당 작업 흐름 모델 또한 실패한 것으로 처리될 수 있다. 다른 예로, 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙으로서 무시 처리가 선택되고, 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건이 만족된 경우, 적어도 일부의 노드의 후행하는 모든 노드가 지시하는 제2 명령은 무시되는 것으로 처리되어 실행되지 않을 수 있다. 다만, 이 경우, 해당 작업 흐름 모델은 성공적으로 완료된 것으로 처리될 수 있다.
영역 1201은 "Action After Validation"이라는 문구와 함께, "FAIL" 또는 "IGNORE"가 선택될 수 있는 영역을 포함할 수 있다. 영역 1201의 우측의 역삼각형 아이콘이 입력되면 "FAIL" 또는 "IGNORE"를 포함하는 목록이 단말에 출력될 수 있다.
제1 명령의 출력 값에 대한 특정 조건은, 예를 들어, 출력 값이 특정 기간 내에 업데이트된 파일(또는 데이터)인 조건을 포함할 수 있다. 이 경우, 해당 노드에 대응하는 명령이 수행된 결과에 따라 출력되는 파일(또는 데이터)이 업데이트 되지 않았을 경우, 해당 노드에 후행하는 노드에 대응하는 명령(즉, 제2 명령)은 이전에 수행되었던 명령과 동일할 수 있기 때문에, 중복적으로 수행되지 않을 수 있다. 따라서, 이러한 방식으로 출력 값에 대한 조건을 설정함으로써, 불필요한 연산을 방지하고, 메모리 사용 및 데이터 처리량의 감소를 도모할 수 있다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가 제공하는 작업 흐름 관리 페이지(1300)를 나타내는 도면이다. 일 실시예에서, 전자 장치는 생성된 작업 흐름 모델에 대한 정보를 메모리에 저장하고, 생성된 작업 흐름 모델을 그룹으로 관리할 수 있는 작업 흐름 관리 페이지(1300)를 단말에 제공할 수 있다.
작업 흐름 관리 페이지(1300)는 하나 이상의 그룹(내지 폴더)이 표시되는 영역(1301)을 포함할 수 있다. 각각의 그룹이 선택되면 선택된 그룹에 대응되는 작업 흐름 모델의 목록이 단말에 표시될 수 있다. 각각의 그룹에 따라 성질이 유사한 작업 흐름 모델이 분류될 수 있다. 또한, 그룹에 접근 권한이 있는 계정 및/또는 그룹의 관리자 계정이 각각 설정되어 있을 수 있다. 그룹의 관리자 계정은 해당 그룹에 포함되는 작업 흐름 모델의 전체 또는 일부에 대한 다른 계정의 접근 권한을 관리할 수 있다.
각각의 그룹에 대하여, 그룹에 포함되는 작업 흐름 모델에서 사용될 수 있는 크리덴셜이 정의되어 있을 수 있다. 각각의 그룹의 크리덴셜에 대해서는 그룹의 관리자만이 접근할 수 있다. 또한, 각각의 그룹에 접근하기 위한 패스워드가 설정되어 있을 수도 있다.
도 14는 본 개시의 일 실시예에 따른 전자 장치가 제공하는 대시보드 페이지(1400)를 나타내는 도면이다. 일 실시예에서, 전자 장치는 실행 예정인 작업 흐름 모델, 실행 중인 작업 흐름 모델, 실패한 작업 흐름 모델, 중지된 작업 흐름 모델, 일시 정지된 작업 흐름 모델 및 성공한 작업 흐름 모델 중 적어도 하나에 대한 정보가 표시되는 대시보드 페이지(1400)를 단말에 제공할 수 있다.
대시보드 페이지(1400)는 기간을 설정할 수 있는 영역(1401), 자동 새로 고침을 설정하거나 수동 새로 고침을 명령할 수 있는 영역(1402), 작업 흐름 모델의 실행 현황을 나타내는 영역(1403) 및 실행된 작업 흐름 모델의 구체적인 정보를 나타내는 영역(1404)을 포함할 수 있다. 영역 1401을 통해 특정 기간이 설정되면, 영역 1403 및 1404에는 해당 기간에 대응하는 작업 흐름 모델의 실행에 관한 정보가 표시될 수 있다. 영역 1403에는 실행 예정(READY)인 작업 흐름 모델, 실행 중(RUNNING)인 작업 흐름 모델, 실패(FAIL)한 작업 흐름 모델, 중지(STOP)된 작업 흐름 모델, 일시 정지(PAUSED)된 작업 흐름 모델 및 성공(SUCCESS)한 작업 흐름 모델 중 적어도 하나에 대한 정보가 표시될 수 있다. 영역 1404에는 위에서부터 최신 순서로 실행된 작업 흐름 모델에 관한 구체적인 정보가 표시될 수 있다. 예를 들어, 영역 1404에는 각각의 작업 흐름 모델의 실행에 관한 상태(Status), 이름(Name), 시작 시각(Start), 종료 시각(End) 및 생성 시각(Created)의 정보가 표시될 수 있다.
도 15는 본 개시의 일 실시예에 따른 방법을 나타낸 동작흐름도이다.
전자 장치의 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 방법(1500)은 사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하는 동작(S1510), 단말로부터, 영역에 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하는 동작(S1520), 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하는 동작(S1530) 및 하나 이상의 외부 장치를 통해, 생성된 작업 흐름 모델을 실행하는 동작(S1540)을 포함할 수 있다.
일 실시예에서, 동작 S1510은 하나 이상의 외부 장치로부터, 특정 명령을 지시하도록 정의된 노드 템플릿에 대한 정보를 수신하는 동작 및 사용자가 선택할 수 있는 하나 이상의 노드 템플릿에 수신된 노드 템플릿을 추가하는 동작을 포함할 수 있다.
일 실시예에서, 동작 S1540은 하나 이상의 외부 장치를 통해, 하나 이상의 연결선에 따른 선후 관계를 고려하여, 복수의 노드 중 선행하는 노드가 지시하는 명령의 실행이 완료된 후에 후행하는 노드가 지시하는 명령을 실행하는 동작을 포함할 수 있다.
일 실시예에서, 동작 S1540은 복수의 노드 중에서, 하나 이상의 연결선에 따른 선후 관계에 기초하여, 동시에 수행될 수 있는 적어도 일부의 노드를 결정하는 동작 및 복수의 외부 장치를 통해, 동시에 수행될 수 있다고 결정된 적어도 일부의 노드의 각각이 지시하는 명령을 병렬적으로 실행하는 동작을 포함할 수 있다.
일 실시예에서, 동작 S1540은 하나 이상의 노드가 제1 저장소에 대한 쿼리를 지시하는 노드를 포함하는 경우, 하나 이상의 외부 장치를 통해 쿼리를 실행하는 동작 및 실행된 쿼리의 결과를 제2 저장소에 저장하는 동작을 포함할 수 있다. 이 때, 동작 S1530은 실행된 쿼리의 결과가 저장된 제2 저장소의 주소를 지시하는 정보를 단말에 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 동작 S1540은 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령을 실행하는 과정에서 크리덴셜이 필요한 경우, 외부 장치에 크리덴셜에 대응하는 키를 전달하는 동작 및 적어도 일부의 노드가 지시하는 명령이 완료되면, 키를 폐기하는 동작을 포함할 수 있다.
일 실시예에서, 방법(1500)은 사용자가, 하나 이상의 연결선에 따라 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지를 단말에 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 하나 이상의 외부 장치에, 작업 흐름 모델에 포함되는 하나 이상의 노드가 지시하는 명령을 전달하는 동작, 하나 이상의 외부 장치로부터, 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부에 대한 정보를 수신하는 동작 및 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부를 표시하는 실행 결과 페이지를 단말에 제공하는 동작을 더 포함할 수 있다. 일 실시예에서, 방법(1500)은 하나 이상의 외부 장치로부터, 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간에 대한 정보를 수신하는 동작 및 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 단말에 제공하는 동작을 더 포함할 수 있다. 일 실시예에서, 방법(1500)은 작업 흐름 모델의 실행에 소요된 시간을 결정하는 동작 및 작업 흐름 모델의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 단말에 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 사용자가 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 단말에 제공하는 동작, 단말로부터, 사용자가 설정한, 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정에 대한 정보를 수신하는 동작 및 특정 조건이 만족되면 계정에 알림을 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 사용자가 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 단말에 제공하는 동작, 단말로부터, 사용자가 설정한, 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 알림을 제공받을 계정에 대한 정보를 수신하는 동작 및 특정 조건이 만족되면 계정에 알림을 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 사용자가 작업 흐름 모델에 관한 실행 스케줄을 설정할 수 있는 실행 스케줄 설정 페이지를 단말에 제공하는 동작 및 단말로부터, 사용자가 설정한, 작업 흐름 모델에 관한 실행 스케줄에 대한 정보를 수신하는 동작을 더 포함할 수 있다. 이 때, 동작 S1530은 실행 스케줄에 기초하여, 하나 이상의 외부 장치를 통해, 작업 흐름 모델을 실행하는 동작을 포함할 수 있다.
일 실시예에서, 방법(1500)은 사용자가 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건 및 특정 조건에 대응하는 적어도 일부의 노드에 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙을 설정하는 출력 검증 설정 페이지를 단말에 제공하는 동작, 단말로부터, 사용자가 설정한, 제1 명령의 출력 값에 대한 특정 조건 및 제2 명령에 대한 실행 규칙에 대한 정보를 수신하는 동작을 더 포함할 수 있다. 이 때, 동작 S1530은 하나 이상의 외부 장치를 통해, 제1 명령을 실행하는 동작, 제1 명령의 출력 값이 특정 조건을 만족하는지 여부를 평가하는 동작 및 제1 명령의 출력 값이 특정 조건을 만족하는 경우, 제2 명령에 대한 실행 규칙에 기초하여, 하나 이상의 외부 장치를 통해, 제2 명령을 실행하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 생성된 작업 흐름 모델을 그룹으로 관리할 수 있는 작업 흐름 관리 페이지를 단말에 제공하는 동작을 더 포함할 수 있다.
일 실시예에서, 방법(1500)은 실행 예정인 작업 흐름 모델, 실행 중인 작업 흐름 모델, 실패한 작업 흐름 모델, 중지된 작업 흐름 모델, 일시 정지된 작업 흐름 모델 및 성공한 작업 흐름 모델 중 적어도 하나에 대한 정보가 표시되는 대시보드 페이지를 단말에 제공하는 동작을 더 포함할 수 있다.
본 개시에 따른 흐름도에서, 방법 또는 알고리즘의 각 단계들은 순차적인 순서로 설명되었지만, 각 단계들은 순차적으로 수행되는 것 외에, 임의로 조합될 수 있는 순서에 따라 수행될 수도 있다. 본 개시의 순서도 또는 흐름도에 관한 설명은, 방법 또는 알고리즘에 변화 또는 수정을 가하는 것을 제외하지 않으며, 임의의 단계가 필수적이거나 바람직하다는 것을 의미하지 않는다. 일 실시예에서, 적어도 일부의 단계가 병렬적, 반복적 또는 휴리스틱하게 수행될 수 있다. 다른 일 실시예에서, 적어도 일부의 단계가 생략되거나, 다른 단계가 추가될 수 있다.
본 개시에 따른 다양한 실시예들은 기기(Machine)가 읽을 수 있는 저장매체(Machine-Readable Storage Medium)에 소프트웨어로 구현될 수 있다. 소프트웨어는 본 개시에 기재된 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시에 기재된 다양한 실시예들로부터 추론될 수 있다. 예를 들어 소프트웨어는 기기가 읽을 수 있는 명령(예를 들어, 인스트럭션, 코드 또는 코드 세그먼트)을 포함하는 프로그램일 수 있다. 기기는 저장 매체로부터 호출된 명령에 따라 동작이 가능한 장치로서, 예를 들어 컴퓨터일 수 있다. 일 실시예에서, 기기는 본 개시에 기재된 다양한 실시예들에 따른 컴퓨팅 장치일 수 있다. 일 실시예에서, 기기의 프로세서는 호출된 명령을 실행하여, 기기의 구성요소들이 이 명령에 대응하는 기능을 수행하게 할 수 있다. 저장 매체는 기기에 의해 읽혀질 수 있는, 데이터가 저장되는 모든 종류의 기록 매체(Recording Medium)를 의미할 수 있다. 저장 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등을 포함할 수 있다. 일 실시예에서, 저장매체는 네트워크로 연결된 컴퓨터 시스템 등에 분산된 형태로서 구현될 수 있다. 이때, 소프트웨어는 컴퓨터 시스템 등에 분산되어 저장되고, 실행될 수 있다. 다른 일 실시예에서, 저장 매체는 비일시적(non-transitory) 저장매체일 수 있다. 비일시적 저장매체는, 데이터가 반영구적 또는 임시적으로 저장되는 것과 무관하게 실재하는 매체(Tangible Medium)를 의미하며, 일시적(transitory)으로 전파되는 신호(Signal)를 포함하지 않는다.
이상 다양한 실시예들에 의해 본 개시에 따른 기술적 사상이 설명되었지만, 본 개시에 따른 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다.

Claims (20)

  1. 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치에 있어서,
    단말 및 하나 이상의 외부 장치와 통신하는 통신 회로;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령어들이 저장된 하나 이상의 메모리를 포함하고,
    상기 하나 이상의 프로세서에 의해 상기 명령어들이 실행될 시, 상기 하나 이상의 프로세서는,
    사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 상기 단말에 제공하고,
    상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하고,
    상기 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하고,
    상기 하나 이상의 외부 장치를 통해, 상기 생성된 작업 흐름 모델을 실행하는, 전자 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 노드는, 복수의 노드를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 외부 장치를 통해, 상기 하나 이상의 연결선에 따른 선후 관계를 고려하여, 상기 복수의 노드 중 선행하는 노드가 지시하는 명령의 실행이 완료된 후에 후행하는 노드가 지시하는 명령을 실행하는, 전자 장치.
  3. 제1항에 있어서,
    상기 하나 이상의 노드는, 복수의 노드를 포함하고,
    상기 하나 이상의 외부 장치는, 복수의 외부 장치를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 복수의 노드 중에서, 상기 하나 이상의 연결선에 따른 선후 관계에 기초하여, 동시에 수행될 수 있는 적어도 일부의 노드를 결정하고,
    상기 복수의 외부 장치를 통해, 상기 동시에 수행될 수 있다고 결정된 적어도 일부의 노드의 각각이 지시하는 명령을 병렬적으로 실행하는, 전자 장치.
  4. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 사용자가, 상기 하나 이상의 연결선에 따라 상기 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 상기 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지를 상기 단말에 제공하는, 전자 장치.
  5. 제1항에 있어서,
    상기 하나 이상의 노드는, 제1 저장소에 대한 쿼리를 지시하는 노드를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 외부 장치를 통해, 상기 쿼리를 실행하고,
    상기 실행된 쿼리의 결과를 제2 저장소에 저장하는, 전자 장치.
  6. 제5항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 실행된 쿼리의 결과가 저장된 상기 제2 저장소의 주소를 지시하는 정보를 상기 단말에 제공하는, 전자 장치.
  7. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 외부 장치에, 상기 작업 흐름 모델에 포함되는 상기 하나 이상의 노드가 지시하는 명령을 전달하고,
    상기 하나 이상의 외부 장치로부터, 상기 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부에 대한 정보를 수신하고,
    상기 하나 이상의 노드가 지시하는 명령의 실행이 성공했는지 여부를 표시하는 실행 결과 페이지를 상기 단말에 제공하는, 전자 장치.
  8. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 외부 장치에, 상기 작업 흐름 모델에 포함되는 상기 하나 이상의 노드가 지시하는 명령을 전달하고,
    상기 하나 이상의 외부 장치로부터, 상기 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간에 대한 정보를 수신하고,
    상기 하나 이상의 노드가 지시하는 명령의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 상기 단말에 제공하는, 전자 장치.
  9. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 작업 흐름 모델의 실행에 소요된 시간을 결정하고,
    상기 작업 흐름 모델의 실행에 소요된 시간을 표시하는 실행 결과 페이지를 상기 단말에 제공하는, 전자 장치.
  10. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 사용자가 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 상기 단말에 제공하고,
    상기 단말로부터, 상기 사용자가 설정한, 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정에 대한 정보를 수신하고,
    상기 특정 조건이 만족되면 상기 계정에 알림을 제공하는, 전자 장치.
  11. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 사용자가 상기 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정을 설정할 수 있는 알림 설정 페이지를 상기 단말에 제공하고,
    상기 단말로부터, 상기 사용자가 설정한, 상기 작업 흐름 모델에 관련된 특정 조건에 대응하는 알림 및 상기 알림을 제공받을 계정에 대한 정보를 수신하고,
    상기 특정 조건이 만족되면 상기 계정에 알림을 제공하는, 전자 장치.
  12. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 사용자가 상기 작업 흐름 모델에 관한 실행 스케줄을 설정할 수 있는 실행 스케줄 설정 페이지를 상기 단말에 제공하고,
    상기 단말로부터, 상기 사용자가 설정한, 상기 작업 흐름 모델에 관한 실행 스케줄에 대한 정보를 수신하고,
    상기 실행 스케줄에 기초하여, 상기 하나 이상의 외부 장치를 통해, 상기 작업 흐름 모델을 실행하는, 전자 장치.
  13. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 사용자가 상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 제1 명령의 출력 값에 대한 특정 조건 및 상기 특정 조건에 대응하는 상기 적어도 일부의 노드에 후행하는 노드가 지시하는 제2 명령에 대한 실행 규칙을 설정하는 출력 검증 설정 페이지를 상기 단말에 제공하고,
    상기 단말로부터, 상기 사용자가 설정한, 상기 제1 명령의 출력 값에 대한 특정 조건 및 상기 제2 명령에 대한 실행 규칙에 대한 정보를 수신하고,
    상기 하나 이상의 외부 장치를 통해, 상기 제1 명령을 실행하고,
    상기 제1 명령의 출력 값이 상기 특정 조건을 만족하는지 여부를 평가하고,
    상기 제1 명령의 출력 값이 상기 특정 조건을 만족하는 경우, 상기 제2 명령에 대한 실행 규칙에 기초하여, 상기 하나 이상의 외부 장치를 통해, 상기 제2 명령을 실행하는, 전자 장치.
  14. 제1항에 있어서,
    상기 작업 흐름 구성 페이지는, 상기 사용자가 하나 이상의 노드 템플릿 중에서 상기 영역에 배치할 노드에 대응하는 노드 템플릿을 선택할 수 있도록 구성되고,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 외부 장치로부터, 특정 명령을 지시하도록 정의된 노드 템플릿에 대한 정보를 수신하고,
    상기 사용자가 선택할 수 있는 상기 하나 이상의 노드 템플릿에 상기 수신된 노드 템플릿을 추가하는, 전자 장치.
  15. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 생성된 작업 흐름 모델에 대한 정보를 상기 메모리에 저장하고,
    상기 생성된 작업 흐름 모델을 그룹으로 관리할 수 있는 작업 흐름 관리 페이지를 상기 단말에 제공하는, 전자 장치.
  16. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 노드 중 적어도 일부의 노드가 지시하는 명령을 실행하는 과정에서 크리덴셜이 필요한 경우, 상기 외부 장치에 상기 크리덴셜에 대응하는 키를 전달하고,
    상기 적어도 일부의 노드가 지시하는 명령이 완료되면, 상기 키를 폐기하는, 전자 장치.
  17. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    실행 예정인 작업 흐름 모델, 실행 중인 작업 흐름 모델, 실패한 작업 흐름 모델, 중지된 작업 흐름 모델, 일시 정지된 작업 흐름 모델 및 성공한 작업 흐름 모델 중 적어도 하나에 대한 정보가 표시되는 대시보드 페이지를 상기 단말에 제공하는, 전자 장치.
  18. 전자 장치의 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 방법에 있어서,
    사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하는 동작;
    상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하는 동작; 및
    상기 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하는 동작; 및
    하나 이상의 외부 장치를 통해, 상기 생성된 작업 흐름 모델을 실행하는 동작을 포함하는, 방법.
  19. 제18항에 있어서,
    상기 사용자가, 상기 하나 이상의 연결선에 따라 상기 하나 이상의 노드 중 적어도 일부의 노드에 선행하는 노드가 지시하는 명령의 출력 값을 참조하여, 상기 적어도 일부의 노드가 지시하는 명령에 대한 입력 값을 선택할 수 있도록 하는 입력 값 선택 페이지를 상기 단말에 제공하는 동작을 더 포함하는, 방법.
  20. 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 프로그램은 하나 이상의 프로세서에 의해 실행 가능한 명령어들을 포함하고, 상기 명령어들은 상기 하나 이상의 프로세서에 의한 실행 시에, 상기 하나 이상의 프로세서가,
    사용자가 작업 흐름에 관한 특정 명령을 지시하는 하나 이상의 노드 및 상기 하나 이상의 노드 간의 선후 관계를 지시하는 하나 이상의 연결선을 배치할 수 있는 영역을 포함하는 작업 흐름 구성 페이지를 단말에 제공하는 동작;
    상기 단말로부터, 상기 영역에 상기 사용자가 배치한 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보를 수신하는 동작;
    상기 수신된 하나 이상의 노드 및 하나 이상의 연결선에 대한 정보에 기초하여 작업 흐름 모델을 생성하는 동작; 및
    하나 이상의 외부 장치를 통해, 상기 생성된 작업 흐름 모델을 실행하는 동작을 수행하도록 하는, 컴퓨터 판독 가능 기록 매체.
PCT/KR2022/016027 2022-10-13 2022-10-20 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체 WO2024080425A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220131339A KR102615011B1 (ko) 2022-10-13 2022-10-13 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
KR10-2022-0131339 2022-10-13

Publications (1)

Publication Number Publication Date
WO2024080425A1 true WO2024080425A1 (ko) 2024-04-18

Family

ID=89385341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/016027 WO2024080425A1 (ko) 2022-10-13 2022-10-20 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체

Country Status (2)

Country Link
KR (2) KR102615011B1 (ko)
WO (1) WO2024080425A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045802A (ko) * 2018-10-23 2020-05-06 아이보우소프트 주식회사 조선산업용 plm 프로세스 관리를 위한 워크플로우 모델러
KR20200060704A (ko) * 2017-06-30 2020-06-01 클리어 데스티네이션 인크. 용량 활용도를 최적화하기 위해 다수의 공급망 및 배송 네트워크를 노출 및 통합하는 시스템 및 방법
KR102199668B1 (ko) * 2019-12-03 2021-01-07 아이씨티웨이주식회사 공간정보 처리용 워크플로우를 자동으로 생성하는 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체
KR20210157303A (ko) * 2020-06-19 2021-12-28 (주)브릭 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치
KR20220084792A (ko) * 2020-12-14 2022-06-21 주식회사 파워테스크 워크플로우 생성을 위한 서비스 플랫폼 시스템 및 워크플로우 생성 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200060704A (ko) * 2017-06-30 2020-06-01 클리어 데스티네이션 인크. 용량 활용도를 최적화하기 위해 다수의 공급망 및 배송 네트워크를 노출 및 통합하는 시스템 및 방법
KR20200045802A (ko) * 2018-10-23 2020-05-06 아이보우소프트 주식회사 조선산업용 plm 프로세스 관리를 위한 워크플로우 모델러
KR102199668B1 (ko) * 2019-12-03 2021-01-07 아이씨티웨이주식회사 공간정보 처리용 워크플로우를 자동으로 생성하는 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체
KR20210157303A (ko) * 2020-06-19 2021-12-28 (주)브릭 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치
KR20220084792A (ko) * 2020-12-14 2022-06-21 주식회사 파워테스크 워크플로우 생성을 위한 서비스 플랫폼 시스템 및 워크플로우 생성 방법

Also Published As

Publication number Publication date
KR102615011B1 (ko) 2023-12-19
KR20240051881A (ko) 2024-04-22

Similar Documents

Publication Publication Date Title
US10965531B2 (en) Service offering wish list ordering interface and conflict scheduling calendar system
US11720838B2 (en) Systems and method for a project management portal
WO2014065444A1 (ko) 개방형 공중망을 이용한 협업 시스템
WO2020000632A1 (zh) 发票开具方法、装置、设备及计算机可读存储介质
US9361432B2 (en) Configuring a security setting for a set of devices using a security policy
US11700255B2 (en) Feedback framework
CN113434158B (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
US11934802B2 (en) System and method for workflow application programming interfaces (APIS)
CN112036825A (zh) 一种基于工单的自动化运维管理系统
US11599353B2 (en) Hosting event-based applications
CN105787300B (zh) 一种控制软件使用的方法及系统
US10929279B2 (en) Systems and method for automated testing framework for service portal catalog
JP2019046052A (ja) コントロールシステム、開発支援装置、及びコントロール方法
WO2024080425A1 (ko) 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
WO2022085830A1 (ko) 단말 개통 관련 정보 제공 방법 및 이의 전자 장치
JP6865042B2 (ja) ナレッジ管理装置、ナレッジ管理方法およびコンピュータプログラム
JP7025298B2 (ja) 環境構築支援システムおよび環境構築支援方法
JP6705979B2 (ja) 機器設定装置、機器設定方法、及びプログラム
CN110083589B (zh) 一种面向航电系统的能力仓库
US20230418582A1 (en) Information Technology Management System
WO2023085738A1 (ko) Ai 모델 서빙 시스템 및 방법
US11233747B2 (en) Systems and methods for acquiring server resources at schedule time
CN113449496B (zh) 一种自动生成维修单据的方法和装置
JP2017220863A (ja) 機器設定装置、機器設定方法、及びプログラム
WO2022231248A1 (ko) 전자 인수증의 생성 및 관리 방법