KR102080230B1 - System and method for multiway call processing of rest api service - Google Patents

System and method for multiway call processing of rest api service Download PDF

Info

Publication number
KR102080230B1
KR102080230B1 KR1020190134222A KR20190134222A KR102080230B1 KR 102080230 B1 KR102080230 B1 KR 102080230B1 KR 1020190134222 A KR1020190134222 A KR 1020190134222A KR 20190134222 A KR20190134222 A KR 20190134222A KR 102080230 B1 KR102080230 B1 KR 102080230B1
Authority
KR
South Korea
Prior art keywords
api
response
rest api
rest
message
Prior art date
Application number
KR1020190134222A
Other languages
Korean (ko)
Inventor
소순주
윤지훈
Original Assignee
주식회사 코어소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코어소프트 filed Critical 주식회사 코어소프트
Priority to KR1020190134222A priority Critical patent/KR102080230B1/en
Application granted granted Critical
Publication of KR102080230B1 publication Critical patent/KR102080230B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The present invention relates to a multiple call processing system of a representational state transfer application programming interface (REST API) service and a method thereof. The multiple call processing system of an REST API service comprises: one or more API calling parts for, when an REST API request message is received from an application included in a user terminal or a server, performing REST API calls for the REST API request message; one or more API response parts having an API response endpoint set for the REST API calls; and an API response engine part for checking API identification information and application information by parsing header information of the REST API request message, mapping one or more API response endpoints for the REST API calls, converting a response result obtained by encrypting a result for the REST API calls into a designated protocol, and transmitting the converted response result to the mapped API response endpoints.

Description

REST API 서비스의 다중 호출 처리 시스템 및 그 방법 {SYSTEM AND METHOD FOR MULTIWAY CALL PROCESSING OF REST API SERVICE}Multiple call handling system of REST API service and its method {SYSTEM AND METHOD FOR MULTIWAY CALL PROCESSING OF REST API SERVICE}

본 발명은 API 서비스의 요청 및 응답에 대한 다중 처리가 가능한 REST API 서비스의 다중 호출 처리 시스템 및 그 방법에 관한 것이다.The present invention relates to a multiple call processing system and method for a REST API service capable of multiple processing for a request and a response of an API service.

REST(Representational State Transfer)는 인터넷 상의 컴퓨터 시스템간 상호 운용성을 제공하는 방법 중 하나로서, HTTP 기반으로 필요한 자원에 접근하는 방식을 정해놓은 네트워크 아키텍쳐이다. 여기서 자원은 저장된 데이터(DBMS 등)뿐만 아니라 이미지, 동영상, 문서(PDF 등)와 같은 파일, 서비스(이메일 전송, 푸쉬 메시지 등) 등을 모두 포함한다. 이러한 REST 기반으로 API 서비스를 구현한 것을 REST API라고 한다. Representational State Transfer (REST) is one of the ways to provide interoperability between computer systems on the Internet. It is a network architecture that defines how to access necessary resources based on HTTP. Here, resources include not only stored data (DBMS, etc.) but also files such as images, videos, documents (PDF, etc.), services (email sending, push messages, etc.). Implementing an API service based on such a REST is called a REST API.

최근, OpenAPI(공개된 API, 구글 맵, 공공 데이터 등), 마이크로 서비스(하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처) 등을 제공하는 업체 대부분은 REST API를 제공한다. 또, 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다. Recently, most companies that offer OpenAPI (public APIs, Google Maps, public data, etc.), microservices (architecture that breaks one large application into several smaller ones and can be modified and combined) provide REST APIs. do. In-house systems can also be distributed on a REST-based system, making them easy to maintain and operate by increasing scalability and reusability.

REST 주요 구성요소는 리소스, 메소드, 메시지가 있다. 리소스는 접근할 대상을 URI를 통해 식별하고, 메소드는 리소스에 대한 행위, 표준 HTTP 메소드에 따라 자원에 접근(생성, 조회, 수정, 삭제)하며, 메시지는 HTTP 헤더와 바디에 메시지를 처리하기 위한 충분한 정보를 포함한다. 즉, REST는 어떤 자원(리소스)에 어떤 행위(메소드)를 어떻게(메시지) 할지 HTTP 기반으로 정해놓은 아키텍처이다.The main REST components are resources, methods, and messages. A resource identifies a target to be accessed through a URI, a method accesses a resource according to standard HTTP methods (create, query, modify, delete), and a message is used to process a message in an HTTP header and body. Include enough information. In other words, REST is an architecture based on HTTP based on which resources (methods) and how (methods) to do what.

한편, 엔드포인트(Endpoint)는 메소드와 URI를 이용해 리소스에 접근하도록 하는 것으로서, URI 별 HTTP 메소드로 구현된 항목이다. HTTP 바디에는 자원에 대한 정보를 포함하고, HTTP 헤더에는 HTTP 바디의 컨텐츠 종류를 명시할 수 있다. 따라서, HTTP헤더에 정의된 컨텐츠 타입에 따라 데이터를 분석하도록 구현해야 한다.Endpoints, on the other hand, allow access to resources using methods and URIs, and are items implemented as HTTP methods for each URI. The HTTP body may include information about the resource, and the HTTP header may specify the content type of the HTTP body. Therefore, it should be implemented to analyze data according to content type defined in HTTP header.

도 1은 종래 기술에 따른 REST API 호출 처리 과정을 설명하는 도면이고, 도 2는 도 1의 REST 기반으로 사내 시스템을 분산하여 운용하는 과정을 설명하는 도면이다.FIG. 1 is a diagram illustrating a process for processing a REST API call according to the prior art, and FIG. 2 is a diagram illustrating a process of distributing and operating an in-house system based on REST of FIG. 1.

도 1에 도시된 바와 같이, REST API는 API 호출자에 의존하여 API 서비스를 요청하고, 응답 결과를 수신하는 일방향 API 호출 응답 처리 구조를 가지고 있다. As shown in FIG. 1, the REST API has a one-way API call response processing structure for requesting an API service and receiving a response result depending on the API caller.

일반적으로, 사내 시스템은 영업 부서에서 마케팅 부서를 통해 고객 정보를 받아 영업 실적 정보를 추가하여 고객 관리 시스템(14)과 매출 관리 시스템(13)에 저장하고, 마케팅 부서는 타 부서에 정보를 제공하기 위해 CRM 시스템(12)에 고객 정보, 회사 정보를 제공하기 위한 RSET API 서비스를 구현하고 있다. 이때, 고객 관리 시스템(14)은 소켓 방식으로 고객과 실적 정보를 전송받아 정보를 업데이트하고, 매출 관리 시스템(13)은 Https 방식으로 실적 정보를 전송받아 저장한다. In general, the in-house system receives customer information from the sales department through the marketing department, adds sales performance information to the customer management system 14 and the sales management system 13, and the marketing department provides information to other departments. In order to provide customer information and company information to the CRM system 12, the RSET API service is implemented. In this case, the customer management system 14 receives the customer and the performance information by the socket method and updates the information, and the sales management system 13 receives and stores the performance information by the Https method.

