Application service-providing device, application service-providing method, and storage medium storing computer-executable program for providing application service

The platform service addresses format and compatibility issues by providing isolated workspaces for clients, enabling efficient and uninterrupted transactions across diverse formats and systems, even when using incompatible software, with user-friendly mapping and development tools.

WO2025220853A1PCT designated stage Publication Date: 2025-10-23INSPIEN
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/001187
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-16
Filing Date
2025-01-22
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing software systems face challenges in handling diverse transaction formats and requirements, making it difficult for newcomers to adapt to complex transaction patterns, and they struggle with compatibility issues between incompatible software systems, leading to inefficiencies and interruptions.

Method used

A platform service that provides isolated workspaces for clients, enabling conversion of application packages through distributed package replication and channel communication, supporting non-stop scale-out and flexible responses to user and data increases, with features like virtual server sockets, API management, and EDI document processing.

Benefits of technology

Facilitates efficient and uninterrupted transactions across diverse formats, supports complex transaction requirements, and ensures compatibility between incompatible systems, allowing easy mapping and development even for users unfamiliar with scripts, with a user-friendly interface.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025001187_23102025_PF_FP_ABST
    Figure KR2025001187_23102025_PF_FP_ABST
Patent Text Reader

Abstract

One embodiment of the present invention provides an application service-providing method comprising the steps of: in a computing system that manages a platform providing a client with isolated workspaces in which an application package is executed, receiving, from the client, a channel request to transmit and receive information; and providing a platform service for the client to convert the application package in the workspaces.
Need to check novelty before this filing date? Find Prior Art

Description

Application service providing device, application service providing method, and storage medium storing a program executable by a computer providing application service

[0001] The following disclosure relates to an application service providing device, an application service providing method, and a storage medium storing a computer-executable program providing an application service.

[0002]

[0003] In transactions between companies or between companies and individuals, information related to the transaction or documents containing that information are exchanged.

[0004] However, the exchange of documents, the format or specifications of the information to be included in the documents, may vary from company to company, and various types of transactions may require different formats of documents, internal request contents, or methods of description, so various software programs have been developed.

[0005] Such software can help businesses enter and exchange information necessary for transactions in standardized formats, such as electronic document exchange (EDO). As this EDO becomes more widespread, standardized methods will be established, converting these documents into standardized electronic documents and exchanging, storing, and processing them on the computers of the parties involved in the transaction will save time and effort.

[0006] However, the software that generates these standardized electronic documents often has the inconvenience of having to be individually changed depending on the parties to the transaction, the nature of the transaction, and the format and content of the transaction.

[0007] For newcomers to the market, it can be difficult to prepare standardized forms and formats required by existing transaction parties. The market's complex transaction patterns and requirements often make it difficult to understand or follow these standardized transaction formats, making it difficult to facilitate transactions.

[0008] Additionally, when the parties to a transaction use incompatible software or have separate software for incompatible systems, there are technical inconveniences such as having to develop software for the transaction or having software tailored to the system.

[0009] Even if application services are provided with the same software image, there are difficulties in providing efficient services, such as having to prepare and provide software packages of all versions and types for each client.

[0010] In particular, there is a need for the entire system to continue to operate without interruption even if problems occur with the servers or computing resources used by the transaction parties, and for the system to be able to flexibly respond to increases in the number of users or the amount of data.

[0011]

[0012] The disclosed embodiment is intended to solve the above-mentioned inconvenient problems, and may provide an application service providing device, an application service providing method, and a storage medium for storing a program executable by a computer that provides an application service to support non-stop scale-out through distributed package replication and distributed channel communication.

[0013]

[0014] One embodiment of the present invention provides a method for providing an application service, comprising: a computing system managing a platform that provides a client with an isolated workspace in which an application package is executed; receiving a channel request for transmitting and receiving information from the client; and providing a platform service for the client to convert the application package in the workspace; wherein the step of providing the platform service includes: receiving a TCP connection request from a TCP client located in a private network area; and a step of creating at least one virtual server socket in the private network area; wherein the virtual server socket is bound to a destination located in the private network area.

[0015] The step of providing the above platform service is characterized by including the step of receiving a web EDI service request from a client using the workspace; and the step of providing at least one service among an inbox document service, a draft document service, and a sent document service through the web EDI service.

[0016] The step of providing the platform service is characterized by including the steps of: receiving scrap adapter setting information from a client using the workspace; collecting data of a partner set by the client based on the scrap adapter setting information; and storing the collected data in an inbox slot of a message box within the platform.

[0017] The step of providing the above platform service is characterized by including the steps of: obtaining a source schema for EDI document data; mapping the source schema to a target schema for target document data using a graphic-based tool; and converting the EDI document data to target document data based on the mapping.

[0018] The step of providing the above platform service is characterized by including: a step of obtaining an EDI-related file; a step of performing verification of the obtained EDI-related file; and a step of outputting error display information of the EDI-related file according to the verification.

[0019] The step of providing the platform service is characterized by including: a step of providing a wizard user interface including wizard management items for the platform; a step of obtaining wizard setting input for the wizard management items; and a step of providing an EDI interface service of the platform based on the wizard setting input.

[0020] The step of providing the platform service is characterized by including the step of receiving a request for using the message box service from a client using the workspace; and the step of providing a user interface for managing EDI data included in the message box based on the request for use.

[0021] The step of providing the above platform service is characterized by including a step of setting an API developed by the client; and a step of providing an API gateway service based on the API to a partner of the client.

[0022] The step of providing the platform service is characterized by including: receiving a request to search for at least one API developed by a client using the workspace; receiving a subscription request for a first API among the at least one API; setting usage rights for the first API; and providing an environment for testing at least one of an API version, an API gateway service, and an API deployment for the first API.

[0023] The step of providing the above platform service is characterized by including: a step of receiving an OMS (Order Management System) service request from a partner through an EDI portal service based on the client's workspace; a step of performing order creation corresponding to the OMS service request; and a step of providing an OMS service based on the order creation.

[0024] One embodiment of the present invention provides an application service providing device, comprising: a database for storing data; and a processor for processing the data, wherein the processor manages a platform that provides clients with isolated workspaces in which application packages are executed, wherein a TCP connection request is received from a TCP client located in a private network area, a TCP server and the TCP client are connected to each other, at least one virtual server socket is created in the private network area, and the virtual server socket is bound to a destination located in the private network area.

[0025] One embodiment of the present invention provides a computer-readable recording medium storing a computer program for executing a method for providing an application service, the method comprising: receiving a channel request for transmitting and receiving information from a client in a computing system that provides an isolated workspace in which an application package is executed; and providing a platform service for the client to convert the application package in the workspace; wherein the step of providing the platform service includes: receiving a TCP connection request from a TCP client located in a private network area; and a step of creating a TCP server and the TCP client in the private network area; wherein the virtual server socket is bound to a destination located in the private network area.

[0026]

[0027] According to the disclosed embodiment, technical inconveniences for transactions can be resolved and transactions can be made more active.

[0028] According to the disclosed embodiment, it is possible to technically activate market transactions using software even when a standardized form for existing transactions is not available or there are complex transaction requirements.

[0029] According to the disclosed embodiment, a convenient transaction system can be provided even when the transaction parties use incompatible software or have separate software in incompatible systems.

[0030] According to the disclosed embodiment, there is an advantage in that a mapping program can be defined relatively easily even if the user is not familiar with development scripts.

[0031] According to the disclosed embodiments, developers can easily implement and manage complex mapping logic through a user-friendly interface and visual programming approach.

[0032] According to the disclosed embodiment, by distributing a software package across multiple worker nodes (physical servers), actual services can be performed without interruption even if a failure occurs in one worker node.

[0033]

[0034] Figure 1 is a flowchart disclosing an example of a method for providing an application service according to an embodiment.

[0035] FIG. 2 is a drawing showing an example of providing application services to a client through a workspace among the disclosed embodiments.

[0036] Figure 3 is a conceptual diagram disclosing layer-by-layer elements for providing application services according to an embodiment.

[0037] FIG. 4 is a drawing disclosing a specific example of an application service providing device according to an embodiment establishing a channel between an instance and a client or partner.

[0038] FIG. 5 is a diagram showing an example of setting up a distributed channel and providing a service according to an embodiment.

[0039] FIG. 6 is a drawing disclosing an example of managing setting information of a package installed according to an embodiment.

[0040] Figure 7 is a drawing showing an example of managing and using a package according to a workspace of an embodiment of the disclosure.

[0041] FIG. 8 is a diagram disclosing an example of mapping EDI information as a type of application service according to an embodiment.

[0042] FIG. 9 is a drawing disclosing an example of providing an application service using an integrated package according to an embodiment.

[0043] FIG. 10 is a drawing showing an example of an interface of a platform according to an example of providing an application service disclosed.

[0044] FIG. 11 is a drawing showing another example of the interface of a platform according to an example of providing an application service disclosed.

[0045] FIG. 12 is a drawing disclosing an example of a framework that allows an application service providing device according to an embodiment to integrate different systems.

[0046] Figure 13 is a drawing showing an example of graphically coding connectors and services among integration flow functions when developing an integration flow based on an embodiment.

[0047] Figure 14 is a drawing showing an example of graphically coding the processor, control flow, and modifier among the integration flow functions when developing an integration flow based on an embodiment.

[0048] FIG. 15 is a drawing illustrating an interface of an agent when an agent provided on a platform of an instance system according to an embodiment is executed.

[0049] FIG. 16 is a drawing illustrating an example of an interface of an agent adapter provided on a platform of an instance system according to an embodiment.

[0050] FIG. 17 is a drawing illustrating another example of an interface of an agent adapter provided on a platform of an instance system according to an embodiment.

[0051] Figure 18 is a diagram showing an example of an agent adapter of a platform of an instance system according to an embodiment setting up a transmission and reception channel.

[0052] FIG. 19 is a drawing showing an example of transmitting EDI data, which is transaction information, using a platform of an instance system according to an embodiment.

[0053] FIG. 20 is a drawing disclosing an embodiment of running an adapter in a workspace according to an embodiment.

[0054] Figure 21 is a drawing disclosing an example of an adapter package.

[0055] Figure 22 is a drawing disclosing an example of an adapter using a framework according to an embodiment.

[0056] Figure 23 is a drawing disclosing an example of a service provided by an adapter package according to an embodiment.

[0057] Figure 24 is a drawing disclosing an example of an adapter developed in a workspace according to an embodiment.

[0058] FIG. 25 is a drawing disclosing an example of an application service providing device converting a data format according to an embodiment.

[0059] FIG. 26 is a diagram showing an example of an application service providing device converting a data format using a schema and a mapping script according to an embodiment.

[0060] Figure 27 is a diagram disclosing an example of deserialization and serialization based on a schema according to an embodiment.

[0061] Figure 28 is a drawing disclosing an example of a mapping script according to an embodiment.

[0062] FIG. 29 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0063] FIG. 30 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0064] FIG. 31 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0065] FIG. 32 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0066] FIG. 33 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0067] FIG. 34 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0068] FIG. 35 is a drawing disclosing an example of an application service providing device according to an embodiment creating and testing an integrated package.

[0069] FIG. 36 is a drawing disclosing an example of providing a user interface for developing an integrated flow according to an embodiment.

[0070] FIG. 37 is a drawing disclosing an example of providing a user interface for developing an integrated flow that performs mapping according to an embodiment.

[0071] Figure 38 is a drawing disclosing an example of providing a web EDI service using a message box according to an embodiment.

[0072] Figure 39 is a drawing disclosing an example of providing a web EDI service using a message box according to an embodiment.

[0073] FIG. 40 is a drawing showing an example of an interface of a platform according to an embodiment.

[0074] Figure 41 is a drawing showing an example of a user interface of a web EDI service according to an embodiment.

[0075] FIG. 42 is a diagram illustrating an example of a user interface of an inbox document service according to an embodiment.

[0076] FIG. 43 is a diagram illustrating another example of a user interface of an inbox document service according to an embodiment.

[0077] FIG. 44 is a diagram illustrating an example of a user interface of a draft document service according to an embodiment.

[0078] FIG. 45 is a diagram illustrating an example of a user interface of a draft document service according to an embodiment.

[0079] FIG. 46 is a diagram illustrating an example of a user interface of a draft document according to an embodiment.

[0080] FIG. 47 is a diagram illustrating an example of a user interface of a cent document according to an embodiment.

[0081] Figure 48 is a flowchart illustrating an application service provision method for providing a web EDI service according to an embodiment.

[0082] Figure 49 is a drawing showing the operation of a scrap adapter according to an embodiment.

[0083] Figure 50 is a drawing showing an example of a user using a scrap adapter according to an embodiment.

[0084] FIG. 51 is a drawing illustrating an example of a user interface of a platform according to an embodiment.

[0085] FIG. 52 is a drawing illustrating an example of a user interface of a platform according to an embodiment.

[0086] Figure 53 is a drawing disclosing a data collection method according to another embodiment.

[0087] Figure 54 is a drawing showing the operation of a scrap adapter according to an embodiment.

[0088] FIG. 55 is a drawing disclosing an example of an application service providing device according to an embodiment converting data based on a source schema for EDI document data.

[0089] Figure 56 is a diagram disclosing an example of a source schema for EDI document data according to an embodiment.

[0090] FIG. 57 is a drawing disclosing an example of a user interface for setting a target schema for target document data according to an embodiment.

[0091] FIG. 58 is a drawing disclosing an example of a user interface for setting up a source schema and a target schema according to an embodiment.

[0092] FIG. 59 is a diagram disclosing an example of a user interface for mapping a source schema and a target schema according to an embodiment.

[0093] Figure 60 is a flowchart showing an example of a method for providing an application service according to an embodiment of the present invention for converting data based on a source schema for EDI document data.

[0094] Figure 61 is a drawing disclosing an example of an application service providing device verifying an EDI-related file according to an embodiment.

[0095] Figure 62 is a drawing disclosing an example of a user interface for verifying EDI-related files according to an embodiment.

[0096] Figure 63 is a flowchart disclosing an example of a method for providing an application service according to an embodiment of the present invention for converting a data format.

[0097] Figure 64 is a drawing disclosing an example of an application service providing device according to an embodiment providing a wizard-based EDI interface service.

[0098] FIG. 65 is a drawing disclosing an example of a project type setting screen of a wizard user interface according to an embodiment.

[0099] FIG. 66 is a drawing disclosing an example of a project-related information setting screen of a wizard user interface according to an embodiment.

[0100] FIG. 67 is a drawing disclosing an example of a partner connection information setting screen of a wizard user interface according to an embodiment.

[0101] FIG. 68 is a drawing disclosing an example of an EDI-related information setting screen of a wizard user interface according to an embodiment.

[0102] FIG. 69 is a drawing disclosing an example of an interface-related information setting screen of a wizard user interface according to an embodiment.

[0103] Figure 70 is a flowchart showing an example of an application service provision method according to an embodiment providing an EDI interface service based on a wizard method.

[0104] Figure 71 is a conceptual diagram disclosing layer-by-layer elements for providing application services according to an embodiment.

[0105] Figure 72 is a drawing illustrating an embodiment in which an application service providing device according to an embodiment processes EDI data within a message box.

[0106] Figure 73 is a drawing illustrating an embodiment in which a monitoring module according to an embodiment monitors EDI data.

[0107] Figure 74 is a drawing illustrating another embodiment in which a monitoring module according to an embodiment monitors EDI data.

[0108] Figure 75 is a drawing illustrating an embodiment in which a monitoring module according to an embodiment searches for EDI data.

[0109] Figure 76 is a drawing illustrating another embodiment in which a monitoring module according to an embodiment searches for EDI data.

[0110] Figure 77 is a drawing illustrating another embodiment in which a monitoring module according to an embodiment searches for EDI data.

[0111] Figure 78 is a drawing illustrating an embodiment in which an access control module according to an embodiment restricts access to EDI data.

[0112] Figure 79 is a drawing illustrating an embodiment in which a monitoring module according to an embodiment encrypts EDI data.

[0113] Figure 80 is a drawing illustrating an embodiment in which a lifecycle management module according to an embodiment manages the lifecycle of EDI data.

[0114] Figure 81 is a flowchart showing a method for providing application services according to an embodiment.

[0115] FIG. 82 is a drawing disclosing an example in which an application service providing device according to an embodiment provides an API gateway service.

[0116] FIG. 83 is a diagram disclosing another example in which a mapping adapter of an application service providing device according to an embodiment provides an API gateway service.

[0117] Figure 84 is a flowchart disclosing an example of an application service providing method according to an embodiment of the present invention for managing an API package.

[0118] Figure 85 is a drawing disclosing an example of an interface of a platform according to an example of providing an application service disclosed.

[0119] FIG. 86 is a drawing disclosing an example of an API package management screen of an API gateway service user interface according to an embodiment.

[0120] FIG. 87 is a drawing disclosing an example of an API subscription management screen of an API gateway service user interface according to an embodiment.

[0121] Figure 88 is a flowchart disclosing an example of designing an API package according to an embodiment of a method for providing an application service.

[0122] Figure 89 is a flowchart disclosing an example of a method for providing an application service according to an embodiment of the present invention for distributing an API package.

[0123] Figure 90 is a flowchart showing an example of an application service providing method according to an embodiment providing an API gateway service.

[0124] Figure 91 is a flowchart for a method for providing application services according to an embodiment.

[0125] Figure 92 is a drawing illustrating an embodiment of an application service providing method according to an embodiment of the present invention, in which an API is executed.

[0126] FIG. 93 is a drawing showing an example of an interface of a platform according to an embodiment.

[0127] FIG. 94 is a drawing showing another example of an interface of a platform according to an embodiment.

[0128] Figure 95 is a drawing explaining an API query service according to an embodiment.

[0129] Figure 96 is a drawing illustrating an API guide inquiry menu according to an embodiment.

[0130] Figure 97 is a drawing illustrating an API test menu according to an embodiment.

[0131] Figure 98 is a drawing illustrating an API catalog service according to an embodiment.

[0132] Figure 99 is a drawing illustrating an example of an API authentication service according to an embodiment.

[0133] FIG. 100 is a drawing disclosing an example of an application service providing device according to an embodiment providing an EDI portal service.

[0134] FIG. 101 is a drawing disclosing another example in which an OMS service module of an application service providing device according to an embodiment provides an OMS service based on an EDI portal service.

[0135] Figure 102 is a diagram disclosing an example of an OMS service configuration diagram and OMS architecture of an application service providing device according to an embodiment.

[0136] Figure 103 is a drawing disclosing an example of an order management screen according to an embodiment.

[0137] Figure 104 is a drawing disclosing an example of an order creation screen according to an embodiment.

[0138] FIG. 105 is a drawing disclosing an example of an order view screen according to an embodiment.

[0139] FIG. 106 is a drawing disclosing an example of an ASN view screen according to an embodiment.

[0140] Figure 107 is a flowchart disclosing an example of an application service provision method according to an embodiment providing an EDI portal service.

[0141] Figure 108 is a drawing explaining the agent operation method according to an embodiment.

[0142] Figure 109 is a drawing explaining the agent operation method according to an embodiment.

[0143] Figure 110 is a drawing illustrating the reverse tunnel operation method of an agent according to an embodiment.

[0144] Figure 111 is a drawing illustrating a method for implementing a reverse tunnel of an agent according to an embodiment.

[0145] FIG. 112 is a drawing illustrating a method for implementing a reverse tunnel of an agent according to another embodiment.

[0146] Figure 113 is a flowchart illustrating a method for providing application services according to an embodiment.

[0147]

[0148] Below, embodiments that can solve the above problems and resolve technical inconveniences for transactions are disclosed.

[0149] When components of the embodiments are mentioned below, they can all be implemented with optimized hardware or software, unless specifically limited to physical devices.

[0150]

[0151] FIG. 1 is a flowchart disclosing an example of a method for providing an application service according to an embodiment.

[0152]

[0153] *33 The method for providing an application service according to the disclosed embodiment allows multiple clients to obtain or download applications necessary for transactions or add or change desired functions through the platform.

[0154] The embodiment can receive a channel request for transmitting and receiving information from a client using a virtual isolated workspace (S100).

[0155] When a client connects to the platform, the system can provide the client with a virtual, isolated workspace.

[0156] A client may have workspaces that can receive separate services, but the hardware infrastructure of the systems providing each workspace may be common.

[0157] The system administrator or client can perform remote control and update of the system so that the client can receive the above services, and the system can be equipped with communication functions according to protocols linked to various standards.

[0158] A client can request a channel from the platform through which it can send and receive desired information, and the platform can allow the client to establish a channel.

[0159] Detailed examples of this are disclosed below.

[0160] The embodiment may provide a platform service that enables a client to create, change, save, or otherwise transform an application package in his / her workspace (S200).

[0161] A client may develop an application package or part of a package in a system such as an embodiment, and may trade related applications or software and operate a trade-related business.

[0162] Hereinafter, the term "application package" or "package" refers to a bundle of programs or files, including adapter packages that support protocols or services, resource packages required for program execution, and integrated packages that integrate multiple packages. In the examples below, an application package may also be referred to as a software package.

[0163] The system may provide various means or specialized computer languages ​​that support mappings to various data formats and structures desired by clients. It may also provide applications and related tools to enable clients to modify application packages.

[0164] Detailed examples of this are disclosed below.

[0165] The embodiment can provide a service that controls service scale-out when the client uses an application package or another client receives application services in their workspace (S300). This step can be performed as needed to control scale related to service provision. The client can receive application services or operate the application services without interruption, depending on the provided system.

[0166] Detailed examples of this are disclosed below.

[0167]

[0168] FIG. 2 is a drawing showing an example of providing application services to a client through a workspace among the disclosed embodiments.

[0169] This drawing is a conceptual diagram for explaining workspace and multi-tenancy among embodiments providing the disclosed application service.

[0170] The embodiment may provide a software-as-a-service (SaaS) to the user.

[0171] The embodiment may provide an application or SaaS-type software service used for transmitting and receiving information such as transactions between the parties.

[0172] In this drawing, the trading parties are represented as Client 1 (110), Client 2 (120), or Client 3 (130).

[0173] Clients (110, 120, 130) can transmit and receive various types of information, including business transactions, with their respective partners. In this case, the clients (110, 120, 130) can utilize the application service provision method described above.

[0174] An application service providing device according to an embodiment includes an instance system (1000) that provides an application including software in the SaaS format, and a manager system (2000) that provides an application service through the instance system (1000).

[0175] The manager system (2000) can provide a scale-out instance system (1000) to clients (110, 120, 130).

[0176] In the instance system (1000), an interface of a service provided by the manager system (2000) to clients (110, 120, 130) can be executed.

[0177] The manager system (2000) may include a manager server (2100) that connects and controls the instance system (1000) and a database (2200) that can store transmitted and received information and requirements of clients (110, 120, 130). The functions of the manager system (2000) are described in detail below.

[0178] The instance system (1000) provided by the manager system (2000) may include at least one node.

[0179] In the example of this drawing, node #0 (1100) can act as a service coordinator that provides application services and performs scale-out under the control of the manager system (2000).

[0180] In this example, the coordinator (1100), which is node #0, can control the scale of the system by being connected to worker nodes such as the first node (Node #1), the second node (Node #2), the third node (Node #3), and the Nth node (Node #N).

[0181] For example, connections between nodes can utilize interface protocols such as the HTTP protocol (hereinafter referred to as HTTP / REST) ​​of a RESTful application programming interface (API). A RESTful application programming interface (API) can use HTTP to transmit and receive data between servers.

[0182] For example, a coordinator (1100) that is node #0 can transmit and receive data to and from each of the first node (Node #1), the second node (Node #2), the third node (Node #3), and the Nth node (Node #N) via HTTP / REST.

[0183] Similarly, Node #1 can send and receive data with other nodes (Node #0, Node #2, Node #3, and Node #N) based on HTTP / REST.

