KR20180110401A - 다중 기능 단일화 저작 시스템 - Google Patents

다중 기능 단일화 저작 시스템 Download PDF

Info

Publication number
KR20180110401A
KR20180110401A KR1020170039886A KR20170039886A KR20180110401A KR 20180110401 A KR20180110401 A KR 20180110401A KR 1020170039886 A KR1020170039886 A KR 1020170039886A KR 20170039886 A KR20170039886 A KR 20170039886A KR 20180110401 A KR20180110401 A KR 20180110401A
Authority
KR
South Korea
Prior art keywords
server
program
client
function
unit
Prior art date
Application number
KR1020170039886A
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 KR1020170039886A priority Critical patent/KR20180110401A/ko
Publication of KR20180110401A publication Critical patent/KR20180110401A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 클라이언트 개발, 서버개발, 결과물 검증과 같은 프로그램 개발을 위한 일련의 과정을 통합적으로 수행할 수 있도록 함과 아울러, 다른 기기 또는 플랫폼과의 연동을 위한 컨버전스 기능의 부여가 가능한 다중 기능 단일화 저작 시스템에 관한 것이다.
본 발명에 따른 다중 기능 단일화 저작 시스템은 서버 운영 프로그램의 작성에 필요한 라이브러리, 템플릿 및 클래스 중 어느 하나 이상을 포함하는 빌드 자원 및 저작 인터페이스를 포함하는 서버 저작툴을 구비하는 서버 개발부; 상기 서버 개발부에 의해 개발된 상기 서버 운영프로그램에 의해 단말장치에 설치되거나, 상기 서버 운영 프로그램에 의해 기능을 실행하는 클라이언트 프로그램의 작성에 필요한 클라이언트 저작툴을 구비하는 클라이언트 개발부; 상기 서버 개발부 또는 상기 클라이언트 개발부에 의해 작성되는 서버 운영 프로그램 또는 상기 클라이언트 프로그램의 오류를 검증하는 검증부; 및 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램을 다른 시스템의 서버 또는 단말장치와 연동되도록 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램에 연동기능을 부여하는 컨버전스부;를 포함하여 구성되는 것을 특징으로 한다.

Description