도 2에 도시된 바와 같이, 영업 관리 시스템(11)은 마케팅 부서의 CRM 시스템(12)에 고객 정보를 위한 REST API를 호출하고, CRM 시스템(12)으로부터 전송되는 응답 메시지를 통해 고객 정보와 실적 정보를 통합하여 새로운 메시지를 구성한다. 영업 관리 시스템(11)은 매출 관리 시스템(13)으로 soap 방식으로 프로토콜을 변환하여 API를 생성하여 soap 호출을 하고, 매출 관리 시스템은 soap 방식의 메시지를 수신하여 실적 정보를 추가한다.As shown in FIG. 2, the sales management system 11 calls a REST API for customer information to the CRM system 12 of the marketing department, and the customer information and performance through a response message sent from the CRM system 12. Integrate information to compose new messages. The sales management system 11 converts the protocol to the sales management system 13 in a soap manner to generate an API to make a soap call, and the sales management system receives a soap-type message and adds performance information.

영업 관리 시스템(11)은 다시 Https 방식으로 프로토콜을 변환하여 고객 관리 시스템(14)으로 Https API를 호출하고, 고객 관리 시스템은 Https 방식의 메시지를 수신받아 고객 정보를 업데이트한다. The sales management system 11 converts the protocol back to the Https method and calls the Https API to the customer management system 14, and the customer management system receives the Https method message and updates the customer information.

이때, 매출 관리 시스템(13)과 고객 관리 시스템(100)은 RSET API의 호출 및 응답을 위해API 엔드포인트가 구현되어 있다. At this time, the revenue management system 13 and the customer management system 100 is implemented with an API endpoint for the call and response of the RSET API.

이와 같이, 종래의 REST API 호출 처리 방식은 API 호출자에 요청과 응답을 의존하는 단일성으로 있어 API 요청 후에 장애가 발생하게 되면 요청 결과가 모두 유실되거나 후속 처리가 어려워지며, 쉽게 해커에게 공격을 당할 수 있고, 복잡한 비즈니스 처리를 하기 어렵고, 체인(Chain)이나 링크(Linked) 스트럭처 구조의 프로세스 적용이 힘들다는 문제점이 있다.As such, the conventional REST API call processing method is a unity that relies on the request and response of the API caller. If a failure occurs after the API request, all request results are lost or difficult to be processed, and the attacker can be easily attacked. It is difficult to deal with complex business and difficult to apply process of chain or linked structure.

또한, REST API는 HTTP 프로토콜 기반으로 상이한 프로토콜을 가진 어플리케이션, 운영 체제, IoT, 클라우드 서비스 영역 등 다방면에 적용하기 어렵다는 문제점이 있다. In addition, the REST API has a problem that it is difficult to apply to a variety of applications, operating systems, IoT, cloud service areas having a different protocol based on the HTTP protocol.

본 발명은 전술한 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따라 기존의 일방향 API 호출 응답 처리 구조를 벗어나 API 호출부에 상응하는 별도의 API 응답부를 구현하고, API 응답 엔진부에서API 호출부와 API 응답부 간의 응답 매핑 처리, REST API 호출에 대한 응답 결과의 전송 처리, 프로토콜 방식, 전송 방식 등을 처리하도록 하는 것에 목적이 있다.The present invention, in order to solve the above-mentioned problems, implements a separate API response unit corresponding to the API call unit out of the existing one-way API call response processing structure according to an embodiment of the present invention, API call in the API response engine unit The purpose is to handle response mapping between the unit and the API response unit, transfer of response results for REST API calls, protocol methods, transmission methods, and the like.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 시스템은, REST API(Representational State Transfer Application Programming Interface, REST API) 서비스의 다중 호출 처리 시스템에 있어서, 사용자 단말 또는 서버에 포함된 어플리케이션으로부터 REST API 요청 메시지가 수신되면, 상기 REST API 요청 메시지에 대한 REST API 호출을 수행하는 하나 이상의 API 호출부; 상기 REST API 호출에 대한 API 응답 엔드포인트(Endpoint)가 설정된 하나 이상의 API 응답부; 및 상기 REST API 요청 메시지의 헤더 정보를 파싱하여 API 식별정보와 어플리케이션 정보를 확인하고, 상기 REST API 호출에 대한 하나 이상의 API 응답 엔드포인트를 매핑하고, 상기 REST API 호출에 대한 결과를 암호화한 응답 결과를 지정된 프로토콜로 변환하여 상기 매핑된 API 응답 엔드포인트로 전송 처리하는 API 응답 엔진부를 포함하는 것이다.As a technical means for achieving the above technical problem, a multi-call processing system of a REST API service according to an embodiment of the present invention, in a multi-call processing system of a REST API (Representational State Transfer Application Programming Interface, REST API) service At least one API call unit that performs a REST API call on the REST API request message when a REST API request message is received from an application included in a user terminal or a server; At least one API response unit to which an API response endpoint for the REST API call is set; And parsing header information of the REST API request message to confirm API identification information and application information, mapping one or more API response endpoints to the REST API call, and encrypting a result of the REST API call. Converting to a designated protocol and transmitting to the mapped API response endpoint to include an API response engine.

또한, 본 발명의 다른 일 실시예에 따른 REST API 서비스의 다중 호출 처리 방법은 REST API(Representational State Transfer Application Programming Interface, REST API) 서비스의 요청 및 응답을 처리하는 REST API 서비스의 다중 호출 처리 시스템에 의해 수행되는 REST API 서비스의 다중 호출 처리 방법에 있어서, a) 사용자 단말 또는 서버에 포함된 어플리케이션으로부터 REST API 요청 메시지가 수신되면, 상기 REST API 요청 메시지에 대한 REST API 호출을 수행하는 단계; b) 상기 REST API 요청 메시지의 헤더 정보를 파싱하여 API 식별정보와 어플리케이션 정보를 확인하고, 상기 REST API 호출에 대해 하나 이상의 API 응답 엔드포인트(Endpoint)를 매핑하는 단계; 및 c) 상기 REST API 호출에 대한 결과를 암호화한 응답 결과를 지정된 프로토콜로 변환하여 상기 매핑된 API 응답 엔드포인트로 전송 처리하는 단계를 포함하는 것이다.In addition, the multi-call processing method of the REST API service according to another embodiment of the present invention to a multi-call processing system of the REST API service to process the request and response of the REST API (Representational State Transfer Application Programming Interface, REST API) service A method for processing multiple calls of a REST API service, the method comprising: a) when a REST API request message is received from an application included in a user terminal or a server, performing a REST API call on the REST API request message; b) parsing header information of the REST API request message to verify API identification and application information, and mapping one or more API response endpoints to the REST API call; And c) converting the result of encrypting the result of the REST API call into a designated protocol and transmitting the converted result to the mapped API response endpoint.