[0184] The coordinator (1100) can cause the software package to be installed on each node (in this example, the first node (Node #1) to the Nth node (Node #N)) according to a request for software package installation from the manager system (2000).

[0185] Each node can include a framework that allows creation of workspaces regardless of system type, as described below.

[0186] The coordinator (1100) can provide workspaces (1510, 1520, 1530) running on the framework of each node to each client (110, 120, 130).

[0187] Clients (110, 120, 130) may have isolated workspaces (1510, 1520, 1530) and may be provided with, modified or used applications or software packages through the isolated workspaces.

[0188] In this example, the first node (Node #1) can provide software package A and software package C provided by the framework within the first node (Node #1) to the client through the coordinator (1100).

[0189] The second node (Node #2) can provide software package A and software package B provided by the framework within the second node (Node #2) to the client through the coordinator (1100).

[0190] The third node (Node #3) can provide software package B and software package C provided by the framework within the third node (Node #3) to the client through the coordinator (1100).

[0191] The manager system (2000) can stably provide each of the isolated workspaces (1510, 1520, 1530) to the clients (110, 120, 130) through the instance system (1000).

[0192] For example, client 1 (110) can independently use workspace (1510).

[0193] Client 1 (110) can transmit and receive necessary data in its workspace through a channel established with the coordinator (1100). For example, Client 1 (110) can receive necessary software packages A and C from the coordinator (1100) through an HTTP channel in workspace A (1510). Detailed examples of establishing channels between the workspace and the coordinator (1100) or between the coordinator (1100) and each node will be described later.

[0194] Client 2 (120) can receive the required software packages A and B from the coordinator (1100) via an HTTP channel, for example, in workspace B (1520).

[0195] Similarly, client 3 (130) can receive the necessary software packages B and C from the coordinator (1100) via an HTTP channel in workspace C (1530).

[0196] The instance system (1000) can provide a virtualized system so that clients (110, 120, 130) do not need to be aware of which node within the instance system (1000) provides the desired software package in their workspaces (1510, 1520, 1530).

[0197] Each node (Node #1, Node #2, Node #3, Node #N) that stores and provides software packages by a coordinator (1100) can store software packages that can be provided to workspaces (1510, 1520, 1530). That is, multiple nodes (Node #1, Node #2, Node #3, Node #N) can be virtualized to provide workspaces (1510, 1520, 1530) that are isolated from each other.

[0198] Each of the nodes (Node #1, Node #2, Node #3, Node #N) contains a framework, and can control the download and execution of software packages from a software package repository (not shown) within each framework. This will be described in detail below.

[0199] The software package required for workspace A (1510) used by client 1 (110) can be stored in at least one node among each of the nodes (Node #1, Node #2, Node #3, Node #N).

[0200] In this example, software package A is stored in the first node (Node #1) and the second node (Node #2), but may also be transferred to and stored in other nodes (Node #3, Node #N) by scaling out the coordinator (1100).

[0201] Software package B is stored on the second node (Node #2) and the third node (Node #3), but may be transferred to and stored on other nodes (Node #1, Node #N) by scaling out the coordinator (1100).

[0202] Similarly, software package C is stored in the third node (Node #3) and the first node (Node #1), but may be transferred to and stored in other nodes (Node #2, Node #N) by scaling out the coordinator (1100).

[0203] In this way, software packages can be distributed and installed across multiple nodes. The coordinator (1100) stores information on which nodes the software package is installed, performs routing for software package requests when necessary, and performs task scheduling functions for the nodes it manages.

[0204] Accordingly, clients (110, 120, 130) can obtain software packages from their respective virtualized and isolated workspaces (1510, 1520, 1530) without having to know which node the desired software package is stored on due to the scale-out of the coordinator (1100).

[0205] The manager system (2000) can control the coordinator (1100) to provide application services so that clients (110, 120, 130) can obtain desired software packages.

[0206] Nodes serve as worker nodes on which the adapter package or software package described below is installed and executed. In the instance system (1000), worker nodes can be automatically or manually scaled out and expanded as needed under the management of the manager system (2000).

[0207]

[0208] Figure 3 is a conceptual diagram disclosing layer-by-layer elements for providing application services according to an embodiment.

[0209] The application service providing device according to the embodiment can be controlled and managed by the manager system (2000).

[0210] The manager system (2000) can provide application services, such as EDI services, using an on-premise system or a cloud system. Detailed examples of services provided by the manager system (2000) are described below.

[0211] The computing system may include at least one of an on-premises system or a cloud system.

[0212] A computing system may also include a virtualization layer, such as a container or virtual machine (VM), that can virtualize computing resources.

[0213] This drawing illustrates a case where a virtualization layer is included, with the virtualization layer indicated by a dotted line.

[0214] For example, computing systems can provide containers as a virtualization layer. Containers can use the host's resources as needed to run applications on top of the host operating system (OS). Container images can be used to rapidly develop and deploy applications.

[0215] The computing system may include a framework layer (1700) that provides a framework. The framework may enable various applications to run through an application programming interface (API) (1610, 4100).

[0216] The workspace (1500, 3000) or the interface governance platform (4000) is located on the application programming interface (API) (1610) or the governance API (4100), respectively, and various applications can be run on the application programming interface (API) (1610, 4100).

[0217] The client (100) can receive application services, i.e., software packages, provided by the manager system (2000) through a system having layers as exemplified in this drawing.

[0218] For example, a client (100) can use services such as an EDI application (EDI App.) through an isolated workspace (1500). In this example, the client (100) can use applications or services such as EDI and other application services (App.), message services, web services, protocol adapter services, data transformation services, monitoring services, and security services through the workspace (1500). The applications or services on the workspace (1500) are described in detail below.

[0219] A partner (200) may be an actual transaction partner of a client (100) or another transaction entity related to a transaction and may use application services through the workspace (1500) or receive application services such as EDI services provided by the client (100).

[0220] When a client (100) conducts a transaction through an application related to an EDI service, a partner (200) can conduct a transaction through an EDI service application provided by the client (100).

[0221] The manager system (2000) can provide an environment in which clients can develop applications necessary for their transactions.

[0222] The manager system (2000) can develop and test applications in the development workspace (3000) and provide application services developed through the workspace (1500). In addition, the manager system (2000) can manage the computing environment that provides the development workspace (3000) to a client (100) or partner (200), and enable the client (100) or partner (200) to develop necessary applications in the development workspace (3000).

[0223] This development workspace (3000) may include a development tool application that can develop applications, a billing application (payment / billing) that determines the usage and billing system for the developed applications, an app store (app. Store) that can sell the developed applications, and a back-office application that supports and controls these functions.

[0224] For example, a client (100) or partner (200) can develop, modify, and test applications through the development workspace (3000). The client (100) or partner (200) can develop applications or software packages on its own in the development workspace (3000) as well as applications provided by the manager system (2000).

[0225] Additionally, the client (100) can provide applications developed through the development workspace (3000) to other clients or partners through the app store (3000) illustrated in the drawing.

[0226] Partner (200) and manager system (2000) can also use the system provided by the client (100) to develop, test, utilize and provide services for software packages.

[0227] The manager system (2000) may also provide inspection and control of the client system through the interface governance platform (4000) on the solution API (4100). These services are disclosed in detail separately.

[0228] Below, detailed examples of a client (100) receiving or providing a service using a software package through a workspace (1500) are described.

[0229]

[0230] FIG. 4 is a drawing disclosing a specific example of an application service providing device according to an embodiment establishing a channel between an instance and a client or partner.

[0231] According to the concept disclosed above, the application service manager (2100) can enable a client or partner (300) to provide, use, and modify an application through the instance system (1000). The instance system (1000) can include a coordinator (1100) and an Nth node (1300), which is an arbitrary node.

[0232] The application service manager (2100) can distribute information for installing an agent (350) to a client / partner (300). For example, the information for installing an agent (350) can include agent setting information, key information for agent setting, resource management information, user management setting information, etc.

[0233] For example, agent configuration information may include information such as the time to synchronize channel information, a timeout for HTTP requests, the key value of the session key associated with the installed browser, and the path the agent needs to send and receive related information.

[0234] A channel is configured to use a service provided by the application service manager (2100). It can be described as a component for connecting to a package, such as an adapter package. Examples related to this are described in detail below.

[0235] The client / partner (300) may have an agent (350) installed, and the agent (350) may collect resource management information, connection information, user information, etc. of the client / partner (300). If necessary, the agent (350) may access the database or file system of the client / partner (300).

[0236] An agent (350) can request a software package from a coordinator (1100) of an instance system (1000). In this case, the agent (350) can request a channel service for receiving the software package from an agent adapter (1350) of the coordinator (1100). Here, an HTTP request can be used for the channel service requested by the agent (350) to the agent adapter (1350).

[0237] For example, when an agent (350) of a client / partner (300) transmits a request to a preset HTTP URI, the coordinator (1100) can allow HTTP traffic coming into a specific port, i.e., an inbound HTTP connection, and convert this HTTP service into a channel service that is transmitted to the agent adapter (1350) of the Nth node (1300), which is a worker node.

[0238] Information for installing the agent (350) already includes path information that can access the instance system (1000).

[0239] When an agent (350) is installed on a client / partner (300), the administrator of the client / partner (300) can set management information, user information, etc. of the client / partner (300) system managed by the agent (350), and can also set a synchronization time with the agent adapter (1350) of the Nth node (1300).

[0240] The application service manager (2100) can set setting information for the agent adapter (1350) installed in the instance system (1000) in relation to the registered agent (350) and information on whether synchronization with the registered agent (350) is activated.

[0241] The application service manager (2100) can set outbox slot information within a message box for storing information transmitted by the registered agent (350) and inbox slot information within a message box for storing information received by the registered agent (350).

[0242] The application service manager (2100) stores the information transmitted by the agent (350) and the information received by the agent (350) in the outbox slot and the inbox slot in the message box (2110), respectively, according to the information set as above. The slot in the message box is a logical division concept that stores a data processing unit, and the message box can store and output a data processing unit like a queue.

[0243] Meanwhile, the application service manager (2100) can also set authentication key information that enables the registered agent (350) and agent adapter (1350) to perform authentication.

[0244] In this way, when the agent (350) is registered to the client / partner (300) and the agent adapter (1350) is set to the instance system (1000), the agent adapter (1350) can be connected to the resource set to the agent (350).

[0245] And, according to the information set from the agent (350), related information or data can be transmitted and received with the agent adapter (1350).

[0246] In this drawing, the channel through which the agent (350) transmits information (outbox) output from the resource of the client / partner (300) according to a set cycle is indicated as a send channel. In addition, the channel through which the agent (350) receives information (inbox) transmitted from the agent adapter (1350) is indicated as a receive (receive / polling) channel.

[0247] The agent (350) can send and receive data requested from the agent adapter (1350) through a set send channel and a set receive / polling channel.

[0248]

[0249] FIG. 5 is a diagram disclosing an example of managing channels and providing services in a distributed system according to an embodiment.

[0250] As illustrated, nodes within the instance system (1000) can transmit and receive data via channels to provide services. A channel is a general term for a path that calls data or packages for providing services, or searches for a node on which a previously registered channel is running.

[0251] Here, an example is disclosed in which a coordinator (1100) of an instance system (1000) manages packages installed on nodes in a distributed environment through channel connections.

[0252] The coordinator (1100) can store channel information that can connect each worker node and information about packages stored in each worker node.

[0253] For example, the coordinator (1100) can register and store information about packages stored in worker nodes (1110, 1120). The coordinator (1100) can register and store information about adapter package A and integration package stored by the worker node (1110) of the first node (Node #1), and can register and store information about adapter package B stored by the worker node (1120) of the second node (Node #2).

[0254] The coordinator (1100) can receive service requests related to packages from clients or partners. As described above, this example illustrates a case where the service request is received via an HTTP request containing URL information.

[0255] The coordinator (1100) can set up a service channel for worker nodes that are registered and mapped to the coordinator (1100) based on URL information included in the HTTP request.

[0256]

[0257] *136 As in the example here, the coordinator (1100) establishes an HTTP service channel based on an HTTP request containing URL information from a client or partner. The coordinator (1100) can call adapter package A provided by the first worker node (worker node #1) (1110) through the established HTTP service channel.

[0258] Since clients or partners use isolated workspaces provided by the coordinator (1100), the versions of packages within each workspace of clients (or partners) may be different and different versions of adapter packages may be used.

[0259]

[0260] Adapter package A requested by the client can be called through an HTTP service channel from the first worker node (worker node #1) (1110) according to the information registered in the coordinator (1100).

[0261] The first worker node (worker node #1) (1110) can provide the registered adapter package A according to the HTTP service channel.

[0262] If a client or partner develops an application package in that workspace, they may need an integration package that includes Adapter Package B.

[0263] The coordinator (1100) knows that the first worker node (worker node #1) (1110) stores the integrated package and the second worker node (worker node #2) (1110) stores the adapter package B based on the registered information.

[0264] The coordinator (1100) can search for an integrated package including adapter package B in the first worker node (worker node #1) (1110) through an adapter function channel. If adapter package B is not included in the integrated package stored in the first worker node (worker node #1) (1110), the first worker node (worker node #1) (1110) can call adapter package B stored in the second worker node (worker node #2) (1120) through a channel connection between the worker nodes.

[0265] Then, the second worker node (worker node #2) (1120) can provide the called adapter package B, in which case the coordinator (1100) can register a channel providing adapter package B to the adapter function channel so that adapter package B is provided together with the integrated package.

[0266]

[0267] *145 The disclosed embodiment allows for multiple packages to be distributed and installed across multiple nodes. To facilitate communication between packages or to call a specific adapter package from outside the instance system, the coordinator (1100) can manage and store channels for searching, calling, or registering the corresponding package on worker nodes capable of providing package services.

[0268] The agent adapter (1350) of the coordinate (1100) instance system (1000) can set up transmission and reception channels from the agent (350) as exemplified. The agent adapter (1350) can set up a specific agent and channel using information related to the channel, such as the agent's identifier and channel period.

[0269] In this way, the coordinator (1100) can manage various pieces of information so that requested package-related services can be distributed and performed across worker nodes. While the HTTP service channel is exemplified above, packages can also be delivered via a file transfer channel such as FTP.

[0270] The coordinator (1100) may store adapter packages that are distributed and executed across multiple worker nodes in shared memory (not shown) or storage.

[0271] Additionally, the coordinator (1100) can store and manage data such as logs related to adapters used by multiple clients.

[0272]

[0273] FIG. 6 is a drawing disclosing an example of managing setting information of a package installed according to an embodiment.

[0274] In the example of this drawing, the coordinator (1100), the mth node (node ​​#m) (3110), and the nth node (node ​​#n) (3210), which are distributed systems within the instance system (1000), may each include configuration storage units (1115, 3115, 3215) within the nodes.

[0275] The application service manager (2100) of the manager system (2000) can store various configuration information (rectangles) related to the package. The stored configuration information can include various configuration information required when the package is executed on each node.

[0276] The application service manager (2100) can store the configuration information of a package in a database (2200). The application service manager (2100) can obtain the configuration information of a package from a specific node, in this example, node #m (3110), or store the configuration information of a package requested externally in the database (2200).

[0277] The coordinator (1100) can store configuration information of a package managed by the application service manager (2100) in its configuration storage (1115). The application service manager (2100) can manage and store configuration information of the package through a control screen, etc.

[0278] The m-th node (node ​​#m) (3110) and the n-th node (node ​​#n) (3210), which are wicker nodes within the instance system (1000), can receive configuration information of related packages from the configuration storage (1115) of the coordinator (1100) and store them in their respective configuration storages (3115, 3215).

[0279] In this example, the nth node (node ​​#n) (3210), which is a worker node, can synchronize the configuration information of the package with the configuration information of the package stored in the configuration storage (1115) of the coordinator (1100). This synchronization may be performed periodically, or may be synchronized at different cycles depending on the settings.

[0280] When the nth node (node ​​#n) (3210), which is a worker node, needs to execute a package, it can execute the package using the configuration information synchronized and stored in its configuration storage (3215).

[0281] The client / partner can change and save the package setting information of the worker node node m (node ​​#m) (3110) through the package setting screen of the coordinator (1100), etc.

[0282] When the package setting information of node #m (3110), which is a worker node, is changed, the changed setting information of the package can be transmitted to the application service manager (2100).

[0283] Again, the application service manager (2100) can store the changed configuration information of the package transmitted from the node #m (3110) in the database (2200).

[0284]

[0285] FIG. 7 is a diagram showing an example of managing and using packages according to a workspace of an embodiment of the disclosure.

[0286] Clients can create, run, and modify multiple packages in an isolated workspace.

[0287] For example, a client can execute an adapter package in a workspace, which can use configuration information stored in a configuration repository. However, in some cases, the package may also reference resource files in addition to the configuration information stored in the configuration repository.

[0288] Resource files can be installed in the workspace as mapping programs, a type of resource package. Resource files can be accessed using resource paths when executing packages, such as adapter packages, to enable the adapter package to run.

[0289] According to the disclosed embodiment, both development or testing and operation of packages are possible in the workspace.

[0290] Therefore, according to an embodiment, resource files can be provided by separating a workspace for operation and a workspace for development.

[0291] In the example of this drawing, when developing an adapter package in the development workspace (1510), the adapter package can be used as a program that can read and write resource files. In this case, the resource file, which is a mapping program, can be accessed by specifying it as a writable shared resource path.

[0292] On the other hand, when running an adapter package in an operational workspace (1520), the resource file may be provided as a resource package that the adapter package can only read but not write. In this case, the adapter package can reference the resource package to install and access it, but cannot modify the resource files within the resource package.

[0293]

[0294] FIG. 8 is a diagram disclosing an example of mapping EDI information as a type of application service according to an embodiment.

[0295] The disclosed embodiments can provide not only various application services but also a platform environment for developing various application services.

[0296] Below, an example of such application service is described, using EDI service as an example. As those skilled in the art will readily appreciate from the disclosure, the embodiments can be used to develop or provide a variety of application services, and are not necessarily limited to EDI services.

[0297] As a type of application service, EDI requires various types of transactions, parties, and transaction formats across industries. Therefore, utilizing examples that address the complex and diverse transaction patterns of each industry enables efficient transactions, making it highly effective in stimulating industrial transactions.

[0298] This diagram illustrates an application service that converts various information or documents required for EDI services between trading parties.

[0299] EDI has a wide variety of formats, each with specific rules and regulations for each industry. EDI documents must be created and processed according to these formats to complete a transaction. EDI services vary across various industries, including e-commerce, transportation, logistics, finance, and insurance. EDI is standardized by international standards organizations such as ISO and is regulated and managed by UN / EDIFACT (United Nations / Electronic Data Interchange for Administration, Commerce, and Transport) and ANSI (American National Standards Institute) X.12.

[0300] Depending on the nature of the transaction, which involves ordering and supplying, different forms of documents containing different data or information may be used, and the systems used by the parties to the transaction may also be different.

[0301] For EDI service, documents between two trading parties must be mapped.

[0302] This drawing example conceptually discloses an advanced mapping engine, a program that transforms documents containing data into a general-purpose system to provide EDI services.

[0303] For example, a trading partner may provide an EDI document and EDI schema required for the transaction. This data can be decoded into unmarshal data by decoding the bytes or strings contained in the EDI data (i.e., the EDI document) according to the input schema.

[0304] A mapping engine may include reference information for mapping schemas based on the data to be converted and the schemas of the data being converted. This mapping reference information is referred to herein as a mapping script.

[0305] The mapping criteria information can be in script format to convert the unmarshalled data into a document of a different format targeted at other purposes.

[0306] A mapping engine can convert EDI data and EDI schema decoded data (unmarshal data) into a file of a specific format that can be used as an interface to a general document (here, a JSON file as an example) and into a schema for the file of the specific format (here, a JSON schema as an example).

[0307] In more detail, the EDI format of the SEF (Standard Exchange Format) standard can be used as an EDI schema, or an EDI format such as EXF (EDI Exchange Format) can be used.

[0308] The changed format file can be a flat file, JSON, XML, etc.

[0309] When marshalling or unmarshalling each file type for a file in a changed format, it can be converted into a schema file defined by annotations. In other words, the marshalling or unmarshalling result can be obtained as a schema that defines the type corresponding to the data to be converted and the annotation corresponding to the specific data type.

[0310] The embodiment may provide a user with a graphical interface that enables the user to create a schema through such a mapping engine and write a mapping script, which is mapping reference information.

[0311]

[0312] FIG. 9 is a diagram showing an example of providing an application service using an integrated package according to an embodiment.

[0313] According to an embodiment, a client (310) can provide an application service, such as the example disclosed, to a desired partner (320). The embodiment can not only provide a service from the client (310), but also enable the client (310) to directly provide a customized service to a desired partner (320) using the embodiment.

[0314] Here, an EDI service among application services is described as an example. In order for a client (310) to transact with a partner (320), the embodiment may provide a coordinator (1100) and worker node (1300) included in the instance system.

[0315] The application service manager (2100) can provide and manage an instance system so that a client (310) and a partner (320) can exchange information necessary for a transaction through the instance system.

[0316] As disclosed, the client (310) has an agent (not shown) installed, and can request EDI information, which is information required for a transaction, through the agent. In this case, the request for EDI information can be transmitted as HTTP traffic.

[0317] The coordinator (1100) of the instance system maps an HTTP request containing EDI information transmitted from a client (310) to a designated channel and transmits it to the corresponding worker node. In the example above, the coordinator (1100) disclosed an example of querying and managing channel registration with an HTTP request containing URL information. The coordinator (1100) converts the HTTP request into a channel service and transmits it to the agent adapter (1350) of the corresponding worker node (1300) capable of receiving the channel service.

[0318] The agent adapter (1350) transmits the requested EDI information through the channel service to the message box (2110) of the application service manager (2100).

[0319] The message box (2110) of the application service manager (2100) can store EDI information transmitted from the agent adapter (1350) in the client inbox (2111).

[0320] The message box (2110) of the application service manager (2100) transmits the requested EDI information to the integration package (1380) of the worker node (1300).

[0321] Here, the integration package (1380) is a bundle of integrated development items, including various development flows and Java or script programs. The integration package (1380) allows for the combined use of these development items and can address integrated requirements.

[0322] The integration package (1380) can implement various requirements that can be traded between the client (310) and the partner (320) by exchanging information with the message box (2110), adapters of the worker nodes (1350, 1370, 1390) and the channel service of the coordinator.

[0323] The integration package (1380) can address user requirements by creating and registering routing for exchanging necessary information within the package when a specific channel is called according to a distributed channel service.

[0324] The elements and usage examples for the integration package (1380) are described in detail below.

[0325] The integration package (1380) can transmit EDI information stored in the client inbox (2111) of the message box (2110) to the mapping adapter (1370).

[0326] The mapping adapter (1370) unmarshalls the EDI information of the client (310) received from the integration package (1380) and outputs it as EDI conversion data mapped to information required by the partner (320).

[0327] When the integration package (1380) receives the EDI conversion data output by the mapping adapter (1370), it can transmit and store it in the partner outbox (2113) of the message box (2110) and forward it to the EDI adapter (1390).

[0328] The EDI adapter (1390) can convert EDI conversion data output from the integration package (1380) or stored in the partner outbox (2113) into a standardized format, such as UN / EDIFACT or ANSXI X.12.

[0329] The EDI adapter (1390) may also transmit and store standardized EDI conversion data in the partner outbox (2113) of the message box (2110).

[0330] The coordinator (1100) can receive standardized EDI conversion data stored in the partner outbox (2113) of the message box (2110) or converted by the EDI adapter (1390) through the channel service, and convert it into HTTP traffic and transmit it to the partner (320).

[0331] As a result, the partner (320) can receive standardized EDI conversion data for the EDI information transmitted by the client (310). When the partner (320) transmits its own EDI information to the client (310), the data can be transmitted according to a similar process.

[0332] Accordingly, clients (310) and partners (320) can easily use application services such as EDI services according to the disclosed embodiments, and can easily conduct transactions according to the standardized format even if they do not know the standardized format or do not accurately understand the documents and information requested by the transaction counterparty.

[0333] A client (310) or partner (320) can develop or use multiple software packages in their workspace and link them to an integrated package (1380).

[0334] The embodiment can be provided through a very easy interface for developing such packages and connecting them with existing packages, and the developed packages can also be sold, shared, or provided separately.

[0335]

[0336] FIG. 10 is a drawing illustrating an example of an interface of a platform according to an example of providing an application service disclosed.

[0337] This diagram illustrates the interface provided by the platform when a user accesses the platform, for example, to provide application services.

[0338] When a client connects to a system that initiates a platform, the platform may present a user interface menu associated with the user's dedicated workspace.

[0339] A client can access the instance system through an interface platform provided by the manager system as illustrated in this drawing, or by using HTTP including a URL.

[0340] In the example of this drawing, the interface platform provided by the manager system may provide options for a user-specific workspace (151), a message box (152), file transfer (153), a message sent to a mobile terminal (SMS) (154), and information on the corresponding standard mapping if the information exchange involves EDI (155).

[0341] The workspace (151) is a menu that allows the client to use his / her own workspace, and the message box (152) stores messages related to the client.

[0342] File transfer (153) can check the file transfer method or history sent and received through the instance system.

[0343] Users can check the packages they use or develop (161) or the packages they have purchased (162) by selecting the user interface menu.

[0344]

[0345] FIG. 11 is a diagram illustrating another example of an interface of a platform according to an example of providing an application service disclosed.

[0346] This diagram illustrates the user interface menus that can be viewed when a client accesses a platform providing application services initiated by the client and selects their workspace.

[0347] The client can check and use the workspace (171) it created, the instance system (172) related to the workspace, the creation date for each workspace (173), the description information of the workspace (174), whether the workspace is activated (175), and the services (176) and packages (177) related to the workspace.

[0348]

[0349] The following describes an embodiment that provides an application capable of interoperability with different systems, when the application connects different systems. Software or applications developed through the workspace of the embodiment can be shared and used by multiple clients. If the client and partner use different systems, applications developed by the client (or partner) must be available on the partner's (or client's) system.

[0350] The instance system according to the embodiment can provide a framework for integrating these different systems, and the embodiment is disclosed as follows.

[0351]

[0352] FIG. 12 is a drawing disclosing an example of an application service providing device according to an embodiment providing a framework that can integrate different systems.

[0353] The application service providing device according to the embodiment may include a framework that provides applications executable on different systems. Therefore, this integrated framework can provide applications that enable users of different systems to connect with each other, making it efficient and ideal for providing EDI services, such as the ones exemplified above.

[0354] This diagram illustrates an integrated system architecture as a framework capable of integrating different systems. The integrated system architecture provided by the framework of the embodiment includes one or more route engines.

[0355] The route engine provides routes that connect endpoints, which are different systems, and processors, which are tasks performed between endpoints.

[0356] Routes can describe the interface between systems, and in this example, the route engine provides routes 1, 2, …, N.

[0357] A processor refers to data processing that must be performed between transmitting and receiving systems, i.e., endpoints. In this example, a router processor and a message filter processor are exemplified.

[0358] A component refers to an adapter of a transmitting and receiving system to be linked. In this example, the integrated system architecture provides an example of connecting different systems by providing a unified interface to endpoints using components such as files, JMS, and HTTP.

[0359] A component that gets or receives data from (or is called by) a component is called a consumer, and a component that calls, transmits, or retrieves data from a component is called a producer.

[0360] A message is data exchanged for system communication, and can include a body, header, and attachments.

[0361] An exchange is a container that holds messages exchanged between systems. It is an object that is created when the route flow begins and its life cycle lasts only until the flow ends.

[0362] This integrated system architecture allows for the creation of applications that can be used across different systems and developed as an integration package. An example of this is the integration package (1380) illustrated in the example above.

[0363] An integration package developed based on an integrated system architecture can provide an integration flow that can resolve integration requirements by linking with services or adapter packages provided by a platform according to an embodiment.

[0364] An integration package implements the necessary processes within the flow of the integrated system architecture and can provide scripts or Java programs capable of various data transformations.

[0365] Clients (or partners) can create integrated packages necessary for their service provision using the integrated system architecture exemplified above based on the platform according to the embodiment.

[0366] The platform according to the embodiment can also provide an environment in which a client (or partner) can very easily develop an integrated package that implements an integrated flow using graphical coding.

[0367]

[0368] Below, an environment in which an integration flow can be developed as an integration package provided by the integrated system architecture of the platform according to an embodiment is exemplified.

[0369] A platform according to an embodiment of a device providing application services can provide a graphic-based development environment using a library.

[0370] Clients (or partners) can use the examples to develop graphical integration flows, which can broadly include five functions.

[0371] Here, the five functions included in the integration flow are referred to as connectors, services, processors, control flows, and modifiers. These names are merely examples, and each function is described in detail below.

[0372]

[0373] Figure 13 shows an example of graphically coding connectors and services among integration flow functions when developing an integration flow based on an embodiment.

[0374] In this drawing (a), the connector may include a From graphic element indicating the start of a route in the integrated system architecture illustrated above.

[0375] A connector can include a To graphic element that defines external actions, such as calling a service or adapter, storing data, etc., when a flow developed in a development environment is implemented.

[0376] As illustrated in this drawing, an integration flow can be developed using a connector that can express the input / output (From / To) of a route in graphical coding in a graphical development environment provided by the embodiment.

[0377] To explain the connector in a little more detail, the connector can call specific data as a consumer (From Connector) and, as a producer, provide data processed through the flow to outside the integration flow (To Connector).

[0378] A consumer can be a direct caller that calls a route within an application package when an integration flow calls specific data (From Connector), or a timer that periodically calls data by a task scheduler.

[0379] There may also be other cases where the integration flow calls (From Connector) specific data, such as a channel that registers a route as a channel and starts a route when the channel is called, a message box that periodically checks for unprocessed messages and starts a route if there are any, or an FTP that checks if there are documents in the registered FTP service path and starts a route if there are documents.

[0380] These consumers can include options such as a Route ID within the unified package, Auto Start, which indicates whether the route should be started at package installation time, and Start Order, which indicates the start order of the corresponding routes upon package installation.

[0381] A producer represents the external output action (To connector) of a connector as a result of the execution of an integrated flow. Producer types include "direct," which refers to calling another direct route within the same application package, and "message box," which refers to saving a document in a message box. Additionally, there may be "channel," which refers to calling another channel within the workspace as a producer, or "FTP," which refers to transferring a document to a registered FTP service.

[0382] Therefore, as in the example of this drawing, an integration flow can be developed using a connector that includes the input / output (From connector / To connector) coding elements of the route with graphic coding.

[0383]

[0384] (b) of this drawing shows an example of graphically coding a service among the integration flow functions when developing an integration flow based on an embodiment.

[0385] An integration flow that can be developed graphically according to an embodiment can be coded based on a visual interface using service blocks.

[0386] In the example of this drawing, the service block may include a getNextControlNumber element, an isDuplicatedControlNumber element, a putUsingControlNumber element, a remoteCache element, etc., which are provided graphically.

[0387] The getNextControlNumber element means issuing a new control number, and the isDuplicatedControlNumber element is an element that checks whether the control number is duplicated.

[0388] In this drawing, you can define whether the control numbers are duplicated (True) or not (False).

[0389] Among the service blocks in developing an integrated flow, the putUsingControlNumber element stores the used control number in storage and uses it to check for duplication, and the remoteCache element exemplifies accessing the workspace's cache service.

[0390] Therefore, integration flows can be graphically coded using service blocks such as the example in this drawing.

[0391]

[0392] Figure 14 shows an example of graphically coding the processor, control flow, and modifier among the integration flow functions when developing an integration flow based on an embodiment.

[0393] An integration flow that can be developed graphically according to an embodiment can be coded based on a visual interface using processor blocks.

[0394] In example (a) of this drawing, the processor block may include a log element, a process element, an xslt element, a groovy element, and a delay element, which are provided graphically.

[0395] The log element leaves the necessary information in the package log when the flow is executed. The package log can be checked by the adapter that monitors the execution status of the package.

[0396] The process element allows you to perform custom processing by calling the method of a Bean registered in an uploaded Java (Jar) package item.

[0397] The xslt element allows you to select an XSLT package item to perform an XSLT transformation.

[0398] The groovy element allows you to call a script by selecting a Groovy package item.

[0399] The delay element can be used to delay the flow's route for a short period of time.

[0400] Therefore, integration flows can be graphically coded using processor blocks such as the example in this drawing.

[0401]

[0402] An integration flow that can be developed graphically according to an embodiment can be coded based on a visual interface using a control flow block.

[0403] In example (b) of this drawing, the Control flow block may include a split element, a for element, a while element, an xslt element, an If or Switch-Case element, and a Try-Catch element, which are provided graphically.

[0404] The split element records the necessary information during flow execution in the package log, which can be checked by the adapter that monitors the package execution status. The split element is a function that can split a single integrated document (Exchange) into multiple Exchanges for processing, and can support Delimiter, XPath, and Bean methods.

[0405] The for element is used when processing a message multiple times, and provides the ability to process it in a different way for each iteration.

[0406] The While element provides the ability to activate a while loop that loops until a Simple expression evaluates to false or null.

[0407] The If or Switch-Case elements provide the ability to route messages to the correct destination based on the content of the message exchange.

[0408] The Try-Catch element can support the same exception handling functionality as Java's Try-Catch.

[0409] Therefore, the integration flow can be graphically coded using the example control flow block.

[0410]

[0411] An integration flow that can be developed graphically according to an embodiment can be coded based on a visual interface using a modifier block.

[0412] In example (c) of this drawing, the modifier block may include a loadProperty element, a setProperty element, a setHeader element, a setBody element, a removerHeader element, and a removeProperty element, which are provided graphically.

[0413] The loadProperty element provides the ability to retrieve a settings node from a settings store and store it in an Exchange Property.

[0414] The setProperty element can provide the ability to assign a value to an Exchange Property.

[0415] The setHeader element can provide the ability to specify a value for an Exchange Message Header.

[0416] The setBody element can provide the ability to specify values ​​for the Exchange Message Body.

[0417] The removerHeader element can provide the ability to remove a value from an Exchange Message Header.

[0418] The removeProperty element can provide the ability to remove a value from an Exchange Property.

[0419] Integration flows can be graphically coded using the example modifier blocks.

[0420]

[0421] Below, an example is disclosed that can distinguish users such as clients and isolate each workspace according to the embodiment disclosed above.

[0422] If the software packages provided to clients using the workspace are identical and the same software image is run on each client, then all versions and types of software packages must be prepared and provided for each client.

[0423] However, according to the embodiments disclosed below, even if application services are provided using the same software package, resources can be used efficiently and isolated services can be provided for each workspace used by the client.

[0424] A detailed example is as follows:

[0425]

[0426] The above example discloses a channel through which clients or partners can send and receive relevant information based on a platform provided by the manager system.

[0427] Below, we present an embodiment that allows a client and partner, as described above, to exchange data while maintaining information security. The above example illustrates an example in which an agent within a client or partner and an agent adapter within a platform provided by an instance system exchange information.

[0428] Accessing a client or partner without installing an agent in this way can cause security issues on the client or partner's system. To avoid this issue, the client or partner can install an agent. Furthermore, the manager system can easily perform patches or upgrades using the agent installed in the client or partner.

[0429] Additionally, the agent adapter can perform protocol conversion or data conversion for data transmission and reception, thereby converting the channel transmitted from the agent or the protocol for data transmission and reception to facilitate communication.

[0430] Agents can manage connection information for installed clients or partner systems. In this case, agents can configure connection information for resource access on the client or partner system. For example, agents can configure databases, file systems, user information, resource access, or management information for the installed system. They can also poll information from the agent adapter according to set cycles or conditions.

[0431] Agent adapters within the platform provided by the instance system can be installed on the instance system as application packages. The agent adapter can be configured to collect or store information from registered agents installed on client or partner systems according to set cycles or conditions.

[0432] The coordinator of an instance system can establish a channel through which agents can connect. When a request is received from an agent on the established channel, the coordinator can map the channel and forward it to the agent adapter on the worker node.

[0433] When installed on a client or partner system, an agent may have various configuration information. For example, an agent application may have configuration information that includes agent-related configuration information, security key information related to agent execution, resource management configuration information, and user management information.

[0434] The platform of an instance system can provide a connection interface through which clients or partners can download and run agent applications.

[0435] Below we illustrate the user interface of an agent or agent adapter and describe an example of controlling it.

[0436]

[0437] FIG. 15 is a diagram illustrating an interface of an agent when an agent provided on a platform of an instance system according to an embodiment is executed.

[0438] A client or partner can run an agent application by installing the agent application provided by the platform of the instance system.

[0439] This diagram illustrates the agent's interface when the agent application is running and the agent is run by an administrator or user.

[0440] The client or partner's administrator can check the status menu (2115) that indicates the current status through the agent.

[0441] The administrator can check agent public key information, information for synchronizing agents and agent adapters, status messages in case of synchronization errors, etc. from the status menu (2115).

[0442] And the administrator can obtain information about whether the channel set in the agent adapter is connected to the resource, the connection time, and the connection status from the status menu (2115).

[0443] Client or partner administrators can use a menu (2120) to manage their own resources that can be managed via agents. In the example of this diagram, the resource management (2120) menu represents resources that can be included and managed in the client or partner system, such as databases, directories, SAP systems, or IBM MQ systems. Administrators can manage resources through the resource management (2120) menu and set location information, connection information, and connection paths for each resource.

[0444] Additionally, the client or partner administrator can manage agent users through the agent using the user management menu (2130). The administrator can manage agent users and set permissions for each user using the user management menu (2130).

[0445]

[0446] FIG. 16 is a drawing illustrating an example of an interface of an agent adapter provided on a platform of an instance system according to an embodiment.

[0447] Clients or partners can utilize the agent adapter provided by the instance system's platform. Clients or partners can register agents exemplified in the agent adapter provided by the instance system's platform.

[0448] This drawing illustrates an interface of an agent adapter, according to which a client (or partner) can register with the agent adapter an identifier (2210) of an agent installed on a partner (or client) system that can communicate with each other, a name of the agent (2220), a description (2230) that can describe the agent, etc.

[0449] The interface of the agent adapter may include a message box slot (2240) for storing documents or information received by the agent, and a message box slot (2250) for storing documents or information transmitted by the agent.

[0450] And the agent adapter interface may include agent public key (2290) information for agent authentication. Here, the hash value of the public key is exemplified as agent public key information.

[0451] The agent adapter interface includes a means (2295) for activating connection or synchronization with a registered agent as described above. This example discloses an example in which the agent adapter transmits and receives information with an agent through a button (2295) that is activated to synchronize with the agent.

[0452] As above, the agent adapter can register the agent's configuration information, and the agent's configuration information can be stored in the configuration storage of the worker node where the agent adapter is installed.

[0453] In this way, agent adapters can be used to register or modify agent configuration information installed on clients or partners. Agents configured through agent adapters can connect to resources on the system where they are installed and send and receive data with the instance system.

[0454] As explained, a transmission channel refers to a channel that periodically retrieves information from resources of a partner (or client) system and transmits it to the client (or partner) system. A reception channel refers to a channel that stores information received from the client (or partner) system in a set location and format on the partner (or client) system.

[0455] Therefore, setting up a transmission channel here means setting up information or documents to be retrieved from an agent installed on the client or partner's system and stored in a message box.

[0456] And the setting of the receiving channel means the setting of storing information or documents received by the agent adapter through the channel setting in a certain location of the client or partner's system.

[0457] Below, examples of channel configuration are detailed. Agent adapters can control the transmission and reception of information or documents through channel configuration.

[0458]

[0459] FIG. 17 is a diagram illustrating another example of an interface of an agent adapter provided on a platform of an instance system according to an embodiment.

[0460] The channel types configured for agent adapters installed on nodes of an instance system can vary, and different settings can be configured for transmit and receive channels in the agent adapter. The channel type configured for each adapter can be the same as the type of resource managed by the agent.

[0461] This diagram illustrates the resources managed by an agent. In the example shown, the agent manages a database, a directory, an SAP system (SAP JCO) within the system on which it is installed, and an IBM system (IBM MQ) within that system.

[0462] In this case, the agent adapter can set the channel type to JDBC (Java Database Connectivity) (2310), a Java API that can connect to the database, for the database, and can set the channel type to FILE (2320) that can be sent and received to the directory.

[0463] Here, the agent adapter can set the Java Connector (JCO) (2330) as the channel type for the SAP system, and the Message Queue (MQ) (2340), which is a network software, as the channel type for the IBM system.

[0464] Here, we have used SAP and IBM systems as examples, and even if the client or partner system includes other systems, you can set the channel type related to that system.

[0465]

[0466] FIG. 18 is a diagram showing an example of an agent adapter of a platform of an instance system according to an embodiment setting up a transmission and reception channel.

[0467] This example illustrates setting up a transmit channel (top) and setting up a receive channel (bottom) that the agent adapter transmits.

[0468] In this example, when setting up a transmission channel (top), it is assumed that the agent ID of the agent that the agent adapter transmits to is test-agent, the channel ID is file-send, the adapter type is file (FILE), the transmission direction (Direction) is send (SEND), and the adapter version (adapter version) is 1.0.

[0469] Agent adapters can set the polling schedule in seconds or cron, and can set the channel depending on the adapter type.

[0470] The illustrated example can set source information (2410), which is the location information of a file for a transmission channel. Here, a directory name (file-send), a file name or extension (*.txt), a file encoding type (UTP-8), etc. can be set as the source information (2410).

[0471] And after transmitting information through a transmission channel, processing mode (2420), time information for checking whether there is any change on the set channel (modification check wait millis), and maximum file size information (2430) can be set.

[0472] In this example, when setting up a receiving channel (bottom), the agent ID of the agent receiving from the agent adapter is assumed to be test-agent, the channel ID is assumed to be file-recv, the adapter type is assumed to be file (FILE), the transfer direction is assumed to be transfer (RECV), and the adapter version is assumed to be 1.0.

[0473] This example illustrates that the location information (file-recv), file name or extension (*.txt), file encoding type (UTP-8), etc. (2450) of the file to be received through the receiving channel can be set.

[0474]

[0475] FIG. 19 discloses an example of transmitting EDI data, which is transaction information, using a platform of an instance system according to an embodiment.

[0476] The agent adapter (1350) provided by the instance system according to the embodiment can exchange information with the system of the agent (350) installed on the client or partner. In this case, the information exchanged can be stored in the message box (2110) of the manager system that provides and manages the instance system.

[0477] An agent adapter (1350) installed on a worker node of an instance system according to an embodiment may include an agent control unit (1351), a transmission / reception setting unit (1352), and a transmission / reception processing unit (1353).

[0478] Meanwhile, an agent (350) installed in a client or partner system may include an agent control processing unit (351), a transmission / reception setting processing unit (353), and a transmission / reception unit (357).

[0479] In general, since the agent adapter (1350) is a software package, the agent control unit (1351), the transmission / reception setting unit (1352), and the transmission / reception processing unit (1353) can each be logical components of the software. Similarly, since the agent (350) is also a software package, the agent control processing unit (351), the transmission / reception setting processing unit (353), and the transmission / reception unit (357) can each be logical components of the software.

[0480] To transmit and receive data from client or partner systems as transaction data, such as EDI data, clients or partners can install agents to communicate information with internal systems. This example illustrates a situation where the client or partner system includes internal systems such as an SAP ERP system, a database such as an RDBMS, or an IBM system's message queue.

[0481] The agent control unit (1351) can control an agent (350) installed in a client or partner system. For example, the agent control unit (1351) can start, terminate, or update an agent (350). In this case, if the agent control unit (1351) does not directly request and control the agent (350) but only updates the request information to control the agent (350), the agent control processing unit (351) of the agent (350) can retrieve the updated request information according to a set cycle and perform agent control according to the request information.

[0482] The transmission / reception setting unit (1352) of the agent adapter (1350) can change and set the transmission / reception processing information of the agent (350). In this case, the transmission / reception processing information to be changed can be stored in the transmission / reception setting unit (1352) without being transmitted to the agent (350).

[0483] Then, the transmission / reception setting processing unit (353) of the agent (350) can periodically retrieve the transmission / reception processing information changed by the transmission / reception setting unit (1352) of the agent adapter (1350) and save the transmission / reception processing information as a file. The stored transmission / reception processing information is valid only while the agent (350) is running. If the agent (350) is restarted, the agent (350) can retrieve new transmission / reception processing information from the agent adapter (1350) and process it again. Therefore, the agent adapter (1350) can remotely set and control the transmission / reception operation of the agent (350).

[0484] The transmission / reception unit (357) of the agent (350) can use the transmission / reception processing information stored as a file to retrieve information from an internal system (here, SAP ERP system, RDBMS database, message queue message queue) and transmit it to the transmission / reception processing unit (1353) of the agent adapter (1350), or change and store information received from the transmission / reception processing unit (1353) of the agent adapter (1350) in the internal system.

[0485] Meanwhile, the transmission / reception processing unit (1353) stores the system information transmitted by the transmission / reception unit (357) of the agent (350) in the message box (2110) within the manager system, or causes the transmission / reception unit (357) of the agent (350) to receive various pieces of information set in the agent adapter (1350) and stores the information in the message box (2110).

[0486] In this way, a platform according to an instance system can install an agent on a client or partner system and enable the installed agent and the agent adapter of the platform to communicate, thereby stably communicating the system data of the client or partner.

[0487] Additionally, agents communicate with agent adapters through authentication, and agent adapters can remotely configure settings for agent data transmission and reception. This minimizes the need for agent adapters to directly configure actions or information on agents, making configuration management safe and easy.

[0488]

[0489] FIG. 20 is a diagram disclosing an embodiment of running an adapter in a workspace according to an embodiment.

[0490] To facilitate the development of adapter packages, the present invention provides an easy construction method for various standard link protocols and aims to provide an app store (1510) for exchanging adapter packages among developers.

[0491] Here, the app store (1510) may include an adapter package sales unit (1501) and an adapter package purchase unit (1502). The app store (1510) may refer to the above-described embodiment and may represent a platform where developers can upload adapter packages and users can purchase and download adapter packages. This will be described later. In one embodiment, a developer must obtain approval from an administrator to sell an adapter package through the app store (1510).

[0492] As described above, the client (here, the client may include both developers and users, 100) can create, execute, and modify various packages in the workspace (1500, 3000). In particular, the client (100) can execute an adapter package in the workspace (1500, 3000). An example of executing an adapter package is as described above.

[0493] In one embodiment, a developer can develop an adapter in the application service manager and run the adapter in a workspace (1500, 3000) to test the developed adapter. At this time, the adapter package is installed in the workspace (1500, 3000) as a unit, and the program (program code and related settings) included in the installed adapter package can be run on the workspace (1500, 3000).

[0494] In one embodiment, when running an adapter, it may interact with the platform described above to resolve the requirement. That is, the platform depicted in the drawing may be provided through the application service manager described above, and is not a concept included in the workspace (1500, 3000).

[0495] The services provided by the platform can support the following functions:

[0496] The Message Box service represents a service that retrieves and stores sent and received documents.

[0497] Communication Protocol Access Services represent services for accessing external communication protocols. For example, these represent services for HTTP / HTTPS and FTP access.

[0498] The configuration repository service represents a service that stores and retrieves the configuration required for the adapter to run.

[0499] This has the advantage that platform service providers can expect additional revenue and diffusion effects by providing an app store for buying and selling adapters and a workspace (1500, 3000) for developing and running adapters.

[0500] Additionally, users can build various standard linkage protocols through the process of purchasing, installing, configuring, and running the created adapter, and from the perspective of adapter developers, there is an advantage in that they can generate revenue by developing and selling adapters.

[0501]

[0502]

[0503] *380 degrees 21 is a drawing disclosing an example of an adapter package.

[0504] A package is a bundle of programs (code files or configuration files) that are installed and run in a workspace. It includes adapter packages, integration packages, and resource packages. Integration packages and resource packages are described above.

[0505] An adapter package represents a package that supports the use of various protocols and platform-specific services for integration. Typically, adapter packages are configured web-based using platform-specific services, and the configured information (channels) can be used in the integration package. This is described above.

[0506] In one embodiment, the adapter package may include the following adapters, which allow for addressing a wide variety of requirements through the adapter package described below.

[0507] The first adapter package (1520a) may include a protocol adapter. Here, the protocol adapter includes a standard protocol communication adapter such as EDIINT, OFTP, etc.

[0508] The second adapter package (1520b) may include a mapping / conversion program adapter. Here, the mapping / conversion program adapter represents an adapter that provides for easy mapping and conversion operations.

[0509] The third adapter package (1520c) may include a web scraping adapter. Here, the web scraping adapter represents an adapter for scraping functionality in a web service that is provided only as a web service and not through standard communication.

[0510] The fourth adapter package (1520d) may include a development wizard adapter. Here, the development wizard adapter represents an adapter that generates a linked flow (program flow) of specific patterns in a wizard-like manner.

[0511] Of course, the adapter package may include other adapters developed by developers through the workspace in addition to the adapters described above.

[0512]

[0513]

[0514] FIG. 22 is a drawing disclosing an example of an adapter using a framework according to an embodiment.

[0515] The Core can provide the following services, corresponding to the framework described above.

[0516] (1) Configuration Repository: This can store and manage configuration information. This allows the system to store configuration data and provide access to necessary configuration information.

[0517] (2) Distributed Task Service: This service can process and manage tasks in a distributed environment. This allows for task distribution and status tracking across multiple nodes or systems.

[0518] (3) Channel Registry: This registry can handle the registration and management of communication channels. Through this, channels can be registered and used for communication between different systems or packages.

[0519] (4) Message Box Service: Supports message-based communication. This provides functions such as message transmission, reception, storage, and routing, enabling asynchronous communication between various systems.

[0520] (5) File Watch System: A system that processes file changes and monitoring, and can monitor changes in the file system and perform necessary tasks.

[0521] The adapter of the present invention can use the API to utilize the framework. That is, the adapter can utilize the core services through the API.

[0522]

[0523] The API can provide the following services:

[0524] (1) Configuration Service: A service interface that provides access to configuration settings and can support viewing, modifying, deleting, etc. configuration data.

[0525] (2) Task Service: This is a service interface for using functions related to task processing, and can provide task management functions such as task creation, status inquiry, and result return.

[0526] (3) Channel Access Service: A service interface that provides access to communication channels, and can provide functions such as channel creation, message transmission, and reception.

[0527] (4) Message Box Access Service: A service interface that provides access to the message box and can provide functions such as creating, sending, receiving, and deleting messages.

[0528] (5) User Class: A class registered in the registry using the API and can be referenced by web services or other classes.

[0529] (6) File Watcher: An interface that handles file monitoring, can handle file change events, and perform necessary tasks.

[0530]

[0531] A user implement can provide the following services:

[0532] (1) Web Service: This is the implementation code used by users to develop web-based services, and the settings required for the adapter to run can be provided through a web interface.

[0533] (2) User Classes: User-defined classes that developers write to implement their own logic. They can implement specific domain or business logic by utilizing the functions of the Core or API.

[0534] (3) File Watcher Implementation: This is the implementation code that handles file monitoring. It can interact with the File Watch System to handle file change events and perform necessary tasks.

[0535]

[0536] FIG. 23 is a drawing disclosing an example of a service provided by an adapter package according to an embodiment.

[0537] The Application Context is a component included in the framework and can contain service APIs for developing adapter packages. For example, the service APIs can include WorkspaceIdentity, MessageAccessService, MessageSlotInfoService, ConfigurationService, TaskService, ChannelAccessService, and FileAccessService.

[0538] In one embodiment, the developer of an adapter package can specify a method to be executed according to the adapter package's life cycle. The developer can use annotations related to the life cycle. For example, a specific method can be specified to be executed when the package starts or ends. This will be described later.

[0539] Additionally, services registered in the Application Context can interact with user classes registered as beans. For example, user implementation classes registered as beans may include FileWatcher, TaskImple, ChannelProcessorImple, and other user-defined classes. These classes implement specific functions or business logic of the application and are registered as beans in the application context so that they can be used by other components. This allows the framework to manage instances of user classes and create and use objects required by the application.

[0540] In one embodiment, the Application Context registers a user component as a bean so that it can be referenced in a web service (e.g., Rest, Servlet). In one embodiment, when referencing a user component in a web service, the reference is made directly through the Application Context. The method is as follows.

[0541] Method:

[0542] - T getInstacne(Class <t>type): Returns services and objects registered in the Application Context

[0543] - WorkspaceIdentity getWorkspaceId(): See WorkspaceIdentity

[0544] - String getPackageId(): Returns the package ID value

[0545] At this time, Rest API can be implemented through JAX-RS API. To do this, register REST service with @RestService Annotation and access it with / pkg / {workspace_install_path} / {package_install_path} / rest / {path).

[0546] Additionally, the Servlet API can be implemented through the javax.servlet API.

[0547] To do this, register a Servlet with @Servlet("Servlet pattern") and access it with pkg / {workspace_install_path} / {package_install_path} / {Servlet pattern}.

[0548]

[0549] The description of WorkspaceIdentity is as follows. WorkspaceIdentity contains information about the workspace to which the adapter package belongs and can generate tickets. WorkspaceIdentity corresponds to a class used for workspace authentication when the adapter package uses the Cloud EDI service. WorkspaceIdentity is required when using the API provided by the Cloud EDI platform. Here's how.

[0550] Method:

[0551] - getId(): Returns the unique ID of the workspace to which the package belongs.

[0552] - getTicket(): Returns a ticket that can authenticate the workspace to which the package belongs.

[0553]

[0554] *430

[0555] The following describes TaskService. TaskService can provide functionality related to distributed task scheduling. TaskService can register tasks in a distributed environment and schedule them for periodic execution. Tasks registered by the distributed task service can be executed at a specified time or based on an event.

[0556] In other words, TaskService can be used in adapter packages to register and cancel specific tasks with the distributed scheduler. Users can implement the Task interface, and the distributed scheduler can support Cron and Secondary methods. The methods are as follows.

[0557] Method:

[0558] - register(TaskConfig config, Task task): Register a task to the distributed scheduler.

[0559] - return: task unique ID)

[0560] - unregister(String taskId): Unregister a task with a unique ID from the distributed scheduler.

[0561]

[0562] The MessageBoxAccessService is described below. MessageBoxAccessService accesses EDI message boxes to enable document transmission and reception. For example, it can access cloud-based message boxes to transmit data and process received data. Here, MessageBox represents an API that accesses the message box repository to store, retrieve, or delete documents. The method is as follows:

[0563] Method:

[0564] - send(): Save the document to MessageBox

[0565] - queryPendingMessageList(): Returns a list of message records (message headers) in the transmission waiting state (TBDL, WAIT) in the given slot / path name.

[0566] - receivePayload(): returns the message body

[0567] - updateMessageStatus(): Change message status

[0568] - deleteMessage(): Delete message

[0569]

[0570] The description of MessageSlotInfoService is as follows. MessageSlotInfoService corresponds to a service that contains slot information for message boxes. The method is as follows.

[0571] Method:

[0572] - getSlotId(String workspaceId, String pathname): Returns the message slot ID corresponding to the workspace ID and path name.

[0573] - getMessageBoxId(String slotId): Returns the message box ID to which the message slot belongs.

[0574] - getSlotMap(String workspaceId): Returns a list of message slots accessible in the workspace.

[0575]

[0576] The following describes ConfigurationService. ConfigurationService corresponds to a service that accesses the Config Repository to retrieve, modify, and delete configuration information. This allows for managing configuration data and accessing necessary configuration information. ConfigurationService represents an API that allows a package to directly access the Config Repository, read, modify, or delete its configuration. The method is as follows:

[0577] Method:

[0578] - list(WorkspaceIdentity, String packageId, String nodePath): A method for providing a web service that retrieves a list of node paths in the requested path of a specific workspace and package, and retrieves the configuration information required for the configuration screen UI in Web Admin.

[0579] At this time, it is recommended to use FsWatchSystem to apply the setting values ​​in the adapter package.

[0580] - create(WorkspaceIdentity, String packageId, ConfigNode node): Create a configuration node

[0581] - update(WorkspaceIdentity, String packageId, ConfigNode node): Changes the configuration node.

[0582] - remove(WorkspaceIdentity, String packageId, ConfigNode node): Deletes the configuration node.

[0583]

[0584] The FileWatchSystem is described below. FileWatchSystem can monitor file changes in a given path or directory and provide functionality to perform necessary actions. More specifically, FileWatchSystem periodically monitors directories in registered paths, detects file creation, modification, and deletion, and can interface with them through registered FsWatcher instances. Here, FsWatcher instances can implement actions to be taken when file changes are detected within the path. For example, the method is as follows:

[0585] Method:

[0586] - init(Set <file>fset, String path): When FsWatcher is first registered, it passes the file set in the path registered as a parameter.

[0587] - process(FsEvent): Returns the file where the change was detected and the event type.

[0588]

[0589] The FileAccessService is described below. FileAccessService can be used to access files by accessing an FTP server within Cloud EDI or an external FTP server. The method is as follows:

[0590] Method:

[0591] - put(String workspaceId, String serviceName, String folderPath, String filename, byte[] body): Transfers a file to the FTP service path with the ServiceNamed registered in the workspace.

[0592] - get(String workspaceId, String serviceName, String folderPath, String filename): Receive a file in the FTP service path with ServiceNamed registered in the workspace.

[0593] - list(String workspaceId, String serviceName, String folderPath, String pattern): Retrieves a list of files matching the GLOB pattern among the files in the target path.

[0594] - delete(String workspaceId, String serviceName, String folderPath, String filename): Deletes the file in the target path.

[0595]

[0596] ChannelAccessService is a component that provides distributed channel access services in response to channel requests. A specific process can subscribe to a channel and process messages or events received from it. This allows data to be transmitted through the channel and received and processed. The method is as follows.

[0597] Method:

[0598] - create(String channelId, String channelName): Pre-create a channel in the workspace.

[0599] - subscribe(ChannelProcessor processor): Register an interface to process channels as the default channel of the package.

[0600] - Subscribe(String channelId,ChannelProcessor processor): Register a channel with a specific channel ID.

[0601] - unsubscribe(): Unregister the package from the default channel.

[0602] - unsubscribe(String channelId): Unsubscribe from a specific channel

[0603] - call(ChannelRequest request): Call a specific channel

[0604]

[0605] FIG. 24 is a drawing disclosing an example of an adapter developed in a workspace according to an embodiment.

[0606] Through the above-described embodiment, a developer can develop a first adapter package (324) that performs the role of a router. Here, the adapter included in the first adapter package (324) corresponds to a service that facilitates routing through settings.

[0607] According to an embodiment, a client (310) can provide an application service, such as the example disclosed, to a desired partner (320). The embodiment can not only provide a service from the client (310), but also enable the client (310) to directly provide a customized service to a desired partner (320) using the embodiment.

[0608] This drawing illustrates an embodiment of providing an EDI service using the first adapter package (324) described above. For a client (310) to transact with a partner (320), the embodiment may provide a coordinator (1100) and worker nodes (1300a, 1300b) included in an instance system. Here, the first worker node (1300a) and the second worker node (1300b) correspond to the same or different nodes.

[0609] In one embodiment, the adapter package (311) with which the client (310) communicates has a first agent (312) installed, and EDI information, which is information required for a transaction, can be requested through the first agent (312). Here, the EDI information corresponds to the original EDI message (313).

[0610] The first agent (312) with which the client (310) communicates transmits the received requested EDI information to the message box service (2110). In one embodiment, the message box service (2110) may be provided by an application service manager.

[0611] The message box service (2110) can store EDI information received from the first agent (312) in the client inbox (2111).

[0612] Thereafter, the EDI information may be transmitted to the first adapter package (324) running on the first worker node (1300a) within the instance system. Here, the first adapter package (324) may perform the role of a router as described above.

[0613] In one embodiment, the first adapter package (324) may store EDI information including the Original EDI Message (313) in the first partner outbox within the message box service (2110) based on information received from the coordinator (1100). In addition, the first adapter package may transmit the EDI information including the Original EDI Message (313) to the integration package (1380) of the second worker node (1300b) based on information received from the coordinator (1100). At this time, the first adapter package may refer to the distributed scheduler of the coordinator (1100) and lookup the adapter channel registry.

[0614] The integrated package (1380) can convert EDI information received through the above-described embodiment. At this time, the integrated package (1380) can subscribe to the adapter channel registry. Here, the subscription refers to the process of registering (subscribing to) the "distributed channel name" to be called when a specific flow or logic of the integrated package is called from the router package. For example, the router package of node #1 can call the coordinator (1100) by looking up which node the corresponding channel is on.

[0615] Accordingly, the second worker node (1300b) including the integrated package (1380) can store EDI information including the Transformed EDI Message (314) in the second partner outbox of the message box service (2110).

[0616] Thereafter, the message box service (2110) can transmit EDI information including the Original EDI Message (313) stored in the first partner outbox to the first partner (322) of the adapter package (321) communicating with the partner (320). In addition, the message box service (2110) can transmit EDI information including the Transformed EDI Message (314) stored in the second partner outbox to the second partner (323) of the adapter package (321) communicating with the partner (320). Here, the first partner (322) and the second partner (323) correspond to the trading partners of the customer company. This is because the customer company (client) can exchange documents with multiple partners.

[0617] As a result, the partner (320) can receive the EDI information transmitted by the client (310) as standardized EDI conversion data. When the partner (320) transmits its own EDI information to the client (310), the data can be transmitted according to a similar process.

[0618] Accordingly, clients (310) and partners (320) can easily use application services such as EDI services according to the disclosed embodiments, and can easily conduct transactions according to the standardized format even if they do not know the standardized format or do not accurately understand the documents and information requested by the transaction counterparty.

[0619] Additionally, clients (310) or partners (320) can develop or utilize adapter packages such as the above in their workspaces and link them to the integrated package (1380). The embodiment provides a simple interface for developing such packages and linking them to existing packages, and the developed packages can also be sold, shared, or provided separately.

[0620]

[0621] FIG. 25 is a drawing disclosing an example of an application service providing device converting a data format according to an embodiment.

[0622] In the illustrated example, the application service providing device (300) may include an instance system (not shown) and a manager system (not shown). The instance system may include a worker node (e.g., Node #N) on which an agent adapter (1350) and a mapping adapter (1370) are installed, and may provide application services to a client (100) and a partner (200).

[0623] The manager system (not shown) may include an application service manager (2100), and the application service manager (2100) may obtain data collected from the agent (350) of the client (100) and the agent (450) of the partner (200) from the agent adapter (1350) installed in the worker node. The mapping adapter (1370) may unmarshall the source document data of the client (100) and output it as target document data mapped with information required by the partner (200).

[0624] Accordingly, the application service providing device (300) according to an embodiment of the present invention may include an agent adapter (1350), a mapping adapter (1370), and an application service manager (2100).

[0625] The agent adapter (1350) may include a transceiver (810). The transceiver (810) may receive source document data from the agent (350) of the client (100). For example, the source document data may be expressed as text data. In one embodiment, the source document data received from the agent (350) may be stored in a message box (2110) included in the application service manager (2100).

[0626] The mapping adapter (1370) may include a deserialization unit (820), a mapping unit (830), and a serialization unit (840). In this case, the deserialization unit (820) may convert source document data having a first data format into source structure data based on a pre-stored source schema. The mapping unit (830) may convert source structure data into target structure data based on at least one of a pre-stored source schema, a pre-stored mapping script, or a pre-stored target schema. The serialization unit (840) may convert target structure data into target document data having a second data format based on a pre-stored target schema. In one embodiment, the converted target document data may be stored in a message box (2110).

[0627] In one embodiment, at least one of the source schema, the mapping script, or the target schema may be generated based on user input of the client (100) or partner (200) to a graphical user interface (GUI) of the platform of the instance system (1000) provided to the client (100) or partner (200), and may be received via the agent adapter (1350) and pre-stored in the message box (2110).

[0628] The agent adapter (1350) can receive target document data having a second data format converted from source document data having a first data format from a message box (2110) and transmit it to the agent (450) of the partner (200).

[0629]

[0630] FIG. 26 is a diagram showing an example of an application service providing device according to an embodiment converting a data format using a schema and a mapping script.

[0631] The deserialization unit (820) can convert source document data having a first data format into source structure data based on a pre-stored source schema. In one embodiment, the first data format may include at least one of the first data format or the first data structure.

[0632] The deserialization unit (820) can convert source document data (e.g., text) into source structure data (i.e., internal structure) in the opposite direction of serialization. In other words, the deserialization unit (820) can parse source structure data from source document data.

[0633] That is, the deserialization unit (820) can perform deserialization (parsing) to create an internal data structure that can map the source document data (i.e., original data) based on the structure information and annotation information of the source schema for the source document data.

[0634] The mapping unit (830) may convert source structure data into target structure data based on at least one of a pre-stored source schema, a pre-stored mapping script, or a pre-stored target schema. In one embodiment, the mapping script may include at least one of statement information representing the grammar of a programming language or expression information representing a specific result value.

[0635] In one embodiment, the mapping unit (830) may perform mapping to convert source structure data into target structure data using structure information including the structure (tree) and name (Identifier) ​​of the source document data.

[0636] In one embodiment, at least one of a source schema, a mapping script, or a target schema may be included and stored in a mapping program. The mapping unit (830) may convert source structure data into target structure data based on the mapping program. In this case, the annotation information of the source schema and the target schema is used only for serialization and deserialization, and is not used in the mapping program. This is because the mapping based on the mapping script is intended to focus only on mapping data between schema nodes of the source schema and the target schema.

[0637] That is, according to the present invention, by intentionally separating the roles of the mapping script and the annotation information of the schema (SoC - Separation of Concerns), the mapping script is used only for mapping regardless of serialization and deserialization, and the annotation information of the schema is used only for serialization and deserialization, thereby effectively supporting domain-specific language (DSL)-based mapping.

[0638] Additionally, according to the present invention, serialization and deserialization are performed to convert a data format (i.e., at least one of a data format or a data structure), and mapping can be performed to convert source structure data into target structure data regardless of the conversion of the data format.

[0639] The serialization unit (840) can convert target structure data into target document data having a second data format based on a pre-stored target schema. In one embodiment, the second data format may include at least one of the second data format or the second data structure. That is, for example, the target document data may have a different data format from the source document data. Furthermore, for another example, the target document data may have the same data format as the source document data but a different data structure.

[0640] Specifically, the serialization unit (840) can perform serialization to convert target structure data into target document data (e.g., text) having a second data format based on structure information and annotation information of a pre-stored target schema.

[0641] For example, the serialization unit (840) can convert target structure data contained in an internal program language variable into target document data such as EDI, XML, or JSON.

[0642] Therefore, according to the present invention, a domain specific language (DSL) can be used to define a schema for serializing / deserializing documents of various data formats by utilizing annotation information.

[0643] In addition, according to the present invention, a self-mapping script language capable of solving various mapping requirements with a relatively simple programming language grammar can be provided.

[0644] In addition, according to the present invention, a unified schema definition grammar can be provided for documents of various data formats.

[0645] In addition, according to the present invention, it is possible to provide a function that can create simple to complex mappings through a relatively simple mapping script language and Lua custom function functions.

[0646] In addition, according to the present invention, by providing these functions as DSL, it is possible to easily develop functions.

[0647]

[0648] Figure 27 is a diagram disclosing an example of deserialization and serialization based on a schema according to an embodiment.

[0649] In one embodiment, deserialization, which converts document data into structured data, may be performed based on a schema for the document data. For example, the document data may include various types of document data, such as EDI documents, XML documents, and JSON documents. In this case, deserialization may be referred to as unmarshaling or a term with an equivalent technical meaning. In one embodiment, the document data for deserialization may include source document data, and the structured data may include source structured data.

[0650] In one embodiment, serialization, which converts structured data into document data, may be performed based on a schema for the document data. In this case, serialization may be referred to as marshaling or a term with an equivalent technical meaning. In one embodiment, the structured data for serialization may include target structured data, and the document data may include target document data.

[0651] In one embodiment, a schema may include at least one of structural information or annotation information regarding document data. The structural information represents the structure of the document data and may include data defined by a data type. For example, the data type may include at least one of Primitive, Record, Array, or TypeRef.

[0652] Primitives can specify primitive types such as string, int, long, double, and decimal. For example, String represents a string data type, and Int represents an integer data type. Record can have other subtypes and can be composed of a collection of data of different types. Array can be defined as an array of specific types and can be composed of a collection of data of the same type. TypeRef can be retrieved by referencing an already defined Record.

[0653] In one embodiment, the annotation information may correspond to a data type and include information used when recognizing (parsing, deserializing) the data from the document data. For example, @XmlElement(name=”” may represent an annotation, and the XmlElement described after @ may represent the name of the annotation and include an element named name, the value of which may be “employee”.

[0654] Also, for example, if the @JsonProperty(name="" annotation information is included in the schema, employee-id instead of id may be displayed in the box display of the JSON document according to the annotation information during marshaling. On the other hand, if the @JsonProperty(name="" annotation information is not included in the schema, id may be written in the box display of the JSON document according to the int id; structural information of the schema during marshaling. In one embodiment, such a schema may be defined as Backus-Naur Form (BNF), which is a grammar expression that can define the syntax of a programming language.

[0655]

[0656] Figure 28 is a drawing disclosing an example of a mapping script according to an embodiment.

[0657] A mapping script may be used to transform source structure data into target structure data in the form of a target schema. In one embodiment, the mapping script may include at least one of sentence information representing the grammar of a programming language or expression information representing a specific result value.

[0658] Here, sentence information can represent each line of the programming language of the mapping script. That is, the mapping script can be composed of sentence information. In one embodiment, the sentence information can represent a correspondence between the structural information of the source schema and the structural information of the target schema.

[0659] For example, sentence information may include MapStmt, LoopStmt, IfStmt, MatchStmt, LoopVarSetStmt, and LoopVarIncStmt, but is not limited thereto and may include various sentence information. In this case, MapStmt may include sentence information that performs mapping. LoopStmt may include sentence information that represents a loop statement and may perform a function similar to a for statement in a general programming language. IfStmt may include sentence information that represents a conditional statement and may perform a function similar to an if statement in a general programming language. MatchStmt may include sentence information that represents a conditional control statement and may perform a function similar to a switch statement in a general programming language. LoopVarSetStmt may declare a variable to be used within the Loop. LoopVarIncStmt may include sentence information that increments a specific variable (e.g., LoopVar).

[0660] Additionally, expression information can specify where to get the value to use, and can represent an expression that is converted to a single value through evaluation. For example, expression information can include, but is not limited to, Constant, Path, Custom Function, and LoopVar, and can include various expression information. In this case, Constant can be represented by directly specifying a string or number. Path can represent a specific path of the source. Custom Function can represent a function created by the user. LoopVar represents a variable of a Loop iteration statement, and can represent a LoopVar such as #i, for example.

[0661] In one embodiment, a mapping script may be included in a mapping program. In one embodiment, such a mapping script may be defined in BNF, which is a grammar expression that can define the syntax of a programming language.

[0662]

[0663] Below, an embodiment is disclosed in which a client or partner can develop a required application based on an application package downloaded from a workspace.

[0664] Clients or partners can access their own workspace on the platform of the instance system and develop applications necessary for various tasks or transactions based on the graphical user interface (GUI) provided by the platform.

[0665] For example, if a client develops an application that delivers EDI information as a service, the client can develop a mapping program that maps standardized transaction information with its partners and provide information to them based on this program. Alternatively, the client can sell the developed mapping program itself on the Manager System platform.

[0666] While this example illustrates a mapping program, clients or partners may require different information or document mappings depending on the type of business they operate, the nature of their transactions, etc. Here, mapping refers to the process of converting data (source) with schema A into data (target) with schema B. The schema represents the data structure, with nodes with different names forming a hierarchical structure.

[0667] Because these types of businesses are so diverse, the examples herein disclose examples that make it very easy for users to develop mapping programs that can map EDI information.

[0668] The platform according to the embodiment can provide an environment and interface for developing a mapping program, which are disclosed in detail as follows.

[0669]

[0670] FIG. 29 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0671] The user interface for developing the mapping flow of the present invention may include a development tool palette (901) and a development GUI code area (902).

[0672] Here, the development tool palette (901) may include graphic blocks corresponding to the structure and functions of the language used in the mapping program. That is, the development tool palette (901) may include a list of all keywords used in the mapping program. For example, the development tool palette (901) may include graphic blocks corresponding to control structures and functions such as “Statements”, “MAP”, “If”, “Then”, “Loop for”, “LoopVar”, “LoopVar++”, and “Match” used in the mapping program. However, the functions included in this drawing are only examples, and it is to be understood that other functions may be included.

[0673] In one embodiment, the method for providing an application service may provide a user interface including a development tool palette (901) and a development GUI code area (902). Within the user interface, a user may select a graphic block included in the development tool palette (901) and then drag and drop it into the development GUI code area (902).

[0674] For example, if the user interface receives an input signal (903a) from the user to select a graphic block of a first function (e.g., a “Statements” block) and then drag and drop it into the development GUI code area, the graphic block of the first function can be output from the development GUI code area (902). At this time, the drag and drop input signal is only an example and may include other preset input signals received from the user.

[0675] Here, the "Statements" block must be the top-level block of the mapping program, as it is a block that sequentially contains other blocks. That is, the "Statements" block corresponds to the block that contains the beginning and the end of the mapping program.

[0676] Thereafter, when the user interface receives an input signal (903b) for selecting a graphic block of a second function (e.g., a “LoopVar” block) from the user and then dragging and dropping it into the development GUI code area (902), the graphic block of the second function can be output from the development GUI code area (902). At this time, the development GUI code area (902) can be configured to automatically include the second function within the first function.

[0677] In addition, the development GUI code area can output the input box of the parameter included in the graphic block of the second function as it is. Referring to the "LoopVar" block described above, the "LoopVar" block in the development tool palette is a block that declares a loop variable to be used in the "Loop for" block, and the "variable name" and "initial value" must be set. Accordingly, since the "LoopVar" block has two input boxes for the parameter (variable name, initial value), the development GUI code area can also output the parameter input box as it is while outputting the "LoopVar" block.

[0678] Afterwards, the user can directly input parameters into the input fields of the parameters of the "LoopVar" block. For example, the user can input the variable name as "k" and the initial value as "1" in the "LoopVar" block. Accordingly, the development code can declare a loop variable called k in the loop and assign 1 as the initial value.

[0679] Thereafter, when the user interface receives an input signal (not shown) from the user to select a graphic block of a third function (e.g., a “Loop for” block) and then drag and drop it into the development GUI code area (902), the graphic block of the third function can be output from the development GUI code area (902). At this time, the development GUI code area (902) can be configured to automatically include the third function within the first function, following the second function.

[0680] In this way, the user interface for developing the mapping flow of the present invention can provide visual assistance to the user in forming a code structure in the development GUI code area (902) using graphic blocks included in the development tool palette (901). This has the advantage of allowing the user to define a mapping program relatively easily even if he or she is not familiar with development scripts.

[0681]

[0682] FIG. 30 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0683] The user interface for developing the mapping flow of the present invention can provide development source code (905) corresponding to the development GUI code area (902).

[0684] More specifically, the application service providing method can output source codes corresponding to functions output in the development GUI code area (902) on the development source code area (904). That is, referring to the above-described embodiment, when a user selects a graphic block included in the development tool palette to output a function in the development GUI code area (902) and inputs a parameter corresponding to the function, the application service providing method can generate and output source code (905) corresponding to the function and parameter on the development source code area (904).

[0685] In one embodiment, if a user directly modifies the source code (905), the user interface for developing a mapping flow can reflect the source code in real time and output a graphic block corresponding to the modified source code (905) in the development GUI code area (902).

[0686] Through this, developers can visually configure a mapping program through the development tool palette and development GUI code area (902) and convert it into source code (905) for verification.

[0687] However, developers who are not familiar with programming can easily access the user interface of the present invention, but developers who are familiar with programming may be more familiar with the source code method that compresses the program and may be more productive in the flow of a mapping program in which a large amount of mapping is repeatedly performed.

[0688] That is, through the present invention, developers can selectively use the method of directly modifying the development source code area (904) in the source code manner or dragging and dropping the graphic blocks in the development GUI code area (902) according to their personal preferences.

[0689] These GUI-based, easy-to-use mapping program definition tools enable developers to easily implement and manage complex mapping logic through a user-friendly interface and visual programming approach.

[0690]

[0691] FIG. 31 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0692] In one embodiment, the application service provision method may utilize a GUI-based library to provide a user interface (UI) for developing mapping flows. In this case, Google's Blockly library may be utilized as a GUI tool for developing or editing mapping flows, but is not limited thereto.

[0693] More specifically, the user interface for developing a mapping flow may include a mapping program editing screen and a function editing screen.

[0694] This drawing illustrates a mapping program editing screen. In one embodiment, the mapping program editing screen may include a mapping program area (906), a source schema area (907), a target schema area (908), and a mapping expression area (909).

[0695] Here, the mapping program area (906) may include the development tool palette and development GUI code area described above. That is, in the mapping program area (906), the user can arrange the necessary blocks (statements) in flow order to perform conversion between a complex source schema and a target schema.

[0696] In one embodiment, the mapping program area (906) may include an icon (910) for outputting a source code area. When a user selects the icon (910), the user interface may output a source code area pop-up window for outputting source code corresponding to the development GUI code included in the mapping program area (906). Here, the source code area pop-up window may include the development source code area described above.

[0697] Additionally, in one embodiment, a user may select a MAP block from among the development GUI codes being output within the mapping program area (906). Accordingly, the user interface may output the source schema and target schema corresponding to the MAP block to the source schema area (907) and target schema area (908), respectively.

[0698] More specifically, the source schema area (907) represents information about the data schema before conversion. In one embodiment, a user can add or delete information about the source schema.

[0699] The target schema area (908) represents information about the data schema after conversion.

[0700] The source schema area (907) and the target schema area facilitate connections between source schema and target schema nodes.

[0701] Additionally, in one embodiment, the user interface may output a mapping line between nodes contained in the source schema and nodes contained in the target schema. This allows the user to visually determine whether a node in the source schema is mapped to a node in a target schema.

[0702] Additionally, in another embodiment, when the user interface receives an input signal for selecting a node included in the source schema and then dragging and dropping it to a node included in the target schema, the user interface can automatically output the corresponding mapping formula to the mapping expression area (909).

[0703] The mapping expression area (909) is an area that performs mappings between actual nodes. It is displayed when a mapping block is selected from the preceding blocks (Statements), allowing multiple mapping expressions to be inserted between each node. In other words, it corresponds to an area that sets detailed values ​​of the mapping expression. This will be described later.

[0704]

[0705] FIG. 32 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0706] The mapping expression area (909) corresponds to an area that performs mapping between actual nodes. In one embodiment, when a user selects a map block among the blocks included in the mapping program area (906), the user interface may provide a GUI block that allows the user to input a path, data type (e.g., String), function, and input value (Arguments) included in the mapping block on the mapping expression area (909).

[0707] Accordingly, the user can select a function block and choose one of the various functions used in the mapping block. The various functions used in the mapping block are described below.

[0708]

[0709] FIG. 33 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0710] In one embodiment, a user interface for developing a mapping flow may provide a schema editing screen. Here, the schema editing screen may include a schema editing area (911) and an annotation area (912).

[0711] As described above, the schema editing area (911) is an area where the user edits the schema used in the mapping flow, and an example is shown in this drawing. Here, the schema editing area (911) represents the structure of data and can represent a hierarchical structure of nodes with names. Here, each node can have a type such as Int or String. For example, the user can create a sample node in the mapping program area and set the data type or structure for each node. For example, “String” represents a string data type, and “Int” represents an integer data type.

[0712] The annotation area (912) corresponds to an area for editing information required when the data is expressed as text (serialization) in addition to the hierarchical structure of the data. In addition, the annotation area (912) corresponds to an area for editing information required additionally when recognizing (parsing, deserializing) the data from text in addition to the hierarchical structure of the data. Accordingly, the annotation area (912) may include an annotation list (913). Here, the annotation list (913) may include an annotation name and a document type.

[0713] At this time, multiple comments can be added per node, and multiple comments with the same name cannot be added. Each comment can have several types depending on the document type (XML, JSON), and each comment can have unique properties (arguments).

[0714] For example, "ZmlAttribute" can indicate that when the node is serialized or deserialized to XML, it is an Attribute rather than an XML element.

[0715] In addition, the annotation area (912) may further include a user annotation list (914). Here, the user annotation list (914) may further add name and namespace as unique attributes (arguments) corresponding to existing annotations, but they are not mandatory values. That is, both name and namespace may be optionally added. Here, the name may be used to describe the role or meaning of the corresponding argument, and the namespace may be expressed in the form of a URI (Uniform Resource Identifier) ​​to identify a logical group to which the attribute belongs. For example, in the above-described example, in "XMLAttribute", the name as an additional attribute may be specified when the XML Attribute name is different from the node name, and the namespace may be specified when the XML Attribute belongs to a specific XML namespace.

[0716] These are later used in interactions with XML or JSON and can indicate which members should be handled in which way during the process of serializing or deserializing data.

[0717]

[0718] FIG. 34 is a drawing showing an example of providing a user interface for developing a mapping flow among the disclosed embodiments.

[0719] As described above, users can customize the functions included in the mapping block. When mapping programs attempt to map data from a source schema to a target schema, they can create the necessary functions and use them within the mapping expression area.

[0720] In one embodiment, a function editing screen provided by a user interface for developing a mapping flow may include a function list area (915) and an editing area (916).

[0721] The function list area (915) represents an area where users can customize functions. For example, users can create functions and set the number of parameters for the functions. For example, the "concat" function is a function that concatenates strings, so it creates a new string by combining given strings. Accordingly, the "" function can receive two strings as parameters.

[0722] The + button included in the function editing screen allows users to add functions to the function list. Additionally, the edit button allows users to edit functions displayed in the function list area, and the delete button allows users to delete functions displayed in the function list area (915).

[0723] The editing area (916) corresponds to an area for editing information about a function selected in the function list area (915).

[0724] Here, each function performs its own specific task and can be utilized effectively in programming or data processing tasks. Users can create functions with different implementation methods and syntax depending on the actual language or context in use.

[0725]

[0726] FIG. 35 is a drawing disclosing an example of an application service providing device according to an embodiment creating and testing an integrated package.

[0727] In the illustrated example, the application service providing device may include a manager system (2000). In this case, the manager system (2000) may include an application service manager (2100) and a database (2200).

[0728] The application service manager (2100) provides a user interface including a development tool for an integration flow for an integration package to the client (310), and allows the user of the client (310) to create an integration package through a drag & drop type GUI (graphical user interface)-based development tool.

[0729] In one embodiment, the application service manager (2100) may include a user interface processing unit (921), an integrated package generation unit (922), an integrated package testing unit (923), and an integrated package providing unit (924).

[0730] The user interface processing unit (921) may provide a user interface including a development tool for an integration flow for an integrated package to the client (310). In one embodiment, information about the integration flow of the integrated package may be stored in an editable form in a database (2200).

[0731] In one embodiment, upon receiving an input signal for the development tool of the integrated flow from the client (310), the integrated package generation unit (922) can generate an integrated package corresponding to the input signal.

[0732] In one embodiment, an integrated package can be created based on an input signal from a user of the client (310) within the user interface by selecting a graphic block corresponding to a development tool and dragging and dropping it into the development GUI code area.

[0733] That is, according to the present invention, the integrated flow for an integrated package can be intuitively defined through a drag-and-drop method, and a form for entering the necessary parameters for each graphic block can be provided, enabling easy creation of an integrated package. The integrated package testing unit (923) can distribute the integrated package to the development workspace (3000) and perform integrated package testing and debugging.

[0734] The integrated package provider (924) can distribute the integrated package to the workspace of the client (310). That is, the integrated package can be distributed and executed in the workspace of each client (310) for actual integration, and the client (310) can periodically perform desired integration tasks through the integrated package.

[0735] In one embodiment, the application service providing device may further include an instance system (not shown). In this case, information about the integrated flow may be packaged into an integrated package and installed and executed on the instance system prior to execution or testing of the integrated package.

[0736] Thereafter, when the integrated package is executed, the integrated package can exchange information with the message box of the application service manager (2100), the agent adapter of the instance system, and the channel service of the coordinator to implement various requirements that the client (310) and the partner can transact with.

[0737]

[0738] FIG. 36 is a drawing disclosing an example of providing a user interface for developing an integrated flow according to an embodiment.

[0739] In one embodiment, a user interface for developing an integrated flow of the present invention may include a development tool palette and a development GUI code area.

[0740] Here, the development tool palette can include graphic blocks corresponding to the structure and functions of the language used in the integration package. That is, the development tool palette can include the entire list of keywords used in the integration package. For example, the development tool palette can include graphic blocks corresponding to the control structures and functions for each of the functions included in the integration package, such as connectors, services, processors, control flows, and modifiers, but is not limited thereto, and various functions can be implemented as graphic blocks. For example, a connector can include a "from" block (i.e., From Connector) that indicates the start of a route for an integration flow, and a "to" block (i.e., To Connector) that indicates an operation to the outside, such as calling a service, adapter, etc., or storing data. When an integration flow developed in a development environment is implemented, it can include.

[0741] In one embodiment, a From Connector corresponding to a consumer may include at least one of a direct that registers a route within an integrated package and directly calls between routes, a timer that is used when a router runs according to a set cycle and periodically receives and performs source data from the outside, a channel that registers a channel and starts routing when a specific channel is called, a message box that periodically fetches a message in a waiting state for processing and executes a route, or an FTP that checks whether a document exists in a registered FTP service path and starts a route if a document exists.

[0742] In one embodiment, if the message contains information such as sender, receiver, message type, etc. and needs to be parsed, the message box of the From Connector can be used to add an update field before the route is terminated so that the field values ​​of the message can be changed.

[0743] In one embodiment, a To Connector corresponding to a producer may include at least one of a direct that calls another route within the same integration package, a channel that calls a specific channel, a message box that stores the contents of an exchange body, a channel that calls another channel within the workspace, or an FTP that transfers a document to a registered FTP service.

[0744] In one embodiment, the To Connector's message box may include a user field feature. In this case, desired information within the integration flow may be stored in the user field, allowing for retrieval. In one embodiment, the user field may be added to the exchange header before storing the document in the message box. For example, when receiving a document from an agent, the user field may be added because the agent channel is identified by a user field (e.g., channelId).

[0745] When documents are saved to message boxes in an integrated flow, searches can be performed based on additional information such as control numbers.

[0746] A service can provide access to the integrated flow, or it can provide a current ControlNumber or memory cache service. A processor can define the processing of messages within the integrated flow. A control flow can provide looping and branching capabilities within the integrated flow. A modifier can provide functions such as getting and setting exchange values.

[0747] However, the functions included in this drawing are only examples and other functions may be included.

[0748] In one embodiment, the method for providing an application service may provide a user interface including a development tool palette and a development GUI code area. Within the user interface, a user may select a graphic block included in the development tool palette and then drag and drop it into the development GUI code area.

[0749] For example, when an application service providing device receives an input signal from a client (310) through a user interface to select a graphic block of a first function (e.g., a “from” block) and then drag and drop it into a development GUI code area, the graphic block of the first function can be output from the development GUI code area. At this time, the input signal for dragging and dropping is only an example and may include other preset input signals received from the client (310).

[0750] Here, the "from" block must be the top-level block of the integrated flow, which sequentially includes other blocks. That is, the "from" block corresponds to the block that includes the start and end of the integrated flow.

[0751] Thereafter, when the user interface receives an input signal from the user to select a graphic block of a second function (e.g., a “switch” block) and then drag and drop it into the development GUI code area, the graphic block of the second function can be output from the development GUI code area. At this time, the development GUI code area can be configured to automatically include the second function within the first function.

[0752] Thereafter, when the user interface receives an input signal from the user to select a graphic block of a third function (e.g., a “case” block) and then drag and drop it into the development GUI code area, the graphic block of the third function can be output from the development GUI code area. At this time, the development GUI code area can be configured to automatically include the third function within the second function.

[0753] In addition, the development GUI code area can output the input fields of the parameters included in the graphic blocks of each function as they are. Referring to the "from" block described above, the "from" block in the development tool palette is a block that defines the start of a route and must specify an object for retrieving data. Accordingly, the development GUI code area can also output the input fields of the parameters as they are while outputting the "from" block.

[0754] Afterwards, the user can directly input the parameter into the input field of the parameter of the "from" block. For example, the user can input the variable name as "MessageBox:AA_IN" in the "from" block. That is, the application service providing device can receive an input signal for the parameter of the graphic block output to the development GUI code area through the user interface. Accordingly, the development code can obtain data from MessageBox AA_IN.

[0755] As such, the user interface for developing the integrated package of the present invention can provide visual assistance to users in structuring code in the development GUI code area using graphic blocks included in the development tool palette. This has the advantage of allowing users, even those unfamiliar with development scripts, to define the integrated flow with relative ease.

[0756] In addition, according to the present invention, the items of the developed integrated flow can be distributed after packaging and converted into a program based on an open source framework at the time of execution by a pre-stored interpreter at runtime, thereby generating an integrated package in an executable form.

[0757]

[0758] FIG. 37 is a drawing disclosing an example of providing a user interface for developing an integrated flow that performs mapping according to an embodiment.

[0759] An embodiment of the present invention will now be described in detail with respect to developing an integrated flow for performing mapping based on a stored mapping program. In particular, the drawing illustrates a user interface for setting information regarding the "toBlock" element among the input / output (From connect / To connector) coding elements of a route.

[0760] That is, a user of the client (310) can develop an integrated flow using a connector by using the user interface of the present invention, and at this time, can set a variable parameter for “”.

[0761] For example, a user can set a mapping file (mappingFile) of “toBlock” and set the source type (sourceType) and target type (targetType).

[0762] This diagram illustrates the process by which a channel called ame / AME_ADAPTER calls an adapter that performs mapping.

[0763] mappingFile represents a mapping program file saved through the above-described embodiment, sourceType represents the type of source document data (e.g., EDI, XML, JSON), and targetType represents the type of target document data.

[0764] In one embodiment, when mapping is actually performed, data (body data) in the integration flow is converted from a source type to a target type. That is, if the source document data type is EDI, the target document data type can be converted to JSON through the mapping program.

[0765]

[0766] Web EDI service allows customers who do not have an EDI system to use a web system to automate tasks such as ordering, receiving, billing, and delivery information between companies through EDI services with their partners.

[0767] In other words, while web EDI service systems play a crucial role in supply chain management, difficulties can arise if they fail to integrate the diverse systems of multiple manufacturers. Specifically, because traditional EDI systems are optimized for specific large manufacturers, suppliers supplying multiple manufacturers face the burden of manually adapting documents to each different system.

[0768] To this end, the present invention seeks to solve this problem by providing a web EDI service.

[0769]

[0770] FIG. 38 is a drawing disclosing an example of providing a web EDI service using a message box according to an embodiment.

[0771] According to an embodiment, a web EDI service user (157) can utilize a web EDI service (156). The web EDI service of the present invention can be provided in connection with the message box (2110) of the application service manager described above.

[0772] In one embodiment, a Web EDI service user (157) can upload an Excel file or the like to a draft document on the Web EDI service (156). The uploaded Excel file or the like can be sent to a specific message box (2110) and transmitted to the other party after going through a verification and conversion process. Here, the other party may be a partner system of the Web EDI service user.

[0773] Additionally, the web EDI service (156) of the present invention can support an EDI viewer, editor, and EDI form designer for each document type. Accordingly, corporate users can develop EDI form templates through the EDI viewer and editor, and developers can develop EDI form templates through the EDI form designer. In this case, the web EDI service (156) of the present invention can provide basic templates for standards such as Forecast, ASN, and Invoice.

[0774] Furthermore, the web EDI service (156) of the present invention can effectively manage customer-specific product codes by mapping customer-specific buyer item codes and seller item codes, thereby simplifying order processing and tracking. Furthermore, by managing customer-specific master codes (customer-specific carrier codes, packaging types, etc.), data related to the transportation and packaging of products within the supply chain can be maintained consistently. Master codes can be referenced in viewers and editors and managed through a separate management screen, as will be described later.

[0775] Below, the individual features of the web EDI service (156) provided by the present invention will be examined in detail.

[0776] This can provide a number of benefits, including time savings and error reduction, efficient supply chain management, cost savings, stronger relationships with customers and partners, and enhanced compliance and security.

[0777]

[0778] FIG. 39 is a drawing disclosing an example of providing a web EDI service using a message box according to an embodiment.

[0779] This drawing shows an embodiment of providing a web EDI service (156) to a web EDI user (157). To this end, the present invention can map an EDI document (e.g., X.12 or EDIFACT) of a message box (2110) through a mapping program schema to output an XML (TXT file) document, which can then be output on the web EDI service (156).

[0780] More specifically, the web EDI service (156) can convert an EDI document into an Excel file by converting it into an XML document and then going through a rendering process using a rendering script (groovy), rather than directly converting it into an Excel file.

[0781] In particular, since directly inputting an EDI document as input data into the rendering script used in the rendering process (the description of groovy is as described above) makes the document structure and programming difficult, the rendering script uses an XML document as input data. To this end, the EDI document in the message box (2110) can be output as an XML document and then used as input data for the rendering process.

[0782] In one embodiment, the Web EDI service (156) can output the XML document (TXT file) as pre-conversion data in a pop-up format if the rendering process fails. This allows the Web EDI user (157) to track where and how the conversion went wrong through the XML document (TXT file). This will be described in detail later.

[0783] Afterwards, the web EDI service (156) allows the web EDI user (157) to view or download the Excel file, which is the output data of the rendering process. At this time, it is of course possible to apply the Excel file to files with other extensions, such as PDF files or HTML (web) files.

[0784]

[0785] FIG. 40 is a drawing illustrating an example of an interface of a platform according to an embodiment.

[0786] As described above, the application service providing device / method of the present invention can provide various application services.

[0787] At this time, when a client connects to a system that is initiated, the platform may provide at least one user interface menu.

[0788] For example, a first user interface menu may include user interface menus related to a user-specific workspace (e.g., options for a user-specific workspace, a message box, file transfer history with partners, messages sent to mobile devices (SMS), and information about standard mappings if the information exchange involves EDI).

[0789] As another example, the second user interface menu may correspond to the Web EDI service (156) menu. Accordingly, a Web EDI user can access (log in) the system disclosed in the present invention and utilize the Web EDI service (156).

[0790]

[0791] FIG. 41 is a diagram illustrating an example of a user interface of a web EDI service according to an embodiment.

[0792] When a client connects to a system initiated by the client, the platform may provide a user interface menu for the Web EDI service (156).

[0793] For example, the platform may provide options for the Inbox document service (158), the Draft document service (159), and the Sent document service (160) menus.

[0794] The Inbox Document Service (158) is a service for clients connected to the platform to view received documents, the Draft Document Service (159) is a service for uploading documents and performing conversion tests (e.g., from an Excel file to an XML file) before transmission, and then actually performing a transmission request, and the Sent Document Service (160) is a service for viewing transmitted documents. Clients can check both the Excel file before conversion and the original XML file (in TXT format) after conversion through the Inbox Document Service (158), the Draft Document Service (159), and the Sent Document Service (160) via the platform. This will be described in detail later.

[0795] In addition, the platform may provide a user information management menu (163) for users accessing the web EDI service (156). The user information management menu (163) may provide user information. Here, the user information may include personal information such as a user ID, customer ID, user name, mobile phone number, email address, job title, job responsibilities, and time zone. In addition, the client may change personal information or the login password for accessing the web EDI service (156) through the user information management menu (163).

[0796]

[0797] FIG. 42 is a diagram illustrating an example of a user interface of an inbox document service according to an embodiment.

[0798] This drawing illustrates an embodiment in which the platform provides a user interface for an inbox document service (158) when a client selects an inbox document service (158) menu provided by the platform.

[0799] More specifically, the inbox document service (158) can output information about the document received by the client. In one embodiment, the information about the received document can include the create time, message type, trading partner, status, and view / download menu. Here, the message type can indicate the number of the standard document. For example, the ANSI X.12 standard uses a three-digit number, and EDIFACT can use a six-digit character. Details about this are disclosed in the standard document. In addition, the status of the received document provided by the inbox document service (158) can be indicated as a status delivered to the recipient (Delivered, after conversion) or a status before being delivered (To be delivered, before conversion).

[0800] In addition, the inbox document service (158) can provide a view or download option for the received document. At this time, the view or download option for the received document can be provided as a TXT file, an HTML file, an XLS file, a PDF file, etc., and in particular, the inbox document service (158) is characterized in that in the case of a TXT file, the original document is provided in a pop-up form, in the case of an HTML file, the HTML rendering pop-up form is provided, in the case of an XLS file, the Excel file is provided in a download form, and in the case of a PDF file, the PDF file is provided in a download form. However, it goes without saying that all of the TXT file, HTML file, XLS file, and PDF file can provide a view function in a pop-up form and a download function as a file. Accordingly, the client can view or download the original document or the document after the conversion that performed the rendering process through the inbox document service (158).

[0801] Additionally, the inbox document service (158) can search for received documents by filtering them based on at least one of creation time, trading partner, status, message type, and message ID.

[0802]

[0803] FIG. 43 is a diagram illustrating another example of a user interface of an inbox document service according to an embodiment.

[0804] This drawing illustrates a pop-up window (164) displayed when a client selects, for example, the view menu for an HTML file from among the menus provided by the inbox document service (158) provided by the platform. The inbox document service (158) can provide a preview window for a document received on a web screen as a pop-up. Here, an HTML file has been described as an example, but it is of course possible for a TXT file to also be provided through the pop-up window (164).

[0805] In another embodiment, if an error occurs during the rendering process of an HTML file, an error log may be output instead of a pop-up window. This allows the client to not only check the data before conversion, even if an error occurs during the rendering process, but also track where and how the conversion went wrong. This will be described in more detail later.

[0806]

[0807] FIG. 44 is a diagram illustrating an example of a user interface of a draft document service according to an embodiment.

[0808] This drawing illustrates an embodiment in which the platform provides a user interface for a draft document service (159) when a client selects a draft document service (159) menu provided by the platform.

[0809] More specifically, through the draft document service (159), a client can upload a document, convert it, and then actually perform a transmission request.

[0810] In one embodiment, the draft document service (159) may provide new draft document information through the creation menu (165). The draft document information may include a draft ID, a creation time, a message type, a title, a file name, a status, a message ID, and an action menu. Here, the status of the draft document provided by the draft document service (159) may be indicated as a created status (Created), an uploaded status (Uploaded), a verified status (Verified), and a sent status (Sent).

[0811] Additionally, the draft document service (159) can search for a generated draft document by filtering it based on at least one of the creation time, file name, title, status, message type, and draft ID.

[0812] In one embodiment, the draft document service (159) may provide various action menus based on each status. In one embodiment, the draft document service (159) may provide a document upload menu (166) when a draft document has been created. The client may upload a document to the web EDI service through the document upload menu (166). In this case, the client may directly upload an Excel file on the web screen.

[0813] In one embodiment, the draft document service (159) may provide a document verification and conversion menu (167) when a document is uploaded to the draft document. The client may verify and convert the uploaded document through the verification and conversion menu (167).

[0814] In one embodiment, the draft document service (159) may provide a document transmission menu (168) when a document uploaded to the draft document has been verified and converted. The client may transmit the verified and converted document through the document transmission menu (168). In other words, a web EDI user may transmit an uploaded document through the web EDI service. At this time, the web EDI service may send the document requested for transmission to a specific message box and, after going through a conversion process and a transmission process, transmit it to the web EDI user's partner system. At this time, the web EDI user's partner system may correspond to an ERP system, for example.

[0815] If a document is sent, the sent message ID may be printed, and the draft document service (159) may provide an original document download menu (169).

[0816] Below, we will look at the specific functions provided by the draft document service (159).

[0817]

[0818] FIG. 45 is a diagram illustrating an example of a user interface of a draft document service according to an embodiment.

[0819] This drawing shows the user interface provided by the platform when the client selects the creation menu of the draft document service (159) provided by the platform.

[0820] When a client selects the "Create Draft Document" menu, the draft document service (159) may provide a message type, title, example template (170), an immediate verification option (178), and an upload file attachment option (179). When the client selects the example template (170), the draft document service (159) may provide a download option for an example Excel template file. Accordingly, the client may create an Excel template file downloaded as an example and then upload the Excel file using the "Upload File Attachment" option (179).

[0821] In one embodiment, the draft document service (159) can upload a file, and if the client selects the immediate verification option (178), a verification and conversion process (180) of the uploaded file can be performed automatically as the draft document is generated.

[0822] In another embodiment, if the client does not select the "Verify Immediately" option (178), the draft document service (159) may generate the draft document but not verify the document (181). In this case, the draft document service (159) may verify the document after generating the draft document. This will be described later.

[0823]

[0824] FIG. 46 is a diagram illustrating an example of a user interface of a draft document according to an embodiment.

[0825] This drawing illustrates an example in which a client creates a draft document without selecting the immediate verification option (178) of the draft document service (159) provided by the platform. First, the draft document service (159) may provide an example template (170) and an upload file attachment option (179). After the draft document is created, the draft document service (159) may provide a draft ID and the current status at each stage.

[0826] After an upload file is attached, the draft document service (159) can provide a file verification / conversion menu (182) and a transmission menu (183). Additionally, the draft document service (159) can output a loading spinner while each action is being processed.

[0827] Afterwards, the draft document service (159) can send the file to a specific inbox in the message box when the file verification / conversion is completed. At this time, if the file verification / conversion fails, an error log may be displayed and the file may not be sent.

[0828] Additionally, each diagram in this drawing can be output sequentially or individually according to each action (draft document creation, upload, verification, transmission, etc.).

[0829]

[0830] FIG. 47 is a diagram illustrating an example of a user interface of a cent document according to an embodiment.

[0831] This drawing illustrates an embodiment in which the platform provides a user interface for a central document service (160) when a client selects a central document service (160) menu provided by the platform.

[0832] More specifically, the client can check the transmitted document through the sent document service (160). In one embodiment, the sent document service (160) can output information about the transmitted document. Here, the information about the transmitted document can include a message ID, creation time, message type, trading partner, status, and a message payload view menu. In this case, the status can include a status such as delivered, failed, or waiting.

[0833] In one embodiment, when a client selects the View Message Payload menu (184), the Sent Document Service (160) may output the message payload in a pop-up window (185). In addition, although not shown in the drawing, the Sent Document Service (160) may provide for downloading the message payload.

[0834] Additionally, the sent document service (160) can also search for transmitted documents by filtering them based on at least one of the creation time, trading partner, status, message type, and message ID.

[0835]

[0836] Figure 48 is a flowchart illustrating an application service provision method for providing a web EDI service according to an embodiment.

[0837] A processor of a virtualized computing system within a platform providing an isolated workspace of an embodiment of the present invention can receive a web EDI service request from a client using the workspace (S901).

[0838] At this time, the Web EDI service can be provided in connection with the application service manager's message box. Web EDI service users can upload files other than standard EDI documents using the draft document service provided by the Web EDI service. Uploaded files are transmitted to the message box, undergoing verification and conversion processes, and then transmitted to the Web EDI service user's partner system.

[0839] The embodiment may provide at least one of an inbox document service, a draft document service, and a sent document service through a web EDI service (S903).

[0840] Here, the Inbox Document Service is a service for clients connected to the platform to view received documents, the Draft Document Service is a service that performs the document upload, verification, and conversion process before transmission and then actually performs the transmission request, and the Sent Document Service corresponds to a service for viewing or downloading transmitted documents.

[0841]

[0842] Figure 49 is a drawing showing the operation of a scrap adapter according to an embodiment.

[0843] According to an embodiment, the instance system (1000) of the present invention may provide a scrap adapter (1400) to a client (300). At this time, the client (300) using the instance system (1000) of the present invention may be, for example, a third-party logistics company.

[0844] The scrap adapter (1400) can utilize various services by utilizing the application service manager (2100) of the present invention. More specifically, the platform may provide at least one of a Configuration Service Interface that provides access to configuration settings required for the scrap adapter (1400) to utilize the framework, a Task Service Interface that provides functions related to task processing, a Channel Access Service Interface that provides access to a communication channel, a Message Box Access Service that provides access to a message box, and a Settings Repository Service Interface.

[0845] That is, the scrap adapter (1400) enables the client (300) to automatically collect partner data through services such as the message box (2110) service and the settings storage. At this time, the data collected by the client (300) from the partner may generally include at least one of the partner's order data and shipping data. Here, if the client is a logistics company, the partner corresponds to a retailer from which the logistics company collects orders. This will be described in detail later.

[0846] If the application service manager (2100) provided by the present invention is not used, the client (300) has the difficulty of having to individually develop all the codes included in the scrap adapter (1400). If the scrap adapter (1400) of the present invention is used, the client (300) can use the various services of the application service manager (2100) that the scrap adapter (1400) can already use, so that the distributor's data can be automatically collected by inputting only the specific setting information described below. In addition, there is an advantage in that other clients (300A, 300B) using the first distributor can use the scrap adapter (1400) of the client (300) that has been previously developed. Of course, in the case of clients A (300A) and B (300B), the setting information for using the scrap adapter (1400) must be input through a separate agent.

[0847] In order for the scrap adapter (1400) to automatically collect data from distributors, the client (300) can register account and password information, company information, interval / cron information, and transmission channel information for the scrap adapter (1400) through the agent (350). Here, the company information indicates supplier information, and the interval information indicates the data collection execution cycle of the scrap adapter.

[0848] Typically, even when a distributor links data to an ERP system, it is difficult for a client using the ERP system to determine what data has been collected. In contrast, the scrap adapter (1400) of the present invention can determine whether the first data is already collected when collecting data from a distributor. More specifically, the scrap adapter (1400) can prevent the first data from being collected again by marking an index on the first data collected from the distributor. In other words, if the first data has a previously collected record, the scrap adapter (1400) can be configured to collect the second data instead of collecting the first data again.

[0849] In one embodiment, the scrap adapter (1400) may transmit data collected from a distributor to the inbox slot of the message box (2110) using the message box transmission module (1401). At this time, the message box transmission module (1401) may transmit the distributor's data to the inbox slot of the message box (2110) as a JSON file or XML file.

[0850]

[0851] FIG. 50 is a drawing illustrating an example of a user using a scrap adapter according to an embodiment.

[0852] This drawing is a drawing for explaining the process of an actual user using the web scrap adapter (1400) of the present invention.

[0853] More specifically, Suppliers 1 to 3 can produce goods and deliver them to the warehouse of the client (300). Here, the client (300) may be, for example, a third-party logistics company that owns a warehouse.

[0854] Retailer A1 and Retailer A2 can order goods from Distributor A (the aforementioned partner) through a web service. In one embodiment, the web scraping adapter (1400) of the present invention can collect order data from retailer A and order data from retailer A2 received by Distributor A. Similarly, the web scraping adapter (1400) can collect order data from retailer B and order data from retailer B1 and order data from retailer B2 received by Distributor B. A client (300) using the web scraping adapter (1400) can directly deliver goods held in a warehouse to the retailers based on the order data from retailers A1 and A2 and retailers B1 and B2 collected through the scraping adapter (1400).

[0855] In particular, the web scrap adapter (1400) of the present invention was developed for the client (300) to collect order data of distributor A and distributor B, but since other application services within the platform can be used for the development of the web scrap adapter (1400) as described above, other clients (e.g., client A or client B) can use the web scrap adapter (1400) as is to collect order data of distributor A or distributor B without additional development.

[0856]

[0857] FIG. 51 is a drawing illustrating an example of a user interface of a platform according to an embodiment.

[0858] This diagram illustrates the interface provided by a platform when a client accesses a platform that provides application services according to an embodiment. When a client accesses a system initiated by the platform, the platform may provide a user interface menu associated with a user-specific workspace. For details, please refer to the aforementioned embodiment.

[0859] In this drawing, the client can access a user interface menu associated with a client-specific workspace on the platform to utilize the scrap adapter described above.

[0860] The platform of the present invention can provide a client with a scrap adapter user interface (186) corresponding to a scrap adapter among the adapters installed in a client-only workspace.

[0861] The scrap adapter user interface (186) can manage suppliers to be scraped. For example, if the scrap adapter's client is a logistics company, the scrap adapter must collect information on at least one supplier that supplies goods to the distributor in order for the logistics company to collect order data from the distributor.

[0862] In one embodiment, the scrap adapter user interface (186) may output a list of at least one supplier (187) of a distributor. More specifically, the supplier list (187) may include information about at least one supplier that supplies goods to the distributor. Information about the supplier may include a group ID, a user ID, a schedule type, a schedule expression, an inbox slot, and whether it is activated. Here, the group ID represents the supplier's ID, and the user ID represents the supplier's user ID. The schedule type may be a method for setting a cycle for the scrap adapter to collect data, such as an interval method or a CRON method. Here, the interval method is a method for repeating a task at regular intervals, and the CRON method is a method for setting a complex and specific time schedule.

[0863] A client can input information about a supplier to be scraped into the scrap adapter user interface (186), and the scrap adapter can scrape data based on the input information and then pass it to the inbox slot of the message box of the present invention.

[0864]

[0865] FIG. 52 is a drawing illustrating an example of a user interface of a platform according to an embodiment.

[0866] This drawing is a drawing illustrating a menu for managing suppliers to be scraped within the scrap adapter user interface (186) for a client to utilize the scrap adapter described above.

[0867] In this drawing, the supplier management menu may include supplier information (188) such as scrap ID, supplier name, group ID, and user ID, and may include scrap information (189) and other information (190). Here, the scrap information (189) may provide the date on which scraping starts (Initial Date), the number of retries when scraping fails (Retry count), the retry interval to wait before retrying when scraping fails (Retry Interval), schedule type, and schedule expression. The other information (190) may include message box inbox slot information, buyer code (e.g., distributor name), delivery information, ordering information, partner information, receipt confirmation information, and order classification information.

[0868] When a client enters and saves information in the supplier management menu, the platform of the present invention can automatically collect data based on the information entered by the client using the scrap adapter.

[0869]

[0870] FIG. 53 is a diagram disclosing a data collection method according to another embodiment.

[0871] This drawing illustrates an example of data actually collected by the scrap adapter of the present invention. This drawing illustrates a method by which Client A (300A) directly checks order data for at least one distributor online.

[0872] By using the scrap adapter of the present invention, the order data on the web as shown in this drawing is automatically collected by the scrap adapter.

[0873] For example, client A (300A) can collect information on an order data list (191) for at least one distributor, and individually select the first to n-th order data included in the order data list (191) to collect detailed information on the first to n-th order data. If the scrap adapter of the present invention is not used, client A (300A) must directly download the order data list (191) on the web screen, or individually select the first to n-th order data included in the order data list (191) to download detailed information on the order data. However, if the scrap adapter of the present invention is used, the scrap adapter can automatically collect order data for distributors of client A (300A).

[0874] In addition, the scrap adapter can set a filter condition (e.g., scrap only specific orderers, 192) through the other information (190) field of FIG. 51. When the scrap adapter sets a filter condition (190 of FIG. 51), it has the same effect as collecting an order data list (191) according to the filter condition (192) of this drawing.

[0875]

[0876] Figure 54 is a drawing showing the operation of a scrap adapter according to an embodiment.

[0877] A processor of a virtualized computing system within a platform providing an isolated workspace can receive scrap adapter setting information from a client using the workspace (S905).

[0878] In one embodiment, the platform may provide an application programming interface (API) required for the scrap adapter to use the framework. Here, the API may include at least one of a configuration service interface that provides access to configuration settings, a task service interface that provides functions related to task processing, a channel access service interface that provides access to a communication channel, a message box access service interface that provides access to a message box, and a configuration repository service interface.

[0879] In one embodiment, the platform may receive scrap adapter configuration information from a client. The scrap adapter configuration information may include account and password information, company information, cycle information, and transmission channel information. For further details, please refer to the description in FIG. 49.

[0880] Based on the scrap adapter configuration information, data of the partner configured by the client can be collected (S907). At this time, an example in which the scrap adapter collects data of the client's partner based on the configuration information entered by the client is described in detail in FIG. 52.

[0881] The collected data can be stored in the inbox slot of the message box within the platform (S909).

[0882] For this, please refer to the contents described above in Fig. 49.

[0883]

[0884] FIG. 55 is a drawing disclosing an example of an application service providing device according to an embodiment converting data based on a source schema for EDI document data.

[0885] In the illustrated example, the application service providing device (6000) may include an instance system (not shown) and a manager system (not shown). The instance system may include a worker node (e.g., Node #N) on which an agent adapter (1350) and a mapping adapter (1370) are installed, and may provide application services to a client (100) and a partner (200).

[0886] The manager system (not shown) may include an application service manager (2100), and the application service manager (2100) may obtain data collected from an agent (350) of a client (100) and an agent (450) of a partner (200) from an agent adapter (1350) installed in a worker node.

[0887] Accordingly, the application service providing device (6000) according to an embodiment of the present invention may include an agent adapter (1350), a mapping adapter (1370), and an application service manager (2100).

[0888] The agent adapter (1350) may include a transceiver (810). The transceiver (810) may receive EDI document data from the agent (350) of the client (100). For example, the EDI document data may be expressed as text data according to a predefined EDI standard (e.g., ANSI X12, EDIFACT). Here, the EDI document data may be referred to as source document data or a term having an equivalent technical meaning thereto. In one embodiment, the EDI document data received from the agent (350) may be stored in a message box (2110) included in the application service manager (2100).

[0889] The mapping adapter (1370) may include a schema acquisition unit (6101), a schema mapping unit (6102), and a data conversion unit (6103). In this case, the schema acquisition unit (6101) may acquire a source schema for EDI document data. In this case, the EDI document data may refer to a standard EDI document. For example, the source schema for the EDI document may include a Standard Exchange Format (SEF) and an EDI Exchange Format (EXF) file. In one embodiment, the source schema may be acquired by being uploaded to a resource path by a user in the console.

[0890] Additionally, in one embodiment, the schema acquisition unit (6101) can acquire a target schema for target document data. In one embodiment, at least one of the target schema and the mapping script for mapping the source schema and the target schema can be generated based on a user input of the client (100) or partner (200) for a graphical user interface (GUI) of a platform of an instance system (not shown) provided to the client (100) or partner (200).

[0891] The schema mapping unit (6102) can map a source schema to a target schema. The schema mapping unit (6102) can set the source schema and the target schema based on user input, and can set a mapping relationship between the source schema and the target schema. In one embodiment, the schema mapping unit (6102) can map the source schema to the target schema based on user input for a graphical tool. This is described in detail below.

[0892] The data conversion unit (6103) can convert EDI document data having a first data format into target document data having a second data format based on at least one of a source schema, a mapping script, and a target schema. In one embodiment, the agent adapter (1350) can receive target document data from a message box (2110) and transmit it to an agent (450) of a partner (200).

[0893]

[0894] Figure 56 is a diagram disclosing an example of a source schema for EDI document data according to an embodiment.

[0895] In the illustrated example, the application service providing device (6000) may obtain a source schema for EDI document data. The source schema may indicate the structure and format of EDI document data for a specific transaction set or document type for the EDI document data. In one embodiment, the source schema may include a transaction set (6104) and a segment set (6105) for the EDI document data.

[0896] In one embodiment, the transaction set (6104) may include at least one EDI transaction representing a business transaction with a partner. In one embodiment, each transaction may be composed of at least one segment included in the segment set (6105) and a delimiter indicating the composition of each segment and data element. For example, the transaction set (6104) may include, but is not limited to, transactions for a deposit advice (CREADV), a cargo insurance policy issuance advice (CIPADV), a cargo insurance application (APPCIP), and an export bill of exchange (collection) application (APPNEG).

[0897] In one embodiment, the segment set (6105) may include at least one segment representing EDI data and a hierarchical data structure. For example, the segment may include, but is not limited to, AGR (Agreement identification), AJT (Adjustment details), BGM (Beginning of message), and BUS (Business function) and may include various segments. In one embodiment, each segment may be composed of at least one data element and a delimiter. For example, each segment may be composed of data elements representing letters / numbers (AN), letters (A), numbers (N), and delimiters representing optional items (?), a certain number or more (e.g., + for 1 or more, * for 0 or more), and a minimum length and a maximum length of data ([number:number]).

[0898] Additionally, in one embodiment, the delimiter may be configured in various ways according to the EDI standard, for example, ANSI X12 may divide segments with ~, and * may be used within data elements. Additionally, EDIFACT may use single quotes (') when dividing segments, and plus (+) may be used within data elements.

[0899]

[0900] FIG. 57 is a drawing disclosing an example of a user interface for setting a target schema for target document data according to an embodiment.

[0901] In the illustrated example, a user interface for setting a target schema for target document data of the present invention may provide a schema editing screen. Here, the schema editing screen may include at least one of a schema editing area (6106) and an annotation area (6107).

[0902] In one embodiment, the schema editing area (6106) is an area where a user edits a target schema used in a mapping flow, and an example is shown in this drawing. Here, the schema editing area (6106) represents a data structure for target document data and may represent a hierarchical structure of nodes with names. Here, each node may have a type (Type), such as Int or String.

[0903] The Annotation area (6107) corresponds to an area for editing information necessary when the target document data is expressed as text, in addition to the hierarchical structure of the data. Furthermore, the Annotation area (6107) corresponds to an area for editing additional information necessary when recognizing the data as text, in addition to the hierarchical structure of the data. In one embodiment, the Annotation area (6107) may indicate the name and type of the target schema. For example, the name of the target schema may indicate RFC_CREADV, and the type may indicate RecordTypeDef.

[0904] In one embodiment, the annotation area (6107) may include an annotation list (6108). Here, the annotation list (6108) may include an annotation name and a document type. In this case, multiple annotations may be added for each node, and multiple annotations with the same name cannot be added. Each annotation may have multiple types depending on the document type (XML, JSON), and each annotation may have unique properties (arguments).

[0905] In one embodiment, the annotation area (6107) may further include a user annotation list (6109). The user annotation list (6109) may further include name and namespace as unique attributes (arguments) corresponding to existing annotations, but these are not mandatory values. That is, both name and namespace may be optionally added. The name may be used to describe the role or meaning of the corresponding argument. For further details, please refer to the above-described drawings.

[0906] For example, a target schema (6110) for XML document data corresponding to a deposit notice can be set through editing by user input.

[0907]

[0908] FIG. 58 is a drawing disclosing an example of a user interface for setting up a source schema and a target schema according to an embodiment.

[0909] In the illustrated example, a user interface for setting a target schema for target document data may provide a schema setting screen. Here, the schema setting screen may include at least one of a source schema setting area (6111) and a target schema setting area (6112). In one embodiment, a target schema setting area (6112) may be provided as a subsequent screen from the source schema setting area (6111).

[0910] The source schema setting area (6111) may include at least one of a resource path, a resource file, and an EDI transaction for the source schema. Here, the resource path may indicate an EDI schema file path for EDI document data. The resource file may indicate a schema file path for the source schema. The EDI transaction may indicate an EDI transaction for the source schema to be performed with a partner.

[0911] The target schema setting area (6112) may include at least one of a resource path, a resource file, and an EDI type for the target schema. The resource path may indicate the path to an EDI schema file for EDI document data. The resource file may indicate the path to a schema file for the target schema. The EDI type may indicate the type of target schema to be performed with the partner.

[0912] In one embodiment, the CREADV of 911.exf can be designated as the source schema (EDI) and the RFC_CREADV schema of RFC_CREADV.schema can be designated as the target schema (XML) through the source schema setting area (6111) and the target schema setting area (6112).

[0913]

[0914] FIG. 59 is a diagram disclosing an example of a user interface for mapping a source schema and a target schema according to an embodiment.

[0915] In the illustrated example, a user interface for mapping a source schema and a target schema may provide a mapping program editing screen. Here, the mapping program editing screen may include a mapping program area (6113), a schema mapping area (6114), and a mapping expression area (6117).

[0916] Here, the mapping program area (6113) may include the development tool palette and development GUI code area described above. That is, in the mapping program area (6113), the user can arrange the necessary blocks (statements) in flow order to perform conversion between a complex source schema and a target schema.

[0917] Additionally, in one embodiment, a user may select a MAP block from among the development GUI codes being output within the mapping program area (6113). Accordingly, the user interface may output the source schema and target schema corresponding to the MAP block to the source schema area (6115) and target schema area (6116), respectively, contained within the schema mapping area (6114).

[0918] More specifically, the source schema area (6115) represents information about the data schema before conversion. In one embodiment, the user can add or delete information about the source schema. The target schema area (6116) represents information about the data schema after conversion. The source schema area (6115) and the target schema area (6116) facilitate connections between source and target schema nodes. Furthermore, in one embodiment, the user interface can output mapping lines between nodes included in the source schema and nodes included in the target schema. Through this, the user can visually determine whether a node in the source schema is mapped to a node in a target schema.

[0919] Additionally, in another embodiment, when the user interface receives an input signal for selecting a node included in the source schema and then dragging and dropping it to a node included in the target schema, the user interface can automatically output the corresponding mapping expression to the mapping expression area (6117).

[0920] The mapping expression area (6117) is an area that performs actual mappings between nodes. It is displayed when a mapping block is selected from the preceding blocks (Statements), allowing multiple mapping expressions to be inserted between each node. In other words, it corresponds to an area that sets detailed values ​​of the mapping expression. For further details, please refer to the above-mentioned content.

[0921] Through this, according to the present invention, a source schema can be mapped to a target schema for target document data using a graphical tool. Furthermore, EDI document data can be converted into target document data (6118) (e.g., XML document data) based on a mapping script that includes at least one of statement information representing the grammar of the source schema, the target schema, and a programming language, or expression information representing a specific result value.

[0922]

[0923] Figure 60 is a flowchart showing an example of a method for providing an application service according to an embodiment of the present invention for converting data based on a source schema for EDI document data.

[0924] In a computing system that manages a platform that provides clients with isolated workspaces where application packages are executed, a source schema for EDI document data is acquired (S1001). In one embodiment, the source schema may include metadata representing at least one of an EDI transaction, segment, and data element for the EDI document data.

[0925] A source schema is mapped to a target schema for target document data using a graphical tool (S1003). In one embodiment, a target schema for target document data is set, at least one of a resource path, a resource file, and an EDI transaction for the source schema and the target schema is determined, and at least one of a hierarchically structured segment and data element of the source schema is mapped to the target schema based on at least one of the resource path, the resource file, and the EDI transaction. For this, please refer to the description above in FIG. 59.

[0926] EDI document data is converted into target document data based on the mapping (S1005). In one embodiment, data elements in the EDI document data may be parsed, and the parsed data elements may be converted into the data format and data structure of the target document data based on the mapping between the source schema and the target schema. In one embodiment, after step S1005, the converted target document data may be transmitted to the partner. For this purpose, please refer to the contents described above in FIGS. 55 and 59.

[0927]

[0928] Figure 61 is a drawing disclosing an example of an application service providing device verifying an EDI-related file according to an embodiment.

[0929] In the illustrated example, the application service providing device (300) may include an instance system (not shown) and a manager system (not shown). The instance system may include a worker node (e.g., Node #N) on which a mapping adapter (1370) is installed and may provide application services to clients and partners.

[0930] The manager system (not shown) may include an application service manager (2100), and the application service manager (2100) may obtain data collected from the client's agent and the partner's agent from the agent adapter installed on the worker node.

[0931] Accordingly, the application service providing device (300) according to an embodiment of the present invention may include a mapping adapter (1370) and an application service manager (2100).

[0932] The mapping adapter (1370) may include an EDI file acquisition unit (6201), an EDI file verification unit (6202), and a verification result output unit (6203). In this case, the EDI file acquisition unit (6201) may acquire an EDI-related file. In this case, the EDI-related file may refer to a standard EDI document. In one embodiment, the EDI-related file may include at least one of EDI data and an EDI schema. In one embodiment, the EDI file acquisition unit (6201) may acquire the input EDI data and EDI schema individually.

[0933] In one embodiment, the EDI file acquisition unit (6201) can acquire an EDI-related file received from a client agent by an agent adapter installed on a worker node of an instance system. In one embodiment, the EDI file acquisition unit (6201) can acquire an EDI-related file stored in a message box (2110) included in an application service manager (2100). In one embodiment, the EDI file acquisition unit (6201) can acquire an EDI-related file input through a web EDI service. For details on the web EDI service, refer to the above-mentioned content.

[0934] The EDI file verification unit (6202) can verify the acquired EDI-related files. The EDI file verification unit (6202) can verify EDI data based on an EDI schema. In one embodiment, the EDI file verification unit (6202) can parse EDI data based on the EDI schema and determine that unparsed EDI data is abnormal. For example, the EDI file verification unit (6202) can verify the data format, data value, and presence of data of the EDI data to determine whether an error exists.

[0935] The verification result output unit (6203) can output error indication information for EDI-related files based on verification. The verification result output unit (6203) can output at least one of EDI data, EDI schema, error message, and data information of the EDI-related file on the screen. In this case, the error message can indicate an error that occurred in the EDI-related file.

[0936] The verification result output unit (6203) can visualize and display the location where an error occurred, as indicated by the error message. In one embodiment, the verification result output unit (6203) can visualize the location where an error occurred among a plurality of data elements included in EDI data and display the location for the corresponding data element. In addition, the verification result output unit (6203) can visualize the location where an error occurred in a data structure included in an EDI schema and display the location for the corresponding structure. In one embodiment, the location of the error indicated in the EDI data based on the error message may correspond to the location of the error indicated in the data structure.

[0937]

[0938] Figure 62 is a drawing disclosing an example of a user interface for verifying EDI-related files according to an embodiment.

[0939] In the illustrated example, the validation screen for an EDI-related file may include EDI data (6204), EDI schema (6205), error messages (6206), and data constraint information (6207).

[0940] EDI data (6204) may include a number of data elements organized hierarchically. In one embodiment, an EDI data element may be composed of at least one of a single segment (GS, ST), a transaction, a loop segment (PER, N1), and data (1533, 850) per hierarchy. For example, the segment GS of EDI data (6204) may be composed of data IN, SENDER1, RECEIVER1, 240129, and 1533, which represent actual data values. In addition, for example, the segment PER may mean a segment that may be composed of loop (multiple) items.

[0941] The EDI schema (6205) may include a data structure of hierarchically organized EDI data. That is, the EDI schema (6205) may define a document structure and type of the EDI data. In one embodiment, the EDI schema (6205) may be composed of at least one of a single segment (GS, ST), a transaction, a loop segment (PER, N1), and data (Date, Time) per hierarchy. For example, the segment GS of the EDI schema (6205) may be composed of a data type Code Identifying Information Type indicating a code identification information type, a data type Sender ID Code indicating a sender ID code, a data type Receiver ID Code indicating a receiver ID code, a data type Date indicating a date, and a data type Time indicating a time.

[0942] Error message (6206) may indicate at least one error that occurred in the EDI data. For example, error message (6206) may indicate that the required segment BEG is missing. Additionally, error message (6206) may indicate that the minimum length of the data is less than a specific length (e.g., 3). Additionally, error message (6206) may indicate that the maximum length of the data is greater than a specific length (e.g., 10). Additionally, error message (6206) may indicate that only letters may be included. Additionally, error message (6206) may indicate that characters other than the specified characters are included (possible letters A, B, C). However, the type of error indicated by error message (6206) is not limited, and various types of errors may occur.

[0943] Additionally, the error message (6206) may indicate that the data type of date data must be expressed in the character format yyyyMMdd, and thus the data type of 240129 in the EDI data is not permitted. In this case, error display information (6207) indicating the location where an error corresponding to the error message (6206) occurred may be visually displayed in the error message, EDI data, and EDI schema. For example, the error display information (6207) may be output with color display for each data element and data structure where an error occurred.

[0944] In one embodiment, when multiple error messages are generated, error display information (6207) may be output with color display for each error message selected by the user and the data elements and data structures corresponding to the error messages.

[0945] That is, according to the present invention, since standard EDI documents have data separated by delimiters, it is difficult for a user to easily find the location (location in EDI data and location in the data structure of the EDI schema) of a problem with just an error message, and therefore, by using visually expressed error display information (6207), the user can effectively check the location where an error has occurred.

[0946] Data constraint information (6207) may indicate information about data corresponding to a data constraint. In one embodiment, data information (6207) may include data location in a segment, whether it is mandatory, maximum number of uses, data type, and regular expressions for each data type.

[0947] The EDI data (6204), EDI schema (6205), error message (6206), and data information (6207) shown in the drawing are examples only and can be implemented in various ways.

[0948]

[0949] Figure 63 is a flowchart disclosing an example of a method for providing an application service according to an embodiment of the present invention for converting a data format.

[0950] In a computing system that manages a platform that provides clients with isolated workspaces where application packages are executed, an EDI-related file is acquired (S1011). In one embodiment, the EDI-related file may include at least one of EDI data and an EDI schema.

[0951] Verification of the acquired EDI-related file is performed (S1013). In one embodiment, parsing of EDI data contained in the EDI-related file is performed, and at least one of the data format, data value, and missing data of the parsed EDI data can be verified. For this, please refer to the details described above in FIG. 61.

[0952] According to the above verification, error display information of the EDI-related file is output (S1015). In one embodiment, at least one of EDI data, EDI schema, error message, and data information of the EDI-related file is output, and error display information corresponding to an error message for at least one of the EDI data, EDI schema, and data information can be visualized and output. In one embodiment, the error display information can indicate the location where an error corresponding to an error message occurred in at least one of the EDI data, EDI schema, and data information. For this, refer to the contents described above in FIGS. 61 and 62.

[0953]

[0954] Figure 64 is a drawing disclosing an example of an application service providing device according to an embodiment providing a wizard-based EDI interface service.

[0955] In the illustrated example, the application service providing device (6000) may include an instance system (not shown) and a manager system (not shown). The instance system may include a worker node (e.g., Node #N) on which an agent adapter (1350) and a mapping adapter (1370) are installed, and may provide application services to a client (100) and a partner (200).

[0956] The manager system (not shown) may include an application service manager (2100), and the application service manager (2100) may obtain data collected from an agent (350) of a client (100) and an agent (450) of a partner (200) from an agent adapter (1350) installed in a worker node.

[0957] Accordingly, the application service providing device (6000) according to an embodiment of the present invention may include an agent adapter (1350), a wizard adapter (6301), and an application service manager (2100).

[0958] The wizard adapter (6301) may include a wizard interface provider (6302), a configuration input acquisition provider (6303), and an EDI service provider (6304). In this case, the wizard interface provider (6302) may provide a wizard user interface including wizard management items for a platform that provides a client (100) with an isolated workspace in which an application package is executed.

[0959] In one embodiment, the wizard management item may represent a configuration item for configuring an EDI service user interface. In other words, the wizard management item may represent configurable options or parameters that help a user efficiently set up or configure the platform's EDI service user interface. For example, the wizard management item may include at least one of a project type, project-related information, partner connection information, EDI-related information, and interface-related information for the EDI interface service. Here, the EDI interface service may include the overall EDI service (e.g., EDI service user interface screen, platform connection and provision, signal exchange for EDI service, communication process, etc.) provided to the user through the EDI service user interface based on the wizard management item. This will be described in detail below.

[0960] In one embodiment, the wizard user interface may represent a user interface for presenting wizard management items to a user. That is, the wizard user interface may include a screen that guides the user through wizard management items step by step in a predetermined order to create an EDI service user interface.

[0961] The setting input acquisition unit (6303) can acquire a wizard setting input for a wizard management item by a user of the client (100). In one embodiment, the wizard setting input may include an input by a user's selection from a search for a wizard management item or a combo box. In one embodiment, EDI interface service information may be generated through at least one wizard user interface screen based on the wizard setting input. For example, the EDI interface service information may include at least one of setting information for at least one adapter (e.g., connection settings such as an agent adapter or an EDIINT adapter), an integration package having an interface (Integration) flow, and a mapping program (resource) used via a mapping adapter within the integration package. In this case, the EDI interface service information may be composed of values ​​of the wizard setting input, or a portion of the entire interface service information may be composed based on the values.

[0962] In one embodiment, the wizard setup input may be generated based on user input of the client (100) to a graphical user interface (GUI) of a wizard management item of a platform of an instance system (not shown) provided to the client (100).

[0963] The EDI service provider (6304) may provide an EDI interface service of the platform based on the wizard setting input. In one embodiment, the EDI service provider (6304) may generate an EDI service user interface screen in which EDI setting information corresponding to the wizard setting input is automatically entered, and provide the generated EDI service user interface screen to the client (100). In one embodiment, the EDI service user interface screen may include EDI interface service information. For example, the EDI service provider (6304) may generate setting information for the operation of various adapters, including the agent adapter (1350).

[0964]

[0965] FIG. 65 is a drawing disclosing an example of a project type setting screen of a wizard user interface according to an embodiment.

[0966] In the illustrated example, a project type setting screen (6305) of the wizard user interface of the present invention may be provided. Here, the project type setting screen (6305) may include a project type for an EDI interface service. For example, the project type may include at least one of an EDI interface and an application package, but is not limited thereto and may include various project types.

[0967] That is, according to the present invention, a wizard-style development tool can be provided, allowing even beginners to easily develop through a wizard user interface. Furthermore, according to the present invention, a wizard-style configuration can be provided, allowing platform users to easily configure the entire EDI interface. This will be described in detail below.

[0968]

[0969] FIG. 66 is a drawing disclosing an example of a project-related information setting screen of a wizard user interface according to an embodiment.

[0970] In the illustrated example, a project-related information setting screen (6306) of the wizard user interface of the present invention may be provided. Here, the project-related information setting screen (6306) may include items to be automatically generated when providing an EDI interface service according to the wizard tool. In one embodiment, the project-related information setting screen (6306) may include at least one of a project name and a project package creation item. For example, the project package creation item may include at least one of a trading partner, an EDI type, and an I / F type, but is not limited thereto and may include various items.

[0971] That is, through the project-related information setting screen (6306), the user can select basic information about the project or items to be created, or select items that are dependent on the project, so that the items to be automatically created when the wizard user interface settings are completed can be determined.

[0972]

[0973] FIG. 67 is a drawing disclosing an example of a partner connection information setting screen of a wizard user interface according to an embodiment.

[0974] In the illustrated example, a partner connection information setting screen (6307) of the wizard user interface of the present invention may be provided. Here, the partner connection information setting screen (6307) may include connection setting items with trading partners for EDI business. In one embodiment, the partner connection information setting screen (6307) may include a connection type for a communication protocol. For example, the connection type may include at least one of AS2, SFTP, and VAN, but is not limited thereto and may include various items.

[0975] In one embodiment, the partner connection information setting screen (6307) allows the setting of contact information for partners (e.g., distributors) transacting with a client (e.g., logistics company) and for customers (e.g., suppliers) of the client. For example, contact information may include at least one of a name, email address, and contact information.

[0976] In one embodiment, connection information according to a communication protocol may be set and a connection test may be performed through the partner connection information setting screen (6307). In this case, the connection information may include at least one of a communication protocol ID of at least one of the client and the partner, a communication protocol URL, an MDN (Message Disposition Notification) reception type (e.g., synchronization), a message signing algorithm, and a message encryption algorithm. In one embodiment, a connection test may be performed to determine whether transmission and reception are successfully performed by receiving a reception test file from the partner or transmitting a transmission test file to the partner.

[0977]

[0978] FIG. 68 is a drawing disclosing an example of an EDI-related information setting screen of a wizard user interface according to an embodiment.

[0979] In the illustrated example, an EDI-related information setting screen (6308) of the wizard user interface of the present invention may be provided. Here, the EDI-related information setting screen (6308) may include items regarding the properties and standards of the corresponding EDI. In one embodiment, the EDI-related information setting screen (6308) may include an EDI type and an EDI version corresponding to the EDI type. For example, the EDI type may include at least one of X.12, EDIFACT, and XML.

[0980] In one embodiment, additional required input values ​​may be entered depending on the selection of the EDI type. For example, the required input values ​​may include a partner identification number, an EDI qualifier, and at least one of an ISA (interchange) ID and an EDI GS (group) ID. In one embodiment, depending on the selection of the EDI type, the EDI specification corresponding to the partner may be displayed for the user to confirm.

[0981] In one embodiment, at least one of EDI mapping information and schema can be selected through the EDI-related information setting screen (6308). For example, a user can select an EDI mapping type and, based on the selected EDI mapping type, select a schema, or download at least one of a document file, an installation file, and a description guide through an external connection. Here, the external connection can include at least one of a Web EDI connection and an agent connection. In one embodiment, the description guide can display a guide description and screen on how to enter EDI mapping information or a schema.

[0982]

[0983] FIG. 69 is a drawing disclosing an example of an interface-related information setting screen of a wizard user interface according to an embodiment.

[0984] In the illustrated example, an interface-related information setting screen (6309) of the wizard user interface of the present invention may be provided. Here, the interface-related information setting screen (6309) may include an internal connection type of the corresponding EDI interface. In one embodiment, the interface-related information setting screen (6309) may include an interface type and a corresponding guide description. For example, the interface type may include at least one of an agent type, a database (DB) type, an RFC type, and an FTP type. In this case, the guide description for the agent type may include at least one of a description of the agent method (e.g., the agent method is a lightweight software provided for close connection with the service user's work system), an agent installation file, an agent installation manual, and contact information for a person in charge of requesting installation support. In addition, the guide description for the database type may include a description of the database method (e.g., the system can be configured by connecting to the service user's database and downloading DML), a DML download, and a sample data download. Additionally, the guide description for the RFC type may include at least one of the following: a description of the RFC method (e.g., it can be configured in conjunction with the SAP system of the service user), a download of the SAP connection guide, and a download of sample data for SAP. Additionally, the guide description for the FTP type may include at least one of the following: a description of the FTP method (e.g., it can be configured in conjunction with the file server of the service user. Connect by entering the type and information of the user's FTP server), a download of the setup method, and a download of sample data.

[0985] In one embodiment, testing of an EDI interface service can be performed using a wizard-based approach based on interface-related information. For example, testing can be performed on at least one of the order ID, order change ID, shipping label, and delivery label for the EDI. In this case, the items subject to testing are not limited, and testing can be performed on various items depending on the settings.

[0986]

[0987] Figure 70 is a flowchart showing an example of an application service provision method according to an embodiment providing an EDI interface service based on a wizard method.

[0988] In a computing system that manages a platform that provides clients with isolated workspaces where application packages are executed, a wizard user interface including wizard management items for the platform is provided (S1021). In one embodiment, the wizard management items may include at least one of a project type, project-related information, partner connection information, EDI-related information, and interface-related information for an EDI interface service. In one embodiment, the EDI-related information may include at least one of an EDI type, EDI mapping information, and a schema. For this purpose, please refer to the contents described above in FIGS. 65 to 69.

[0989] Obtain wizard setting input for a wizard management item (S1023). In one embodiment, guide description information for a wizard management item may be provided, and wizard setting input corresponding to the guide description information may be obtained. In one embodiment, the wizard setting input may include a user setting input for at least one of a project type, partner connection method, EDI document structure, and interface internal connection method for an EDI interface service. For this, please refer to the contents described above in FIGS. 65 to 69.

[0990] Based on the wizard settings input, the platform's EDI interface service is provided (S1025). In one embodiment, an EDI service user interface screen with automatically entered EDI settings information corresponding to the wizard settings input can be generated, and the generated EDI service user interface screen can be provided to the client. For details, please refer to the details described above in Figure 64.

[0991]

[0992] Figure 71 is a conceptual diagram disclosing layer-by-layer elements for providing application services according to an embodiment.

[0993] The application service providing device according to the above-described embodiment can be controlled and managed by a manager system (2000). The manager system (2000) can provide application services, such as EDI services, using an on-premise system or a cloud system. For a description of other elements, please refer to the description in FIG. 3.

[0994] A manager system (2000) that manages an application service provision device can perform data encryption services, data monitoring services, etc. for a client system through a data management platform (5000).

[0995] Hereinafter, an embodiment in which an application service providing device performs monitoring services, access control services, search services, life cycle management services, and encryption services on EDI data of a message box (2110) through an application service manager (2100) will be described. In particular, detailed embodiments in which the application service providing device performs data encryption on an EDI message box through a key management module of a data management platform (5000) will be described.

[0996]

[0997] Figure 72 is a drawing illustrating an embodiment in which an application service providing device according to an embodiment processes EDI data within a message box.

[0998] The application service providing device (6000) may include a monitoring module (6001), an access control module (6002), a search module (6003), a lifecycle management module (6004), and an encryption module (6005).

[0999] The monitoring module (6001) can monitor EDI data within a message box. In one embodiment, the monitoring module (6001) can provide a report on the overall usage status and period-by-period reports of EDI data.

[1000] The search module (6003) can search EDI data. In one embodiment, the search module (6003) can search EDI data within a message box based on preset conditions.

[1001] The access control module (6002) can control access rights to message boxes. In one embodiment, the access control module (6002) can set different access rights for each message box.

[1002] The lifecycle management module (6004) can manage the lifecycle of EDI data contained within a message box. In one embodiment, the lifecycle management module (6004) can set a deletion deadline for EDI data contained within a message box.

[1003] The encryption module (6005) can encrypt data in the message box (2110) using the application service manager (2100). At this time, the encryption module (6005) can encrypt and decrypt data in the message box (2110) using the encryption key and key ID (5002) managed by the key management module (5001) of the data management platform (5000). Through this, the application service providing device (6000) can satisfy legal requirements because it stores the encryption key and key ID (5002) in a separate space (data management platform, 5000), and can also store the encryption key and key ID (5002) more safely. In addition, the encryption module (6005) only obtains the encryption key and key ID (5002) from the outside, and directly encrypts and decrypts data within the message box (2110) through the application service manager (2100), thereby not transmitting or receiving data externally, thereby enabling faster encryption and decryption.

[1004] Below, we will describe in detail the services provided by each module.

[1005]

[1006] When a user interface accesses a system initiated by the aforementioned client, the platform can provide a user interface menu associated with a client-specific workspace. The following diagram illustrates an example in which a client accesses a system initiated by the client and selects the Message Box service (not shown). In particular, the present invention utilizes the EDI Message Box service, which stores EDI data among messages associated with the client.

[1007]

[1008] Figure 73 is a drawing illustrating an embodiment in which a monitoring module according to an embodiment monitors EDI data.

[1009] In one embodiment, the application service provider can monitor EDI data. More specifically, the application service provider can display real-time status information on the user interface. Here, the real-time status information of the EDI data can include Message Disposition Notification (MDN) information. Here, MDN is part of the email protocol and provides information on how the transmitted message was processed by the recipient.

[1010] Real-time status of EDI data can include the number of sends and receives of error MDNs, failures, to be delivered, delivered, non-delivered, waiting MDNs, waiting, delivering, and canceled EDI data.

[1011] Additionally, the application service provider can output the delay status of EDI data based on the time period. Similarly, the delay status based on the time period can include the number of transmitted and received MDNs before, during, and after delivery of EDI data.

[1012] Additionally, the application service provider can output the number of EDI data transmissions and receptions in the form of a graph by hour, day, week, or month.

[1013]

[1014] FIG. 74 is a diagram illustrating another embodiment in which a monitoring module according to an embodiment monitors EDI data.

[1015] In one embodiment, the application service provider may provide a usage report on EDI data. More specifically, the application service provider may provide a usage report based on a period (e.g., the last 1 day, the last 3 days, the last 7 days, the last 15 days, the last 30 days, etc.).

[1016] Additionally, the application service provider can filter groups to provide usage reports. In one embodiment, groups may include message slots, message types, senders, receivers, and directions (inbound / outbound). In particular, the application service provider can provide usage reports based on at least one group. Accordingly, a client can select at least one group to check the EDI data usage to view the usage report.

[1017]

[1018] FIG. 75 is a diagram illustrating an embodiment in which a monitoring module according to an embodiment searches for EDI data.

[1019] In one embodiment, the application service providing device may search for EDI data based on preset conditions and provide search results. For example, the application service providing device may search for EDI data based on at least one of the following: message creation time, message update time, direction, message status, message slot, sender, receiver, and message type.

[1020] This diagram shows the results of a search for data related to export / import EDI exchanged between clients using MessageBox. Message Slot A stores EDI data related to export / import exchanged with the export / import module of the ERP system used by the client using MessageBox. Message Slot B relays EDI data and stores data received from multiple banks.

[1021] The process of exchanging EDI data via the Message Box service is described below.

[1022] When a client receives data from a partner (e.g., a bank with which the client transacts), the bank may outbound the data via message slot B, and the application service provider may convert the EDI data into XML data using the aforementioned embodiment. The application service provider may inbound the converted XML data via message slot A, and the client may receive the data via an agent.

[1023] Conversely, when a client sends data to a partner, the client outbounds the data to message slot A via an agent, and the application service provider can convert XML data into EDI data using the above-described embodiment. The application service provider inbounds the converted data to message slot B, and message slot B can transmit data to the partner.

[1024] The application service provider can search for data transmission and reception history between clients and partners according to conditions and provide it to the client.

[1025]

[1026] FIG. 76 is a diagram illustrating another embodiment in which a monitoring module according to an embodiment searches for EDI data.

[1027] This drawing illustrates an example of XML data actually received by a client's ERP system according to the above-described embodiment. In one embodiment, the application service providing device can output XML data inbound to the client's ERP system via an A message slot.

[1028]

[1029] FIG. 77 is a diagram illustrating another embodiment in which a monitoring module according to an embodiment retrieves EDI data.

[1030]

[1031] *906 This drawing illustrates an example of EDI data transmitted by a client according to the above-described embodiment. In one embodiment, the application service providing device can output the EDI data transmitted by the client.

[1032] In one embodiment, the application providing device may output EDI data through a pop-up window. At this time, the application providing device may modify the structure of the EDI data output in the pop-up window and output it in a different format.

[1033] More specifically, EDI data generally consists of a single line of characters, and it is difficult for a person to immediately determine whether there is an error by looking at such a single line of characters. To solve this problem, the application providing device can provide a visualization function in a pop-up window that outputs EDI data consisting of a single line of characters. By selecting a visualization button (188) that provides the visualization function, the application providing device can transform the structure of the EDI data consisting of a single line of characters and newly output EDI data in a structure that is easy for a person to view in the pop-up window. Here, the application providing device can transform the structure of the EDI data based on preset conditions. For example, the application providing device can perform a line break based on the terms of the segments included in the EDI data (e.g., elements such as UNB, UNG, UNH, BGM, FTX, DTM, NDA, etc.).

[1034]

[1035] Figure 78 is a drawing illustrating an embodiment in which an access control module according to an embodiment restricts access to EDI data.

[1036]

[1037] *In a 911 example, the application service provider can control access to EDI data.

[1038] More specifically, the application providing device can set access rights for the message box service through the interface platform provided by the manager system described above. For example, if the client sets the permission permission for the first message box to manager or higher, the platform of the present invention can deny access when user A, who has a permission (role) lower than manager, accesses the first message box service. On the other hand, if the client sets the permission permission for the second message box to manager or higher, user B, who has a manager permission, access can be allowed when accessing the second message box service.

[1039]

[1040] FIG. 79 is a diagram illustrating an embodiment in which a monitoring module according to an embodiment encrypts EDI data.

[1041] In one embodiment, the application service provider device can encrypt EDI data within a message box.

[1042] More specifically, the application service providing device can encrypt or decrypt EDI data in a message box using an encryption key and key ID managed by a key management module of a data management platform. Here, the encryption key can be expressed in binary. The first encryption key can correspond to "01001010 00110001 00110001 00110011 00111000 00110000 00110001 01011010 00111101 00111101". In addition, the key ID is mapped to an encryption algorithm. In one embodiment, available encryption algorithms may include SEED, ARIA128, ARIS192, ARIA256, AES128, AES192, DES, and TDES as two-way algorithms, and SHA-256 as a one-way algorithm. At this time, the encryption algorithm can be determined based on the key ID.

[1043] In one embodiment, the encryption key and key ID managed by the data management platform can be newly generated based on the user's control. If the encryption key and key ID are newly generated, the application service providing device can re-encrypt and decrypt data within the message box using the generated encryption key and key ID.

[1044] Additionally, in one embodiment, the application service provider can encrypt all or part of the data. As shown in this drawing, the client can set different encryption settings for each message box. For example, the first message box can be set to "partial encryption," the second through fourth message boxes can be set to be encrypted, and the fifth message box can be set to not be encrypted.

[1045] In particular, although this drawing describes an embodiment of encrypting data based on a message box, the application service providing device can process data encryption settings differently for each message slot included in the message box.

[1046]

[1047] Figure 80 is a drawing illustrating an embodiment in which a lifecycle management module according to an embodiment manages the lifecycle of EDI data.

[1048] In one embodiment, the application service provider device can manage the lifecycle of EDI data stored in a message slot.

[1049] More specifically, the application service provider can input a life cycle for each message slot included in a message box, and delete EDI data stored in the message slot after a set period of time.

[1050] The client can set different life cycles for the first inbound message slot, the first outbound message slot, the second inbound message slot, and the second outbound message slot. For example, the client can set the life cycles for the first inbound message slot, the first outbound message slot, the second inbound message slot, and the second outbound message slot to 30 days.

[1051] In one embodiment, the application service providing device can delete EDI data included in the first inbound message slot, the first outbound message slot, the second inbound message slot, and the second outbound message slot after 30 days.

[1052]

[1053] Figure 81 is a flowchart illustrating a method for providing an application service according to an embodiment.

[1054] A processor of a virtualized computing system within a platform providing an isolated workspace may receive a request to use a message box service from a client utilizing the workspace (S1101). Here, the message box service may include at least one of a service for monitoring EDI data, a service for setting access rights to EDI data, a service for searching EDI data, a service for managing the lifecycle of EDI data, and a service for encrypting / decrypting EDI data.

[1055] In this regard, please refer to the contents described above in Figures 71 and 72.

[1056] To provide each service, the platform may provide a user interface for managing EDI data contained in a message box based on a usage request (S1102).

[1057] For the user interface for the platform to manage EDI data contained within the message box, please refer to the contents described above in FIGS. 73 to 80.

[1058]

[1059] FIG. 82 is a drawing disclosing an example in which an application service providing device according to an embodiment provides an API gateway service.

[1060] In the illustrated example, the application service providing device (6000) may include an instance system (1000) and a manager system (2000). The instance system (1000) may include a worker node on which a mapping adapter (1370) is installed. The instance system (1000) and the manager system (2000) may provide an API gateway service to a client (100) and a partner (200). In this case, for example, if the client (100) is a logistics company that develops and provides an API, the partner (200) may be a retailer that uses the API developed by the logistics company.

[1061] In one embodiment, the application service providing device (6000) can manage the API package of the client (100). For example, the application service providing device (6000) can manage the API format and information for testing in the form of an API package. For details, refer to the drawings described below.

[1062] In one embodiment, the application service providing device (6000) can perform API design. In one embodiment, as the API design is performed, API gateway features can be added as settings. For example, the API gateway features can include throttling, access control, authentication, load balancing, logging, a dashboard, and backend integration.

[1063] Here, throttling can refer to limiting the number of API calls. For example, throttling can include a per-user limit and a call limit for a given API user. Access control can indicate blocking calls from certain IP addresses or allowing calls only from certain IP addresses (blacklist / whitelist). Authentication can indicate the authentication method for API users. For example, authentication can include API keys, JWT, and OAuth2. Load balancing can refer to the load distribution of the API gateway service. Logging can indicate the file used to check for errors during API calls. Dashboards can analyze access to APIs. For example, they can be used to monitor API usage, such as which user called which API and how many times, or for call-based billing calculations. Backend integration can be used for bypass and connection to API provisioning services.

[1064] In one embodiment, the API providing service can perform model design, database connection, custom queries for each API, paging, and sorting. Model design may refer to the automatic generation of source code and open APIs for the API. Database connection may refer to the automatic performance of queries, inserts, and updates to internal and external databases through the API. Custom queries may refer to the automatic generation of schemas or API designs corresponding to queries simply by entering a query without coding.

[1065] In one embodiment, the manager system (2000) may include an application service manager (2100), which may perform open API-based editing to edit open API specifications in text format. For further details, refer to the drawings described below. In one embodiment, the application service manager (2100) may perform user management, open API editing and testing, and dashboard and billing management. For example, the application service manager (2100) may receive membership registration, API use application, and access key issuance requests from partners (200), and manage approval thereof.

[1066] In one embodiment, the mapping adapter (1370) can perform API editing using an API schema. In one embodiment, the API schema-based editing can be generated based on user input of the client (100) to the graphical user interface (GUI) of the platform of the instance system (1000) provided to the client (100). For details, refer to the drawings described below.

[1067] In one embodiment, the application service providing device (6000) may selectively perform open API editing or schema-based API editing based on the selection of the API service provider of the client (100). For example, open API editing may refer to a method of expressing the open API specifications for the corresponding API in text format according to predefined rules.

[1068] In one embodiment, the application service providing device (6000) can perform API deployment. The application service providing device (6000) can receive an API gateway service purchase request from a client (100) and perform API deployment for the purchased API gateway service in response to the purchase request.

[1069] For example, a partner (200) can access a DB through at least one Rest API among an internal backend and an external backend via an API gateway service via an API gateway instance (6401). For details, refer to the drawings described below.

[1070]

[1071] FIG. 83 is a diagram disclosing another example in which a mapping adapter of an application service providing device according to an embodiment provides an API gateway service.

[1072] In the illustrated example, the application service providing device (6000) may include an application service manager (2100) included in a manager system (2000) and a mapping adapter (1370) included in an instance system (1000). In one embodiment, the application service manager (2100) may include an API management unit (6404), an open API-based design unit (6405), and an API distribution unit (6406).

[1073] The API management unit (6404) can manage the API format and testing information as an API package. In one embodiment, the API management unit (6404) can generate API management information for an API developed by a client (100) and provide the API management information to at least one of the client (100) and a partner (200). In one embodiment, the API management information can include information for managing the API, such as which input / output methods are used to transmit and receive data, and how the API is called.

[1074] The Open API-based design unit (6405) can edit the API based on the Open API. In one embodiment, the Open API-based design unit (6405) can design the API by editing the text of the Open API Specification provided by the API provider.

[1075] In one embodiment, the mapping adapter (1370) may include a schema-based design unit (6407). The schema-based design unit (6407) may edit the corresponding API based on the API schema using a graphical user interface tool. In one embodiment, the API schema may be used to set request data and response data. For example, the API schema may include a request schema indicating how to call the API using what type of data as input, and a response schema indicating how to return what data as a response.

[1076] The API distribution unit (6406) can distribute the API to the corresponding API gateway service based on the API version information for the API and the endpoint indicating the workspace provided by the client (100). In other words, the API distribution unit (6406) can distribute the API to an environment where the API is successfully uploaded to the actual usage environment and can be actually accessed.

[1077]

[1078] Figure 84 is a flowchart disclosing an example of an application service providing method according to an embodiment of the present invention for managing an API package.

[1079] API management information for an API developed by a client (100) is generated (S1111). In one embodiment, the API management information may include at least one of API version information and API guide information. Here, the API version information may include information such as the form of the API, for example, the protocol and rules of the API. For example, the API version information may include an OpenAPI Specification for the API. In addition, the API guide information may include a user manual for usage methods and usage procedures, such as a description of the API, a constraint guide, and an onboarding guide.

[1080] API management information is provided to at least one of a client (100) and a partner (200) (S1113). In one embodiment, when a request for API guide information is received from a partner (200), API guide information created by the API provider may be provided to the partner (200).

[1081]

[1082] Figure 85 is a drawing disclosing an example of an interface of a platform according to an example of providing an application service disclosed.

[1083] In the illustrated example, the interface provided by the platform is illustrated when the API provider of the client (100) accesses the platform according to the example of providing the application service.

[1084] When a client (100) connects to a system initiated by the platform, the platform may provide a user interface menu related to a workspace exclusive to the API provider.

[1085] The client (100) can access the instance system by using the interface platform provided by the manager system as exemplified in this drawing or by using HTTP including a URL, etc.

[1086] In this case, the platform interface provided by the manager system may provide options for the API gateway (6407). The API gateway (6407) may provide information about the API gateway service and API package through the API developed by the client (100).

[1087]

[1088] FIG. 86 is a drawing disclosing an example of an API package management screen of an API gateway service user interface according to an embodiment.

[1089] In the illustrated example, an API package management screen (6409) of the API gateway service user interface of the present invention may be provided. Here, the API package management screen (6409) may include an API package name, a design model, a subscription model, an API call rate limit, allowed authentication, and an action menu.

[1090] Here, the design model can represent either an OpenAPI or a Mapping Adapter for each API package. In this case, OpenAPI represents an OpenAPI-based editing method, and Mapping Adapter represents an API schema-based editing method.

[1091] Additionally, the subscription model may represent a subscription model for the API package of the partner (200)'s API users. For example, the subscription model may include an on-demand method, a by-approval method, and an by-assign method. In this case, the on-demand method may refer to a method in which authentication for the API is obtained simply by a subscription request from the API user, enabling immediate use.

[1092] The authorization method can refer to a method in which API users request a subscription and then, upon approval by the service provider, obtain access to the API and make it available for use. The assignment method can refer to a method in which the API provider directly registers the API user, rather than allowing the user to search for the API catalog. The assignment method can be used when the API provider does not wish to allow API searches for security reasons.

[1093] Additionally, the authorization authentication may include basic authentication and an API key for the API user to use the API. Furthermore, the API call limit may indicate the number of API calls that can be made per period of time (e.g., per second). Furthermore, the action menu may include an API package settings menu and an API subscription management menu. Here, if the API provider selects the API package settings menu, configuration information such as the authentication method for the API package can be changed. Furthermore, if the API provider selects the API subscription management menu, an API subscription management user interface for each API user may be displayed.

[1094]

[1095] FIG. 87 is a drawing disclosing an example of an API subscription management screen of an API gateway service user interface according to an embodiment.

[1096] In the illustrated example, an API subscription management screen (6410) of the API gateway service user interface of the present invention may be provided. Here, the API subscription management screen (6410) may include an API user ID, an email address, a subscription status, a status change, and an action menu.

[1097] Here, the API user ID may include the API user ID of the partner (200) who applied for a subscription to the API. Additionally, the email address may include the email address of the API user. Furthermore, the subscription status may be displayed as one of the following after the subscription application: Approved, Awaiting Approval, or Rejected. Furthermore, the status change may indicate the time at which the subscription status changed.

[1098] Additionally, the action menu may include a "Subscription Approval" menu and a "Subscription Delete" menu. If the API provider selects the "Subscription Approval" menu, a subscription request confirmation screen (6411) for the API may be displayed. The subscription request confirmation screen (6411) may include the API user ID, email address, and approval status. In this case, if the API provider selects either "Accept" or "Reject" for approval, the API user's subscription to the API may be determined.

[1099]

[1100] Figure 88 is a flowchart disclosing an example of designing an API package according to an embodiment of a method for providing an application service.

[1101] An API developed by a client (100) is edited based on a predefined open API or API schema (S1121). In one embodiment, the editing method of one of the predefined open APIs and API schemas can be determined by the client's API provider's selection.

[1102] In one embodiment, for an OpenAPI-based editing method, a predefined OpenAPI specification for an API can be edited in text format. For example, the OpenAPI editing method may include the Swagger Editor method.

[1103] In one embodiment, in the case of an API schema-based editing method, an API can be edited based on an API schema that sets request data and response data, and the edited API can be automatically converted into open API-based text to publish the API.

[1104] An API channel is set for the edited API (S1123). In one embodiment, an API channel for an endpoint including a workspace may be set using API version information based on the edited Open API specification. In one embodiment, when publishing an API based on an API schema, an API channel for the endpoint may also be set using API version information for the API. In one embodiment, when multiple APIs exist, channel binding may be performed to set an endpoint for each of the multiple APIs.

[1105]

[1106] Figure 89 is a flowchart disclosing an example of a method for providing an application service according to an embodiment of the present invention for distributing an API package.

[1107] A purchase request for an API gateway service is received (S1131). In one embodiment, a purchase request for an API gateway service may be received from a client (100). Here, the API gateway service may include a physical / logical configuration that actually performs the API gateway role (e.g., forwarding, proxy). In one embodiment, a purchase approval may be transmitted in response to the purchase request from the client (100). In other words, a purchase for the API gateway service to be deployed may be made before the API package is deployed.

[1108] In response to a purchase request, an API package is deployed to the purchased API gateway service (S1133). In one embodiment, when a purchase approval is performed in response to a purchase request, API version information and a workspace are set, and the API package can be deployed. That is, after API package management, the API package can be deployed to the API gateway service for actual execution. In one embodiment, the API package can be deployed to a specific API gateway service and made executable.

[1109]

[1110] Figure 90 is a flowchart showing an example of an application service providing method according to an embodiment providing an API gateway service.

[1111] In a computing system that manages a platform that provides a client (100) with an isolated workspace where an application package is executed, an API developed by the client (100) is set (S1141). In one embodiment, prior to step S1141, API management information for the API developed by the client may be generated and provided to at least one of the client and a partner. In one embodiment, the API developed by the client may be edited based on a predefined open API or API schema, and an API channel for the edited API may be set. For this purpose, please refer to the contents described above in FIGS. 83 to 89.

[1112] A client (100) provides an API-based API gateway service to its partner (200) (S1143). In one embodiment, a purchase request for an API gateway service may be received from the client, and an API may be deployed to the purchased API gateway service in response to the purchase request. For details, refer to the details described above in FIGS. 83 and 89.

[1113]

[1114] Figure 91 is a flowchart for a method for providing application services according to an embodiment.

[1115] A processor of a virtualized computing system within a platform providing an isolated workspace may receive a request to retrieve at least one API developed by a client using the workspace (S1201).

[1116] According to the above-described embodiments, the present invention provides an API gateway service tailored to the needs of various integration cases. At this time, a client (corresponding to an API service provider) can purchase the API gateway service provided by the present invention. Accordingly, API packages developed by the API service provider are provided on the platform, and partners can search for APIs developed by the API service provider.

[1117] In one embodiment, the platform may receive a subscription request for a first API among at least one API (S1203).

[1118] More specifically, an API service user can request a subscription to at least one API developed by an API service provider through the platform. The subscription request may include a perpetual subscription request, with a fee policy based on a period of time.

[1119] In one embodiment, the platform can set permissions for the first API (S1205). At this time, partners must obtain permissions to call the API developed by the client. In one embodiment, API service users can obtain permissions (e.g., API keys) for the first API through the platform.

[1120] In one embodiment, the platform may provide an environment for testing at least one of an API version, an API gateway service, and an API deployment for the first API (S1207). For example, the platform may provide a Swagger UI for version testing, API gateway service testing, and API deployment testing for the first API.

[1121] In one embodiment, the platform may provide guidance for a second API upon receiving a guidance request for the second API among at least one API.

[1122] This will be explained in detail through the drawings described below.

[1123]

[1124] Figure 92 is a drawing illustrating an embodiment of an application service providing method according to an embodiment of the present invention, in which an API is executed.

[1125] The present invention can synchronize API settings to provide an API developed according to the above-described embodiment as an API gateway service (S1209).

[1126] More specifically, the application service providing device of the present invention can synchronize gateway instance settings, API gateway service settings, API package settings, API version settings, endpoints (corresponding to workspaces in the above-described embodiments), channel settings, channel binding settings, API deployment settings, API partner settings, and API client settings.

[1127] In this case, the API client corresponds to the API service provider that develops and provides the API, and the API partner corresponds to the API service user that utilizes the API provided by the API service provider. For example, if the API client is a logistics company that develops and provides an API, the API partner could be a retailer that utilizes the API developed by the logistics company.

[1128] In one embodiment, the application service providing device can set an API based on the synchronization settings described above (S1211).

[1129] For example, an application service provider can perform channel binding with an endpoint to execute an API. To do this, the application service provider can register an endpoint (e.g., a client's workspace) and look up a channel in the endpoint (workspace) to register (bind) the channel.

[1130] In one embodiment, the application service providing device can execute an API (S1213). The API developed and provided by the client can be provided to partner API users through the platform.

[1131] Below, the interfaces provided by the application service device through the platform are described in detail.

[1132]

[1133] Figure 93 is a drawing illustrating an example of an interface of a platform according to an embodiment.

[1134] According to the above-described embodiment, the application service providing device of the present invention can provide various application services.

[1135] In one embodiment, the application service providing device may provide an API gateway service.

[1136] For example, an API user wishing to utilize an API can access the platform and log in to the API gateway service. At this time, the API user can select the user registration pop-up (189) to create a user ID for the API gateway service.

[1137]

[1138] FIG. 94 is a drawing illustrating another example of an interface of a platform according to an embodiment.

[1139] This diagram illustrates the functionality provided to API users who log in to the API gateway service according to the above-described embodiment. Here, the API user may correspond to a partner of a client that provides an API to the platform of the present invention, as described above.

[1140] The application service providing device can provide an API gateway service to an API user who has logged in to the API gateway service, an API search and test service (190) for requesting a subscription, an API catalog service (191) for searching an API list and requesting a subscription, and an API authentication service (192).

[1141] Each of these will be described in detail later.

[1142]

[1143] Figure 95 is a drawing explaining an API query service according to an embodiment.

[1144] An application service provider may provide an API user who has logged into an API gateway service with a menu including a list of APIs (191) for which subscriptions have been completed. In one embodiment, when an API user logs into the API gateway service and selects the API inquiry and testing service (190), the platform may provide a list of APIs (191) for which subscriptions have been completed.

[1145] The list of APIs (191) for which subscriptions have been completed may include the API package name, description, subscription status, and an action menu. The subscription status may include "approved" or "awaiting approval." In other words, an API user may subscribe to an API developed by an API provider and then wait for the API provider's approval request. Additionally, the action menu may include an API guide inquiry menu, an API test menu, and a subscription cancellation menu.

[1146] In one embodiment, the API Test menu may be activated when an API subscription request from an API user is approved and the API is deployed by the API provider. An embodiment of selecting the API Guide View menu and the API Test menu is described below.

[1147]

[1148] Figure 96 is a drawing explaining an API guide inquiry menu according to an embodiment.

[1149] In one embodiment, when a user requests an API guide, the platform may provide an API guide written by the client. The API guide may include user documentation for API packages.

[1150]

[1151] Figure 97 is a drawing illustrating an API test menu according to an embodiment.

[1152] In one embodiment, when a user requests API testing, the platform may provide a testing environment for the API provided by the client.

[1153] More specifically, the present invention can test APIs through the Swagger UI. In one embodiment, the application service providing device of the present invention can test API versions, API gateway services, and API distributions.

[1154] In one embodiment, the application service provider may provide API input and output data to API users. For example, the platform may provide openAPI input data such as an HTTP request method, request headers, query parameters, and request body information, and may provide HTTP response codes, response headers, and response bodies as output data.

[1155] Additionally, if the API supports multiple versions, the application service provider may provide API version testing to ensure that each version operates correctly.

[1156] Additionally, the application service provider can provide a screen to verify that the API operates properly in a real-world environment. This screen can verify the performance, security, and load handling capabilities of the API when deployed in a real-world service environment.

[1157]

[1158] Figure 98 is a drawing illustrating an API catalog service according to an embodiment.

[1159] An application service provider may provide an API user logged into an API gateway service with a menu including a list of APIs (192) available for subscription. In one embodiment, when an API user logs into the API gateway service and selects the API catalog service (191), the platform may provide a list of APIs (192) available for subscription.

[1160] The list of APIs available for subscription (192) may include API packages provided by the API provider through the platform. The list of APIs available for subscription (192) may include the API package name, description, subscription model, API service provider (API Owner), distribution status, and action menu.

[1161] Here, the subscription model represents the type of subscription for the API package. More specifically, the subscription model may include an on-demand subscription, a by-approval subscription, and a by-private-assign subscription. An on-demand subscription is a subscription model in which an API user obtains permission to use the API simply by requesting a subscription. When an API user requests a subscription to an API under the on-demand subscription model, the API user can use the API immediately without approval from the API service provider. Furthermore, an approval-based subscription is a subscription model in which permission to use the API is obtained through approval by the API service provider after the API user requests a subscription. When an API user requests a subscription to an API under the approval-based model, the API user can use the API only if the API service provider approves. Finally, a by-private-assignment subscription represents a subscription model for APIs that are not disclosed through the API catalog service (191). In one embodiment, an API service provider can directly register API users through the platform. Accordingly, an API user can use an API under the private-assignment subscription model. This is advantageous if the API service provider does not want to allow API discovery for security reasons.

[1162] Additionally, the API deployment status indicates whether the API service provider has deployed the API. This allows API users to verify that the API has been successfully deployed in a production environment and is accessible.

[1163] Additionally, the action menu may include an API Guide Search menu and an API Subscription menu. Here, if an API user selects the API Guide Search menu, the user interface of the aforementioned embodiment may be displayed. In other words, the platform may provide an API guide created by the API provider. Furthermore, if an API user selects the API Subscription menu, the platform may transmit a subscription request to the API provider.

[1164]

[1165] Figure 99 is a drawing illustrating an example of an API authentication service according to an embodiment.

[1166] The application service provider device can provide an API authentication service (192) to API users who have logged into the API gateway service. Here, the API authentication service (192) corresponds to authentication information used when the provided API is called to the gateway and the corresponding API calls the system.

[1167] In one embodiment, when an API user logs in to an API gateway service and selects an API authentication service (192), the platform may provide at least one API authentication method.

[1168] In one embodiment, the application service providing device may provide a basic authentication method, an API key authentication method, and an OAuth2 authentication method as authentication methods for API service users to use the API.

[1169] This diagram illustrates the basic authentication method as an example, but it is clear that API key authentication and OAuth2 authentication methods can also be provided in a similar manner.

[1170] An application service provider can authenticate API users using API user account information to receive desired services through the API. The API user account information may include the user's ID, password, the time the authentication was created, and the time it was last modified. Furthermore, if an API user has multiple accounts to execute the API, the application service provider can authenticate using multiple user account information.

[1171] In another embodiment, the application service provider may provide an API key authentication method, wherein the API key authentication method allows an API service user to transmit a unique key along with an API execution request, so that the platform can verify the key to confirm the validity of the request.

[1172] In another embodiment, the application service provider may provide an OAuth2 authentication method. Here, the OAuth2 authentication method is an open standard authentication protocol that allows users to access APIs without sharing their credentials. For example, the platform may allow API service users to log in with accounts from Google, Facebook, etc.

[1173]

[1174] FIG. 100 is a drawing disclosing an example of an application service providing device according to an embodiment providing an EDI portal service.

[1175] In the illustrated example, the application service providing device may include an instance system (1000), an OMS service module (6501), and a web EDI service (156). The client (100) can reliably receive isolated workspaces (1500) through the instance system (1000). The client (100) can receive, modify, or utilize applications or software packages through the isolated workspace (1500).

[1176] In one embodiment, the OMS service module (6501) can provide OMS services to clients (100) and partners (200) through an EDI portal service.

[1177] In one embodiment, a client (100) can access an OMS service module (6501) through an agent, and a partner (200) can access an OMS service module (6501) through an agent. In this case, the instance (1000) and the workspace (1500) can perform functions for agent linkage.

[1178] In one embodiment, a partner (200) can access the OMS service module (6501) via an API, thereby receiving OMS services based on an EDI portal service. For further details, refer to the drawings described below. In one embodiment, a partner (200) can access the OMS service module (6501) via a web EDI service (156).

[1179] In one embodiment, the partner (200) can request order creation for the client (100), confirm the order, confirm the Advanced Shipping Notice (ASN), and confirm the invoice through the OMS service module (6501). For details on this, refer to the drawings described below.

[1180]

[1181] FIG. 101 is a drawing disclosing another example in which an OMS service module of an application service providing device according to an embodiment provides an OMS service based on an EDI portal service.

[1182] In the illustrated example, a partner (200) may request a company and membership application from a client (100) through the OMS service module (6501). The client (100) may transmit membership approval or rejection for the membership application to the partner (200) through the OMS service module (6501).

[1183] In one embodiment, a partner (200) may request the client (100) to create, change, and cancel an order through the OMS service module (6501). The client (100) may transmit an order confirmation or order rejection for the corresponding order request to the partner (200) through the OMS service module (6501).

[1184] In one embodiment, the partner (200) may request the client (100) to register and change delivery information through the OMS service module (6501). The client (100) may transmit a delivery receipt confirmation or delivery return to the partner (200) through the OMS service module (6501).

[1185] In other words, the present invention provides a service that supports business-to-business (B2B) sales and purchasing activities. Furthermore, the present invention allows the service to be operated by a product sales company through an EDI portal service, allowing product orders to be received and processed from multiple companies.

[1186]

[1187] Figure 102 is a diagram disclosing an example of an OMS service configuration diagram and OMS architecture of an application service providing device according to an embodiment.

[1188] In the illustrated example, the OMS service module (6501) may include a seller FE (front end), a seller API, a buyer FE, a buyer ME (middle end), a buyer API, and an OMS function unit.

[1189] In one embodiment, a sales representative of a client (100) may access the OMS functionality via a seller API based on at least one of a seller ERP system and a seller FE (front end). Furthermore, a purchasing representative of a partner (200) may access the OMS functionality via a buyer API based on at least one of a buyer purchasing system, a buyer FE, and a buyer ME. In one embodiment, the buyer ME may include a responsive mobile system.

[1190] In one embodiment, the OMS function unit may provide the seller's company information (e.g., company code, company name), account management (employee), buyer member management, sales product management, sales management, delivery information management, notification (e.g., email, messenger), notice management, and backend integration (e.g., DB, Web-hook) functions.

[1191] Here, account management may include employee membership registration, information changes, and withdrawal. Membership management may include buyer group management, company membership approval, group assignment, and member deletion. Product sales management may include product registration, including product codes, product names, photos, descriptions, and inventory quantities. Sales management may include order confirmation, order confirmation, and order rejection. Shipping information management may include shipping information registration and shipping information changes. Notifications may include notifying group managers about membership registration, order creation / change / cancellation, and returns. Announcement management may include posting, deleting, and changing announcements regarding their provision, content, and posting period. Backend integration may include products, orders, and shipping.

[1192] In one embodiment, the OMS functionality may provide the buyer's company management, member management, order management, delivery management, and notice pop-up functions.

[1193] Here, company management may include company registration applications, including ID, company information, and contact information, company information changes, and shipping address management. Membership management may include membership applications, including ID, password, name, contact information, company affiliation, and shipping address, member information changes, and membership withdrawal. Order management may include order creation, modification, cancellation, and confirmation. Delivery management may include shipment tracking, receipt confirmation, and returns.

[1194]

[1195] Figure 103 is a drawing disclosing an example of an order management screen according to an embodiment.

[1196] In the illustrated example, the order management screen (6502) of the present invention can display a list of order statuses for each order number. In one embodiment, the order management screen (6502) can search for order statuses for a specific period by specifying a date. Additionally, the order management screen (6502) can search for order statuses for a specific order number by directly entering the order number.

[1197] In one embodiment, the order management screen (6502) may include an order number, order amount, currency type, order status, person in charge, order date, tracking number, and invoice. In one embodiment, the order status may be set to one of processing, acceptance required, created, submitted, canceled, complete, and draft. Here, the draft status can be modified through a pop-up window when a user clicks on the order number to create an order. This is described in detail below.

[1198] In one embodiment, for the status filtering condition, it can be filtered by completed, not received, partially received, error, and reset.

[1199] Additionally, order creation, ASN and FD check, and order refresh can be performed based on user click input for button icons. For example, order creation may be represented by the O button icon, check by the C button icon, and order refresh by the R button icon, but this is not limited to these and may be expressed in various forms.

[1200]

[1201] Figure 104 is a drawing disclosing an example of an order creation screen according to an embodiment.

[1202] In the illustrated example, the order creation screen (6503) of the present invention may display order creation details for a partner's client. In one embodiment, the order creation screen (6503) may be displayed through the partner's purchaser FE.

[1203] In one embodiment, the order creation screen (6503) may include the partner's order number, company name, profile ID, order amount, expedite shipping, order date, order manager, and order details. Here, the order details may include the part number being ordered, the customer part number, Qtv, status, and comments.

[1204] For example, an order history for part number NE555DR, customer part number 4-ch, 2-input, Qtv 100, and order number O2305150001 with a status of Submission Completed is created and can be confirmed through the order creation screen (6503).

[1205]

[1206] FIG. 105 is a drawing disclosing an example of an order view screen according to an embodiment.

[1207] In the illustrated example, the order view screen (6504) of the present invention may display order view content for a partner's client. In one embodiment, the order view screen (6504) may be displayed through the partner's purchaser FE.

[1208] In one embodiment, the order view screen (6504) may include a partner's customer order number, order information, bill to, ship to, order details, payment details, and notifications. The order information may include the order number, tracking number, order date, invoice, order manager, profile ID, order status, and order amount. The bill to and ship to may each include the corresponding contact name, company name, customer address, email address, phone number, and website.

[1209] Order details may include part number, part description, part type, HTS code, QTV, QTV shipped, unit price, net price, and order status. Payment details may include payment information and VAT information. Payment information may include payment type, payment method, email address, and tax information. VAT information may also include VAT type, company name, Tax ID, address, and email address.

[1210]

[1211] FIG. 106 is a drawing disclosing an example of an ASN view screen according to an embodiment.

[1212] In the illustrated example, the ASN view screen (6505) of the present invention can display ASN shipment information.

[1213] In one embodiment, the ASN view screen (6505) may include an ASN number, shipment information, ship from, and ship to. Here, the shipment information may include an arrival date (expected date), a shipment date, and a message regarding the order details for the corresponding ASN number.

[1214] Additionally, the sender and delivery address may each include the corresponding contact name, company name, customer address, email address, phone number, and website. In one embodiment, the sender address may correspond to the client. Furthermore, the delivery address may correspond to the partner.

[1215]

[1216] Figure 107 is a flowchart disclosing an example of an application service provision method according to an embodiment providing an EDI portal service.

[1217] In a computing system that manages a platform that provides clients with isolated workspaces where application packages run, an Order Management System (OMS) service request is received from a partner via an EDI portal service based on the client's workspace (S1301). In one embodiment, the OMS service request may be received from the partner via the EDI portal service based on at least one of the partner's API, agent, and web EDI service. For details, refer to the details described above in FIGS. 100 to 102.

[1218] An order creation process is performed in response to an OMS service request (S1303). In one embodiment, an order creation request containing the partner's order information may be sent to the client, and an order creation result containing order confirmation or order rejection information corresponding to the client's order creation request may be sent to the partner. For details, please refer to the details described above in FIGS. 100 to 107.

[1219] An OMS service is provided based on order creation (S1305). In one embodiment, an OMS service including delivery information corresponding to order creation may be provided to the partner. For details, refer to the details described above in Figures 100 to 107.

[1220]

[1221] Figure 108 is a drawing explaining an agent operation method according to an embodiment.

[1222] This drawing is a drawing explaining the document reception processing operation method of the agent (350).

[1223] For security and convenience reasons, the agent (350) is not located in an external network (cloud), but rather within a private network. Accordingly, the instance system (1000) located in the external network can communicate data with the agent (350) through the agent adapter (1350) within the instance system (1000). However, since the agent adapter (1350) cannot send data to the agent, the agent (350) can receive data from the agent adapter (1350) through a polling method.

[1224] However, a new approach is needed to transmit and receive data efficiently while maintaining security.

[1225]

[1226] Figure 109 is a drawing explaining an agent operation method according to an embodiment.

[1227] To perform the above-described flows, the agent adapter (1350) can request data from the agent (350).

[1228] For example, even if direct access from an external network is not permitted, one may want to use an agent (350) to query a database and perform subsequent processing. In this case, the existing agent adapter (1350) cannot request the agent (350) to query and perform subsequent processing of the database (2200).

[1229] For another example, the agent adapter (1350) may have a requirement to remotely view log data accumulated on the agent (350) side. In this case, the existing agent adapter (1350) cannot make a request to remotely view log data to the agent (350).

[1230]

[1231] Figure 110 is a drawing illustrating the reverse tunnel operation method of an agent according to an embodiment.

[1232] In one embodiment, for smooth data communication between the agent adapter (1350) and the agent (350), the agent (350) may perform a network connection using a reverse tunnel (500) method.

[1233] More specifically, the agent (350) can connect an uninterrupted network connection (reverse tunnel (500)) to the instance system (1000). That is, the agent (350) implements a multi-channel transmission and reception technology through the reverse tunnel (500) so that the agent adapter (1350) can transmit data to the agent (350) and receive the result.

[1234] Below, we will look at a specific implementation method of the reverse tunnel (500).

[1235]

[1236] Figure 111 is a drawing illustrating a method for implementing a reverse tunnel of an agent according to an embodiment.

[1237] This diagram assumes that the backend application and TCP client are located in a private network area, while the TCP server and client application are located in the cloud area. Here, the TCP server is a device that provides services on the network and can transmit data in response to requests from TCP clients.

[1238] At this time, in one embodiment, a reverse tunnel (500) can be created between a TCP client and a TCP server. Hereinafter, details on implementing the reverse tunnel (500) will be described.

[1239] A TCP client in a private network area can request a TCP connection to a TCP server in a cloud area (S1401).

[1240] The TCP server can respond with ACK based on the requested TCP connection request (TCP SYN-ACK) and maintain a TCP connection with the TCP client (S1402).

[1241] A backend application can create at least one virtual server socket and bind a destination (server or application) located in a private network area to the virtual server socket (S1403). Here, the virtual server socket is not directly bound to a physical network interface, but rather represents a server socket implemented in software. Furthermore, the backend application can consist of at least one. Furthermore, the backend application registering to accept connections to the virtual server socket is referred to as binding.

[1242] A client application on a cloud area or the Internet can request a TCP server to transmit data whose destination is a backend (server or application) (S1404).

[1243] A TCP server can acquire a session for a virtual server socket (S1405). For example, the TCP server can receive a connection initialization request (SYN, synchronized sequence number) through the virtual server socket. At this time, the TCP client can send an ACK for the connection initialization request for the virtual server socket to the TCP server.

[1244] A TCP server can transmit data through a TCP connection with a TCP client using a session key acquired for a virtual server socket (S1406). This connection may be referred to as a reverse tunnel (500).

[1245] In one embodiment, a TCP client and a TCP server can distinguish virtual server sockets using a session key. Therefore, when at least one virtual server socket exists on a private network, the session key is included in the request and response data exchanged, allowing the TCP client and TCP server to distinguish which virtual server socket the data was transmitted from.

[1246] A TCP client can forward data received through a virtual session to its actual destination, which can be a backend application.

[1247] The backend application can generate a response to the received data and transmit the response through the virtual server socket (S1407).

[1248] The TCP client can forward the response received from the backend application to the TCP server (S1408).

[1249] The TCP server can transmit response data received from the TCP client to the client application (S1409). At this time, the response data received from the TCP client corresponds to the response generated by the backend application.

[1250] Accordingly, data transmission and reception between the backend application and the client application is enabled by creating a reverse tunnel between the TCP server and the TCP client.

[1251] That is, through the reverse tunnel, the agent adapter can maintain the connection without having to change the firewall settings, which has the advantage of protecting the int...

Claims

1. In a computing system that manages a platform that provides clients with isolated workspaces where application packages are executed, a step of receiving a channel request for transmitting and receiving information from the client; and A step in which the client provides a platform service for converting the application package in the workspace; Including, The steps for providing the above platform service are: A step of receiving a TCP connection request from a TCP client located in a private network area, and establishing a TCP connection between the TCP server and the TCP client; and A step of creating at least one virtual server socket in the above private network area; The above virtual server socket is bound to a destination located in the above private network area, How to provide application services.

2. In paragraph 1, The steps for providing the above platform service are: A step of receiving a web EDI service request from a client using the above workspace; and A step of providing at least one service among an inbox document service, a draft document service, and a sent document service through the above web EDI service; How to provide application services.

3. In paragraph 1, The steps for providing the above platform service are: A step of receiving scrap adapter setting information from a client using the above workspace; A step of collecting data of a partner set by the client based on the scrap adapter setting information; and A step of storing the collected data in the inbox slot of the message box within the platform; How to provide application services.

4. In paragraph 1, The steps for providing the above platform service are: Step of obtaining the source schema for EDI document data; A step of mapping the above source schema to a target schema for target document data using a graphical tool; and A step of converting the EDI document data into target document data based on the above mapping; How to provide application services.

5. In paragraph 1, The steps for providing the above platform service are: Steps to obtain EDI related files; A step of performing verification of the EDI-related file obtained above; and A step of outputting error display information of the EDI-related file according to the above verification; including; How to provide application services.

6. In paragraph 1, The steps for providing the above platform service are: A step of providing a wizard user interface including wizard management items for the above platform; A step of obtaining wizard setting input for the above wizard management item; and A step of providing an EDI interface service of the platform based on the above wizard setting input; How to provide application services.

7. In paragraph 1, The steps for providing the above platform service are: A step of receiving a request to use a message box service from a client using the above workspace; and Based on the above request for use, the platform provides a user interface for managing EDI data included in the message box; How to provide application services.

8. In paragraph 1, The steps for providing the above platform service are: A step of setting up an API developed by the above client; and A step of providing an API gateway service based on the API to the partner of the client; How to provide application services.

9. In paragraph 1, The steps for providing the above platform service are: A step of receiving a request to search for at least one API developed by a client using the above workspace; A step of receiving a subscription request for a first API among the at least one API; A step of setting permissions for the above first API; and A step of providing an environment for testing at least one of an API version, an API gateway service, and an API deployment for the first API, How to provide application services.

10. In paragraph 1, The steps for providing the above platform service are: A step of receiving an OMS (Order Management System) service request from a partner through an EDI portal service based on the workspace of the above client; A step of performing order creation corresponding to the above OMS service request; and A step of providing an OMS service based on the above order creation; including; How to provide application services.

11. Database for storing data; and Including a processor for processing the above data, The above processor, In a computing system that manages a platform that provides clients with isolated workspaces where application packages run, a TCP connection request is received from a TCP client located in a private network area, and a TCP connection is established between a TCP server and the TCP client. At least one virtual server socket is created in the above private network area, The above virtual server socket is bound to a destination located in the above private network area, Application service providing device.

12. In a computing system that manages a platform that provides clients with isolated workspaces where application packages are executed, a step of receiving a channel request for transmitting and receiving information from the client; and A step in which the client provides a platform service for converting the application package in the workspace; , and The steps for providing the above platform service are: A step of receiving a TCP connection request from a TCP client located in a private network area, and establishing a TCP connection between the TCP server and the TCP client; and A step of creating at least one virtual server socket in the above private network area; The above virtual server socket is a computer-readable recording medium storing a computer program for executing an application service providing method on a computer, wherein the virtual server socket is bound to a destination located in the private network area.

Citation Information

Patent Citations

  • Network device for sharing socket and sharing methodthereof

    KR1020080013279A

  • System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and / or firewall

    KR1020080026628A

  • Electronic device and operating method for the same

    KR1020250071738A

  • Spicy and sweet dressing-type balsamic vinegar using pear and cheongyang peppers and its manufacturing method

    KR102245802B1

  • KR20210036285A