KR102621198B1 - 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법 - Google Patents

비즈니스 로직을 처리하는 전자장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102621198B1
KR102621198B1 KR1020230118138A KR20230118138A KR102621198B1 KR 102621198 B1 KR102621198 B1 KR 102621198B1 KR 1020230118138 A KR1020230118138 A KR 1020230118138A KR 20230118138 A KR20230118138 A KR 20230118138A KR 102621198 B1 KR102621198 B1 KR 102621198B1
Authority
KR
South Korea
Prior art keywords
model
key
input
api
data
Prior art date
Application number
KR1020230118138A
Other languages
English (en)
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 KR1020230118138A priority Critical patent/KR102621198B1/ko
Application granted granted Critical
Publication of KR102621198B1 publication Critical patent/KR102621198B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전자장치 및 그 동작 방법이 개시된다. 본 발명의 다양한 실시예들 중 적어도 하나에 따른 전자장치의 동작 방법은, API(Application Programming Interface) 실행을 위한 제1 키를 입력받아 인증하는 단계, 상기 입력받은 제1 키에 대한 인증에 성공하면 비즈니스 로직을 모델 입력으로 업로드하는 단계, 모델 엔진을 이용하여 상기 업로드한 모델인 스프레드시트에 상응하는 서비스 API를 생성하는 단계, 페이로드 데이터를 입력받아 상기 생성된 서비스 API를 실행하는 단계 및 기 서비스 API 실행 결과를 출력하는 단계를 포함하되, 상기 모델이 업로드되면, 해당 모델의 고유 식별자인 제2 키를 리턴할 수 있다.

Description