전술한 본 발명의 과제 해결 수단에 의하면, 기존의 일방향 API 호출 응답 처리 구조에서 벗어나 API 응답 매퍼와 API 응답 엔진부를 이용하여 REST API 서비스의 다중 호출 처리가 가능해짐에 따라 복잡한 구조의 비즈니스 프로세스 처리를 원할하게 수행할 수 있다.According to the above-described problem solving means of the present invention, the multi-call processing of the REST API service is possible by using the API response mapper and the API response engine part away from the existing one-way API call response processing structure, so that business process processing of a complicated structure can be performed. It can be done smoothly.

또한, 본 발명은 REST API 서비스의 요청/응답 간 프로토콜이나 전송 방식이 상이하거나 어플리케이션, 플랫폼, 운영체제, 미들웨어 버전에 종속되지 않아 다양한 환경에 적용이 가능하고, API호출부와 N개의 API응답부를 별도로 배치하여 단일 호출/응답 구조에서의 장애 발생을 사전에 방지함으로써 트랜잭션 처리나 API 서비스의 중단없이 원활하게 수행할 수 있다. In addition, the present invention is applicable to various environments because the protocol or transmission method between the request / response of the REST API service is different or does not depend on the application, platform, operating system, middleware version, API call unit and N API response unit separately By deploying to prevent failure in a single call / response structure, it can be performed smoothly without interrupting transaction processing or API service.

무엇보다도, 본 발명은 API 응답부가 API호출부가 상이하기 때문에 API 서비스에 응답 결과 메시지에 대한 외부의 비인가 접속으로 인한 인터셉터가 불가능하여 해커의 공격으로부터 안전할 뿐만 아니라, 1:1, 1:N, N: N 엔드포인트 매핑과 같은 다양한 디자인 패턴 적용이 가능하고, 별도의 API응답부에서 응답 결과를 처리할 수 있어 대용량 데이터 분산 처리에 효과적이다.Above all, in the present invention, since the API response part is different from the API call part, it is impossible to intercept due to external unauthorized connection to the response result message to the API service, and thus it is not only safe from hacker attack, but also 1: 1, 1: N, Various design patterns such as N: N endpoint mapping can be applied, and response results can be processed in a separate API response section, which is effective for large data distribution processing.

도 1은 종래 기술에 따른 REST API 호출 처리 과정을 설명하는 도면이다.
도 2는 도 1의 REST 기반으로 사내 시스템을 분산하여 운용하는 과정을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 시스템을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 REST API 서비스 다중 호출 처리 시스템의 내부 구성을 설명하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 API 응답 매퍼의 구성을 설명하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 API 엔진의 구성을 설명하는 도면이다.
도 7은 본 발명의 다른 일 실시예에 따른 REST API 서비스의 다중 호출 처리 시스템을 설명하는 도면이다.
도 8을 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 방법을 설명하는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 방법을 사내 시스템에 적용하여 운용하는 과정을 설명하는 도면이다.
1 is a view illustrating a REST API call processing process according to the prior art.
FIG. 2 is a diagram illustrating a process of distributing and operating an in-house system based on the REST of FIG. 1.
3 is a diagram illustrating a multiple call processing system of a REST API service according to an embodiment of the present invention.
4 is a block diagram illustrating an internal configuration of a REST API service multi-call processing system according to an embodiment of the present invention.
5 is a diagram illustrating a configuration of an API response mapper according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of an API engine according to an embodiment of the present invention.
7 is a diagram illustrating a multiple call processing system of a REST API service according to another embodiment of the present invention.
8 is a flowchart illustrating a multiple call processing method of a REST API service according to an embodiment of the present invention.
9 is a diagram illustrating a process of applying and operating a multi-call processing method of a REST API service according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, without excluding other components, unless specifically stated otherwise, one or more other features It is to be understood that the present disclosure does not exclude the possibility of adding or presenting numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에서 ‘단말’은 휴대성 및 이동성이 보장된 무선 통신 장치일 수 있으며, 예를 들어 스마트 폰, 태블릿 PC 또는 노트북 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치일 수 있다. 또한, ‘단말’은 네트워크를 통해 다른 단말 또는 서버 등에 접속할 수 있는 PC 등의 유선 통신 장치인 것도 가능하다. 또한, 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. In the present specification, the term “terminal” may be a wireless communication device with guaranteed portability and mobility, and may be, for example, a handheld-based wireless communication device of all kinds, such as a smart phone, a tablet PC, or a notebook. In addition, the 'terminal' may be a wired communication device such as a PC that can be connected to another terminal or server through a network. In addition, the network refers to a connection structure capable of exchanging information between respective nodes such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW). : World Wide Web), wired / wireless data communication network, telephone network, wired / wireless television network, and the like.

무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.Examples of wireless data networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, Infrared communication, Ultrasound Communication, visible light communication (VLC), liFi (LiFi) and the like, but are not limited thereto.

이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.The following examples are detailed description to aid in understanding the present invention, and do not limit the scope of the present invention. Therefore, the same range of inventions that perform the same functions as the present invention will also fall within the scope of the present invention.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 시스템을 설명하는 도면이고, 도 4는 본 발명의 일 실시예에 따른 REST API 서비스 다중 호출 처리 시스템의 내부 구성을 설명하는 블록도이며, 도 5는 본 발명의 일 실시예에 따른 API 응답 매퍼의 구성을 설명하는 도면이다. 3 is a diagram illustrating a multi-call processing system of a REST API service according to an embodiment of the present invention, and FIG. 4 is a block illustrating an internal configuration of a REST API service multi-call processing system according to an embodiment of the present invention. 5 is a diagram illustrating a configuration of an API response mapper according to an embodiment of the present invention.

도 3을 참고하면, REST API(Representational State Transfer Application Programming Interface, REST API) 서비스의 다중 호출 처리 시스템(100)은 API 호출부(110), API 응답부(120) 및 API 응답 엔진부(130)로 구성되고, API 호출부(110)와 API 응답부(120)를 분리하여 이용할 수 있고, API 응답 엔진부(130)를 통해 REST API 호출에 대한 API 응답 엔드포인트를 매핑한 후 매핑된 API 응답 엔드포인트로REST API 호출 처리에 대한 결과를 송신 처리한다. Referring to FIG. 3, the multiple call processing system 100 of a REST Representational State Transfer Application Programming Interface (REST API) service includes an API call unit 110, an API response unit 120, and an API response engine unit 130. It is configured to, and can be used separately from the API call unit 110 and the API response unit 120, after mapping the API response endpoint for the REST API call through the API response engine 130 mapped API response Sends the result of the REST API call processing to the endpoint.