다중 기능 단일화 저작 시스템{GENERATING SYSTEM FOR MULTIPLE FUNCTIONAL UNIFICATION}
본 발명은 다중 기능 단일화 저작 시스템에 관한 것으로, 특히 클라이언트 개발, 서버개발, 결과물 검증과 같은 프로그램 개발을 위한 일련의 과정을 통합적으로 수행할 수 있도록 함과 아울러, 다른 기기 또는 플랫폼과의 연동을 위한 컨버전스 기능의 부여가 가능한 다중 기능 단일화 저작 시스템에 관한 것이다.
앱, 게임과 같은 프로그램 시장은 스마트 폰의 보급 등에 힘입어 급성장하고 있다. 시장의 급성장에 따라 개발업체들이 생존, 성장할 수 있는 기회는 마련되었으나, 플랫폼의 다양화, 앱 실행환경의 다변화로 인해 적극적인 적응이 필요한 상황으로 변화하였으며, 되려 인력, 개발 기술, 자금, 안정적인 플레이와 같은 리스크를 앉는 결과를 낳고 있다.
특히, 이러한 개발 환경이 복잡해지면서, 이에 적합한 개발 엔진과 검증이 이루어져야 함에도 불구하고, 제한된 개발엔진, 다양한 플랫폼, OS의 연동을 위한 작업의 곤란함으로 인해 프로그램의 개발과 실행에 많은 제약이 따르고 있는 실정이다.
특히, 프로그램 자체뿐만 아니라, 프로그램을 통해 서비스를 제공할 수 있도록 서버를 구성하고, 서버와 대응되는 클라이언트의 개발이 필요하며, 이종 플랫폼, 클라이언트 간의 연동을 위한 컨버전스가 이루어지도록 해야 하는 문제점이 있다. 특히, 개발 이후에 이러한 프로그램이 정상적으로 운영되는지 확인할 검증이 이루어져야 하지만, 다양한 개발 환경만큼이나 검증 과정도 다양해지고 복잡해짐으로써 검증이 용이하지 않은 실정이다.
한국 공개특허 제10-2012-0092454호
따라서, 본 발명의 목적은 클라이언트 개발, 서버개발, 결과물 검증과 같은 프로그램 개발을 위한 일련의 과정을 통합적으로 수행할 수 있도록 함과 아울러, 다른 기기 또는 플랫폼과의 연동을 위한 컨버전스 기능의 부여가 가능한 다중 기능 단일화 저작 시스템을 제공하는 것이다.
본 발명에 따른 다중 기능 단일화 저작 시스템은 서버 운영 프로그램의 작성에 필요한 라이브러리, 템플릿 및 클래스 중 어느 하나 이상을 포함하는 빌드 자원 및 저작 인터페이스를 포함하는 서버 저작툴을 구비하는 서버 개발부; 상기 서버 개발부에 의해 개발된 상기 서버 운영프로그램에 의해 단말장치에 설치되거나, 상기 서버 운영 프로그램에 의해 기능을 실행하는 클라이언트 프로그램의 작성에 필요한 클라이언트 저작툴을 구비하는 클라이언트 개발부; 상기 서버 개발부 또는 상기 클라이언트 개발부에 의해 작성되는 서버 운영 프로그램 또는 상기 클라이언트 프로그램의 오류를 검증하는 검증부; 및 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램을 다른 시스템의 서버 또는 단말장치와 연동되도록 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램에 연동기능을 부여하는 컨버전스부;를 포함하여 구성되는 것을 특징으로 한다.
상기 라이브러리는 주 라이브러리가 미리 지정되고, 상기 주 라이브러리에 의해 제공되는 기능에 의해, 보조 라이브러리의 기능이 제어되도록 구성되는 것을 특징으로 한다.
상기 주 라이브러리는 객체관리, 자원관리, 사용자 인터페이스, 애니메이션 처리 및 출력관리인 것을 특징으로 한다.
상기 검증부는 미리 지정된 검증 시나리오에 따라 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램의 검증을 수행하는 것을 특징으로 한다.
상기 검증부는 상기 검증의 수행을 위해 가상의 검증 유저를 생성하고, 상기 검증 유저를 상기 시나리오에 따라 제어하여 상기 클라이언트 프로그램 또는 상기 서버 운영 프로그램의 기능을 상기 가상유저에 의해 이용하도록 하여 상기 검증을 수행하는 것을 특징으로 한다.
상기 저작툴은 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램이 실행될 서버 또는 단말장치의 운영체제의 실행 가능하도록 컴파일하는 것을 특징으로 한다.
상기 서버 또는 상기 단말장치가 복수로 구성되고 하나 이상의 운영체제가 상기 서버 또는 상기 단말장치에 적용되는 경우 상기 운영체제 각각에서 실행 가능하도록 상기 운영체제별로 컴파일을 수행하는 것을 특징으로 한다.
상기 컨버전스부는 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램이 외부장치 또는 웹페이지의 기능을 이용하거나 데이터를 제공하는 경우 상기 빌드 자원을 포함되고, 외부장치 또는 웹페이지와의 연동을 위해 마련되는 소스코드를 상기 프로그램에 추가하는 것을 특징으로 한다.
본 발명에 따른 다중 기능 단일화 저작 시스템은 클라이언트 개발, 서버개발, 결과물 검증과 같은 프로그램 개발을 위한 일련의 과정을 통합적으로 수행할 수 있도록 함과 아울러, 다른 기기 또는 플랫폼과의 연동을 위한 컨버전스 기능을 부여하는 것이 가능해진다.
도 1은 본 발명에 따른 다중 기능 단일화 저작 시스템의 구성을 도시한 구성 예시도.
도 2는 클라이언트의 병렬 처리 할당을 설명하기 위한 예시도.
도 3은 클라이언트의 메모리 관리 형태를 설명하기 위한 예시도.
도 4는 이러한 검증을 위한 시스템 구성을 간략하게 도시한 예시도.
도 5는 검증과정을 설명하기 위한 예시도.
도 6은 본 발명의 다중 기능 단일화 저작 시스템의 라이브러리 구성을 설명하기 위한 예시도.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야의 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명하기로 한다. 첨부된 도면들에서 구성에 표기된 도면번호는 다른 도면에서도 동일한 구성을 표기할 때에 가능한 한 동일한 도면번호를 사용하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고 도면에 제시된 어떤 특징들은 설명의 용이함을 위해 확대 또는 축소 또는 단순화된 것이고, 도면 및 그 구성요소들이 반드시 적절한 비율로 도시되어 있지는 않다. 그러나 당업자라면 이러한 상세 사항들을 쉽게 이해할 것이다.
도 1은 본 발명에 따른 다중 기능 단일화 저작 시스템의 구성을 도시한 구성 예시도이다. 도 2는 클라이언트의 병렬 처리 할당을 설명하기 위한 예시도이고, 도 3은 클라이언트의 메모리 관리 형태를 설명하기 위한 예시도이다. 그리고, 도 4는 이러한 검증을 위한 시스템 구성을 간략하게 도시한 예시도이고, 도 5는 검증과정을 설명하기 위한 예시도이다.
도 1 내지 도 5를 참조하면, 본 발명에 따른 다중 기능 단일화 저작 시스템은 어플리케이션, 게임과 같은 프로그램의 개발시 프로그램의 개발을 위한 각종 소스코드, 라이브러리를 제공하여, 기본적으로 구성되어야 할 기능을 편리하게 프로그램에 추가 또는 설정하여 사용할 수 있도록 할 수 있게 하는 역할을 한다. 또한, 이러한 과정을 단말장치에서 실현되는 클라이언트 프로그램뿐만 아니라, 클라이언트 프로그램과 연동되어 동작하는 서버의 운영 프로그램의 개발시에도 제공함으로써 개발자가 실제 개발역량을 집중해야할 부분에만 집중하도록 할 수 있게 된다.
특히, 본 발명의 다중 기능 단일화 저작 시스템은 클라이언트 프로그램, 서버 프로그램의 개발을 위해 각각에 최적화된 엔진을 사용하여 프로그램을 생성하고 이를 연계하기 위한 별도의 작업을 수행하는 노력을 감소시키기 위하여, 클라이언트 프로그램과 서버 프로그램을 단일화된 빌드 환경에서 생성하도록 함과 아울러, 이를 자체적으로 검증함으로써 별도의 엔진, 도구 사용을 최소화할 수 있게 하는 역할을 한다.
이를 위해 본 발명의 다중 기능 단일화 저작 시스템은 사용자가 기능의 추가 및 구성이 용이하도록 주요 기능을 위주로 조직되는 라이브러리와 라이브러리에 포함되는 클래스 또는 탬플릿을 제공하며, 이를 통해 클라이언트 프로그램 또는 서버 운영 프로그램에 라이브러리를 적용함으로써 일반적인 기능을 손쉽게 프로그램에 추가하고, 이들을 단말장치 또는 서버의 성능 조건에 따라 조절하는 기능을 제공한다.
또한, 다중 기능 단일화 저작 시스템은 클라이언트 프로그램이 운영되는 단말장치, 서버 운영프로그램이 동작되는 서버 장치의 운영체제, 운영환경에 맞게 생성된 프로그램을 컴파일하여 제공함으로써 개발자가 복수의 각 운영체재 별로 프로그램을 생성하지 않고도 범용성을 가지는 프로그램을 제공할 수 있게 한다.
이를 위해 본 발명에 따른 다중 기능 단일화 저작 시스템은 서버개발부(20), 클라이언트개발부(10), 검증부(30) 및 커버전스부(40)를 포함하여 구성된다.
클라이언트개발부(10)는 단말장치에서 프로그램이 실행될 수 있도록 클라이언트를 개발할 수 있는 각종 기능을 제공한다. 이 클라이언트개발부(10)는 프로그램 설치 후 단말장치에서 단독으로 구동되거나, 서버와 연동되어 구동될 수 있는 클라이언트를 모두 생성할 수 있게 제공한다. 이를 위해 클라이언트 개발부는 단말장치별 운영체제에 대응할 수 있도록 멀티 OS 빌드 환경을 제공한다. 구체적으로 각 OS별로 클라이언트를 생성할 수 있도록 하는 프로그램 언어, 프로그래밍 인터페이스를 제공하며, 각기 다른 프로그램 언어 및 인터페이스에 의해 객체 관리, 자원관리, 사용자 인터페이스, 애니메이션 및 출력 기능의 관리가 이루어질 수 있도록 지원하게 된다. 즉, 클라이언트개발부(10)는 사용자가 프로그램을 개발할 때, 개발되는 프로그램에 적용될 객체 관리, 자원관리, 사용자 인터페이스, 애니메이션 및 출력 기능의 부여를 할 수 있도록 운영체제에 적합한 프로그래밍 언어, 프로그래밍 인터페이스 및 개발엔진 중 어느 하나 이상을 제공하게 된다. 이 클라이언트개발부(10)에 의해 제공되는 프로그래밍 인터페이스 또는 개발엔진의 인터페이스는 프로그램이 적용되는 운영체제별로 다른 형태로 제공될 수도 있으나, 최대한 동일한 형태의 메뉴와 입력필드를 제공함으로써 개발자가 편리하게 이용할 수 있도록 할 수 있다. 그러나, 이로써만 본 발명을 한정하는 것은 아니다. 한편, 클라이언트개발부(10)는 프로그램이 서버와 연동되는 경우 서버에서 프로그램의 실행 결과로 전달되는 이벤트의 형태, 종류 및 특징을 개발자에게 제공하고, 필요에 따라 적합한 개발엔진을 추천하거나, 제공하게 된다.
이러한 클라이언트개발부(10)는 개발 엔진, 프로그래밍 언어 또는 프로그래밍 인터페이스(이하에서는 '개발엔진', '프로그래밍 언어', '프로그래밍 인터페이스'를 통칭하여 "개발수단"이라 칭하기로 하며, 클라이언트개발부(10)에 의해 제공되는 개발수단은 "클라이언트 개발수단", 서버개발부(20)에 의해 제공되는 개발수단은 "서버 개발수단"으로 칭하기로 한다.)를 통해 클라이언트 개발에 필요한 서버와의 통신 및 실시간 업데이트 기술, DB 구현, P2P 기능의 선택적 제공, 타겟 업데이트를 위한 기술적 도구와 사용자 환경을 제공한다. 또한, 프로그래밍 인터페이스 또는 엔진은 소스코드 컴파일 툴, 소스코드 또는 기능블럭 편집기, 스크립트 생성기 와 같은 저작툴을 포함한다. 이러한 기술적 도구는 소스 코드 라이브러리, 프로그래밍된 기능 블럭(코드 형태)을 각 운영체제, 통신 방식, 교환되는 데이터, 단말장치와 서버의 통신환경에 따라 저장되는 데이터와 이를 개발되는 클라이언트 및 단말장치에 적합하게 변형하거나, 컨버터 할 수 있는 코드, 그리고 이를 프로그래밍에 적용할 수 있도록 하는 인터페이스일 수 있으나, 이로써만 본 발명을 한정하는 것은 아니다.
또한, 클라이언트개발부(10)는 단말장치의 프로세스 형태, 장치에 따라 적용 가능한 기능 블럭을 제시하거나, 적합한 데이터 라이브러리를 추천하여 개발자가 용이하게 적용하도록 할 수 있다. 여기서 기능블럭은 소스코드 또는 인터페이스 형태로 구현되어 사용자가 개발중인 클라이언트 프로그램에 손쉽게 추가할 수 있도록 하는 것으로 일종의 소스코드 또는 다량의 데이터일 수 있으나, 이로써만 본 발명을 한정하는 것은 아니다.
일례로, 도 2 및 도 3과 같이 클라이언트개발부(10)는 단말장치가 멀티코어로 구성되어 멀티스레드로 구성되는 경우 각 코어별 스레드 할당을 위한 정보를 제공하거나, 기능 블럭별로 코어에 쓰레드를 할당하도록 추천할 수 있다. 마찬가지로, 개발자에 의해 개발되는 클라이언트의 데이터 처리 형태, 크기에 따라 멤캐쉬(Memcache) 기능을 적용할 수 있도록 적합한 메모리 관리 형태를 판별하여 추천하고, 개발자가 선택적으로 적용하도록 하는 것이 가능하다.
서버개발부(20)는 개발자에게 클라이언트와 연동되어 서비스를 제공할 수 있도록 서버를 개발하는 기술적 도구와 사용자 환경을 제공한다. 이러한 서버개발부(20)는 전술한 클라이언트개발부(20)와 기본적으로 같은 기술적 특징으로 구성된다. 구체적으로 서버개발부(20)는 멀티 운영체제에 대한 빌드환경을 제공하고, 서버개발도구를 제공하며, 탬플릿, 라이브러리와 저작툴을 제공한다.
특히, 서버개발부(20)는 클라이언트가 웹, 서버 또는 다른 클라이언트와 연동에 의해 실행되거나, 업데이트 될 수 있도록 통신모듈, 웹 연동 모듈, 분산서버 처리모듈, 고성능 서버 구현 모듈, 업데이트 모듈의 개발 및 적용을 위한 환경을 제공한다. 즉, 이를 위해 서버개발부(20)는 전술한 바와 같이 빌드환경, 서버개발수단 외에도, 사용자가 서버 구동을 위한 프로그램에 손쉽게 추가, 적용이 가능한 템플릿, 라이브러리를 제공하며, 운영체제에 따라 이러한 탬플릿, 라이브러리를 변경 적용할 수 있도록 하는 인터페이스를 제공한다.
좀 더 구체적으로 서버개발부(20)는 클라이언트개발부(10)와 마찬가지로 멀티 운영체제 빌드 환경을 제공한다. 이러한 서버개발부(20)는 서버 운영 프로그램의 프로그래밍 및 기능 부여를 편리하게 할 수 있도록 다양한 운영체제 각각에 대응되는 라이브러리와 탬플릿을 제공한다. 서버개발부(20)는 개발자가 프로그램 및 된 서버 운영 프로그램을 컴파일하는 경우 서버의 운영체제에 대응되는 라이브러리를 적용하여 소스코드를컴파일함으로써 서버 운영 프로그램이 타켓 서버장치 및 이의 운영체제에서 구동될 수 있게 하는 역할을 한다.
또한 서버개발부(20)는 웹 연동 모듈과 P2P(peer-to-peer) 기능을 서버 운영 프로그램에 부여할 수 있도록 이에 대한 라이브러리를 제공하고, 사용자가 선택하는 경우 서버운영 프로그램에 자동 삽입되도록 하는 역할을 한다. 특히, 웹 연동 모듈의 경우 서버개발부(20)는 웹 연동시 특정 기능 예를 들어 SNS기능, 클라우드와 같은 기능에 따라 라이브러리와 탬플릿을 제공하는 한편, 개발자가 지정하는 웹페이지에 이를 지원하기 위한 스크립트를 자동으로 추가하여 서버와 웹페이지. 클라이언트와 웹페이지 간의 연동이 자동으로 실현될 수 있게 하는 역할을 한다.
이러한 서버개발부(20)는 이외에도 개발자가 서버에 비독점적 접속이 가능하게 하는 기능, 대규모 접속자 대응 분산을 위한 콜백 유저 루틴 기능, 멀티 코어 및 이에 대응하는 쓰레드 분산 기능을 부여할 수 있도록 하는 탬플릿과 라이브러리를 제공하며, 이러한 기술의 적용 여부를 개발자가 선택하는 경우 세부사항을 선택하면 자동으로 이에 대한 소스코드의 추가 및 컴파일이 이루어질 수 있게 하는 역할을 한다.
이러한 서버개발부(20)의 빌드환경은 기본적으로 클라이언트 개발부(10)와 같이 프로그램 개발을 위한 빌드 환경을 제공하며, 작성된 소스코드를 운영체제에 적합한 라이브러리를 이용하여 컴파일을 수행한다. 또한, 저작툴을 통해 선택되는 기능에 대한 소스코드 또는 스크립트를 추가하거나, 소스코드 또는 스크립트의 손쉬운 개선이 될 수 있도록 기준이 되는 소스코드, 스크립트를 제공하며, 이러한 기능의 추가를 사용자가 손쉽게 확인하여 선택할 수 있도록 라이브러리 형태 나아가 인터페이스 형태로 제공하게 된다. 이를 통해 저작툴은 쓰레드 관리, 캐쉬 관리, 접속 관리, 웹페이지 연동과 같은 기능을 손쉽게 적용하면서도, 서버나 단말장치가 운영되는 환경이나 운영체제에 적합하게 컴파일하여 이용하도록 하는 것이 가능하다.
검증부(30)는 클라이언트 개발부(10)와 서버 개발부(20)에 의해 개발된 프로그램의 검증을 수행하는 역할을 한다. 이를 위해 검증부(30)는 검증환경을 제공함과 아울러, 검증을 위한 시나리오가 미리 준비된다. 이러한 시나리오는 검증규격을 포함할 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
구체적으로 검증부(30)는 시나리오에 따른 스크립트의 실행 환경을 설정하거나, 스크립트의 내용을 실행하기 위한 선행작업들을 수행하며, 실제환경에서 테스트 되는 것과 같은 상황을 구현하기 위해 가상유저의 생성 및 운영을 수행한다. 이를 통해 검증을 수행하면 검증부(30)는 이를 모니터링 하여 그래프와 같은 모니터링 데이터를 생성하고, 이를 개발자에게 제공함과 아울러, 모니터링 수행 이력을 저장하여 관리하게 된다. 이때, 검증부(30)는 데이터 마이닝을 통해 모니터링 데이터에 사용되지 않더라도, 개발자가 참조할 수 있는 데이터를 수집하여 저장하고, 개발자의 요청에 따라 제공하게 된다. 도 4는 이러한 검증을 위한 시스템 구성을 간략하게 도시한 예시도이고, 도 5는 검증과정을 설명하기 위한 예시도이다.
도 4에서와 같이 검증부(30)는 가상의 클라이언트와 가상유저를 생성하여 서버에 접속하고, 이를 미리 정해진 시나리오를 통해 제어하여 프로그램을 구동시킴으로써 이때 발생되는 데이터와 처리과정에 의해 검증을 수행하게 된다. 좀더 구체적으로 검증부(30)는 가상유저를 생성하고, 레코딩을 준비 후 모니터링을 위한 레코딩을 수행한다. 이때 시나리오에 따라 테스트 항목과 진행방법을 확인하고, 가상유저의 정상동작을 확인한 후 가상유저의 동작 옵션을 정밀 조절하게 된다. 그리고 시나리오에 따라 가상유저의 동작을 위한 로직을 할당하고, 검증을 수행하여 검증 결과를 획득하게 된다.
컨버전스부(40)는 클라이언트개발부(10) 또는 서버 개발부(20)에 의해 작성된 프로그램을 외부장치, 다른 운영체제, 다른 단말장치, 다른 시스템과 연동될 수 있도록 기능을 부여하는 역할을 한다. 일례로 컨버전스부(40)는 VR(virtual reality) 장비, 센서와 같은 별도의 장치와의 연동을 위한 스크립트 구성 및 인터페이스 구성을 지원한다. 구체적으로 컨버전스부(40)는 개발자가 클라이언트 프로그램이 센서와 연동되어 센서로부터 데이터를 제공받거나 이를 확인하고자 하는 경우 미리 준비되는 스크립트, 라이브러리를 이용하여 클라이언트 프로그램에 코드를 추가하고, 센서로부터의 데이터를 클라이언트가 전달받을 수 있는 환경을 제공한다. 또는, 추가될 코드를 개발자에게 제공하여, 센서로부터 전달되는 데이터의 형태, 크기, 종류, 시기 등을 조절하거나, 클라이언트 프로그램의 다른 부분에 적용할 수 있도록 센서를 제어 또는 운영하기 위한 소스코드를 제공하여 사용자가 이를 프로그램에 손쉽게 적용할 수 있게 한다. 특히, 이러한 과정에서 사용자가 별도의 인터페이스를 구성하는 과정을 거치지 않고도 이용할 수 있도록 미리 정의된 인터페이스를 제공하거나, 스크립트를 제공하여 웹 페이지를 통해 센서 이용을 위한 페이지가 자동구성되도록 하는 등의 기능을 제공한다. 이를 위해 컨버전스부(40)는 외부 장치와의 연동을 위한 공개 API(Application programming interface) 기능을 지원할 수 있다.
이와 같이 컨버전스부(40)는 개발자가 외부 장치, 다른 장치, 다른 운영체제와의 연동을 원하는 경우 이에 적합한 수단을 제공하거나, 자동으로 프로그램에 추가하여 개발자가 원하는 기능이 실현될 수 있게 하는 역할을 한다. 이를 위해 컨버전스부(40)는 연동 기능의 추가를 위한 라이브러리, 스크립트와 이를 추가하기 위한 조건 또는 추가를 위한 시나리오가 마련된다.
도 6은 본 발명의 다중 기능 단일화 저작 시스템의 라이브러리 구성을 설명하기 위한 예시도이다.
도 6을 참조하면, 본 발명의 다중 기능 단일화 저작 시스템에 포함된 클라이언트개발부(10), 서버개발부(20), 컨버전스부(40)에 구성되는 라이브러리는 도 6에 도시된 바와 같이 복잡한 관계 구성을 가진다.
특히, 본 발명의 라이브러리는 프로그램에 필수적인 객체 관리, 자원관리, 사용자 인터페이스, 애니메이션 처리, 출력의 5가지 주요 기능을 처리 및 관리하며, 이를 통해 부가적인 기능을 제어할 수 있도록 구성된다.
즉, 5가지 주요 기능을 위주로 구성된 라이브러리와 이에 의해 제공되는 기능 또는 소스코드를 개발자가 클라이언트 또는 서버 프로그램에 적용하도록 함으로써, 클라이언트 또는 서버의 주요 기능을 이들을 위주로 제어하고, 부가적인 기능은 이 주요기능들을 통해 제어하도록 함으로써, 쉽고 간결한 프로그램 저작 및 운영이 가능해지게 한다.
이를 위해 이 주요 기능들은 서버 또는 클라이언트 프로그램에 적용시 병렬처리가 가능하도록 구성함으로써 부가 기능의 제어 및 운영시 발생되는 로드를 조절하여 단말장치 또는 서버의 부담을 경감시키는 것이 가능해진다.
좀 더 구체적으로 설명하면, 객체관리기능은 라이브러리에서 사용되는 여러 클래스의 기초가 되는 클래스들과 이 클래스들을 관리 할 수 있는 메소드(Method)를 제공하는 모듈로 구성된다. 그리고, 라이브러리의 다른 기능들에 구성되는 클래스들은 객체 관리 기능에서 제공되는 클래스를 상속받아 구현되어, 기본적인 관리 메소드 이용, 메모리 할당 및 해제, 복사와 같은 기능을 수행할 수 있게 된다.
자원관리 기능은 프로그램에서 사용되는 각종 자원을 획득하거나 해제하는 등의 관리에 필요한 기능을 제공하며, 일례로, 이미지나, 비디오 혹은 애니메이션 데이터 등과 같은 그래픽 자원, 사운드 자원, 확장성 스크립팅을 목적을 작성된 스크립트의 자원과 같이 각종 자원을 관리하는 기능을 제공하는 클랙스 또는 파일들로 구성된다.
사용자 인터페이스 기능은 유저인터페이스 관련 클래스들을 집합시킨 것으로, 개발자 또는 사용자가 어플리케이션과 상호작용하기 위한 인터페이스 요소들을 객체화한 것으로 구성된다.
애니메이션 처리 기능은 프로그램에 사용되는 애니메이션 입출력 및 처리를 위해 사용되는 기능 즉, 이에 대한 클래스와 파일들로 구성된다. 이러한 애니메이션 처리 기능은 애니메이션의 캐릭터를 생성할 수 있는 기능과 함께, 애니메이션의 반복적 처리를 통해 표현을 확장할 수 있는 기능을 제공한다. 특히, 애니메이션 처리 기능은 프로그램에 의해 발생되는 특정 이벤트에 대응되는 애니메이션을 생성하도록 하는 기능을 제공한다. 이를 위해 애니메이션 처리 기능은 생성할 애니메이션을 설정하기 위한 옵션 예를 들어 사용자가 이벤트 발생지점 즉, 애니메이션의 생성을 위한 결과값이 발생되는 클래스, 결과값의 확인 이루어지는 지점의 설정, 애니메이션 캐릭터의 선택과 같은 설정 및 선택을 위한 기능을 제공한다.
또한, 애니메이션 처리 기능은 게임과 같이 고품질 애니메이션을 요구하는 프로그램에 대응하기 위하여 물리모듈을 부가적으로 제공하여, 애니메이션의 사실감을 증가시키는 기능을 제공한다.
출력 관리 기능은 서버 프로그램 또는 클라이언트 프로그램의 진행에 따른 출력을 관리하기 위한 각종 기능을 제공한다. 일례로 출력 관리 기능은 보열질 영역의 선정, 이미지의 시각적 특수 효과 적용, 기본적인 렌더링과 같은 기능을 제공할 수 있도록 한다.
이러한 각 기능들은 라이브러리 형태로 제공되며, 사용자는 라이브러리를 통해 제공되는 기능들 중 클라이언트 프로그램 또는 서버 프로그램에 적용하고자 하는 기능을 선택하여 프로그램을 구성할 수 있게 된다.
즉, 본 발명에 따른 다중 기능 단일화 저작 시스템은 개발자의 창의력이 필요한 부분에 집중하여 작업을 진행하고, 이를 실현하기 위한 일반적인 부분의 기능을 자체적으로 보유한 라이브러리를 통해 제공함으로써 개발자가 실제 창작이 필요한 부분에 집중하도록 하고 이를 통해, 불필요한 노력, 시간, 비용의 소요가 발생되지 않도록 할 수 있다.
이상에서 본 발명의 기술적 사상을 예시하기 위해 구체적인 실시 예로 도시하고 설명하였으나, 본 발명은 상기와 같이 구체적인 실시 예와 동일한 구성 및 작용에만 국한되지 않고, 여러 가지 변형이 본 발명의 범위를 벗어나지 않는 한도 내에서 실시될 수 있다. 따라서 그와 같은 변형도 본 발명의 범위에 속하는 것으로 간주해야 하며, 본 발명의 범위는 후술하는 특허청구범위에 의해 결정되어야 한다.
10 : 클라이언트 개발부
20 : 서버 개발부
30 : 검증부
40 : 컨버전스부

