KR20210105669A - 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체 - Google Patents

서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체 Download PDF

Info

Publication number
KR20210105669A
KR20210105669A KR1020200020433A KR20200020433A KR20210105669A KR 20210105669 A KR20210105669 A KR 20210105669A KR 1020200020433 A KR1020200020433 A KR 1020200020433A KR 20200020433 A KR20200020433 A KR 20200020433A KR 20210105669 A KR20210105669 A KR 20210105669A
Authority
KR
South Korea
Prior art keywords
developer
business logic
input
providing
server
Prior art date
Application number
KR1020200020433A
Other languages
English (en)
Other versions
KR102364893B1 (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 KR1020200020433A priority Critical patent/KR102364893B1/ko
Publication of KR20210105669A publication Critical patent/KR20210105669A/ko
Application granted granted Critical
Publication of KR102364893B1 publication Critical patent/KR102364893B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 서버 개발 서비스 제공 방법은, 개발자의 입력에 의하여 프로젝트를 생성하는 단계, 상기 개발자의 드래그 앤 드롭 입력에 따라, 상기 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조를 정의하는 단계, 상기 데이터 구조에 기초한 데이터베이스를 생성하는 단계, 상기 개발자로부터 그래프 기반 비즈니스 로직을 입력받는 단계, 및 상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계를 포함할 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체{METHOD FOR PROVIDING SERVER DEELOPMENT SERVICE AND STORAGE MEDIUM STORING PROGRAM FOR PERFORMING THE SAME}
본 발명은 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체에 관한 것이다.
인프라와 플랫폼의 구축을 간단하게 하기 위한 BaaS(Backend as a Service)가 보급되어 있다. BaaS를 이용하여 인프라와 플랫폼의 구축이 가능하나, 서버 개발을 위해서는 서버 개발자가 직접 개발할 것이 요구된다. 서버 어플리케이션 개발은 데이터베이스에 관한 지식, 네트워크에 관한 지식 등 개발을 위해 학습해야 할 내용이 많아 높은 기술 수준을 요한다.
또한, 기존의 클라우드 서버리스 기술은 통합적인 기능을 제공하지 못하고, 단순 코드 조각을 클라우드에 업로드하고 이를 필요할 때만 수행하는 방식이기 때문에, 가볍고 간단한 프로젝트나 테스트에는 용이하지만, 규모가 커지거나 프로덕션을 위한 코드로서 적용하기에는 부적절하다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 서버 개발 서비스 제공 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버 개발 서비스 제공 방법은, 개발자의 입력에 의하여 프로젝트를 생성하는 단계, 상기 개발자의 드래그 앤 드롭 입력에 따라, 상기 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조를 정의하는 단계, 상기 데이터 구조에 기초한 데이터베이스를 생성하는 단계, 상기 개발자로부터 그래프 기반 비즈니스 로직을 입력받는 단계, 및 상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계 를 포함할 수 있다.
여기서, 상기 컴파일된 서버 어플리케이션과 관련된 사용자 관리, 결제, 또는 데이터 분석을 위한 도구를 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 사용자 관리를 위한 도구는 회원 가입, 로그인, 또는 접속 기록 기능을 제공할 수있다.
여기서, 상기 개발자로부터 그래프 기반으로 비즈니스 로직을 입력받는 단계는, 적어도 하나의 작성된 비즈니스 로직을 제공할 수 있는 인터페이스를 상기 개발자에게 제공하는 단계, 및 상기 인터페이스 상에서 상기 적어도 하나의 작성된 비즈니스 로직 중 적어도 하나에 대한 상기 개발자의 선택을 입력받는 단계를 포함할 수 있다.
여기서, 상기 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 상기 개발자에게 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 그래프 기반 비즈니스 로직은 복수의 노드 사이의 연결관계로 표시될 수 있다.
여기서, 상기 복수의 노드는 파라미터 노드, 변수 노드, 시작 노드, 반환 노드, 및 함수 노드 중 적어도 하나를 포함할 수 있다.
여기서, 상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계는, 상기 비즈니스 로직을 스크립트로 변환하는 단계를 포함할 수 있다.
여기서, 상기 데이터베이스를 시각적으로 관리하기 위한 상기 인터페이스는 상기 데이터베이스에 대한 쿼리 기능을 제공할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비일시적 컴퓨터 판독 가능 기록 매체는, 적어도 하나의 프로세서에 의하여 실행될 때 상기 적어도 하나의 프로세서로 하여금, 개발자의 입력에 의하여 프로젝트를 생성하는 단계, 상기 개발자의 드래그 앤 드롭 입력에 따라, 상기 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조를 정의하는 단계, 상기 데이터 구조에 기초한 데이터베이스를 생성하는 단계, 상기 개발자로부터 그래프 기반 비즈니스 로직을 입력받는 단계, 및 상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계를 수행하도록 하는 프로그램이 저장된 기록 매체일 수 있다.
여기서, 상기 컴파일된 서버 어플리케이션과 관련된 사용자 관리, 결제, 또는 데이터 분석을 위한 도구를 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 사용자 관리를 위한 도구는 회원 가입, 로그인, 또는 접속 기록 기능을 제공할 수있다.
여기서, 상기 개발자로부터 그래프 기반으로 비즈니스 로직을 입력받는 단계는, 적어도 하나의 작성된 비즈니스 로직을 제공할 수 있는 인터페이스를 상기 개발자에게 제공하는 단계, 및 상기 인터페이스 상에서 상기 적어도 하나의 작성된 비즈니스 로직 중 적어도 하나에 대한 상기 개발자의 선택을 입력받는 단계를 포함할 수 있다.
여기서, 상기 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 상기 개발자에게 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 그래프 기반 비즈니스 로직은 복수의 노드 사이의 연결관계로 표시될 수 있다.
여기서, 상기 복수의 노드는 파라미터 노드, 변수 노드, 시작 노드, 반환 노드, 및 함수 노드 중 적어도 하나를 포함할 수 있다.
여기서, 상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계는, 상기 비즈니스 로직을 스크립트로 변환하는 단계를 포함할 수 있다.
여기서, 상기 데이터베이스를 시각적으로 관리하기 위한 상기 인터페이스는 상기 데이터베이스에 대한 쿼리 기능을 제공할 수 있다.
본 발명에 따르면, 단순한 드래그 앤 드롭 입력을 이용하여 데이터 구조를 정의할 수 있다.
본 발명에 따르면, 기존의 코드 조각을 이용한 비즈니스 로직 작성 대신 그래프 기반으로 비즈니스 로직을 입력받으므로, 개발자가 손쉽게 비즈니스 로직을 구현할 수 있다.
본 발명에 따르면, 작성된 비즈니스 로직을 제공할 수 있는 인터페이스가 제공되고, 제공된 비즈니스 로직 중 하나를 개발자가 선택할 수 있으므로, 복수의 개발자들 간에 비즈니스 로직이 공유됨으로써 개발 노력이 중복되는 것을 방지할 수 있다.
본 발명에 따르면, 데이터베이스를 시각적으로 관리하기 위한 인터페이스가 제공되므로, 개발자는 데이터베이스를 용이하게 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 서버 개발 서비스 제공 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 프로젝트가 생성될 수 있는 인터페이스를 도시한다.
도 3은 본 발명의 일 실시예에 따른 데이터 구조를 정의할 수 있는 인터페이스를 도시한다.
도 4는 본 발명의 일 실시예에 따른 그래프 기반 비즈니스 로직을 도시한다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 도시한다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. “및/또는”이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 서버 개발 서비스 제공 방법의 흐름도이다.
110 동작에서, 개발자의 입력에 의하여 프로젝트가 생성될 수 있다. 110 동작이 일어나기 전에, 개발자는 백엔드 개발을 위해 서비스 웹페이지에 회원 가입을 한 상태일 수 있다.
프로젝트가 생성되었다는 것은 클라우드의 가상머신 내에 Docker를 이용하여 서버 구동에 필요한 모듈들이 설치되었고 구동 준비가 완료되었다는 것을 의미할 수 있다. 프로젝트가 정상적으로 생성되면 개발자에게 프로젝트가 정상적으로 생성되었다는 것을 알리는 메시지가 표시되고, 개발자의 UI는 프로젝트 대시보드로 페이지를 표시할 수 있다. 프로젝트 대시보드에서는 생성된 프로젝트가 카드 형태로 표시될 수 있다.
프로젝트 대시보드의 예시는 도 2에 도시되어 있다. 도 2를 참조하면, 프로젝트 대시보드 상에서 정상적으로 생성된 프로젝트(210)가 프로젝트 명칭과 함께 표시될 수 있다. 또한, 프로젝트 대시보드는 새로운 프로젝트를 생성하기 위한 UI 요소(220)를 표시할 수 있다.
120 동작에서, 개발자의 드래그 앤 드롭 입력에 따라, 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조가 정의될 수 있다.
도 3을 참조하면, 데이터 구조를 정의할 수 있는 인터페이스가 도시된다. 인터페이스의 일부 영역에는 정의될 수 있는 필드의 유형들이 표시될 수 있다. 정의될 수 있는 필드의 유형은 텍스트(311), 숫자(312), 불리언(313), 및 오브젝트(314)를 포함할 수 있다. 텍스트(311)는 문자열 데이터를 의미하는 데이터 필드 유형이다. 숫자(312)는 숫자 데이터를 의미하는 데이터 필드 유형으로서, 정수 및/또는 실수를 포함할 수 있다. 불리언(313)은 참 또는 거짓을 의미하는 데이터 필드 유형이다. 오브젝트(314)는 디자이너를 넣을 수 있는 데이터 필드 유형이다. 오브젝트는 레퍼런스 또는 차일드의 속성을 가질 수 있다.
도 3에 도시되지는 않았으나, 다양한 실시예에 따라서 정의될 수 있는 필드의 유형은 날짜를 의미하는 “date” 필드, 목록을 등록하고 관리하기 위한 “enumerate” 필드, 색상을 의미하는 데이터 필드 유형인 “color” 필드, 및 데이터 입력을 위한 “file” 필드 중 적어도 하나를 더 포함할 수 있다.
인터페이스의 다른 일부 영역에는 개발자의 입력에 따라 데이터 구조에 포함된 필드들의 구조(320)가 시각적으로 표시될 수 있다. 인터페이스에는 새로운 필드를 추가하기 위한 UI 요소(330)가 표시될 수 있다.
개발자는 추가하고자 하는 필드의 유형(예를 들어, 314)을 시작점으로 하고, 새로운 필드를 추가하기 위한 UI 요소(330)를 끝점으로 하는 드래그 앤 드롭 입력을 통하여 새로운 필드를 추가할 수 있다. 다양한 실시예에 따라서, 새로운 필드를 추가하기 위한 입력이 드래그 앤 드롭 입력인 것은 예시에 불과하고, 추가하고자 하는 필드의 유형을 특정할 수 있는 임의의 입력에 따라서 새로운 필드가 추가될 수 있음을 통상의 기술자는 이해할 수 있을 것이다.
130 동작에서, 데이터 구조에 기초한 데이터베이스가 생성될 수 있다. 다양한 실시예에 따라서, 생성된 데이터베이스를 시각적으로 관리하기 위한 인터페이스가 상기 개발자에게 제공될 수 있다. 생성된 데이터베이스를 시각적으로 관리하기 위한 인터페이스의 예시는 도 5를 참조하여 후술한다.
다양한 실시예에 따라서, 130 동작이 수행되기 전에, 120 동작에서 생성된 데이터 구조에 대한 검사가 수행될 수 있다. 다양한 실시예에 따라서, 데이터 구조에 대한 검사는 필수 항목 검사, 제약 위반 검사, 및 데이터 타입 검사 순으로 이루어질 수 있다.
140 동작에서, 개발자로부터 그래프 기반 비즈니스 로직을 입력받을 수 있다. 도 4는 본 발명의 일 실시예에 따른 그래프 기반 비즈니스 로직을 도시한다. 도 4를 참조하면, 그래프 기반 비즈니스 로직은 복수의 노드(411 내지 418)를 포함하고, 복수의 노드(411 내지 418) 사이의 연결관계로 표시될 수 있다. 각 노드의 좌측에는 입력, 우측에는 출력을 나타내는 소켓이 표시될 수 있다. 좌측의 입력 소켓은 프로그램 식에서의 좌항에 대응될 수 있고, 우측의 출력 소켓은 프로그램 식에서의 우항에 대응될 수 있다. 또한, 도 4의 예시에서 소켓 중 로직의 진행 방향을 표현하는 소켓은 사각형으로, 입력 파라미터 또는 출력 파라미터를 표현하는 소켓은 원형으로 표시될 수 있다.
복수의 노드는 파라미터 노드, 변수 노드, 시작 노드, 반환 노드, 및 함수 노드 중 적어도 하나를 포함할 수 있다. 도 4의 예시에서, 노드(411)는 API 요청이 들어오면 가장 먼저 시작되는 노드인 시작 노드이다. 시작 노드는 비즈니스 로직에서 하나만 존재할 수 있다. 노드(417) 및 노드(418)는 결과를 Response로 전달하는 노드인 반환 노드이다. 노드(412)는 API호출 시 전달받을 파라미터를 나타내는 파라미터 노드이다. 노드(413)는 변수 값을 불러오는 노드인 변수 노드이다. 노드(414), 노드(415), 및 노드(416)는 사용자 함수 또는 사전 제공 함수를 사용할 수 있는 노드인 함수 노드이다.
도 4의 예시는 회원의 나이가 20세 미만인지 여부를 확인하고, 회원의 나이가 20세 미만인 경우 “Send Mail” 함수를 실행하고, 회원의 나이가 20세 이상인 경우 “Add Item” 함수를 실행하는 로직이다.
다양한 실시예에 따라서, 140 동작은 개발자가 설계한 그래프 기반 비즈니스 로직을 입력받는 방식 외에도, 적어도 하나의 미리 작성된 비즈니스 로직 중 하나에 대한 개발자의 선택을 받는 방식으로 수행될 수도 있다. 이를 위하여, 적어도 하나의 미리 작성된 비즈니스 로직을 제공할 수 있는 인터페이스가 상기 개발자에게 제공될 수 있고, 개발자는 인터페이스 상의 적어도 하나의 미리 작성된 비즈니스 로직 중 적어도 하나를 선택할 수 있다. 이 경우, 복수의 개발자들 사이에서 작성된 비즈니스 로직이 공유됨으로써 개발 노력이 중복되는 것을 방지할 수 있다.
도 4를 참조하면, 그래프 기반 비즈니스 로직과 함께 해당 비즈니스 로직을 컴파일하기 위한 UI 요소(420)가 표시될 수 있고, UI 요소(420)가 선택됨에 따라 150 동작이 수행될 수 있다. 150 동작에서는, 개발자로부터 입력받은 비즈니스 로직에 기초하여 서버 어플리케이션이 컴파일될 수 있다. 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계는, 비즈니스 로직을 스크립트로 변환하는 단계를 포함할 수 있다.
도 1에 도시되지 않았으나, 서버 개발 서비스 제공 방법은 컴파일된 서버 어플리케이션과 관련된 사용자 관리, 결제, 또는 데이터 분석을 위한 도구를 제공하는 단계를 더 포함할 수 있다. 예를 들어, 상기 사용자 관리를 위한 도구는 회원 가입, 로그인, 결제, 또는 접속 기록 기능을 제공할 수 있다. 따라서, 개발자는 별도의 개발 없이 범용적으로 사용되는 기능들을 손쉽게 구현할 수 있다.
도 5a는 본 발명의 일 실시예에 따른 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 도시한다. 도 5a를 참조하면, 데이터베이스 내에는 복수의 컬렉션(511, 512, 513)이 포함될 수 있다. 여기서, 컬렉션이란, 도 3의 인터페이스를 이용하여 정의된 데이터 구조에 기초한 데이터베이스를 의미한다. 이하에서, 컬렉션 내에 포함되는 개별 데이터는 도큐먼트라고 정의한다.
도 5a를 참조하면, 컬렉션(512)의 명칭(521), 디자이너 명칭(522), 및 컬렉션과 관련된 태그(523)가 표시될 수 있다. 여기서, 태그는 컬렉션을 표현하는 별칭으로 정의될 수 있다. 다양한 실시예에 따라서, 하나의 컬렉션에 대하여 태그의 개수는 미리 결정된 숫자 이하가 되도록 설정될 수 있다.
다양한 실시예에 따라서, 하나의 컬렉션은 이론상 무한대의 데이터를 저장할 수 있다. 컬렉션은 id와 name을 가질 수 있다. 다양한 실시예에 따라서, id는 자동생성될 수 있다. 다양한 실시예에 따라서, name은 변경 가능할 수 있다. 다양한 실시예에 따라서, 각 컬렉션의 구조에 따른 Default 값이 지정될 수 있다. 이 Default 값은 업로드에서 누락된 Field 값을 자동으로 채우는 역할을 한다.
다양한 실시예에 따라서, 컬렉션은 생성되거나, 수정되거나, 삭제될 수 있다.
도 5a에 도시되지는 않았으나, 다양한 실시예에 따라서, 등록된 컬렉션이 하나도 없는 경우에는, 개발자는 도 5a 우측 상단의 “+” 표시를 선택함으로써 새로운 컬렉션을 등록할 수 있다. 새로운 컬렉션을 등록할 때, 개발자는 컬렉션의 명칭, 컬렉션에 관한 설명, 디자이너, 및 태그 중 적어도 하나를 입력할 수 있다.
도 5b는 본 발명의 일 실시예에 따른 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 도시한다. 구체적으로, 도 5b는 도 5a에 도시된 인터페이스에서 특정 컬렉션을 선택하였을 때 표시되는 인터페이스를 도시한다. 도 5b를 참조하면, 선택된 컬렉션에 대한 일반 정보 제공 탭(531), 사용 정보 확인 탭(532), 구조 탭(533), 쿼리 탭(534), API 탭(535), 공유 탭(536), 및 설정 탭(537)이 표시될 수 있다.
다양한 실시예에 따라서, 일반 정보 제공 탭(531)은 선택된 컬렉션에 관한 일반적인 정보를 제공할 수 있다. 예를 들어, 일반 정보 제공 탭(531)에서는 컬렉션의 명칭, 컬렉션에 관한 설명, 디자이너, 및 태그 중 적어도 하나가 표시될 수 있다.
다양한 실시예에 따라서, 사용 정보 확인 탭(532)에서는 선택된 컬렉션이 사용하고 있는 저장 용량이 표시될 수 있다. 또한, 사용 정보 확인 탭(532)에서는 선택된 컬렉션을 포함하는 데이터베이스 전체가 점유하고 있는 저장 용량이 표시될 수 있다. 다양한 실시예에 따라서, 사용 정보 확인 탭(532)에서는 선택된 컬렉션에 관한 입력 및 출력 데이터 트래픽이 시계열적으로 표시될 수 있다.
다양한 실시예에 따라서, 구조 탭(533)에서는 선택된 컬렉션의 데이터 구조가 표시될 수 있다.
다양한 실시예에 따라서, 쿼리 탭(534)에서는 컬렉션 내에 포함되는 도큐먼트들에 대한 쿼리가 입력될 수 있다. 또한, 쿼리 탭(534)에서는 입력된 쿼리에 대한 검색 결과가 제공될 수 있다. 쿼리는 이름 및 설명을 포함할 수 있으며, 검색 대상 필드 및 검색 대상 필드에 대한 검색 조건을 포함할 수 있다.
예를 들어, 도큐먼트들이 “userID”, “name”, “description”, “sID”, “salt”, 및 “lastUpdateModify”라는 필드들을 포함하는 경우, 쿼리는 상술한 필드들 중에서 검색 대상 필드를 포함할 수 있다. 검색 조건은 “같다”, “다르다”, “포함된다”, 및 “포함되지 않는다” 중 적어도 하나를 포함할 수 있고, 조건의 대상이 될 텍스트, 예를 들어, string을 포함할 수 있다. 예를 들어, 쿼리는 검색 대상 필드로서 “userID”, 검색 조건으로서 “Lee”라는 string과 “포함된다”를 포함할 수 있다. 이 경우, 쿼리는 userID에 “Lee”가 포함되는 도큐먼트를 검색하는 것이다. 다양한 실시예에 따라서, 쿼리의 입력, 입력된 쿼리의 표시, 및 쿼리에 대한 검색 결과 제공 중 적어도 일부는 쿼리 탭(534)과 별도의 팝업 창에서 이루어질 수 있다.
다양한 실시예에 따라서, API 탭(535)에서는 인증 정보, 연결 DB, 및 쿼리 검색이 제공될 수 있다.
설정 탭(537)에서는 컬렉션의 백업을 위한 UI 요소 및 컬렉션의 삭제를 위한 UI 요소 중 적어도 하나가 표시될 수 있다. 컬렉션의 삭제를 위한 UI 요소가 선택된 경우, 컬렉션이 삭제되고 난 후에는 복구될 수 없음을 경고하는 팝업 메시지가 표시될 수 있다.
본 발명의 실시예에 따른 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그래머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 서버 개발 서비스 제공 방법으로서,
    개발자의 입력에 의하여 프로젝트를 생성하는 단계,
    상기 개발자의 드래그 앤 드롭 입력에 따라, 상기 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조를 정의하는 단계,
    상기 데이터 구조에 기초한 데이터베이스를 생성하는 단계,
    상기 개발자로부터 그래프 기반 비즈니스 로직을 입력받는 단계, 및
    상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계
    를 포함하는, 서버 개발 서비스 제공 방법.
  2. 청구항 1에 있어서,
    상기 컴파일된 서버 어플리케이션과 관련된 사용자 관리, 결제, 또는 데이터 분석을 위한 도구를 제공하는 단계를 더 포함하는, 서버 개발 서비스 제공 방법.
  3. 청구항 2에 있어서,
    상기 사용자 관리를 위한 도구는 회원 가입, 로그인, 또는 접속 기록 기능을 제공하는, 서버 개발 서비스 제공 방법.
  4. 청구항 1에 있어서,
    상기 개발자로부터 그래프 기반으로 비즈니스 로직을 입력받는 단계는,
    적어도 하나의 작성된 비즈니스 로직을 제공할 수 있는 인터페이스를 상기 개발자에게 제공하는 단계, 및
    상기 인터페이스 상에서 상기 적어도 하나의 작성된 비즈니스 로직 중 적어도 하나에 대한 상기 개발자의 선택을 입력받는 단계
    를 포함하는, 서버 개발 서비스 제공 방법.
  5. 청구항 1에 있어서,
    상기 데이터베이스를 시각적으로 관리하기 위한 인터페이스를 상기 개발자에게 제공하는 단계
    를 더 포함하는, 서버 개발 서비스 제공 방법.
  6. 청구항 1에 있어서,
    상기 그래프 기반 비즈니스 로직은 복수의 노드 사이의 연결관계로 표시되는, 서버 개발 서비스 제공 방법.
  7. 청구항 6에 있어서,
    상기 복수의 노드는 파라미터 노드, 변수 노드, 시작 노드, 반환 노드, 및 함수 노드 중 적어도 하나를 포함하는, 서버 개발 서비스 제공 방법.
  8. 청구항 1에 있어서,
    상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계는,
    상기 비즈니스 로직을 스크립트로 변환하는 단계를 포함하는, 서버 개발 서비스 제공 방법.
  9. 청구항 5에 있어서,
    상기 데이터베이스를 시각적으로 관리하기 위한 상기 인터페이스는 상기 데이터베이스에 대한 쿼리 기능을 제공하는, 서버 개발 서비스 제공 방법.
  10. 비일시적 컴퓨터 판독 가능 기록 매체로서, 적어도 하나의 프로세서에 의하여 실행될 때 상기 적어도 하나의 프로세서로 하여금,
    개발자의 입력에 의하여 프로젝트를 생성하는 단계,
    상기 개발자의 드래그 앤 드롭 입력에 따라, 상기 드래그 앤 드롭 입력에 대응하는 유형의 필드를 포함하는 데이터 구조를 정의하는 단계,
    상기 데이터 구조에 기초한 데이터베이스를 생성하는 단계,
    상기 개발자로부터 그래프 기반 비즈니스 로직을 입력받는 단계, 및
    상기 비즈니스 로직에 기초하여 서버 어플리케이션을 컴파일하는 단계
    를 수행하도록 하는 프로그램이 저장된, 비일시적 컴퓨터 판독 가능 기록 매체.
KR1020200020433A 2020-02-19 2020-02-19 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체 KR102364893B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200020433A KR102364893B1 (ko) 2020-02-19 2020-02-19 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200020433A KR102364893B1 (ko) 2020-02-19 2020-02-19 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체

Publications (2)

Publication Number Publication Date
KR20210105669A true KR20210105669A (ko) 2021-08-27
KR102364893B1 KR102364893B1 (ko) 2022-02-18

Family

ID=77504529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200020433A KR102364893B1 (ko) 2020-02-19 2020-02-19 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체

Country Status (1)

Country Link
KR (1) KR102364893B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326985B1 (ko) * 2011-09-27 2013-11-14 이메디정보기술(주) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
KR20150098962A (ko) * 2014-02-21 2015-08-31 주식회사 넥스다임 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR20180135654A (ko) * 2017-06-13 2018-12-21 황대민 프로그램의 직관적 제작방법
KR102021915B1 (ko) * 2012-09-28 2019-09-17 아브 이니티오 테크놀로지 엘엘시 프로그래밍 속성의 그래픽 표현

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326985B1 (ko) * 2011-09-27 2013-11-14 이메디정보기술(주) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
KR102021915B1 (ko) * 2012-09-28 2019-09-17 아브 이니티오 테크놀로지 엘엘시 프로그래밍 속성의 그래픽 표현
KR20150098962A (ko) * 2014-02-21 2015-08-31 주식회사 넥스다임 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR20180135654A (ko) * 2017-06-13 2018-12-21 황대민 프로그램의 직관적 제작방법

Also Published As

Publication number Publication date
KR102364893B1 (ko) 2022-02-18

Similar Documents

Publication Publication Date Title
US11210460B2 (en) Templating process for a multi-page formatted document
US11150893B2 (en) Collaborative software development tool for resolving potential code-change conflicts in real time
KR101219875B1 (ko) 메타데이터 구동 비즈니스 로직 프로세싱을 위한 방법 및장치
US6182245B1 (en) Software test case client/server system and method
US9940221B2 (en) System and method for testing data representation for different mobile devices
US10387515B2 (en) Network search query
CN1815440A (zh) 用于数字设备菜单编辑器的方法和系统
CN110727580A (zh) 响应数据生成、全流程接口数据处理方法及相关设备
CN108874384B (zh) 终端设备、服务器、网页数据处理方法和计算机存储介质
US10489151B1 (en) Locating business rules in application source code
KR102364893B1 (ko) 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체
CN113867700B (zh) 模型构建方法、展示平台、服务器及存储介质
CN113076086B (zh) 元数据管理系统和使用其对模型对象进行建模的方法
CN110554892A (zh) 信息获取方法和装置
CN114911479A (zh) 基于配置化的界面生成方法、装置、设备及存储介质
CN117009397A (zh) 数据查询方法、数据查询装置、电子设备和存储介质
US20200192784A1 (en) Estimating the number of coding styles by analyzing source code
US10754622B2 (en) Extracting mobile application workflow from design files
US11593511B2 (en) Dynamically identifying and redacting data from diagnostic operations via runtime monitoring of data sources
NL2027854B1 (en) Automatic testing of interrelated components of a software application
CN113656022B (zh) 软件开发方法、装置、计算机设备和存储介质
US20240143487A1 (en) Secure testing of attachment functionality of objects
US7272548B2 (en) Method of simulating an enterprise computing management system
CN117193728A (zh) 软件即服务平台的开发方法及装置
CN116126723A (zh) 基于工作流平台的接口自动化测试构建方法

Legal Events

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