따라서, API 호출부(110)는 REST API 호출에 대한 응답의 성공/실패만 전송받게 되고, 실제 REST API 호출 처리에 대한 결과는 API 응답부(120)에서 전송받을 수 있다. Accordingly, the API call unit 110 may receive only the success / failure of the response to the REST API call, and the result of the actual REST API call processing may be transmitted from the API response unit 120.

도 4를 참조하면, API 호출부(110)는 사용자 단말 또는 서버에 포함된 어플리케이션(또는 응용 프로그램)으로부터 REST API 요청 메시지가 수신되면, REST API 요청 메시지에 대한 REST API 호출을 수행한다. 이때, REST API 요청 메시지는 API 식별 정보(ID) 및 어플리케이션 정보를 포함하는 헤더 정보와 요청된 REST API의 리소스에 대한 정보를 포함하는 바디 정보를 포함한다. Referring to FIG. 4, when a REST API request message is received from an application (or application) included in a user terminal or a server, the API call unit 110 performs a REST API call for a REST API request message. In this case, the REST API request message includes header information including API identification information (ID) and application information and body information including information about a resource of the requested REST API.

하나 이상의 API 응답부(120)는 REST API 호출에 대한 API 응답 엔드포인트(Endpoint)를 구현하고, REST API 호출에 대한 결과를 전송받는다. The one or more API response unit 120 implements an API response endpoint for the REST API call and receives the result of the REST API call.

API 응답 엔진부(130)는 REST API 요청 메시지의 헤더 정보를 파싱하여 API 식별정보와 어플리케이션 정보를 확인하고, REST API 호출에 대한 하나 이상의 API 응답 엔드포인트를 매핑하며, REST API 호출에 대한 결과를 암호화한 응답 메시지를 지정된 프로토콜로 변환하여 매핑된 API 응답 엔드포인트로 전송한다. API 응답 엔진부(130)는 응답 메시지를 REST API 요청 메시지의 바디에 통합하여 매핑된 API 응답 엔드포인트로 동기/비동기 방식으로 다시 REST API 호출을 처리해준다. The API response engine unit 130 parses header information of a REST API request message to check API identification information and application information, maps one or more API response endpoints for a REST API call, and outputs a result of the REST API call. Convert the encrypted response message to the specified protocol and send it to the mapped API response endpoint. The API response engine unit 130 integrates the response message into the body of the REST API request message and processes the REST API call again in a synchronous / asynchronous manner with the mapped API response endpoint.

이러한 API 응답 엔진부(130)는 API 응답 매퍼(131), 매핑 정보 데이터베이스(132) 및 API 엔진(133)으로 구성된다.The API response engine unit 130 is composed of an API response mapper 131, a mapping information database 132, and an API engine 133.

API 응답 매퍼(131)는 도 5에 도시된 바와 같이, REST API 요청 메시지의 헤더 정보를 파싱하여 요청한 REST API의 타겟 API 응답 엔드포인트를 매핑 처리한다. API 응답 매퍼(131)는 API 식별정보(ID)가 디폴트 값으로 설정된 경우에 타겟 API 응답 엔드포인트가 요청 URL과 기설정된 자동 증감 문자열을 사용하여 구성할 수 있다. As illustrated in FIG. 5, the API response mapper 131 parses header information of a REST API request message to map a target API response endpoint of the requested REST API. The API response mapper 131 may configure the target API response endpoint using the request URL and a preset auto increment string when the API ID is set to a default value.

또한, 매핑 정보 데이터베이스(132)는 REST API 요청 메시지의 헤더 정보에 대한 보안 정보(Key 또는 토큰), 타겟 API ID, 타겟 API 응답 엔드포인트를 비롯해, 타겟 프로토콜, 호출 타입, 어플리케이션 IP와 포트를 포함한 어플리케이션 정보, 어플리케이션 타입, 메시지 타입, 보안 타입 등을 저장한다.In addition, the mapping information database 132 includes security information (key or token) for the header information of the REST API request message, target API ID, target API response endpoint, as well as target protocol, call type, application IP and port. Stores application information, application type, message type, security type, etc.

API 엔진(133)는 API 응답 매퍼(131)에서 매핑된 API 응답 엔드포인트로 REST API 호출에 대한 결과를 암호화하여 전송하되, API 응답 엔드포인트에 지정된 프로토콜로 변환하여 REST API를 동기 또는 비동기 방식으로 호출한다. The API engine 133 encrypts and sends the result of the REST API call to the API response endpoint mapped from the API response mapper 131, but converts the REST API in a synchronous or asynchronous manner by converting it to the protocol specified in the API response endpoint. Call

REST API 단일 접점부(140)는 REST API 요청 메시지에 따른 REST API 서비스를 기능별로 분류하고, 각 REST API 서비스를 담당하는 API 응답 엔드포인트를 호출하며, 그에 대한 응답을 가져온다. 이러한 REST API 단일 접점부(140)는 API 게이트웨이 또는 REST API 서비스 처리가 가능한 응용 프로그램, 미들웨어 및 운영체제 중 어느 하나의 방식으로 구현될 수 있다. The REST API single point of contact 140 classifies the REST API services according to the REST API request message by function, calls the API response endpoints in charge of each REST API service, and retrieves the response. The REST API single contact unit 140 may be implemented by any one of an application program, middleware, and an operating system capable of processing an API gateway or a REST API service.

한편, API 응답 엔진부(130)가 REST API 요청 메시지의 헤더 정보를 파싱하여 콘텐츠 타입에 따라 REST API서비스를 라우팅하는 API 서비스 래퍼(Wrapper) 기능이 구비된 경우에, REST API 단일 접점부(140)는 생략될 수 있다. Meanwhile, when the API response engine unit 130 includes an API service wrapper function for parsing header information of a REST API request message and routing a REST API service according to a content type, the REST API single contact unit 140 is provided. ) May be omitted.

도 6은 본 발명의 일 실시예에 따른 API 엔진의 구성을 설명하는 도면이다. 6 is a diagram illustrating a configuration of an API engine according to an embodiment of the present invention.

도 6을 참조하면, API 엔진(133)은 엔드포인트 결합 모듈(310), 메시지 병합 모듈(320), 프로토콜 생성 모듈(330) 및 응답 요청 모듈(340)을 포함한다.Referring to FIG. 6, the API engine 133 includes an endpoint combining module 310, a message merging module 320, a protocol generating module 330, and a response request module 340.

엔드포인트 결합 모듈(310)은 API 응답 매퍼(131)와 매핑 정보 데이터베이스(132)를 통해 매핑된 엔드포인트 수만큼 API 응답 엔드포인트와 최초 REST API 요청 메시지를 결합하여 결합 정보를 제공한다.The endpoint combining module 310 combines the API response endpoint and the initial REST API request message by the number of endpoints mapped through the API response mapper 131 and the mapping information database 132 to provide the combining information.