비즈니스 로직을 처리하는 전자장치 및 그 동작 방법{ELECTRONIC DEVICE OF PROCESSING BUSINESS LOGIC AND OPERATIONAL METHOD THEREOF}
본 발명은 비즈니스 로직 처리에 관한 것으로, 보다 상세하게는 입력 비즈니스 로직 파일을 코드로 구현하지 않고 그대로 활용하여 결과를 도출하는 전자장치 및 그 동작 방법에 관한 것이다.
일반적으로 입력(input)에 대한 결과(output)를 산출하는 과정에서, 계산과 같은 중간처리과정을 코드(code)로 구현할 때 많은 어려움이 있다.
예를 들어, 특정 분야의 전문 지식이 필요한 서비스를 제공하기 위한 중간처리과정에 대하여 협업이 필요한 경우가 있다. 그러나 해당 분야의 전문지식이 부족한 개발자와 협업 과정에는 커뮤니케이션에 따른 많은 시간과 비용이 소요되는 것이 일반적이다.
또한, 그렇게 작성된 코드 기반의 자동화 기법에 기반한 서비스의 경우, 계산 속도가 너무 느리거나 계산 결과의 정확성도 낮아 실제 서비스에 적용하기에는 어려운 한계가 있었다.
따라서, 이러한 문제를 해소할 수 있는 방안 마련이 요구된다.
한국등록특허공보 제10-2421397호 (공개일: 2021년02월03일)
본 발명의 일 과제는 함수(function)나 로직(logic)이 포함된 스프레드시트(spreadsheet)를 모델 입력(model input)으로 그대로 활용하여 중간처리를 함으로써 코드(code)를 작성하지 않고도 빠르게 결과를 도출하는 엔진(engine)이 포함된 전자장치 및 그 동작 방법을 제공하고자 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 다양한 실시예들 중 적어도 하나에 따른 전자장치의 동작 방법은, API(Application Programming Interface) 실행을 위한 제1 키를 입력받아 인증하는 단계; 상기 입력받은 제1 키에 대한 인증에 성공하면, 비즈니스 로직을 모델 입력으로 업로드하는 단계; 모델 엔진을 이용하여 상기 업로드한 모델인 스프레드시트에 상응하는 서비스 API를 생성하는 단계; 페이로드 데이터를 입력받아 상기 생성된 서비스 API를 실행하는 단계; 및 기 서비스 API 실행 결과를 출력하는 단계를 포함하되, 상기 모델이 업로드되면, 해당 모델의 고유 식별자인 제2 키를 리턴할 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 상기 모델 입력은, 함수 및 로직 중 적어도 하나로 구성된 로직을 포함한 스프레드시트가 포함된 입력일 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 상기 서비스 API를 생성하는 단계는, 상기 업로드한 모델인 스프레드시트에 대해 식별자로 제3 키를 리턴하는 단계를 포함할 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 상기 페이로드 데이터는, 기 업로드된 모델 키 정보를 나타내는 model_key 정보; 상기 모델 입력에 따른 결과 파일을 저장할지 여부를 나타내는 export 정보; 상기 모델 입력을 통해 실제 결과 값을 도출하기 위한 입력 데이터를 나타내는 input; 및 상기 input에 대응하여 출력 데이터를 나타내는 output이 포함될 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 상기 input은, 데이터가 입력될 시트 명을 나타내는 sheet, 데이터가 입력될 셀의 위치를 나타내는 range, 입력할 값을 나타내는 value, 숫자를 나타내는 float와 문자를 나타내는 string을 포함하는 type 값을 통해 정의될 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 상기 output은, 상기 input에 대응하여 출력 데이터를 나타내되, 데이터를 가져올 시트 명을 나타내는 sheet; 데이터를 가져올 셀의 위치를 나타내는 range; 및 출력 데이터를 식별할 수 있도록 하는 고유 키 값을 나타내는 key에 의해 정의될 수 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 메모리; 및 상기 메모리와 통신하는 프로세서를 포함하되, 상기 프로세서는, API(Application Programming Interface) 실행을 위한 제1 키를 입력받아 인증하고, 상기 입력받은 제1 키에 대한 인증에 성공하면, 비즈니스 로직을 모델 입력으로 업로드하고, 모델 엔진을 이용하여 상기 업로드한 모델인 스프레드시트에 상응하는 서비스 API를 생성한 후, 페이로드 데이터를 입력받아 기 생성된 서비스 API를 실행하고, 상기 서비스 API 실행 결과를 출력하되, 상기 프로세서는, 상기 모델이 업로드되면, 해당 모델의 고유 식별자인 제2 키를 리턴할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예들 중 적어도 하나에 따르면,
첫째, 모델 입력에 대한 중간 처리 과정에서 별도의 코드 작성이 필요없어 개발자와의 불필요한 커뮤니케이션에 따른 시간 및 비용을 줄일 수 있어 효율성을 제고할 수 있다.
둘째, 기생성된 모델을 재사용하거나 수정 또는 업데이트를 간편하게 할 수 있어 사용자의 이용 편의성을 극대화할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 은 본 발명의 일실시예에 따른 파일 처리 시스템을 설명하기 위해 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 서버의 구성 블록도이다.
도 3은 도 2의 데이터 처리부의 동작을 설명하기 위해 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 서버에서 클라이언트에 의해 업로드 된 모델 입력을 처리하는 방법을 설명하기 위해 도시한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하는 것은 아니다. 본 명세서에서, 단수형은 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하 본 명세서에서는 본 발명에 따라 모델 엔진(model engine)을 포함하여, 모델 입력(model input)이 업로드(upload)되면 개발자에 의해 별도의 코드(code) 작성없이 자동으로 모델 입력을 이용하여 API(Application Programming Interface)를 생성하고, 모델 결과(model output)를 도출하는 전자장치(electronic device) 및 그 동작 방법을 개시한다.
상기에서, 모델 입력은, 비즈니스 로직 파일(business logic file) 즉, 외부 장치(예를 들어, 사용자 단말기 등)로부터 함수(function)나 로직(logic) 중 적어도 하나가 포함된 파일(file)의 업로드를 통해 이루어질 수 있다. 본 명세서에서는 설명의 편의상 파일은 스프레드시트(spread sheet)를 예로 하고, 스프레드 시트는 엑셀 함수로 구성된 것을 일 예로 하나, 이에 한정되는 것은 아니다.
한편, 모델 입력은 기생성된 모델 기반 API가 있는 경우에는, 해당 API를 호출하여 대신할 수 있다.
본 발명에 따른 전자장치는, 사용자 단말기에 의해 엑셀 함수가 포함된 스프레드시트 파일이 모델 입력으로 업로드가 되면, 별도의 코드 작성없이도 자동으로 상기 모델 입력, 즉 스프레드시트 파일에 상응하는 API를 생성하고, 원하는 항목 값이 실제 입력되어 생성된 API가 실행되면 그에 상응하는 결과물을 출력할 수 있다. 이 때, 결과물의 형식은 후술하는 바와 같이, 입력물의 형식을 따르거나 동일할 수 있으나, 그에 한정되는 것은 아니다.
본 발명에 따른 전자장치는 연산 처리를 수행하여 클라이언트(client)에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함될 수 있다. 예를 들어, 본 발명에 따른 전자장치는, 적어도 하나의 컴퓨터 또는 컴퓨팅 디바이스, 서버장치, 단말기 등을 모두 포함하거나 어느 하나의 형태일 수 있다.
컴퓨터에는 예를 들어, 웹 브라우저(web browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC 등이 포함될 수 있다.
서버 장치에는 외부 장치(예를 들어, 사용자 단말기)와 통신을 수행하여 정보를 처리하는 서버로써, 어플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 메일 서버, 프록시 서버, 웹 서버 및 블록체인 서버 등이 포함될 수 있다.
상기에서, 단말기에는 예를 들어, 휴대성과 이동성이 보장되는 무선통신장치로서, 스마트폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선통신장치가 포함될 수 있다.
본 명세서에서 본 발명에 따른 전자장치와 관련하여 제어 모델이 정의되거나 관련 플랫폼이 구축될 수 있는데, 그것은 빅데이터(big data)와 인공지능(Artificial Intelligence) 기술 기반의 컴퓨터에 의해 생성 및 제공될 수 있으며, 확장현실(eXtended Reality), 블록체인(Blockchain) 기술 등 ICT(Information and Communication Technology) 기술이 이용 또는 참조되어 구현될 수 있다. 다만, 본 명세서에서는 이러한 ICT 기술에 대한 상세 설명은 공지 기술을 참조하며, 별도 상세 설명은 생략함을 미리 밝혀둔다.
따라서, 본 발명은 비즈니스 로직 입력 처리가 필요한 다양한 분야에 활용될 수 있으며, 관련 모든 플랫폼(platform)에서 활용 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1 은 본 발명의 일실시예에 따른 파일 처리 시스템(1)을 설명하기 위해 도시한 도면이다.
도 1을 참조하면, 파일 처리 시스템(1)은 클라이언트(client)(100) 및 서버(200)를 포함하여 구성될 수 있다.
편의상, 도 1에서 클라이언트(100)와 서버(200)는 각각 단수로 표현하였으나, 각각 복수일 수 있다.
클라이언트(100)는 모델 입력, 즉 비즈니스 로직 파일인 엑셀 함수가 포함된 스프레드시트를 업로드하는 사용자 단말기를 포함할 수 있다.
이 때, 사용자 단말기는 전술한 바와 같이, DTV, 사이니지와 같은 고정형 단말기와 스마트폰, 태블릿pc, 랩톱 등과 같은 이동형 단말기 중 어느 하나의 형태일 수 있다.
서버(200)는 클라이언트(100)에 의해 업로드된 모델 입력에 상응하는 API를 생성하여 제공하고, 제공된 API를 실행하여 원하는 결과를 도출할 수 있다.
서버(200)는 생성된 API 실행에 따라 도출된 결과를 클라이언트(100)의 요청 또는 선택에 따라 바로 출력이나 다운로드가 가능하도록 서비스할 수 있다.
서버(200)는 클라이언트(100)에 생성된 API에 포함된 항목들에 대한 값을 입력받기 위해 클라이언트(100)에 사용자 인터페이스를 제공할 수 있다. 관련하여, 클라이언트(100)는 예컨대, 디스플레이와 같은 출력 장치를 포함하여 서버(200)에 의해 제공된 사용자 인터페이스를 사용자에게 제공할 수 있다.
서버(200)는 웹 어플리케이션, 웹브라우저와 같은 웹 서비스 형태로 클라이언트(100)에 본 발명에 따른 서비스를 제공할 수 있다.
도 2는 본 발명의 일실시예에 따른 서버(200)의 구성 블록도이다.
도 2를 참조하면, 서버(200)는 메모리(260) 및 프로세서를 포함하여 구성될 수 있다.
메모리(260)는 모델 엔진과 관련된 다양한 데이터, 모델 입력 데이터, 모델 처리 데이터, API 데이터 등 다양한 정보를 저장할 수 있다.
메모리(260)는 서버(200)에 포함되지 않고 별개의 개체(entity)로서, 서버(200)와 같이 클라우드 형태로 구현되어, 원격(remote)에 위치할 수 있다.
메모리(260)는 데이터베이스(DB: database) 서버 형태로 구현될 수도 있다.
프로세서는 통신부(210), 제1 데이터 수신부(220), 제2 데이터 수신부(230), 데이터 처리부(240), 제어부(250) 등 중 적어도 하나 이상을 포함하여 구성될 수 있다.
통신부(210)는, 도 1의 적어도 하나의 클라이언트(100)와 유/무선 네트워크를 통하여 데이터를 주고받을 수 있도록 지원할 수 있다. 통신부(210)는 이를 위해 유/무선 통신 프로토콜을 제공할 수 있다.
제1 데이터 수신부(220)는 클라이언트(100)로부터 함수나 로직 중 적어도 하나가 포함된 스프레드시트를 모델 입력으로 획득(즉, 업로드)할 수 있다.
데이터 처리부(240)는 제어부(250)의 제어를 받아, 제1 데이터 수신부(220)를 통해 업로드된 모델 입력을 상응하는 API를 생성할 수 있다.
반면, 제2 데이터 수신부(230)는 데이터 처리부(240)에 의해 생성된 API에 포함된 적어도 하나 이상의 항목에 대한 값을 클라이언트(100)로부터 입력받을 수 있다.
데이터 처리부(240)는 제어부(250)의 제어를 받아, 제2 데이터 수신부(230)를 통해 기 생성된 API의 항목 값 입력에 따른 연산 동작을 수행할 수 있다.
데이터 처리부(240)는 연산 동작 수행 결과물을 도출할 수 있다.
제어부(250)는 프로세서의 각 구성요소나 서버(200)의 각 구성요소에 대한 전반적인 제어를 수행할 수 있다.
본 발명에 따라 모델 입력 상응 API 생성은 엔진에 의해 처리될 수 있다.
이 때, 엔진은 데이터 처리부(240)나 제어부(250) 내에 구현될 수 있다.
또는, 엔진은 별도의 구성요소로 구현될 수도 있다.
다만, 본 명세서에서 엔진은 설명의 편의상 데이터 처리부(240)의 일 구성요소로 설명하나, 이에 한정되는 것은 아니다.
제어부(250)는, 클라이언트(100)의 선택이나 요청에 따라 웹브라우저상에 API 실행에 따른 결과물을 출력하거나 클라이언트(100)에서 직접 다운로드받을 수 있도록 서비스 제어를 수행할 수 있다.
제어부(250)는 결과물을 API 생성을 위한 모델 입력과 동일한 형식을 가진 파일 형태로 생성되도록 제어할 수 있다.
제어부(250)는 결과물을 API 생성을 위한 모델 입력과 다른 형식을 가진 파일 형태로 생성되도록 제어할 수 있다.
제어부(250)는 결과물을 웹브라우저상에 그대로 출력되도록 제어할 수 있다.
도 3은 도 2의 데이터 처리부(240)의 동작을 설명하기 위해 도시한 도면이다.
도 3을 참조하면, 데이터 처리부(240)는 엔진부(310)를 포함할 수 있다.
엔진부(310)는 파일 수신부(311)와 API 생성부(312)를 포함할 수 있다.
엔진부의 파일 수신부(311)는 제1 데이터 수신부(220)를 통해 엑셀 함수가 포함된 스프레드시트를 업로드받을 수 있다.
엔진부의 API 생성부(312)는 파일 수신부(311)에서 업로드받은 스프레드시트를 수신하여 그에 상응하는 API를 생성할 수 있다.
엔진부(310)는 API 생성부(312)에서 스프레드시트에 상응하는 API가 생성되면, 제2 데이터 수신부(230)를 통해 생성된 API의 실행을 위한 페이로드(payload)를 입력받을 수 있다.
여기서, 페이로드에는 다음과 같은 항목들 중 적어도 하나 이상의 항목이 포함될 수 있다.
model_key는 업로드한 모델의 고유 키를 나타낼 수 있다.
export는 모델 입력에 따른 결과 파일(예를 들어, 엑셀)을 저장할지 여부를 나타낼 수 있다. export는 true와 false로 구분되고, true는 결과 파일을 저장하는 것이고, false는 결과 파일을 저장하지 않는 것을 나타낼 수 있다. 이 때, false는 결과 파일을 저장하지 않더라도 결과 파일을 그대로 출력할 수 있다.
input은 모델 입력을 통해 실제 결과 값을 도출하기 위한 입력 데이터를 나타낼 수 있다. 이러한 input은 예컨대, 데이터가 입력될 시트 명을 나타내는 sheet, 데이터가 입력될 셀의 위치를 나타내는 range, 입력할 값을 나타내는 value, 숫자를 나타내는 float와 문자를 나타내는 string을 포함하는 type 값을 통해 정의될 수 있다.
output은 input에 대응하여 출력 데이터를 나타낼 수 있다. 이 때, output은 데이터를 가져올 시트 명을 나타내는 sheet, 데이터를 가져올 셀의 위치를 나타내는 range, 그리고 출력 데이터를 식별할 수 있도록 하는 고유 키 값을 나타내는 key에 의해 정의될 수 있다.
이와 같이, 엔진부(310)는 API가 생성되면 클라이언트(100)로 API 생성 사실을 알리고, 클라이언트(100)로부터 생성된 API의 페이로드에 상응하는 전술한 값들이 입력되면, API를 실행할 수 있다. 이 경우, API의 실행은 클라이언트(100)의 요청에 따라 또는 자동으로 이루어질 수 있다.
출력부(320)는 엔진부(310)의 API 실행 결과를 출력할 수 있다. 이 때, 출력 타입은 페이로드의 export 정의 값에 의해, 그대로 출력, 단순 저장, 클라이언트(100)에서 다운로드 등 중 어느 하나일 수 있다.
출력부(320)는 엔진부(310)에서 획득하는 모델 입력의 파일 형식에 따라 동일한 파일 형식 또는 상이한 파일 형식으로 출력물을 처리할 수 있다.
도 4는 본 발명의 일실시예에 따른 서버(200)에서 클라이언트(100)에 의해 업로드 된 모델 입력을 처리하는 방법을 설명하기 위해 도시한 순서도이다.
도 4를 참조하면, 서버(200)는 모델 입력 처리를 요청하는 클라이언트(100)로부터 인증을 위한 키를 입력받을 수 있다(S10).
이 때, 클라이언트(100)는 예를 들어, 각 클라이언트를 식별하기 위해 고유키 값을 할당받을 수 있다. 이러한 고유 키 값은 해당 클라이언트에 고정된 고유 키 값일 수도 있다. 또는, 이러한 고유 키 값은 각 클라이언트가 서비스 이용 시에 서버(200)에 의해 난수 코드(random code)를 발급받은 일회용 키 값일 수 있다.
한편, 이러한 키 값은, 숫자(digit)로만 구성될 수 있다. 이러한 키 값은, 숫자와 문자(텍스트)가 조합되어 구성될 수 있다. 그 밖에, 이러한 키 값은, 각 클라이언트의 생체 정보나 개인 정보 등과 조합되어 구성될 수도 있다.
한편, 이러한 인증을 위한 키 값은 예컨대, 추후 생성될 API의 실행을 위하여 해당 클라이언트가 그러한 권한이 있는지, 즉 정당한 권한을 가진 클라이언트인지 판단하는데 이용될 수 있다.
한편, 이러한 인증은 한 단계가 아니라 여러 단계로 이루어질 수도 있다.
또는, 인증은 필수적인 절차는 아니어서, 인증을 한 클라이언트와 인증을 하지 않은 클라이언트 사이에 서비스가 다를 수 있다. 예를 들어, 인증을 하지 않은 클라이언트는 서비스 이용 횟수가 제한되거나 결과를 다운로드받지 못하거나 결과의 일부만 출력하거나 결과의 일부만 블록 처리되어 제공될 수도 있다.
한편, 인증을 위한 키 값은 회원가입이나 서비스 등록(예를 들어, 유료 서비스 등록), 유료 서비스 가입자 등에게 발행되어 이용될 수 있다.
인증과 관련하여, 파일의 형식, 파일명, 서비스 이용 시간 등에 따라 키 값이 상이하거나 절차가 여러 단계로 구분될 수 있다.
인증이 여러 단계로 이루어지는 경우에는, 각 인증 사이의 키 값 내지 인증 방법은 상이할 수 있다.
서버(200)는 클라이언트(100)에 의해 입력된 키 값에 따라 해당 클라이언트가 인증에 성공하였으면(S20), 클라이언트(100)로부터 함수나 로직 포함 모델 입력을 업로드 받을 수 있다(S30).
서버(200)는 모델 입력이 업로드되면, 업로드된 모델 입력에 고유의 식별자(예를 들어, 키 값)를 클라이언트(100)로 리턴할 수 있다(S40).
여기서, 서버(200)에 의해 클라이언트(100)로 리턴되는 고유의 식별자는 추후 API 생성 시에 참고되며, 생성된 API를 추후 재이용하고자 하는 경우에, 서버(200)에서 호출할 때, 참조될 수 있다. 또는, 클라이언트(100)도 고유의 식별자를 이용하여 생성된 API를 모델 입력이 없이도 다이렉트로 호출하여 이용할 수도 있다. 이는 API가 특정 목적이나 범용적으로 이용 가능한 경우에, API를 재변환하거나 재생성하는 등 불필요한 절차를 방지하여 시스템의 효율성을 높이기 위함일 수 있다.
서버(200)는 클라이언트(100)에 의해 업로드된 모델 입력에 상응하는 서비스 API를 생성할 수 있다(S50). 다만, 업로드 된 모델의 고유 식별자(예를 들어, 키 값)를 통해 상기 업로드 된 모델 자체를 호출하여 이용 및/또는 연산을 진행할 수 있으며 이 경우 별도의 API를 생성하지 않을 수 있다
서버(200)는 리턴된 모델 키를 포함하여, 클라이언트(100)에서 생성된 API의 페이로드 데이터를 입력받으면(S60), 서비스 API를 실행할 수 있다(S70).
상기에서, 서버(200)는 서비스 API를 자동 실행 또는 클라이언트(100)의 선택이나 요청에 따라 수동 실행할 수 있다.
이러한 자동 실행 여부는 예를 들어, 클라이언트(100)에서 요청한 export 값에 따라 결정될 수 있다.
서버(200)는 서비스 API의 실행 결과를 출력할 수 있다(S80).
여기서, 서비스 API의 실행 결과 출력은, 웹 브라우저 상에 그대로 출력, 메모리(260)에 저장, 다운로드 등 중 어느 하나를 나타낼 수 있다.
상술한 본 발명의 다양한 실시예들 중 적어도 하나에 따르면, 코딩없이 엑셀 로직을 그대로 이용하여 신속하게 프로그램 개발이 가능하고, 코드로 로직 개발 시 대비 프로그램 개발 시간이 현저히 줄어들 수 있다.
또한, 서버(200), 예를 들어 클라우드에서 단순히 엑셀 파일의 DB화가 아니라 수식을 이용하여 계산할 수 있다.
그리고 서버(200)는 클라이언트(100)가 수정된 엑셀 파일 업로드 시 비즈니스 로직 수정이 빠르고 손쉽게 이루어질 수 있다.
그리고 서버(200)는 결과물로서 피벗 테이블(pivot table), 필터링(filter) 등 데이터 집계 기능까지 변환이 가능하고, API 계산 결과를 엑셀 파일로 바로 출력도 가능하다.
클라이언트(100)는 서버(200)로 모델 데이터를 입력하면, 그에 대한 연산식을 별도의 코드로 작성할 필요가 없다. 따라서, 일반적으로 도메인 지식이 부족한 개발자와의 불필요한 커뮤니케이션에 따른 시간 및 비용을 줄일 수 있다. 그 밖에, 클라이언트(100)는 한 번 모델을 이용한 후에는, 동일 모델을 다시 이용하는 경우에, 다시 모델 데이터를 입력하여 API를 생성하는 것이 아니라, 기생성된 모델을 재사용하도록 호출할 수 있어, 보다 빠르게 서비스를 이용할 수 있다.
또한, 클라이언트(100)는 서버(200)에 기 생성된 모델 입력에 수정이나 업데이트한 내용이 있는 경우, 새롭게 API를 생성하여 저장할 수 있다. 이 경우, 다른 실시예에 의할 경우, 기생성된 API에 상응하는 모델 입력을 호출하여 일부 데이터만 수정하거나 업데이트함으로써, 기생성된 API를 수정 또는 업데이트할 수도 있다.
서버(200)는 클라이언트(100)로부터 모델 입력이 업로드되는 경우, 업로드되는 모델 입력을 분석하여, 기생성한 API에 상응하는 모델 입력과 유사도가 미리 설정한 임계치 이상 유사한 것으로 판단(동일한 경우 포함)되면, 클라이언트(100)에게 이를 알릴 수 있다. 이 경우, 서버(200)는 클라이언트(100)의 선택 또는 요청에 따라 기생성한 API를 이용할 수도 있다.
서버(200)는 기생성한 API에 대해 이용 빈도나 이용 횟수, 복수의 클라이언트가 이용 등의 경우를 종합 고려하여, 각 API에 우선순위에 차등을 둘 수 있다.
서버(200)는 클라이언트(100)가 기생성한 API의 수정 또는 업데이트를 요청하는 경우에는, 재인증 절차를 수행하여 인증에 성공하였거나 동일 클라이언트인 경우에만 수정 또는 업데이트를 수행할 수 있다.
서버(200)는 기생성한 API나 저장 중인 모델 입력과 관련하여, 클라이언트별, 시간별, API 서비스 타입별 등에 따라 분류하여 구분 저장할 수 있다. 이 경우, 서버(200)는 시간 순 등에 기초하여 우선순위에 차등을 두고, 그에 따라 우선 노출되도록 나열할 수 있다.
서버(200)는 클라이언트(100)에게 모델 입력의 분야, 그룹, 타입 등을 최상위 카테고리로 하여 계층화를 통해 기저장되어 맵핑된 모델 입력-API에 대한 검색 서비스를 제공할 수 있다.
서버(200)는 출력 데이터가 입력 데이터와 양식이 동일한 경우에도 출력 데이터를 피벗 테이블 등 파일 구조까지 연동이 가능하도록 서비스할 수 있다.
서버(200)는 출력 데이터가 입력 데이터의 언어와 동일한 것을 기본 값으로 하되, 클라이언트(100)에 따라 판단된 다른 외국어로 서비스 API의 결과물을 제공할 수 있다.
상술한 바와 같이, 본 발명은 코딩없이 엑셀 기반 로직을 빠르게 서비스화할 수 있으며, 변환된 API를 연동할 수 있다. 즉, 본 발명은 변환된 API를 연동하여 고객사의 비즈니스 로직을 그대로 프로그램을 개발하거나 직접 코드로 개발 시 대비 향상된 프로그램 개발 시간을 제공할 수 있다.
한편, 본 발명은 클라우드 SaaS(Software as a Service) 서비스로 어디서나 동일한 로직을 구현, 즉 모바일 어플리케이션, 웹 서비스, 내부 프로그램 등 API가 연동 가능한 곳 어디서나 동일한 로직을 구현할 수 있다.
이러한 본 발명은 병원비 수령되는 보험금 액수 산정, 노무법인 사대보험환급/고용지원금, 경정청구, 세금신고/환급 등에 이용될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
본 발명인 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법은 다양한 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법에 이용할 수 있다.
100 : 클라이언트 200 : 서버
210 : 통신부 220 : 제1 데이터 수신부
230 : 제2 데이터 수신부` 240 : 데이터 처리부
250 : 제어부

Claims (7)

  1. API(Application Programming Interface) 실행을 위한 제1 키를 입력받아 인증하는 단계;
    상기 입력받은 제1 키에 대한 인증에 성공하면, 비즈니스 로직을 모델 입력으로 업로드하는 단계;
    모델 엔진을 이용하여 상기 업로드한 모델인 스프레드시트에 상응하는 서비스 API를 생성하는 단계;
    페이로드 데이터를 입력받아 상기 생성된 서비스 API를 실행하는 단계; 및
    상기 서비스 API 실행 결과를 출력하는 단계;를 포함하되,
    상기 모델이 업로드되면, 해당 모델의 고유 식별자인 제2 키를 리턴하는,
    전자장치의 동작 방법.
  2. 청구항 1에 있어서,
    상기 모델 입력은,
    함수 및 로직 중 적어도 하나로 구성된 로직을 포함한 스프레드시트가 포함된 입력인,
    전자장치의 동작 방법.
  3. 청구항 2에 있어서,
    상기 서비스 API를 생성하는 단계는,
    상기 업로드한 모델인 스프레드시트에 대해 식별자로 제3 키를 리턴하는 단계를 포함하는,
    전자장치의 동작 방법.
  4. 청구항 3에 있어서,
    상기 페이로드 데이터는,
    기 업로드된 모델 키 정보를 나타내는 모델 키(model_key) 정보;
    상기 모델 입력에 따른 결과 파일을 저장할지 여부를 나타내는 엑스포트(export) 정보;
    상기 모델 입력을 통해 실제 결과 값을 도출하기 위한 입력 데이터를 나타내는 인풋(input); 및
    상기 인풋(input)에 대응하여 출력 데이터를 나타내는 아웃풋(output)이 포함되는,
    전자장치의 동작 방법.
  5. 청구항 4에 있어서,
    상기 인풋(input)은,
    데이터가 입력될 시트 명을 나타내는 시트(sheet), 데이터가 입력될 셀의 위치를 나타내는 레인지(range), 입력할 값을 나타내는 벨류(value), 숫자를 나타내는 플로트(float)와 문자를 나타내는 스트링(string)을 포함하는 타입(type) 값을 통해 정의되는,
    전자장치의 동작 방법.
  6. 청구항 5에 있어서,
    상기 아웃풋(output)은,
    상기 인풋(input)에 대응하여 출력 데이터를 나타내되,
    데이터를 가져올 시트 명을 나타내는 시트(sheet);
    데이터를 가져올 셀의 위치를 나타내는 레인지(range); 및
    출력 데이터를 식별할 수 있도록 하는 고유 키 값을 나타내는 키(key)에 의해 정의되는,
    전자장치의 동작 방법.
  7. 메모리; 및
    상기 메모리와 통신하는 프로세서;를 포함하되,
    상기 프로세서는,
    API(Application Programming Interface) 실행을 위한 제1 키를 입력받아 인증하고,
    상기 입력받은 제1 키에 대한 인증에 성공하면, 비즈니스 로직을 모델 입력으로 업로드하고,
    모델 엔진을 이용하여 상기 업로드한 모델인 스프레드시트에 상응하는 서비스 API를 생성한 후, 페이로드 데이터를 입력받아 기 생성된 서비스 API를 실행하고, 상기 서비스 API 실행 결과를 출력하고,
    상기 프로세서는,
    상기 모델이 업로드되면, 해당 모델의 고유 식별자인 제2 키를 리턴하는,
    전자장치.
KR1020230118138A 2023-09-06 2023-09-06 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법 KR102621198B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230118138A KR102621198B1 (ko) 2023-09-06 2023-09-06 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230118138A KR102621198B1 (ko) 2023-09-06 2023-09-06 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102621198B1 true KR102621198B1 (ko) 2024-01-04

Family

ID=89542405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230118138A KR102621198B1 (ko) 2023-09-06 2023-09-06 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102621198B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058370A (ja) * 2001-08-10 2003-02-28 Alpha:Kk ソースコード生成システム
JP2009223843A (ja) * 2008-03-19 2009-10-01 Nomura Research Institute Ltd コンピュータプログラムのソースコード自動生成装置及び方法
KR20190104846A (ko) * 2018-03-02 2019-09-11 주식회사 제이비금융지주 Api를 생성하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR102421397B1 (ko) 2019-07-25 2022-07-18 주식회사 디에스랩글로벌 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058370A (ja) * 2001-08-10 2003-02-28 Alpha:Kk ソースコード生成システム
JP2009223843A (ja) * 2008-03-19 2009-10-01 Nomura Research Institute Ltd コンピュータプログラムのソースコード自動生成装置及び方法
KR20190104846A (ko) * 2018-03-02 2019-09-11 주식회사 제이비금융지주 Api를 생성하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR102421397B1 (ko) 2019-07-25 2022-07-18 주식회사 디에스랩글로벌 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법

Similar Documents

Publication Publication Date Title
US20210149648A1 (en) System and a method for automating application development and deployment
US10552771B2 (en) Analyzing data management-related and/or contract management-related operations of an organization
US10474506B1 (en) Finite state machine driven workflows
US11397567B2 (en) Integrated system for designing a user interface
CN109299913B (zh) 员工薪资方案生成方法及装置
CN110032568B (zh) 数据结构的读取及更新方法、装置、电子设备
US20230051206A1 (en) Multi-Platform Application Integration and Data Synchronization
CN112288400A (zh) 多系统数据交互方法、装置、计算机设备及存储介质
US11403079B2 (en) Integrated system for designing a user interface
CN111241803A (zh) 生成文本文件的方法、装置、计算机设备及可读存储介质
CN112035676B (zh) 用户操作行为知识图谱构建方法及装置
CN112711640A (zh) 一种业务受理流程配置的方法及装置
KR102621198B1 (ko) 비즈니스 로직을 처리하는 전자장치 및 그 동작 방법
CN112379946A (zh) 基于yaml的模板配置方法、装置及计算机设备
CN108632348B (zh) 一种业务校验方法和装置
Soriano Maximizing benefits from IT project management: from requirements to value delivery
US11726818B1 (en) System for executing tasks in different programming languages
CN112907220B (zh) 一种工程造价的系统、方法及装置
CN112231377A (zh) 数据映射方法、系统、装置、服务器和存储介质
EP4022471B1 (en) System and method for implementing market data rights enforcement
US20230198991A1 (en) File-based configuration of access management
US20220129283A1 (en) Methods, systems, and media for generating an updated workflow for an operation executable by a computing device
Laili et al. AN ANALYSIS OF THE USE OF ACCOUNTING SYSTEM ON CLOUD: A CASE STUDY IN ABBAZ ADVISORY
US20200252387A1 (en) Accessing a control platform
TW202103074A (zh) 一種動態取得資料之方法及應用其之系統

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant