


본 발명은 서비스 프로그램 플랫폼 시스템에 관한 것으로서, 보다 상세하게는, 서비스 프로그램을 신속하면서도 용이하게 개발할 수 있도록 하는 서비스 프로그램 플랫폼 시스템에 관한 것이다.The present invention relates to a service program platform system, and more specifically, to a service program platform system that allows quick and easy development of service programs.
디지털 전환(digital transformation)은 디지털 기술을 사회 전반에 적용하여 전통적인 사회 구조를 혁신하고자 하는 것으로서, 기업에서 사물인터넷(IoT), 클라우드 컴퓨팅, 인공지능(AI), 빅데이터 솔루션 등과 같은 정보통신기술을 플랫폼으로 구축하고 활용하여 기존 전통적인 운영 방식과 서비스 등을 혁신하는 것을 의미한다,Digital transformation is an effort to innovate traditional social structures by applying digital technology to society as a whole. Companies are using information and communication technologies such as the Internet of Things (IoT), cloud computing, artificial intelligence (AI), and big data solutions. It means innovating existing traditional operating methods and services by building and utilizing a platform.
특히, 기업은 서비스 프로그램을 개발함에 있어서, 생산성과 품질을 향상시키는 새로운 워크플로우 서비스를 단 시일 내에 프로토타입으로 제작, 개발, 테스트 및 배포까지 할 수 있는 방법을 모색하고 있다. 이를 통해 서비스 프로그램의 개발에 있어서 시간이 최대한으로 단축되도록 하고자 한다.In particular, when developing service programs, companies are seeking ways to prototype, develop, test, and distribute new workflow services that improve productivity and quality in a short period of time. Through this, we aim to shorten the time required to develop service programs as much as possible.
본 발명의 기술적 사상에 따른 서비스 프로그램 플랫폼 시스템이 이루고자 하는 기술적 과제는, 빌딩 블록을 이용하여 서비스 프로그램의 개발을 신속하면서도 용이하게 실시할 수 있도록 하는 서비스 프로그램 플랫폼 시스템을 제공하는 것이다.The technical task to be achieved by the service program platform system according to the technical idea of the present invention is to provide a service program platform system that allows rapid and easy development of service programs using building blocks.
또한, 본 발명의 기술적 사상에 따른 서비스 프로그램 플랫폼 시스템이 이루고자 하는 기술적 과제는, 개발자의 개발 작업에 대한 수익을 부여할 수 있도록 하는 서비스 프로그램 플랫폼 시스템을 제공하는 것이다.In addition, the technical task to be achieved by the service program platform system according to the technical idea of the present invention is to provide a service program platform system that allows developers to earn profits for their development work.
또한, 본 발명의 기술적 사상에 따른 서비스 프로그램 플랫폼 시스템이 이루고자 하는 기술적 과제는, 개발된 서비스 프로그램에 따른 코드를 용이하게 확인하면서 신속하게 수정할 수 있도록 하는 서비스 프로그램 플랫폼 시스템을 제공하는 것이다.In addition, the technical task to be achieved by the service program platform system according to the technical idea of the present invention is to provide a service program platform system that allows the code according to the developed service program to be easily confirmed and quickly modified.
본 발명의 기술적 사상에 따른 서비스 프로그램 플랫폼 시스템이 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제는 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical tasks to be achieved by the service program platform system according to the technical idea of the present invention are not limited to the tasks mentioned above, and other tasks not mentioned will be clearly understood by those skilled in the art from the description below.
본 발명의 기술적 사상에 의한 일 실시예에 따른 서비스 프로그램 플랫폼 시스템은, 개발자 단말기 및 사용자 단말기와 네트워크를 통해 연결되는 서비스 프로그램 플랫폼 시스템에 있어서, 개발자 단말기로부터 API 정보를 전송받고 전송받은 API 정보를 바탕으로 하여 빌딩 블록 정보를 생성하여 저장하는 서비스 저장소; 사용자 단말기로부터 선택 정보 및 설정 정보를 전송받으며, 선택 정보에 따른 빌딩 블록 정보에 대한 실행 순서를 지정하고, 설정 정보를 바탕으로 하여 실행 순서가 지정된 빌딩 블록 정보로부터 빌딩 블록 코드를 생성하여 저장하는 서비스 팩토리; 및 빌딩 블록 코드의 실행을 제어하는 서비스 런타임을 포함하는 것을 특징으로 할 수 있다.The service program platform system according to an embodiment according to the technical idea of the present invention is a service program platform system connected to a developer terminal and a user terminal through a network, and receives API information from the developer terminal and based on the received API information. A service repository that creates and stores building block information; A service that receives selection information and setting information from the user terminal, specifies the execution order for the building block information according to the selection information, and generates and stores building block code from the building block information with the specified execution order based on the setting information. Factory; and a service runtime that controls execution of the building block code.
또한, API 정보는 개발자 아이디, API 내용 및 API 코드를 포함하며, 빌딩 블록 정보는 빌딩 블록 식별자, 빌딩 블록명, 빌딩 블록 내용 및 빌딩 블록 내용에 대응되는 API 코드를 포함하고, 선택 정보는 사용자 단말기에 의해 선택된 빌딩 블록 정보의 빌딩 블록 식별자 및 빌딩 블록명을 포함하며, 설정 정보는 운영 서버 명칭 및 프레임워크 명칭을 포함할 수 있다.In addition, the API information includes the developer ID, API content, and API code, the building block information includes the building block identifier, building block name, building block content, and API code corresponding to the building block content, and the optional information is the user terminal. It includes the building block identifier and building block name of the building block information selected by , and the configuration information may include the operation server name and framework name.
또한, 서비스 저장소는 API 정보를 API 내용을 바탕으로 하여 분류하고 분류된 API 정보를 포함하도록 빌딩 블록 정보를 생성하며, 빌딩 블록 내용은 빌딩 블록 정보에 대응되는 API 내용을 포함할 수 있다.Additionally, the service repository classifies API information based on API content and creates building block information to include the classified API information, and the building block content may include API content corresponding to the building block information.
또한, 서비스 팩토리는 선택 정보에 대응되는 빌딩 블록 정보를 검색하고, 검색된 빌딩 블록 정보의 빌딩 블록 내용을 바탕으로 하여 실행 순서를 지정하며, 실행 순서가 지정된 빌딩 블록 내용들에 따른 API 코드 사이에 연결 API 코드를 삽입할 수 있다.In addition, the service factory searches for building block information corresponding to the selection information, specifies the execution order based on the building block contents of the searched building block information, and connects API codes according to the building block contents for which the execution order is specified. You can insert API code.
또한, 서비스 팩토리는 실행 순서가 지정된 빌딩 블록 정보에 대응되는 API 코드 및 연결 API 코드를 설정 정보에 맞추어 변경하여 빌딩 블록 코드로 생성할 수 있다.Additionally, the service factory can generate a building block code by changing the API code and connection API code corresponding to the building block information for which the execution order is specified according to the setting information.
또한, 서비스 런타임은 서비스 메쉬, 이벤트 브로커 및 메시지 큐를 적용할 수 있다.Additionally, the service runtime can apply service mesh, event broker, and message queue.
본 발명의 기술적 사상에 의한 실시예들에 따른 서비스 프로그램 플랫폼 시스템은 하기와 같은 효과를 가진다.The service program platform system according to embodiments of the technical idea of the present invention has the following effects.
(1) 서비스 프로그램의 개발이 빌딩 블록을 이용하여 신속하면서도 용이하게 실시될 수 있다.(1) The development of service programs can be carried out quickly and easily using building blocks.
(2) 개발자의 개발 작업에 대한 수익이 제공될 수 있다.(2) Developers may be provided with a profit for their development work.
(3) 개발된 서비스 프로그램에 따른 코드가 용이하게 확인되면서 신속하게 수정될 수 있다.(3) Code according to the developed service program can be easily confirmed and quickly modified.
다만, 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the service program platform system according to an embodiment of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.In order to more fully understand the drawings cited in this specification, a brief description of each drawing is provided.
도 1은 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템을 도시하는 도면이다.1 is a diagram illustrating a service program platform system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템의 실시 흐름도이다.Figure 2 is an implementation flowchart of a service program platform system according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템을 변형하여 도시하는 도면이다.Figure 3 is a diagram illustrating a modified service program platform system according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명은 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and the present invention should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, numbers (eg, first, second, etc.) used in the description of this specification are merely identifiers to distinguish one component from another component.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in this specification, when a component is referred to as "connected" or "connected" to another component, the component may be directly connected or directly connected to the other component, but specifically Unless there is a contrary description, it should be understood that it may be connected or connected through another component in the middle.
또한, 본 명세서에서 '~부'로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, the components expressed as '~ part' in this specification may be two or more components combined into one component, or one component may be differentiated into two or more components according to more detailed functions. In addition, each of the components described below may additionally perform some or all of the functions of other components in addition to the main functions that each component is responsible for, and some of the main functions of each component may be different from other components. Of course, it can also be performed exclusively by a component.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments based on the technical idea of the present invention will be described in detail one by one.
도 1은 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)을 도시하는 도면이고, 도 2는 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)의 실시 흐름도이다.FIG. 1 is a diagram illustrating a service
도 1과 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 복수 개의 개발자 단말기(10) 및 사용자 단말기(20)와 네트워크(1)를 통해 연결될 수 있으며, 서비스 저장소(101), 서비스 팩토리(102) 및 서비스 런타임(103)을 포함할 수 있다. 여기서, 개발자는 빌딩 블록을 생성하는 데에 이용될 수 있는 API(Application Programming Interface)를 개발하는 사람을 의미하고, 개발자 단말기(10)를 이용하여 API를 서비스 프로그램 플랫폼 시스템(100)에 제공할 수 있다. 또한, 사용자는 API를 이용하여 서비스 프로그램(예를 들어, 이커머스((electronic commerce) 등)에 대한 프로젝트를 실시하고자 사람을 의미할 수 있다.As shown in Figures 1 and 2, the service
또한, 서비스 저장소(101), 서비스 팩토리(102) 및 서비스 런타임(103)은 프로세서, 메모리, 데이터 송수신기 중 적어도 하나를 포함할 수 있다.Additionally, the
개발자 단말기(10) 및 사용자 단말기(20)는 각각 서비스 프로그램 플랫폼 시스템(100)에 접속하여 서비스 프로그램 플랫폼 시스템(100)과 신호를 주고 받을 수 있다. 서비스 프로그램 플랫폼 시스템(100)은 개발자 단말기(10) 및 사용자 단말기(20)의 각각에서 구동된 웹 브라우저를 통해 웹 페이지를 표시하고 웹 페이지에서 로그인을 한 후 서비스 프로그램 플랫폼 시스템(100)에 접속하도록 하거나, 개발자 단말기(10) 및 사용자 단말기(20)의 각각에 서비스 프로그램 플랫폼 시스템(100)에 접속 가능한 어플리케이션이 설치되어 구동될 수도 있다.The
개발자 단말기(10) 및 사용자 단말기(20)의 각각은 네트워크(1)를 통하여 원격지의 서버나 단말기에 접속할 수 있는 컴퓨터를 포함할 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크탑(Desktop), 랩탑(Laptop) 등을 포함할 수 있다. 또한, 개발자 단말기(10) 및 사용자 단말기(20)의 각각은 네트워크(1)를 통해 원격지의 서버나 단말에 접속할 수 있는 단말 장치를 포함할 수 있다. 단말 장치는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말기, 스마트폰(smartphone), 스마트 패드(smartpad), 태블릿 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Each of the
여기서, 네트워크(1)는, 복수의 단말기 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network 1 refers to a connection structure that allows information exchange between each node, such as a plurality of terminals and servers. Examples of such networks include the 3rd Generation Partnership Project (3GPP) network, LTE (Long Term Evolution) network, 5G network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area) Network), Bluetooth network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc., but are not limited thereto.
서비스 저장소(101)는 개발자 단말기(10)로부터 API 정보를 전송받을 수 있다(S101). 여기서, API 정보는 개발자 아이디, API 내용, API 코드 등을 포함할 수 있다. 또한, 개발자 아이디는 개발자를 식별하기 위한 것으로서, 개발자의 휴대폰 번호, 이메일 주소 등일 수 있고, API 내용은 API에 대한 설명을 의미할 수 있으며, API 코드는 API 내용에 대응하도록 프로그래밍 언어로 개발된 코드를 의미할 수 있다. 예를 들어, API 내용은 가입, 탈퇴, 로그인, 패스워드 변경, 패드워드 찾기 등을 포함한 회원 관리일 수 있고, 카테고리 관리, 콘텐츠 내용 관리, 히스토리 조회, 다국어 변환 등을 포함한 콘텐츠 관리일 수 있으며, 공지사항 관리, FAQ, 상담 등을 포함한 고객 응대일 수 있으며, 이메일 발송, SMS 발송, 결과 조회 등을 포함한 통합 메시징일 수 있고, 게시판 설정, 게시물 내용 관리 등을 포함한 게시판일 수 있다.The
개발자는 개발자 단말기(10)를 이용하여 자신이 개발한 API 코드를 포함한 API 정보를 생성하여 서비스 저장소(101)에 전송할 수 있다.The developer can use the
또한, 서비스 저장소(101)는 API 정보를 바탕으로 하여 빌딩 블록 정보를 생성하여 저장할 수 있다(S102). 여기서, 서비스 저장소(101)는 API 정보를 API 내용을 바탕으로 하여 분류하고 분류된 API 정보를 포함하도록 빌딩 블록 정보를 생성할 수 있다. 즉, 서비스 저장소(101)는 유사한 API 내용을 포함한 API 정보들을 바탕으로 하여 하나의 빌딩 블록 정보로 생성할 수 있다.Additionally, the
또한, 빌딩 블록 정보는 빌딩 블록에 대한 정보로서, 빌딩 블록 식별자, 빌딩 블록명, 빌딩 블록 내용 및 빌딩 블록 내용에 대응되는 API 코드 등을 포함할 수 있다. 여기서, 빌딩 블록 식별자는 숫자, 문자 및 기호의 조합으로 이루어질 수 있고, 예를 들어, 'abc1234!!', 'ded5353^^' 등의 형태로 이루어질 수 있으며, 빌딩 블록 별로 상이하여 빌딩 블록을 구분할 수 있다.Additionally, the building block information is information about the building block and may include a building block identifier, building block name, building block content, and an API code corresponding to the building block content. Here, the building block identifier may be a combination of numbers, letters, and symbols, for example, 'abc1234!!', 'ded5353^^', etc., and may be different for each building block to distinguish the building blocks. You can.
예를 들어, 서비스 저장소(101)는 회원 관리, 콘텐츠 관리, 고객 응대, 통합 메시징, 게시판, 커뮤니티 등의 API 내용을 포함하는 API 정보를 바탕으로 하여 하나의 빌딩 블록 정보로 생성할 수 있고, 생성된 빌딩 블록 정보는 공통 빌딩 블록으로 빌딩 블록명을 포함할 수 있다.For example, the
또한, 빌딩 블록 정보의 빌딩 블록명이 공통 빌딩 블록인 경우, 빌딩 블록 내용은 회원 관리, 콘텐츠 관리, 고객 응대, 통합 메시징, 게시판, 커뮤니티 등을 포함할 수 있고, 빌딩 블록 내용에 대응되는 API 코드는 회원 관리에 대응되는 API 코드, 콘텐츠 관리에 대응되는 API 코드, 고객 응대에 대응되는 API 코드, 통합 메시징에 대응되는 API 코드, 게시판에 대응되는 API 코드, 커뮤니티에 대응되는 API 코드 등을 포함할 수 있다.In addition, if the building block name of the building block information is a common building block, the building block contents may include member management, content management, customer service, integrated messaging, bulletin board, community, etc., and the API code corresponding to the building block contents may be It can include API code corresponding to member management, API code corresponding to content management, API code corresponding to customer service, API code corresponding to integrated messaging, API code corresponding to bulletin board, API code corresponding to community, etc. there is.
한편, 빌딩 블록 정보의 빌딩 블록명이 이커머스 빌딩 블록인 경우, 빌딩 블록 내용은 상품 관리, 상품 프로모션, 상품 구독, 상품 판매, 구매 혜택, 구매 정산 등을 포함할 수 있고, 빌딩 블록 내용에 대응되는 API 코드는 상품 관리에 대응되는 API 코드, 상품 프로모션에 대응되는 API 코드, 상품 구독에 대응되는 API 코드, 상품 판매에 대응되는 API 코드, 구매 혜택에 대응되는 API 코드, 구매 정산에 대응되는 API 코드 등을 포함할 수 있다.Meanwhile, if the building block name of the building block information is e-commerce building block, the building block contents may include product management, product promotion, product subscription, product sales, purchase benefits, purchase settlement, etc., and the building block contents may include The API code is an API code corresponding to product management, an API code corresponding to product promotion, an API code corresponding to product subscription, an API code corresponding to product sales, an API code corresponding to purchase benefits, and an API code corresponding to purchase settlement. It may include etc.
또한, 빌딩 블록 정보의 빌딩 블록명이 비정형 분석 빌딩 블록인 경우에, 빌딩 블록 기능은 검색 서비스, 자연어 처리, 기계 학습 등을 포함할 수 있고, 빌딩 블록 내용에 대응되는 API 코드는 검색 서비스에 대응되는 API 코드, 자연어 처리에 대응되는 API 코드, 기계 학습에 대응되는 API 코드 등을 포함할 수 있다.Additionally, if the building block name of the building block information is an unstructured analysis building block, the building block function may include a search service, natural language processing, machine learning, etc., and the API code corresponding to the building block content may be a search service. It may include API code, API code corresponding to natural language processing, API code corresponding to machine learning, etc.
서비스 팩토리(102)는 사용자 단말기(20)로부터 선택 정보 및 설정 정보를 전송받을 수 있다(S103). 여기서, 선택 정보는 사용자 단말기(20)에 의해 선택된 빌딩 블록 정보의 빌딩 블록 식별자 및 빌딩 블록명을 포함할 수 있다. 또한, 설정 정보는 빌딩 블록으로부터 생성되는 코드에 따른 운영 서버 명칭, 프레임워크 명칭 등을 포함할 수 있다. 여기서, 운영 서버 명칭은 빌딩 블록으로부터 생성되는 코드에 따른 프로그램이 설치될 서버의 명칭으로서, 예를 들어, 마이크로소프트 애저(azure), 아마존 AWS, 네이버 클라우드, 구글 클라이드 등일 수 있고, 프레임워크 명칭은 Spring, Apache 시리즈(Sling, Structs 2, Wicket 등), JWT, Django, Flask, Ruby on Rails, Laravel, Codeigniter, CakePHP, Symfony, Zend, Bootstrap, .NET Framework, Qt, Express.js, NestJS, meteor 프레임워크, 웹 프론트엔드의 SPA용 프레임워크(Angular, Vue.js 등), Play, Cocoa, ALSA, Electron 등일 수 있다.The
사용자 단말기(20)는 서비스 저장소(101)에 저장된 빌딩 블록 정보를 출력할 수 있고, 출력된 빌딩 블록 정보는 사용자 단말기(20)를 통해 사용자에 의해 선택될 수 있다. 빌딩 블록 정보가 사용자 단말기(20)를 통해 선택될 때, 사용자 단말기(20)는 선택된 빌딩 블록 정보에 대응하도록 선택 정보를 생성할 수 있고, 생성된 선택 정보를 서비스 팩토리(102)로 전송할 수 있다.The
또한, 빌딩 블록 정보가 사용자 단말기(20)를 통해 선택된 이후에, 설정 정보는 사용자에 의해 사용자 단말기(20)에 입력되고, 사용자 단말기(20)는 입력받은 설정 정보를 서비스 팩토리(102)로 전송할 수 있다.In addition, after the building block information is selected through the
또한, 서비스 팩토리(102)는 선택 정보에 따른 빌딩 블록 정보에 대한 실행 순서를 지정할 수 있다(S104). 여기서, 선택 정보가 서비스 팩토리(102)에 전송될 때, 서비스 팩토리(102)는 선택 정보에 대응되는 빌딩 블록 정보를 검색하고, 검색된 빌딩 블록 정보의 빌딩 블록 내용을 바탕으로 하여 실행 순서를 지정할 수 있다. 또한, 서비스 팩토리(102)는 실행 순서가 지정된 빌딩 블록 내용에 따른 API 코드 사이에 연결 API 코드를 삽입할 수 있다. 여기서, 연결 API 코드는 개발자 단말기(10)로부터 서비스 저장소(10)에 전송된 API 정보에 포함될 수 있다.Additionally, the
예를 들어, 선택 정보에 대응되는 빌딩 블록명이 공통 빌딩 블록 및 이커머스 빌딩 블록일 때, 서비스 팩토리(102)는 빌딩 블록 내용에서 회원 관리, 상품 관리, 구매 정산 및 통합 메시징 순으로 실행 순서를 지정할 수 있다. 또한, 서비스 팩토리(102)는 공통 빌딩 블록의 회원 관리에 대응되는 API 코드와 이커머스 빌딩 블록의 상품 관리에 대응되는 API 코드를 연결하는 연결 API 코드를 삽입할 수 있고, 이커머스 빌딩 블록의 상품 관리에 대응되는 API 코드와 이커머스 빌딩 블록의 구매 정산에 대응되는 API 코드를 연결하는 연결 API 코드를 삽입할 수 있으며, 이머커스 빌딩 블록의 구매 정산에 대응되는 API 코드와 공통 빌딩 블록의 통합 매시징에 대응되는 API 코드를 연결하는 연결 API 코드를 삽입할 수 있다. 상기와 같이 서비스 팩토리(102)는 API 빌더로서의 기능을 수행할 수 있다.For example, when the building block names corresponding to the selection information are common building block and e-commerce building block, the
또한, 서비스 팩토리(102)는 설정 정보를 바탕으로 하여 실행 순서가 지정된 빌딩 블록 정보로부터 빌딩 블록 코드를 생성할 수 있다(S105). 여기서, 서비스 팩토리(102)는 선택 정보에 대응하도록 전송받은 설정 정보를 바탕으로 하여 실행 순서가 지정된 빌딩 블록 정보로부터 빌딩 블록 코드를 생성할 수 있다. 여기서, 설정 정보는 운영 서버 명칭, 프레임워크 명칭 등을 포함하기에, 서비스 팩토리(102)는 실행 순서가 지정된 빌딩 블록 정보에 대응되는 API 코드 및 연결 API 코드를 설정 정보에 대응되는 운영 서버, 프레임워크 등에 맞추어 변경하여 빌딩 블록 코드로 생성할 수 있다. 이로 인해, 빌딩 블록 코드는 사용자의 입장에서 설치하고자 하는 운영 서버에 적합하면서 익숙하고 인지할 수 있는 형태로 생성될 수 있다. 상기와 같이 서비스 팩토리(102)는 프로젝트 빌더로서의 기능을 수행할 수 있다.Additionally, the
또한, 서비스 팩토리(102)는 생성된 빌딩 블록 코드를 사용자 단말기(20)에 전송할 수 있고, 사용자는 사용자 단말기(20)를 통해 빌딩 블록 코드를 확인하고 필요에 따라 수정할 수 있다. 여기서, 서비스 팩토리(102)에서 생성된 빌딩 블록 코드는 사용자 단말기(20)의 수정에 대응하도록 갱신될 수 있다.Additionally, the
서비스 런타임(103)은 서비스 팩토리(102)의 빌딩 블록 코드의 실행을 제어할 수 있다(S106). 여기서, 빌딩 블록 코드가 실행될 때, 서비스 런타임(103)은 서비스 메쉬(service mesh), 이벤트 브로커(event brocker), 메시지 큐(message que) 등을 적용하여 빌딩 블록 코드의 실행을 제어할 수 있다. 이로 인해, 빌딩 블록 코드에 따른 프로그램은 동시 실행에 따른 오류를 방지할 수 있다.The
상기와 같은 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 개발자에 의한 개발된 API 코드를 포함한 API 정보를 바탕으로 하여 빌딩 블록에 따른 빌딩 블록 정보를 생성할 수 있다. 여기서, 사용자는 자신이 개발하고자 하는 서비스 프로그램에 대응하도록 빌딩 블록 정보를 선택할 수 있다. 또한, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 사용자에 의해 입력된 설정 정보에 대응하는 운영 서버, 프레임워크 등에 따라 빌딩 블록 코드를 생성할 수 있다. 이로 인해, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 서비스 프로그램을 개발하고자 할 때 코딩 없이 또는 최소한의 코딩을 통해 서비스 프로그램의 개발을 신속하면서도 용이하게 실시할 수 있도록 한다.The service
또한, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 개발자에 의해 개발된 API 코드를 포함한 빌딩 블록 정보를 사용자가 선택하여 서비스 프로그램을 개발하도록 한다. 여기서, 사용자는 빌딩 블록을 통해 개발자의 API 코드를 사용하기에 개발자의 API 코드의 사용에 따른 비용을 개발자에게 제공할 수 있다. 이로 인해, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 개발자에게 개발 작업에 대한 수익을 제공할 수 있다.Additionally, the service
또한, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)은 개발하고자 하는 서비스 프로그램에 따른 빌딩 블록 코드를 사용자의 설정에 따라 생성할 수 있고, 사용자 단말기(20)에 전송될 수 있다. 여기서, 사용자는 빌딩 블록을 이용한 서비스 프로그램의 코드를 자신의 원하는 형태로 전달받아 확인할 수 있다. 따라서, 본 실시예에 따른 서비스 프로그램 플랫폼 시스템(100)는 개발된 서비스 프로그램에 따른 코드를 용이하게 확인할 수 있고 신속하게 수정할 수 있다.Additionally, the service
이상 본 명세서에서 설명한 기능적 동작과 본 주제에 관한 실시형태들은 본 명세서에서 개시한 구조들 및 그들의 구조적인 등가물을 포함하여 디지털 전자 회로나 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 혹은 이들 중 하나 이상의 조합에서 구현 가능하다.The functional operations described in this specification and embodiments of the subject matter above can be implemented in digital electronic circuits, computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of these. do.
본 명세서에서 기술하는 주제의 실시형태는 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 데이터 처리 장치에 의한 실행을 위하여 또는 그 동작을 제어하기 위하여 유형의 프로그램 매체 상에 인코딩되는 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 유형의 프로그램 매체는 전파형 신호이거나 컴퓨터로 판독 가능한 매체일 수 있다. 전파형 신호는 컴퓨터에 의한 실행을 위하여 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위하여 생성되는 예컨대 기계가 생성한 전기적, 광학적 혹은 전자기 신호와 같은 인공적으로 생성된 신호이다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조합 혹은 이들 중 하나 이상의 조합일 수 있다.Embodiments of the subject matter described herein may comprise one or more computer program products, that is, one or more modules of computer program instructions encoded on a tangible program medium for execution by or to control the operation of a data processing device. It can be implemented. The tangible program medium may be a radio signal or a computer-readable medium. A radio signal is an artificially generated signal, such as a machine-generated electrical, optical or electromagnetic signal, that is generated to encode information for transmission to a suitable receiver device for execution by a computer. A computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of materials that affect a machine-readable radio signal, or a combination of one or more of these.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다.A computer program (also known as a program, software, software application, script, or code) may be written in any form of a programming language, including compiled, interpreted, a priori, or procedural languages, as a stand-alone program, or as a module. It can be deployed in any form, including components, subroutines, or other units suitable for use in a computer environment.
컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다.Computer programs do not necessarily correspond to files in a file system. A program may be stored within a single file that serves the requested program, or within multiple interacting files (e.g., files storing one or more modules, subprograms, or portions of code), or as part of a file that holds other programs or data. (e.g., one or more scripts stored within a markup language document).
컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.The computer program may be deployed to run on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
부가적으로, 본 명세서에서 기술하는 논리 흐름과 구조적인 블록도는 개시된 구조적인 수단의 지원을 받는 대응하는 기능과 단계의 지원을 받는 대응하는 행위 및/또는 특정한 방법을 기술하는 것으로, 대응하는 소프트웨어 구조와 알고리즘과 그 등가물을 구축하는 데에도 사용 가능하다.Additionally, the logical flow and structural block diagrams described herein describe corresponding actions and/or specific methods supported by corresponding functions and steps supported by the disclosed structural means, and corresponding software It can also be used to build structures and algorithms and their equivalents.
본 명세서에서 기술하는 프로세스와 논리 흐름은 입력 데이터 상에서 동작하고 출력을 생성함으로써 기능을 수행하기 위하여 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의하여 수행 가능하다.The processes and logic flows described herein can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and producing output.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예컨대 범용 및 특수 목적의 마이크로프로세서 양자 및 어떤 종류의 디지털 컴퓨터의 어떠한 하나 이상의 프로세서라도 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 혹은 양자로부터 명령어와 데이터를 수신할 것이다.Processors suitable for executing computer programs include, for example, both general-purpose and special-purpose microprocessors and any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from read-only memory, random access memory, or both.
컴퓨터의 핵심적인 요소는 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치 및 명령을 수행하기 위한 프로세서이다. 또한, 컴퓨터는 일반적으로 예컨대 자기, 자기광학 디스크나 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대량 저장 장치로부터 데이터를 수신하거나 그것으로 데이터를 전송하거나 혹은 그러한 동작 둘 다를 수행하기 위하여 동작가능 하도록 결합되거나 이를 포함할 것이다. 그러나, 컴퓨터는 그러한 장치를 가질 필요가 없다.The core elements of a computer are one or more memory devices for storing instructions and data and a processor for executing instructions. Additionally, a computer is typically operably coupled to receive data from or transfer data to one or more mass storage devices for storing data, such as magnetic, magneto-optical or optical disks, or to perform both such operations. It will be or include this. However, a computer does not need to have such a device.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다.The present description sets forth the best mode of the invention and provides examples to illustrate the invention and to enable any person skilled in the art to make or use the invention. The specification prepared in this way does not limit the present invention to the specific terms presented.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능 블록을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있다는 점을 밝힌다.Accordingly, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art may make modifications, changes, and variations to the examples without departing from the scope of the present invention. In short, in order to achieve the effect intended by the present invention, it is not necessary to separately include all functional blocks shown in the drawings or to follow all the orders shown in the drawings, and even if not, the technical aspects of the present invention described in the claims may be used. It states that it may fall within the scope.
[부호의 설명][Explanation of symbols]
100: 서비스 프로그램 플랫폼 시스템100: Service program platform system
101: 서비스 저장소101: Service repository
102: 서비스 팩토리102: Service Factory
103: 서비스 런타임103: Service runtime
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0189389 | 2022-12-29 | ||
| KR1020220189389AKR102742066B1 (en) | 2022-12-29 | 2022-12-29 | Method for generating code through a code generator using a service store and executing a program using generated code and service runtime in a service collection |
| Publication Number | Publication Date |
|---|---|
| WO2024143724A1true WO2024143724A1 (en) | 2024-07-04 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2023/006872PendingWO2024143724A1 (en) | 2022-12-29 | 2023-05-19 | Method for generating code through code generator by using service repository within service set, and executing program by using generated code and service runtime |
| Country | Link |
|---|---|
| KR (1) | KR102742066B1 (en) |
| WO (1) | WO2024143724A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090065318A (en)* | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Method and device for building block transformation in open service application |
| KR20120005358A (en)* | 2010-07-08 | 2012-01-16 | 뷰모션 (주) | Program design device and method |
| KR101153032B1 (en)* | 2004-09-30 | 2012-06-04 | 마이크로소프트 코포레이션 | Workflow schedule authoring tool |
| US20120324432A1 (en)* | 2011-06-14 | 2012-12-20 | Assaf Mizrachi | Systems and methods to automatically generate classes from api source code |
| US20210279553A1 (en)* | 2020-03-03 | 2021-09-09 | International Business Machines Corporation | Artificial intelligence workflow builder |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102228085B1 (en)* | 2020-07-28 | 2021-03-12 | 임상희 | Method for processing block coding for programming education |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101153032B1 (en)* | 2004-09-30 | 2012-06-04 | 마이크로소프트 코포레이션 | Workflow schedule authoring tool |
| KR20090065318A (en)* | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Method and device for building block transformation in open service application |
| KR20120005358A (en)* | 2010-07-08 | 2012-01-16 | 뷰모션 (주) | Program design device and method |
| US20120324432A1 (en)* | 2011-06-14 | 2012-12-20 | Assaf Mizrachi | Systems and methods to automatically generate classes from api source code |
| US20210279553A1 (en)* | 2020-03-03 | 2021-09-09 | International Business Machines Corporation | Artificial intelligence workflow builder |
| Publication number | Publication date |
|---|---|
| KR20240106504A (en) | 2024-07-08 |
| KR102742066B1 (en) | 2024-12-16 |
| Publication | Publication Date | Title |
|---|---|---|
| CN102222005B (en) | Service model-oriented software running platform, running mode and development method | |
| CN102594833B (en) | A kind of communication protocol adapting method and system | |
| CN110347942A (en) | Method for page jump, device, storage medium and computer equipment | |
| CN106990966A (en) | Mobile terminal cross-platform Development Framework and development approach based on front end frame | |
| CN103514154A (en) | Method and system for dynamic translation substitution | |
| CN106293675A (en) | Static system resource loading method and device | |
| CN102323880A (en) | Mobile phone application interface development method and terminal based on browser parsing mode | |
| CN110830374A (en) | Method and device for gray level release based on SDK | |
| CN103019712A (en) | Integrated application | |
| CN106775668A (en) | The mobile applications Development Framework and implementation method of cross operating system | |
| CN113268360A (en) | Request processing method, device, server and storage medium | |
| US12333282B2 (en) | UI service package generation and registration method and apparatus, and UI service loading method and apparatus | |
| CN112015384A (en) | An interface mapping method and device | |
| Wojnar et al. | Reinforced-lib: Rapid prototyping of reinforcement learning solutions | |
| CN115291928A (en) | Task automatic integration method and device of multiple technology stacks and electronic equipment | |
| WO2024143724A1 (en) | Method for generating code through code generator by using service repository within service set, and executing program by using generated code and service runtime | |
| US20230334109A1 (en) | Method For Significantly Improving The Online Access Speed Of Matlab Web App | |
| WO2023083071A1 (en) | View interaction method and apparatus, electronic device, and computer readable medium | |
| Peng et al. | Introduction to ROS 2 and Programming Foundation | |
| CN110728009A (en) | Simulation method, apparatus and system | |
| WO2025143435A1 (en) | Saas connection system for implementing connection between saas applications using api specification including bm | |
| CN112597531A (en) | Data product management method and device | |
| Heil et al. | Enhancing web applications with dynamic code migration capabilities | |
| CN119402408B (en) | Dynamic route replacement method, system, equipment and medium based on micro front end | |
| KR102780220B1 (en) | SaaS linkage system that implements linkage between SaaS applications using API specifications |
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | Ref document number:23912411 Country of ref document:EP Kind code of ref document:A1 | |
| NENP | Non-entry into the national phase | Ref country code:DE |