Claims (8)

  1. 서버 운영 프로그램의 작성에 필요한 라이브러리, 템플릿 및 클래스 중 어느 하나 이상을 포함하는 빌드 자원 및 저작 인터페이스를 포함하는 서버 저작툴을 구비하는 서버 개발부;
    상기 서버 개발부에 의해 개발된 상기 서버 운영프로그램에 의해 단말장치에 설치되거나, 상기 서버 운영 프로그램에 의해 기능을 실행하는 클라이언트 프로그램의 작성에 필요한 클라이언트 저작툴을 구비하는 클라이언트 개발부;
    상기 서버 개발부 또는 상기 클라이언트 개발부에 의해 작성되는 서버 운영 프로그램 또는 상기 클라이언트 프로그램의 오류를 검증하는 검증부; 및
    상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램을 다른 시스템의 서버 또는 단말장치와 연동되도록 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램에 연동기능을 부여하는 컨버전스부;를 포함하여 구성되는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  2. 제 1 항에 있어서,
    상기 라이브러리는
    주 라이브러리가 미리 지정되고, 상기 주 라이브러리에 의해 제공되는 기능에 의해, 보조 라이브러리의 기능이 제어되도록 구성되는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  3. 제 1 항에 있어서,
    상기 주 라이브러리는 객체관리, 자원관리, 사용자 인터페이스, 애니메이션 처리 및 출력관리인 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  4. 제 1 항에 있어서,
    상기 검증부는 미리 지정된 검증 시나리오에 따라 상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램의 검증을 수행하는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  5. 제 4 항에 있어서,
    상기 검증부는
    상기 검증의 수행을 위해 가상의 검증 유저를 생성하고, 상기 검증 유저를 상기 시나리오에 따라 제어하여 상기 클라이언트 프로그램 또는 상기 서버 운영 프로그램의 기능을 상기 가상유저에 의해 이용하도록 하여 상기 검증을 수행하는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  6. 제 1 항에 있어서,
    상기 저작툴은
    상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램이 실행될 서버 또는 단말장치의 운영체제의 실행 가능하도록 컴파일하는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  7. 제 6 항에 있어서,
    상기 서버 또는 상기 단말장치가 복수로 구성되고 하나 이상의 운영체제가 상기 서버 또는 상기 단말장치에 적용되는 경우 상기 운영체제 각각에서 실행 가능하도록 상기 운영체제별로 컴파일을 수행하는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
  8. 제 1 항에 있어서,
    상기 컨버전스부는
    상기 서버 운영 프로그램 또는 상기 클라이언트 프로그램이 외부장치 또는 웹페이지의 기능을 이용하거나 데이터를 제공하는 경우 상기 빌드 자원을 포함되고, 외부장치 또는 웹페이지와의 연동을 위해 마련되는 소스코드를 상기 프로그램에 추가하는 것을 특징으로 하는 다중 기능 단일화 저작 시스템.