메시지 병합 모듈(320)은 최초 REST API 요청 메시지의 바디 정보와 실제 REST API 서비스 처리 결과에 대한 응답 메시지를 메시지 변환기(321)를 통해 엔드포인트 결합 모듈(310)에서 결합된 메시지 타입으로 병합하고, 이 병합된 메시지를 메시지 암호화기(320)를 통해 기설정된 암호화 방식으로 암호화하여 응답 결과로 제공한다. The message merging module 320 merges the body information of the initial REST API request message and the response message for the actual REST API service processing result into the combined message type in the endpoint combining module 310 through the message converter 321, The merged message is encrypted using a message encryptor 320 using a predetermined encryption method and provided as a response result.

프로토콜 생성 모듈(330)은 엔드포인트 결합 모듈(310)에서 결합된 결합 정보에 기초하여 프로토콜 래퍼(331)를 이용하여 타겟 엔드포인트 주소로 프로토콜 인터페이스를 생성한다.The protocol generation module 330 generates a protocol interface to the target endpoint address using the protocol wrapper 331 based on the binding information combined in the endpoint combining module 310.

응답 요청 모듈(340)은 프로토콜 인터페이스를 제공받아 요청 쓰레드 생성기(341)에서 응답 요청 멀티 쓰레드를 생성하여 쓰레드 큐(Thread Queue)(342)에 담고, 쓰레드 큐(342)에 담겨있는 응답 요청을 제공받은 프로토콜 인터페이스를 통해 처리한다. 이러한 응답 요청 모듈(340)은 최초 REST API 요청 메시지의 REST API 호출에 대한 응답 결과를 응답 리플레이서(343)를 통해 각 API 응답 엔드포인트에 대한 호출 성공/실패 여부로 치환하고, 엔드포인트 검색기(344)를 통해 각 API 응답 엔드포인트에 해당하는 응답 결과를 전송한다. The response request module 340 receives the protocol interface, generates a response request multi-thread in the request thread generator 341, puts it in the thread queue 342, and provides a response request contained in the thread queue 342. Process through the received protocol interface. The response request module 340 replaces the response result of the REST API call of the original REST API request message with the success / failure of the call to each API response endpoint through the response replayer 343, and the endpoint finder ( 344) transmits the response result corresponding to each API response endpoint.

도 7은 본 발명의 다른 일 실시예에 따른 REST API 서비스의 다중 호출 처리 시스템을 설명하는 도면이다.7 is a diagram illustrating a multiple call processing system of a REST API service according to another embodiment of the present invention.

도 7을 참조하면, REST API 서비스의 다중 호출 처리 시스템(100)은 기존의 일방향 API 호출 응답 처리 구조를 이용하는 경우에, API 응답 엔드포인트에 메시지 큐(150) 또는 임시 저장소를 추가하여 REST API 요청 메시지를 호출한 API 호출부(110)에서 콜백을 통해 메시지 리스너를 캐치(Catch)하여 결과값을 응용 프로그램에 넘겨주도록 한다. 이와 같이 본 발명의 일 실시예를 활용할 경우, 별도의 이벤트 없이도 응용 프로그램은 항상 최신 값을 확인할 수 있어, 기존 응용 프로그램 대비 어플리케이션 부하가 50% 줄어들게 된다. Referring to FIG. 7, when the multiple call processing system 100 of the REST API service uses an existing one-way API call response processing structure, the REST API request is added by adding a message queue 150 or a temporary store to the API response endpoint. The API call unit 110 calling the message catches the message listener through a callback, and passes the result value to the application program. As such, when using an embodiment of the present invention, the application can always check the latest value without a separate event, thereby reducing the application load by 50% compared to the existing application.

도 8을 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 방법을 설명하는 순서도이다.8 is a flowchart illustrating a multiple call processing method of a REST API service according to an embodiment of the present invention.

도 8을 참조하면, API 호출부(110)는 사용자 단말 또는 서버에 포함된 어플리케이션으로부터 REST API 요청 메시지가 수신되면, 상기 REST API 요청 메시지에 대한 REST API 호출을 수행한다(S10).Referring to FIG. 8, when a REST API request message is received from an application included in a user terminal or a server, the API call unit 110 performs a REST API call for the REST API request message (S10).

API 응답 엔진부(130)는 REST API 호출에 따라 REST API 요청 메시지의 헤더값을 파싱하여 API ID 및 어플리케이션 정보를 확인하고(S20), API 응답 매퍼를 통해 응답 매핑 처리를 수행한다(S30). API 응답 매퍼(131)는 매핑 정보 데이터베이스(132)를 통해 REST API 요청 메시지의 REST API 호출에 대해 짝을 이루는 API 응답 엔드포인트를 매핑한다. The API response engine unit 130 parses the header value of the REST API request message according to the REST API call to confirm the API ID and the application information (S20), and performs a response mapping process through the API response mapper (S30). The API response mapper 131 maps paired API response endpoints for REST API calls in the REST API request message via the mapping information database 132.

만일, API 응답 엔진부(130)는 API 응답 매퍼(131)가 없거나, 컴퓨터 판독 불가능한 특수 문자가 입력되거나 네트워크 오류 등의 문제로 매핑 정보에 오류가 있는 경우에 "HTTP 500 내부 서버 오류" 또는 "HTTP404 찾을 수 없음"과 같은 예외 처리를 수행하여 응답 처리를 수행한다. If the API response engine unit 130 does not have the API response mapper 131, or if there is an error in the mapping information due to a problem such as input of a computer-readable special character or a network error, the API response engine unit 130 may be "HTTP 500 Internal Server Error" or " Perform an exception handling such as "HTTP404 not found".

API 응답 엔진부(130)는 REST API 호출에 대한 결과를 암호화하여 응답 메시지로 제공하고(S40), 최초 REST API 요청 메시지에 응답 메시지를 병합하여 응답 결과를 제공하고, 각 API 응답 엔드포인트에 지정된 프로토콜을 생성한다(S50). The API response engine unit 130 encrypts the result of the REST API call as a response message (S40), merges the response message into the initial REST API request message, provides a response result, and is assigned to each API response endpoint. Create a protocol (S50).

이 후에, API 응답 엔진부(130)는 API 응답 매퍼(131)를 통해 매핑된 API 응답 엔드포인트로 동기 또는 비동기 방식으로 응답 결과를 호출하게 된다(S60). Thereafter, the API response engine 130 calls the response result in a synchronous or asynchronous manner to the API response endpoint mapped through the API response mapper 131 (S60).

이와 같이, API 응답 엔진부(130)는 API 호출부(110)로 응답 결과를 리턴하는 것이 아니라 API 응답 매퍼(131)를 통해 매핑된 API 응답 엔드포인트에 지정된 프로토콜로 랩핑하여 암호화된 응답 결과를 하나 이상의 API 응답부(120)로 런타임 실행한다. 이때, API 호출부(110)는 REST API 호출에 대한 성공/실패 메시지만 수신하게 된다. As such, the API response engine unit 130 does not return the response result to the API call unit 110, but wraps the encrypted response result by wrapping the protocol response to the API response endpoint mapped through the API response mapper 131. Runtime execution with one or more API response unit (120). In this case, the API call unit 110 receives only a success / failure message for a REST API call.

도 9는 본 발명의 일 실시예에 따른 REST API 서비스의 다중 호출 처리 방법을 사내 시스템에 적용하여 운용하는 과정을 설명하는 도면이다.9 is a diagram illustrating a process of applying and operating a multi-call processing method of a REST API service according to an embodiment of the present invention.

도 9를 참조하면, REST API 서비스의 다중 호출 처리 방법을 사내 시스템에 적용하면, 영업 관리 시스템(11)이 마케팅 부서의 CRM 시스템(12)으로 고객정보에 대한 REST API를 호출한다. 이때, REST API 요청 메시지는 헤더 정보에 API 식별 정보(예를 들어, req_id A003)를 포함하고, 바디 정보에 고객 식별정보, 매출, 지점 등의 리소스에 대한 정보를 포함한다.Referring to FIG. 9, when a multi-call processing method of a REST API service is applied to an in-house system, the sales management system 11 calls a REST API for customer information to a CRM system 12 of a marketing department. In this case, the REST API request message includes API identification information (eg, req_id A003) in the header information, and includes information on resources such as customer identification information, sales, and branch in the body information.

API 응답 매퍼(131)는 REST API의 헤더 정보의 req_id A003에 대한 API응답 엔드포인트로 고객관리 시스템(14)의 물리적 위치와 프로토콜 정보(192.0.12.33:8253, soap) 과 영업 관리 시스템(11)의 물리적 위치와 프로토콜 정보(205.0.1.222:7000/biz/recv, https)를 2개의 API응답부(120)로 추출한다. 또한, API 응답 매퍼(131)는 CRM 시스템(12)으로부터 전송받은 응답 결과를 저장하여 REST API 요청 메시지의 바디 정보에 병합한다.The API response mapper 131 is an API response endpoint for req_id A003 of the header information of the REST API. The physical location and protocol information of (205.0.1.222: 7000 / biz / recv, https) is extracted to the two API response unit (120). In addition, the API response mapper 131 stores the response result received from the CRM system 12 and merges it into the body information of the REST API request message.

API 엔진(133)은 멀티 쓰레드 방식으로 고객관리 시스템(14)과 영업관리 시스템(11)의 각 지정된 프로토콜로 변환하여 메시지를 첨부하여 호출한다.The API engine 133 converts into each designated protocol of the customer management system 14 and the sales management system 11 in a multi-threaded manner, and attaches and calls a message.

고객관리 시스템(14)과 영업관리 시스템(100)11은 각 API응답 엔드포인트에서 전송받은 메시지를 처리한다.The customer management system 14 and the sales management system 100 process messages received from each API response endpoint.

이때, API 엔진은 REST API 호출에 대한 각각의 응답 결과(⑥)의 성공 또는 실패 메시지를 전송받아 API 호출부(110)에 상태 결과만 반환(①)하도록 한다. 이는 최초 REST API 호출에 대한 응답 결과의 메시지를 ⑥번 처리에 대한 결과로 치환함으로써 가능하다.At this time, the API engine receives the success or failure message of each response result (⑥) for the REST API call to return only the status result (①) to the API call unit 110. This can be done by replacing the message of the response result of the initial REST API call with the result of processing ⑥.

이상에서 설명한 본 발명의 실시예에 따른 REST API 서비스의 다중 호출 처리 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.The multiple call processing method of the REST API service according to the embodiment of the present invention described above may be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Such recording media include computer readable media, and computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media includes computer storage media, which are volatile and nonvolatile implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. , Both removable and non-removable media.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

100: REST API 서비스의 다중 호출 처리 시스템
110: API 호출부 120: API 응답부
130: API 응답 엔진부 131: API 응답 매퍼
132: 매핑 정보 데이터베이스 133 : API응답 엔진부
100: Multiple call processing system for REST API services
110: API call unit 120: API response unit
130: API response engine unit 131: API response mapper
132: mapping information database 133: API response engine unit

Claims (13)