KR1020170039886A 2017-03-29 2017-03-29 다중 기능 단일화 저작 시스템 KR20180110401A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170039886A KR20180110401A (ko) 2017-03-29 2017-03-29 다중 기능 단일화 저작 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170039886A KR20180110401A (ko) 2017-03-29 2017-03-29 다중 기능 단일화 저작 시스템

Publications (1)

Publication Number Publication Date
KR20180110401A true KR20180110401A (ko) 2018-10-10

Family

ID=63876232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170039886A KR20180110401A (ko) 2017-03-29 2017-03-29 다중 기능 단일화 저작 시스템

Country Status (1)

Country Link
KR (1) KR20180110401A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220019488A (ko) * 2020-08-10 2022-02-17 주식회사 아이티젠 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220019488A (ko) * 2020-08-10 2022-02-17 주식회사 아이티젠 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법

Similar Documents

Publication Publication Date Title
CN111832736B (zh) 用于处理机器学习模型的方法、设备和计算机可读存储介质
CN105447643B (zh) 一种面向云计算平台的科学工作流系统及方法
CN113032963B (zh) 一种Simulink模型仿真加速方法及装置
US20200019147A1 (en) Abstraction layers for automation applications
Perchat et al. Component based framework to create mobile cross-platform applications
KR102283736B1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
JPH10177495A (ja) 分散形制御ネットワークシステム
CN111459539A (zh) 基于镜像分层的持续集成流水线运行方法及装置
CN114461182A (zh) 流水线构建的方法、装置、电子设备及计算机可读存储介质
EP1993038B1 (en) Data processing system and data processing method
KR20150134681A (ko) 다수의 이기종 컴퓨팅 플랫폼을 지원하며 타분야 간에 데이터 상호호환이 가능한 크로스 플랫폼 기반의 개방형 bim 시스템의 구축 방법
KR101822093B1 (ko) 클라우드 시스템 구축 장치 및 방법
KR20180110401A (ko) 다중 기능 단일화 저작 시스템
JP2020030621A (ja) 情報処理装置およびプログラム
KR20190065565A (ko) 클라이언트개발과 서버개발과 검증기능이 포함된 다중 기능 융합 저작 시스템
KR101854201B1 (ko) 서버 및 클라이언트 통합형 게임 저작시스템
JP2005108082A (ja) デバイスドライバのインターフェース方法
EP3590038B1 (en) Method and system for device-based engineering for programmable logic controllers (plcs)
Lebedev et al. DDS: The dynamic deployment system
JP5177082B2 (ja) 開発支援装置,プログラム
WO2021024520A1 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
JP2006236375A (ja) Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラム
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP7001012B2 (ja) サポート装置およびサポートプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application