REST API(Representational State Transfer Application Programming Interface, REST API) 서비스의 다중 호출 처리 시스템에 있어서,
사용자 단말 또는 서버에 포함된 어플리케이션으로부터 REST API 요청 메시지가 수신되면, 상기 REST API 요청 메시지에 대한 REST API 호출을 수행하는 하나 이상의 API 호출부;
상기 REST API 호출에 대한 API 응답 엔드포인트(Endpoint)가 설정된 하나 이상의 API 응답부; 및
상기 REST API 요청 메시지의 헤더 정보를 파싱하여 API 식별정보와 어플리케이션 정보를 확인하고, 상기 REST API 호출에 대한 하나 이상의 API 응답 엔드포인트를 매핑하고, 상기 REST API 호출에 대한 결과를 암호화한 응답 결과를 지정된 프로토콜로 변환하여 상기 매핑된 API 응답 엔드포인트로 전송 처리하는 API 응답 엔진부를 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
In the multiple call processing system of the REST API (Representational State Transfer Application Programming Interface, REST API) service,
At least one API calling unit that performs a REST API call on the REST API request message when a REST API request message is received from an application included in a user terminal or a server;
At least one API response unit to which an API response endpoint for the REST API call is set; And
Parse header information of the REST API request message to verify API identification information and application information, map one or more API response endpoints to the REST API call, and encrypt the result of the REST API call. And converting into a designated protocol and transmitting to the mapped API response endpoint for processing the API response engine.
제 1 항에 있어서,
상기 어플리케이션 정보는,
상기 API 응답 엔드포인트가 존재하는 어플리케이션의 물리적인 위치 정보, 및 프로토콜 정보를 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 1,
The application information,
Wherein the API response endpoint includes physical location information of the application in which the API exists, and protocol information.
제 1 항에 있어서,
상기API 응답 엔진부는,
상기 REST API 요청 메시지의 헤더값을 파싱하여 상기 API 식별 정보, 타겟 API 응답 엔드포인트, 타겟 프로토콜 타입, 호출 타입, 어플리케이션의 물리적 위치 정보, 어플리케이션 타입, 메시지 타입, 암호화 타입을 포함한 매핑 정보를 분석하여 REST API 호출에 대한 API 응답 엔드포인트를 매핑하는 API응답 매퍼; 및
상기 REST API 요청 메시지의 API 서비스 처리 결과를 암호화하여 응답 메시지를 처리하고, 상기 API응답 매퍼의 매핑된 API 응답 엔드포인트에 지정된 프로토콜로 랩핑(Wrapping)하여 호출 타입에 따라 상기 응답 메시지를 전송하는 API 엔진을 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 1,
The API response engine unit,
Parse the header value of the REST API request message and analyze mapping information including the API identification information, target API response endpoint, target protocol type, call type, application physical location information, application type, message type, encryption type, and the like. An API response mapper that maps API response endpoints for REST API calls; And
API for processing the response message by encrypting the API service processing result of the REST API request message, and wrapping the protocol with the specified API response endpoint of the API response mapper and sending the response message according to the call type. A multiple call processing system for REST API services, comprising an engine.
제 3 항에 있어서,
상기 API 응답 엔진부는,
상기 REST API 요청 메시지의 헤더값에 대한 보안 정보, API 식별 정보, 응답 엔드 포인트, 프로토콜 타입, 어플리케이션 정보, REST API의 요청/응답에 관한 정보 항목을 저장하는 매핑 정보 데이터베이스를 더 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 3, wherein
The API response engine unit,
It further comprises a mapping information database for storing security information on the header value of the REST API request message, API identification information, response endpoint, protocol type, application information, information items about the request / response of the REST API, Multiple call processing system for REST API services.
제 3 항에 있어서,
상기 API 응답 엔진부는,
상기 REST API 요청 메시지에 따른 REST API 서비스를 기능별로 분류하고, 각 REST API 서비스를 담당하는 API 응답 엔드포인트를 호출하며, 상기 호출에 대한 응답을 처리하는 REST API 단일 접점부를 더 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 3, wherein
The API response engine unit,
Classifying a REST API service according to the REST API request message by function, calling an API response endpoint in charge of each REST API service, and further comprising a REST API single point of contact for processing a response to the call, Multiple call processing system for REST API services.
제 3 항에 있어서,
상기 API 응답 엔진부는,
상기 REST API 요청 메시지의 헤더 정보를 파싱하여 콘텐츠 타입에 따라 REST API서비스를 라우팅하는 API 서비스 래퍼(Wrapper) 기능을 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 3, wherein
The API response engine unit,
And an API service wrapper function for parsing header information of the REST API request message and routing a REST API service according to a content type.
제 3 항에 있어서,
상기API 엔진은,
상기 매핑된 API 응답 엔드포인트 수만큼 API 응답 엔드포인트와 REST API 요청 메시지를 결합하여 결합 정보를 제공하는 엔드포인트 결합 모듈;
상기 REST API 요청 메시지 내 바디 정보와 상기 응답 메시지를 상기 엔드포인트 결합 모듈에서 결합된 메시지 타입으로 병합하고, 상기 병합된 메시지를 메시지 지정된 암호화 방식으로 암호화하여 응답 결과로 제공하는 메시지 병합 모듈;
상기 결합 정보에 기초하여 타겟 엔드포인트 주소로 프로토콜 인터페이스를 생성하는 프로토콜 생성 모듈; 및
상기 프로토콜 인터페이스를 제공받아 응답 요청 멀티 쓰레드를 생성하여 쓰레드 큐(Thread Queue)에 저장하고, 상기 쓰레드 큐의 응답 요청을 상기 프로토콜 인터페이스를 통해 처리하는 응답 요청 모듈을 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 3, wherein
The API engine,
An endpoint combining module for associating API response endpoints and REST API request messages by the number of mapped API response endpoints to provide binding information;
A message merging module for merging the body information and the response message in the REST API request message into a message type combined in the endpoint combining module, and encrypting the merged message using a message-specific encryption method as a response result;
A protocol generation module for generating a protocol interface with a target endpoint address based on the association information; And
Receiving the protocol interface to generate a response request multi-threaded and stored in a thread queue (Thread Queue), and includes a response request module for processing the response request of the thread queue through the protocol interface, REST API service of Multiple call processing system.
제 7 항에 있어서,
상기 메시지 병합 모듈은,
상기 REST API 요청 메시지의 바디 정보와 실제 REST API 서비스 처리 결과에 대한 응답 메시지를 상기 결합 정보의 메시지 타입으로 병합하는 메시지 변환기; 및
상기 메시지 변환기에서 병합된 메시지를 기설정된 암호화 방식으로 암호화하여 응답 결과로 제공하는 메시지 암호화기를 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 7, wherein
The message merging module,
A message converter for merging the body information of the REST API request message and the response message for the actual REST API service processing result into the message type of the combined information; And
And a message encryptor which encrypts the merged message in the message converter using a predetermined encryption scheme and provides a response result.
제 7 항에 있어서,
상기 프로토콜 생성 모듈은,
상기 결합 정보에 기초하여 타겟 대상인 API 응답 엔드포인트 주소로 지정된 프로토콜 방식에 따라 프로토콜 인터페이스를 생성하는 프로토콜 래퍼를 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 7, wherein
The protocol generation module,
And a protocol wrapper for generating a protocol interface according to a protocol scheme specified as an API response endpoint address as a target target based on the binding information.
제 7 항에 있어서,
상기 응답 요청 모듈은,
상기 프로토콜 인터페이스를 제공받아 응답 요청 멀티 쓰레드를 생성하여 쓰레드 큐(Thread Queue)에 저장하고, 상기 쓰레드 큐에 저장된 응답 요청을 제공받은 프로토콜 인터페이스를 통해 처리하는 요청 쓰레드 생성기;
상기 REST API 요청 메시지의 REST API 호출에 대한 응답 결과를 각 API 응답 엔드포인트에 대한 호출 성공/실패 여부로 치환하는 응답 리플레이서; 및
상기 응답 리플레이서를 통해 치환된 각 응답 결과를 해당되는 API 응답 엔드포인트로 전송하는 엔드포인트 검색기를 포함하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 7, wherein
The response request module,
A request thread generator configured to receive the protocol interface, generate a response request multi-thread, store it in a thread queue, and process the response request stored in the thread queue through the received protocol interface;
A response replayer that replaces a response result of the REST API call in the REST API request message with a call success / failure for each API response endpoint; And
And an endpoint finder for sending each response result substituted through the response replier to a corresponding API response endpoint.
제 1 항에 있어서,
상기 API 호출부와 API 응답 엔드포인트 사이에 메시지 큐를 포함한 임시 저장소를 배치하고, 상기 REST API 요청 메시지를 호출한 API 호출부에서 콜백을 통해 메시지 리스너를 캐치(Catch)하여 결과값을 어플리케이션에 전달하는 것인, REST API 서비스의 다중 호출 처리 시스템.
The method of claim 1,
Place a temporary store including a message queue between the API caller and the API response endpoint, catch the message listener through a callback in the API caller that called the REST API request message, and deliver the result to the application. Multiple call processing system of a REST API service.
REST API(Representational State Transfer Application Programming Interface, REST API) 서비스의 요청 및 응답을 처리하는 REST API 서비스의 다중 호출 처리 시스템에 의해 수행되는 REST API 서비스의 다중 호출 처리 방법에 있어서,
a) 사용자 단말 또는 서버에 포함된 어플리케이션으로부터 REST API 요청 메시지가 수신되면, 상기 REST API 요청 메시지에 대한 REST API 호출을 수행하는 단계;
b) 상기 REST API 요청 메시지의 헤더 정보를 파싱하여 API 식별정보와 어플리케이션 정보를 확인하고, 상기 REST API 호출에 대해 하나 이상의 API 응답 엔드포인트(Endpoint)를 매핑하는 단계; 및
c) 상기 REST API 호출에 대한 결과를 암호화한 응답 결과를 지정된 프로토콜로 변환하여 상기 매핑된 API 응답 엔드포인트로 전송 처리하는 단계를 포함하는 것인, REST API 서비스의 다중 호출 처리 방법.
In the multiple call processing method of a REST API service performed by a multiple call processing system of a REST API service for processing a request and response of a REST API (Representational State Transfer Application Programming Interface, REST API) service,
a) when a REST API request message is received from an application included in a user terminal or a server, performing a REST API call on the REST API request message;
b) parsing header information of the REST API request message to verify API identification and application information, and mapping one or more API response endpoints to the REST API call; And
c) converting the response result of encrypting the result of the REST API call into a designated protocol and transmitting the converted result to the mapped API response endpoint.
제 12 항에 따른 REST API 서비스의 다중 호출 처리 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능 기록매체.A computer-readable recording medium having recorded thereon a program for performing a method of processing multiple calls of a REST API service according to claim 12.
KR1020190134222A 2019-10-28 2019-10-28 System and method for multiway call processing of rest api service KR102080230B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190134222A KR102080230B1 (en) 2019-10-28 2019-10-28 System and method for multiway call processing of rest api service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190134222A KR102080230B1 (en) 2019-10-28 2019-10-28 System and method for multiway call processing of rest api service

Publications (1)

Publication Number Publication Date
KR102080230B1 true KR102080230B1 (en) 2020-02-21

Family

ID=69671170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190134222A KR102080230B1 (en) 2019-10-28 2019-10-28 System and method for multiway call processing of rest api service

Country Status (1)

Country Link
KR (1) KR102080230B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394915A (en) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 Protocol calling method, device, system, equipment and medium for hybrid development mode
CN112559463A (en) * 2020-12-18 2021-03-26 杭州数梦工场科技有限公司 Method and device for processing compressed file
KR102283194B1 (en) * 2021-02-11 2021-07-29 앰포 주식회사 Method and apparatus for integrated managing of internal network using api interworking method for connecting multiple network equipment and dashboard for manager
KR102283192B1 (en) * 2021-05-31 2021-07-29 앰포 주식회사 Method and apparatus for integrated managing of internal network using api interworking method for connecting multiple network equipment and dashboard for manager
US11470159B2 (en) 2020-08-28 2022-10-11 Cisco Technology, Inc. API key security posture scoring for microservices to determine microservice security risks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080862B1 (en) * 2010-02-03 2011-11-07 (주)송도텔레콤 System and method for REST style Third Party Call API
KR20120030192A (en) * 2010-09-17 2012-03-28 삼성전자주식회사 Method and apparatus for constructing widget environment
KR20120058649A (en) * 2010-08-31 2012-06-08 심혁훈 System and method for RESTful Open API

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080862B1 (en) * 2010-02-03 2011-11-07 (주)송도텔레콤 System and method for REST style Third Party Call API
KR20120058649A (en) * 2010-08-31 2012-06-08 심혁훈 System and method for RESTful Open API
KR20120030192A (en) * 2010-09-17 2012-03-28 삼성전자주식회사 Method and apparatus for constructing widget environment

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470159B2 (en) 2020-08-28 2022-10-11 Cisco Technology, Inc. API key security posture scoring for microservices to determine microservice security risks
CN112394915A (en) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 Protocol calling method, device, system, equipment and medium for hybrid development mode
CN112559463A (en) * 2020-12-18 2021-03-26 杭州数梦工场科技有限公司 Method and device for processing compressed file
CN112559463B (en) * 2020-12-18 2023-08-25 杭州数梦工场科技有限公司 Compressed file processing method and device
KR102283194B1 (en) * 2021-02-11 2021-07-29 앰포 주식회사 Method and apparatus for integrated managing of internal network using api interworking method for connecting multiple network equipment and dashboard for manager
KR102283192B1 (en) * 2021-05-31 2021-07-29 앰포 주식회사 Method and apparatus for integrated managing of internal network using api interworking method for connecting multiple network equipment and dashboard for manager
WO2022255522A1 (en) * 2021-05-31 2022-12-08 앰포 주식회사 Method and device for integrally managing internal network having connection and communication schemes for embedded device for connecting multiple network devices with administrator dashboard

Similar Documents

Publication Publication Date Title
KR102080230B1 (en) System and method for multiway call processing of rest api service
US11303647B1 (en) Synthetic request injection to disambiguate bypassed login events for cloud policy enforcement
US11184403B1 (en) Synthetic request injection to generate metadata at points of presence for cloud security enforcement
US11178188B1 (en) Synthetic request injection to generate metadata for cloud policy enforcement
US11831685B2 (en) Application-specific data flow for synthetic request injection
US11190550B1 (en) Synthetic request injection to improve object security posture for cloud security enforcement
US11336698B1 (en) Synthetic request injection for cloud policy enforcement
US20220345496A1 (en) Object Metadata-Based Cloud Policy Enforcement Using Synthetic Request Injection
US9648052B2 (en) Real-time communications gateway
US11647052B2 (en) Synthetic request injection to retrieve expired metadata for cloud policy enforcement
US12058265B2 (en) Verifiable computation for cross-domain information sharing
US10057307B2 (en) Distributed programmable connection method to establish peer-to-peer multimedia interactions
JP2010072916A (en) Data protection system and data protection method
CN114338682B (en) Flow identity identification transmission method and device, electronic equipment and storage medium
Cui Comparison of IoT application layer protocols
WO2022226208A1 (en) Synthetic request injection to improve object security posture for cloud security enforcement
WO2022226202A1 (en) Synthetic request injection to retrieve object metadata for cloud policy enforcement
JP5940990B2 (en) APL-SCM-FE and application linkage method
CN113014560A (en) Dynamic dubbo service calling method, computer equipment and storage medium
CN112165529A (en) Method, device, equipment and medium for low-cost cross-network data exchange
WO2020224413A1 (en) Load control method, service provider nf, and service user nf
WO2022226210A1 (en) Synthetic request injection for cloud policy enforcement
WO2022226198A1 (en) Synthetic request injection to generate metadata for cloud security enforcement
Sunde NetInf Node for Bluetooth Enabled Android Devices
CN117997578A (en) Data processing method, apparatus, device, readable storage medium, and program product

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant