KR102352225B1 - 클라우드 기반 애플리케이션 저작 서비스 제공 시스템 - Google Patents

클라우드 기반 애플리케이션 저작 서비스 제공 시스템 Download PDF

Info

Publication number
KR102352225B1
KR102352225B1 KR1020210068437A KR20210068437A KR102352225B1 KR 102352225 B1 KR102352225 B1 KR 102352225B1 KR 1020210068437 A KR1020210068437 A KR 1020210068437A KR 20210068437 A KR20210068437 A KR 20210068437A KR 102352225 B1 KR102352225 B1 KR 102352225B1
Authority
KR
South Korea
Prior art keywords
source code
user
application
template
user terminal
Prior art date
Application number
KR1020210068437A
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 KR1020210068437A priority Critical patent/KR102352225B1/ko
Application granted granted Critical
Publication of KR102352225B1 publication Critical patent/KR102352225B1/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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/182Alternative dispute resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

클라우드 기반 애플리케이션 저작 서비스 제공 시스템이 제공되며, 애플리케이션 제작하기 버튼을 선택한 후 출력되는 적어도 하나의 템플릿 중 어느 하나의 템플릿을 선택하고, 어느 하나의 템플릿에 기 매핑되어 저장된 화면 영역 내 기능을 설정하며, 화면 영역 내 포함될 적어도 하나의 콘텐츠를 업로드하고 미리보기 후, 어느 하나의 템플릿, 설정 및 적어도 하나의 콘텐츠가 결합된 사용자 소스코드를 다운로드하는 사용자 단말 및 클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하는 데이터베이스화부, 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성하는 코드생성부, 사용자 소스코드에 라이선스 키를 생성하여 결합하는 라이선스부, 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성하는 파일생성부, 사용자 단말로 설치파일을 전송하는 전송부, 사용자 단말로 설치파일을 전송할 때, 사용자 소스코드의 원본 소스코드를 파일로 사용자 단말로 제공하는 원본제공부를 포함하는 저작 서비스 제공 서버를 포함한다.

Description

클라우드 기반 애플리케이션 저작 서비스 제공 시스템{SYSTEM FOR PROVIDING CLOUD BASED APPLICATION MAKING SERVICE}
본 발명은 클라우드 기반 애플리케이션 저작 서비스 제공 시스템에 관한 것으로, 클라우드 기반으로 하드웨어 및 소프트웨어의 인프라 없이도 사용자가 선택 및 업로드한 설정 및 콘텐츠로 애플리케이션을 제작 및 유지보수할 수 있는 플랫폼을 제공한다.
코로나(COVID19)의 확산은 세계 무역상거래 위축과 더불어 사회적 거리두기의 지속화와 같은 경제사회의 변화를 이끌어내고 있다. 유통 패러다임이 오프라인에서 온라인으로 급하게 바뀌어가고 있고, 오프라인 유통업체들과 골목상권의 매출감소가 심각한 수준에 이르고 있다. 이에 정부가 나서 동행세일과 긴급재난지원금을 방출함으로써 일시적이나마 매출갈증이 해소되고 있으나 장기적인 해결대안은 아니다. 골목상권의 매출회복을 위해 대형유통업체 및 최근 가파른 매출 상승세를 타고 있는 온라인유통분야에 대한 영업규제를 더욱 강화했으나, 문제는 이러한 규제가 골목상권의 지속가능한 유지발전을 담보할 수 있느냐 하는 것이다. 골목상권은 지역경제공동체로서, 또 일자리 창출과 지역소득을 견인하는 경제행위주체로서 중요하다. 중요한 주체인 만큼 그만큼 그들이 자력화할 수 있는 장기적 처방이 필요하다.
이때, 오프라인에서 온라인으로 바뀌어가는 환경에 적응시킬 수 있도록 전문가가 아닌 일반인이라도 애플리케이션을 개발할 수 있는 방법이 연구 및 개발되었는데, 이와 관련하여 선행기술인 한국공개특허 제2015-0047219호(2015년05월04일 공개) 및 한국공개특허 제2014-0024492호(2014년03월03일 공개)에는, 사용자 단말에서 콘텐츠 및 애플리케이션 설정 정보를 수신하고, 이에 대응하는 기본 소스코드를 추출한 후 기본 소스코드를 콘텐츠 및 애플리케이션 설정 정보에 대응하도록 변경한 후 사용자 소스코드를 생성함으로써 애플리케이션 설치파일을 생성하는 구성과, 적어도 하나의 객체를 라이브러리 데이터베이스에 저장하고, 사용자 단말에서 애플리케이션을 생성하기 위한 편집 모드에서 설정을 선택하면 표준 파라미터로 변환하여 애플리케이션을 생성하는 구성이 각각 개시되어 있다.
다만, 상술한 구성 중 전자의 경우에는 애플리케이션 빌드업까지 완료했다고 할지라도 원본 소스코드를 제공해주지 않으며, 앱스토어 심사를 진행하고 공개가 되기까지의 등록과정까지 대행해주지 않는다. 후자의 경우에도 하나의 애플리케이션 플랫폼 내의 쇼핑몰을 만드는 과정이기 때문에 단순 웹페이지 편집의 과정을 제공하는 것 이상의 의미는 없다. 그간 소상공인들을 위한 다양한 정책집행에도 불구하고 생계형 적합업종 등 정책지원의 범위와 규제강도는 계속 확대되고 있다. 이는 골목상권 내 소상공인들의 혁신자생력의 부족에 기인하는 것이다. 따라서 규제보다는 향후 정책들이 이들의 자생력회복과 혁신유도에 초정을 맞추어 질 필요가 있는데, 특히 4차 산업혁명의 기술이 유통업계에도 급격히 침투되고 활용되고 있는 시점에서 소상공인들에 대한 혁신동기의 유발과 실행은 매우 중요하다. 이에, 소상공인의 디지털 전환 언택트 서비스 플랫폼을 위해 애플리케이션 제작은 물론 심사, 등록 및 유지보수까지 직관적인 사용자 인터페이스로 제공할 수 있는 플랫폼의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 사용자 단말에서 제작하기 버튼을 선택한 후 적어도 하나의 템플릿을 선택하여 화면이 분할된 영역 내에 삽입할 콘텐츠를 업로드 또는 선택하면, 적어도 하나의 템플릿에 콘텐츠가 결합된 미리보기 화면이 출력되고, 미리보기 화면 대로 애플리케이션을 제작하고자 하는 경우, 상기 적어도 하나의 템플릿에 기 매핑되어 저장된 소스코드가 사용자 단말의 설정 및 콘텐츠와 결합되어 애플리케이션이 생성되며, 클라우드 플랫폼에서는 사용자 단말의 설정, 콘텐츠 및 소스코드를 수신하여 라이선스 및 저장공간을 생성하여 데이터를 저장하고, 가상머신(Virtual Machine)으로 소스코드를 빌드(Build) 및 컴파일한 후 애플리케이션 설치파일을 생성하며, 앱스토어에 등록대행을 신청한 경우 사전검수, 결제대기, 심사진행 및 심사완료의 과정을 모니터링할 수 있도록 하는, 클라우드 기반 애플리케이션 저작 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 애플리케이션 제작하기 버튼을 선택한 후 출력되는 적어도 하나의 템플릿 중 어느 하나의 템플릿을 선택하고, 어느 하나의 템플릿에 기 매핑되어 저장된 화면 영역 내 기능을 설정하며, 화면 영역 내 포함될 적어도 하나의 콘텐츠를 업로드하고 미리보기 후, 어느 하나의 템플릿, 설정 및 적어도 하나의 콘텐츠가 결합된 사용자 소스코드를 다운로드하는 사용자 단말 및 클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하는 데이터베이스화부, 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성하는 코드생성부, 사용자 소스코드에 라이선스 키를 생성하여 결합하는 라이선스부, 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성하는 파일생성부, 사용자 단말로 설치파일을 전송하는 전송부, 사용자 단말로 설치파일을 전송할 때, 사용자 소스코드의 원본 소스코드를 파일로 사용자 단말로 제공하는 원본제공부를 포함하는 저작 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자 단말에서 제작하기 버튼을 선택한 후 적어도 하나의 템플릿을 선택하여 화면이 분할된 영역 내에 삽입할 콘텐츠를 업로드 또는 선택하면, 적어도 하나의 템플릿에 콘텐츠가 결합된 미리보기 화면이 출력되고, 미리보기 화면 대로 애플리케이션을 제작하고자 하는 경우, 상기 적어도 하나의 템플릿에 기 매핑되어 저장된 소스코드가 사용자 단말의 설정 및 콘텐츠와 결합되어 애플리케이션이 생성되며, 클라우드 플랫폼에서는 사용자 단말의 설정, 콘텐츠 및 소스코드를 수신하여 라이선스 및 저장공간을 생성하여 데이터를 저장하고, 가상머신(Virtual Machine)으로 소스코드를 빌드(Build) 및 컴파일한 후 애플리케이션 설치파일을 생성하며, 앱스토어에 등록대행을 신청한 경우 사전검수, 결제대기, 심사진행 및 심사완료의 과정을 모니터링할 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 저작 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 클라우드 기반 애플리케이션 저작 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 저작 서비스 제공 서버(300)를 포함할 수 있다. 다만, 이러한 도 1의 클라우드 기반 애플리케이션 저작 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 저작 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 저작 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100)과 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 클라우드 기반 애플리케이션 저작 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 애플리케이션을 제작하고자 하는 개인 또는 기업의 단말일 수 있다. 이때, 사용자 단말(100)은, 애플리케이션을 제작하기 위하여 적어도 하나의 템플릿을 선택한 후 선택된 템플릿의 화면 구성에 따라 각 기능에 따른 콘텐츠, 예를 들어 URL, 텍스트, 사진, 동영상 등을 입력하는 단말일 수 있다. 또한, 사용자 단말(100)은, 미리보기를 선택한 후 구동 여부를 확인하고 미리보기 대로 애플리케이션을 만들고 싶은 경우 사용자 소스코드를 수신하는 단말일 수 있다. 그리고, 사용자 단말(100)은, 라이선스 키가 포함된 설치파일을 다운로드받는 단말일 수 있다. 또한, 사용자 단말(100)은, 이미지를 수정하거나 텍스트 또는 동영상 등을 수정하고자 하는 경우 저작 서비스 제공 서버(300)에 접속하여 수정하고자 하는 화면 영역을 선택하고 텍스트, 동영상, 이미지 또는 사진 등을 수정하는 단말일 수 있다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, 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) 기반의 무선 통신 장치를 포함할 수 있다.
저작 서비스 제공 서버(300)는, 클라우드 기반 애플리케이션 저작 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 저작 서비스 제공 서버(300)는, 클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 상기 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하는 서버일 수 있다. 또한, 저작 서비스 제공 서버(300)는, 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성하는 서버일 수 있다. 그리고, 저작 서비스 제공 서버(300)는, 사용자 소스코드에 라이선스 키를 생성하여 결합하고, 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성하고, 사용자 단말(100)로 설치파일을 전송하는 서버일 수 있다.
여기서, 저작 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 저작 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3은 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 저작 서비스 제공 서버(300)는, 데이터베이스화부(310), 코드생성부(320), 라이선스부(330), 파일생성부(340), 전송부(350), 심사대행부(360), 수정반영부(370), 원본제공부(380), 저작권관리부(390) 및 무단배포추적부(391)를 포함할 수 있다.
본 발명의 일 실시예에 따른 저작 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100)로 클라우드 기반 애플리케이션 저작 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100)은, 클라우드 기반 애플리케이션 저작 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 설명하기 이전에 모바일 애플리케이션 저작 도구에 대한 배경기술을 간단히 설명하기로 한다.
코딩 없이 모바일 애플리케이션을 개발하기 위해서 여러 가지 종류의 모바일 애플리케이션 저작도구가 개발되어 있다. 프로그래머가 아닌 일반인을 위한 저작도구는 네이티브 모바일 애플리케이션을 위한 것인지, 모바일 웹과 결합된 하이브리드 애플리케이션을 위한 것인지로 구분할 수 있다. 저작도구는 편집기에서 어떤 요소를 이용하여 화면을 구성하는지, 애플리케이션의 동작을 어떻게 지정할 수 있는지, 그리고 모바일 단말에서 실행되는 방식이 어떠한 것인지에 따라 나누어 볼 수 있다.
미리 개발된 단위 블록과 템플릿을 이용하여 조립하는 형태의 저작도구로 앱 쿠커와 m-BizMaker를 들 수 있다. 앱쿠커는 아이폰 목업(Mock-up) 개발 도구로서 미리 제공되는 레이아웃 템플릿과 컨트롤 객체들을 이용하여 손쉽게 모바일 애플리케이션을 개발할 수 있게 해주는 도구이다. 또한 사용자가 미리 개발해둔 모바일 웹 페이지를 연동할 수 있게 해 준다. 그러나 앱쿠커는 사용자가 정해진 템플릿만 사용할 수 있어 자유롭게 화면을 구성하거나 원하는 앱을 스크래치부터 생성하는 것은 어렵다. 한편 m-BizMaker는 국내의 원더풀소프트 사에서 개발한 모바일 애플리케이션 저작도구로 데이터베이스 및 업무 흐름을 지원하는 업무용 애플리케이션 개발을 지원한다. 이 도구는 흔히 사용되는 비즈니스 로직에 따라 사용자는 템플릿을 선택하고 미리 제작해둔 모듈을 조립하여 커스터마이징하는 방식으로 애플리케이션을 작성하게 된다. 생성된 애플리케이션은 비즈엔진이라는 가상 기계가 설치된 환경에서 실행된다.
범용적인 구성 요소를 이용하는 저작도구로는 앱 인벤터와 어도비 사의 어도비 에어를 들 수 있다. 앱 인벤터는 MIT에서 개발된 저작도구로 블록 맞추기 방식으로 앱의 동작과 구조를 제작할 수 있는 도구이다. 기본 구성 요소인 블록을 이용하여 편집기에서 프로그램을 구성해 나가는 방식인데, 실제로는 기본 블록을 이용한 그래픽 편집기를 이용하는 프로그래밍 작업과 다름없다. 한편 플래시 기반 프로그램 저작 방식을 모바일에서 적용할 수 있게 해주는 아도비 에어는 화면의 레이아웃과 구성 요소들을 자유롭게 배치하고 사용자 상호작용을 정의하기 위해서 기본 동작을 이용하거나 스크립트 형태의 프로그래밍을 통해 프로그램을 작성하게 된다.
이와 같이 비교적 자유롭게 앱을 구성하고 설계할 수 있는 도구는 프로그래밍과 동일한 수준의 작업을 진행해야 하는데 이것은 프로그램의 논리적인 구조를 이해하고 도구나 스크립트 언어를 자유롭게 구사해야 하므로 일반사용자에게는 어려운 점이 있다. 모바일 애플리케이션 개발은 모바일 웹을 어느 정도 활용하는가에 따라 하이브리드 애플리케이션과 네이티브 애플리케이션으로 구분할 수 있으며, 최근에는 웹 개발 기술과 개발 환경이 많은 발전을 이루면서 매시업 기반의 저작도구나 앱 개발도구가 활발하게 보급되었다. 반면 네이티브 애플리케이션 개발은 프로그래밍 기술을 필요로 할 뿐 아니라 스마트폰에 탑재된 운영체제에서 제공하는 개발환경과 SDK를 이용할 수 있어야 한다. 그러므로 일반 사용자들이 애플리케이션을 개발하는 것은 아직 많은 어려움이 있다. 이에 따라, 본 발명의 일 실시예는, 하이브리드 애플리케이션의 저작 도구를 제공할 때 프로그래밍을 전혀 모르는 일반 사용자라도 템플릿을 선택하고 콘텐츠를 업로드하며 애플리케이션의 설정을 하는 것만으로도 애플리케이션을 제작할 수 있도록 도와줄 수 있다.
도 2를 참조하면, 데이터베이스화부(310)는, 클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장할 수 있다. 적어도 하나의 템플릿은, 하이브리드(Hybrid) 애플리케이션 타입(Type), 쇼핑몰 애플리케이션 타입, 게시판 애플리케이션 타입 및 SNS 애플리케이션 타입의 템플릿을 포함할 수 있다.
이때, 모바일웹은, HTML5/CSS3와 jQuery , Sencha Touch 등의 자바스크립트 엔진을 활용하여 작성된 모바일용 웹사이트이며 W3C 표준을 준수하기 때문에 대부분 모든 브라우저에서 볼 수 있는 장점이 있다. 또한 기존의 웹 개발방식과 동일하기 때문에 개발 비용을 절감할 수 있는 장점이 있다. 단점은 푸시알림 발송, 카메라, 사진앨범, 위치정보 조회 등 모바일에서의 Native API의 활용이 불가능하다는 것과 UI의 구성요소를 실시간으로 로딩 하므로, 네트워크 연결 상태에 따라 구동 속도가 영향을 받는다는 것이다. 네이티브 애플리케이션은, iOS 개발언어인 Objective-C, Swift 또는 안드로이드의 개발언어인 Java, Kotlin를 이용해 작성된 특정 플랫폼에서만 작동되는 애플리케이션을 말한다. 네이티브 애플리케이션의 장점으로는 특정 플랫폼에 함께 탑재되어 있는 다른 애플리케이션과의 인터페이스나 API의 사용이 가능해서 애플리케이션 간의 확장성이 용이하고 UI 구성요소가 대부분 패키지화 또는 라이브러리 형식으로 기본 제공되기 때문에 빠른 로딩속도를 가질 수 있다. 단점으로는 특정 플랫폼에서만 작동되기 때문에 제한적인 환경을 가지고 있고, 업데이트는 앱스토어를 통해서만 받기 때문에 앱스토어를 열기 전까지는 업데이트를 할 수 없다. 또한 같은 애플리케이션이라 하더라도 지원 플랫폼과 해당 단말의 해상도만큼 여러 벌의 애플리케이션을 제작해야 한다.
하이브리드 애플리케이션의 경우에는 용어의 정의가 모호한 부분이있지만, 대체적으로 모바일 애플리케이션과 유사하다. 네이티브 애플리케이션과 동일한 환경을 가지고 있지만, 부분적으로 HTML5/CSS로 작성된 애플리케이션을 말한다. 하이브리드 애플리케이션 구조에서 웹페이지를 네이티브 애플리케이션의 콘텐츠 영역(Content Area)에 저장하기 때문에 모바일웹과는 다르게 빠른 속도를 가질 수 있다. 또한 네이티브 애플리케이션의 개발보다 하이브리드 애플리케이션의 개발 비용이 상대적으로 절감할 수 있는 개발 형태라고 볼 수 있다. 단점으로는 네이티브 애플리케이션과 마찬가지로 앱스토어를 통해서 업데이트 및 업그레이드를 해야한다는 것이다. 다만, 본 발명의 일 실시예에서는 하이브리드 애플리케이션과 네이티브 애플리케이션을 개발했다고 할지라도 클라우드 기반으로 업데이트가 필요없다. 하이브리드 애플리케이션의 개발이 네이티브 애플리케이션과 모바일 웹의 장단점을 적절히 활용하여 개발할 수 있는 형태라고 볼 수 있다. 세 가지의 개념을 정리하면 이하 표 1과 같다.
구분 모바일웹 네이티브앱 하이브리드앱
설명 모바일 브라우저용 웹사이트 플랫폼 SDK로 제작한 애플리케이션 모바일웹을 포함한 네이티브앱
장점 -개발비용낮음
-업데이트용이
-Native API 사용가능
-빠른 로딩 속도
-개발비용낮음
-빠른로딩속도
단점 -UI/UX 퀄리티 낮음
-Native API 사용불가
-느린 속도
-포털 검색을 통해 진입해야 함
- 접근성 저하
-개발비용 높음
-업데이트 번거로움
-UI/UX 퀄리티가 낮음
-Native API 사용가능
-업데이트 번거로움
코드생성부(320)는, 사용자 단말(100)에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성할 수 있다. 콘텐츠는 텍스트, 이미지, 사진 및 동영상을 포함하는 멀티미디어 콘텐츠일 수 있다. 사용자 단말(100)은, 애플리케이션 제작하기 버튼을 선택한 후 출력되는 적어도 하나의 템플릿 중 어느 하나의 템플릿을 선택하고, 어느 하나의 템플릿에 기 매핑되어 저장된 화면 영역 내 기능을 설정하며, 화면 영역 내 포함될 적어도 하나의 콘텐츠를 업로드하고 미리보기 후, 어느 하나의 템플릿, 설정 및 적어도 하나의 콘텐츠가 결합된 사용자 소스코드를 다운로드할 수 있다.
라이선스부(330)는, 사용자 소스코드에 라이선스 키를 생성하여 결합할 수 있다. 이때 라이선스 조항은 예를 들어, 복제, 배포, 수정의 권한, 배포 시 라이선스 사본 첨부, 저작권 고지사항 또는 Attribution 고지사항 유지, 조합저작물(Lager Work) 작성 및 타 라이선스 배포, 명시적 특허 라이선스의 허용, 라이선시가 특허소송 제기 시 라이선스 종료, 이름, 상표, 상호에 대한 사용제한, 보증의 부인, 책임의 제한, 저작권, 특허, 상표, Attribution에 대한 고지사항을 소스코드 또는 "NOTICE" 파일에 포함 등을 설정할 수 있고, 라이선스 키로 소스코드를 암호화할 수도 있다.
파일생성부(340)는, 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성할 수 있다. 가상머신을 이용하여 고장감내형(Fault Tolerance Type) 네트워크 서비스를 제공할 수도 있다. 고장감내란 어떠한 서비스를 제공하던 시스템에 장애가 발생하였을 때 시스템의 가용성과 신뢰성을 유지하는 매커니즘이다. 하나의 시스템이 동작 중에 장애가 발생하면 동작 불가능한 부분을 제외하고 서비스를 지속하거나 이중화 된 시스템을 이용하여 기 구축된 시스템이 더 이상 서비스를 지속 할 수 없는 장애가 발생한 상황에는 기 구축된 시스템을 대신 할 수 있는 예비 시스템을 사용하여 서비스에 대한 가용성을 높일 수 있다.
하이퍼바이저(Hypervisor)는 하드웨어 가상화를 이용하여 하나의 호스트 머신에서 여러 개의 운영체제를 실행 시킬 수 있는 플랫폼이다. 하이퍼바이저를 이용하면 하드웨어에 대한 사용도가 높아져 호스트 머신의 수를 줄일 수 있다. 따라서 시스템의 구축비용과 운영비용이 줄어들고 운영과 관리의 효율성이 증대된다. 하이퍼바이저는 네이티브 방식과 호스트 방식으로 나누어진다. 네이티브 방식의 하이퍼바이저는 호스트 운영체제가 없기 때문에 오버헤드가 적다. 호스트형 하이퍼바이저는 하드웨어를 에뮬레이트하기 때문에 오버헤드가 크지만 네이티브 방식의 하이퍼바이저보다 손쉬운 가상머신 관리가 가능하다.
전송부(350)는, 사용자 단말(100)로 설치파일을 전송할 수 있다. 이때, 저작 서비스 제공 서버(300)는 클라우드 서버일 수 있다. 상술한 가상머신도 모두 클라우드를 이루는 적어도 하나의 노드에서 각 노드를 가상화하여 하나의 운영체제에서 다양한 애플리케이션을 구동시켜볼 수 있도록 구비되는 것이다. 이때, 클라우드 서버는 SaaS, IaaS, PaaS, BaaS 등 다양한 서비스를 제공할 수 있다. 여기서, SaaS(Software as a Servcie)는 인터넷 어디에서든 쉽게 이용할 수 있고, 웹브라우저만 있으면 어디서든 접근할 수 있다. 이때, 사용자의 요구사항에 따라 BaaS(Backend as a Service)를 더 추가할 수도 있다. 물론, 인프라나 플랫폼 자체가 구비되지 않은 사용자에게는 IaaS(Infrastructure as a Service)로 서버 운영에 필요한 서버자원, IP, Network, Storage, 전력 등 여러 인프라 자원을 탄력적이고 빠르게 제공할 수 있다. IaaS는 자원을 쉽게 추가하거나 제거할 수 있으며 운영체제를 제공하므로 친숙한 환경이 주어질 수 있다. 또, PaaS(Platform as a Service)로 서비스를 제공할 수 있는데, 안정적인 환경과 그 환경을 이용하는 응용 프로그램을 개발할 수 있는 API까지 제공하는 서비스이다. PaaS는 간편하게 원시코드를 빌드 및 배포할 수 있으며 사용량에 따라 스케일 아웃(Scale Out)을 하기 용이하다. BaaS는 모바일 애플리케이션에 특화된 서비스로 모바일 애플리케이션에서 처리하기 힘든 회원관리 및 푸시, 파일 처리 등 서버 측 애플리케이션을 제공할 수 있다. PaaS의 플랫폼을 이용할 수 있고 제공되는 백앤드 모듈을 REST API나 라이브러리 CALL을 통해 바로 사용할 수 있도록 구성될 수도 있다.
심사대행부(360)는, 사용자 단말(100)에서 앱스토어에 등록 및 심사를 대행의뢰하는 경우, 앱스토어에 생성된 설치파일을 업로드한 후 심사과정을 모니터링하여 사용자 단말(100)에서 확인할 수 있도록 한다.
수정반영부(370)는, 사용자 단말(100)에서 설치파일 내 애플리케이션 설정 또는 콘텐츠를 수정하는 경우, 클라우드 기반으로 설치된 애플리케이션으로 수정 정보를 송신하여 업데이트 없이 실시간 자동적용되도록 할 수 있다.
원본제공부(380)는, 사용자 단말(100)로 설치파일을 전송할 때, 사용자 소스코드의 원본 소스코드를 파일로 사용자 단말(100)로 제공할 수 있다. 이때, 사용자가 일반인인 경우 원본 소스코드를 받는다고 할지라도 소스코드 자체를 실행하거나 보는 것조차 어려울 것이지만, 만약 사용자가 아닌 제3자가 소스코드를 받는다고 하면 이는 오픈 API가 될 가능성이 높다. 이에 따라, 후술할 저작권관리부(390)에서 소스코드가 사용자에게 전달된 후 제3자의 이동 단말이나 고정 단말로 무단배포된 경우, 제3자의 단말에서 이를 볼 수 없도록 만들거나, 그럼에도 불구하고 무단배포된 경우에는 경로를 추적하여 최초 배포자를 추적할 수 있도록 한다.
저작권관리부(390)는, 사용자 단말(100)에서 사용자 소스코드가 생성된 경우, 사용자 소스코드 중 기본 소스코드에 대한 저작권 등록을 진행할 수 있다. 저작권관리부(390)는, 사용자 단말(100)로 등록된 적어도 하나의 이동 단말 또는 고정 단말 이외의 다른 단말로 사용자 소스코드가 전송된 경우 사용자 소스코드를 사용할 수 없도록 적어도 하나의 애플리케이션 난독화(Obfuscation) 솔루션을 적용할 수 있다. 예를 들어, 클래스 정보, 패키지 정보, 클래스 계층구조 정보 등 소스코드와 관련 있는 정보들은 식별자 난독화(Renaming Obfuscation), 문자열 암호화(String Encryption)를 할 수 있다.
안드로이드의 경우 애플리케이션의 리패키징, 역공학, 복제 등의 문제를 방지하기 위해 다수의 안드로이드 애플리케이션 개발자가 자신의 애플리케이션을 난독화한다. 소스코드 난독화의 경우, 식별자 난독화, 문자열 난독화 등의 기법이 사용될 수 있다. 애플리케이션의 소스코드, 클래스 계층 구조, 레이아웃 등의 정보 외에 컴포넌트 클래스 정보도 특징 정보로 사용될 수 있다. 컴포넌트 클래스는 안드로이드 애플리케이션에서 핵심적인 기능을 하는 클래스들이며, 그 중에서 인텐트를 받을 수 있는 클래스의 경우, 애플리케이션 내외부에서 해당 클래스를 인식하고 재사용할 수 있어야하기 때문에 애플리케이션의 주요한 정보 중 하나이다.
이때, 본 발명의 일 실시예에 따른 애플리케이션의 소스코드가 난독화되었고, 상대방의 소스코드도 난독화된 경우, 본 발명의 일 실시예에 따른 애플리케이션은 난독화되기 이전의 소스코드를 보유하고 있기 때문에 기준 데이터가 있지만, 비교대상이 난독화되었기 때문에 비교 데이터가 존재하지 않는 문제가 발생한다. 이에 저작권을 보호하기 위해서는 상대방이 본 발명의 소스코드를 썼는지를 알아야 하는데 이를 알 수 없다면 침해의 주장도 할 수 없게 된다. 이에 따라, LIBPECKER는 난독화에 강인한 안드로이드 서드파티 라이브러리 탐지를 위해 클래스 계층 구조 정보에서 난독화에 영향을 많이 받는 정보를 삭제하여 특징정보로 사용하고, SimiDroid의 경우 난독화에 강인한 안드로이드 애플리케이션 복제 탐지를 위해 애플리케이션에서 AndroidManifest.xml 파일을 추출하여 컴포넌트 클래스 정보만을 특징정보로 사용하는데 이러한 기술들을 이용하여 상대방의 불법복제 여부를 파악할 수도 있다.
무단배포추적부(391)는, 사용자 소스코드가 사용자 단말(100)이 아닌 단말로 전송된 경우, 사용자 단말(100)이 아닌 단말의 식별코드를 저장하여 무단배포경로를 추적할 수 있다. 예를 들어, 상술한 IMSI를 추출하여 각 단말로 옮겨간 이력을 로그로 남김으로써 추적할 수도 있다. 최근, 정부에서도 온라인상의 불법 복제물 추적관리시스템(Illegal Content Obstruction Program)을 구축하고 침해 사이트 모니터링을 병행 운영하여 저작권을 보호하고 있다. 다만, 상술한 바와 같이 애플리케이션의 소스코드가 공개되지 않거나 난독화된 경우에는 소스코드 자체를 비교할 수 없는 경우도 존재하기 때문에, 실제로 각 단말에서 단말로 옮겨간 이력을 로그로 남겨 추적하는 방법을 이용할 수 있다,
부가적으로, 본 발명의 일 실시예는, 원본 소스코드가 사용자에게 전달되기 때문에 불법복제를 막기 위하여 애플리케이션 실행 시점에서 애플리케이션에 포함된 포렌식마크를 추출하고 해당 애플리케이션 저작권을 확인한 뒤 그 결과에 따라 실행을 제어 할 수 있는 포렌식 마크 기반 라이브러리를 이용할 수 있다. 이때, 포렌식 마킹 기술이란 저작권 기술의 한 종류로서 저작자의 권리를 효율적으로 보호하고 저작물의 공정한 이용을 도모하기 위한 기술 및 서비스라고 할 수 있다. 이와 유사한 기술로 안드로이드 LVL(Licence Validation Library, LVL)을 들 수 있다. LVL은 안드로이드 버전 이상부터 제공되는 기술로서 유료 애플리케이션 저작권 확인이 가능한 서비스이다. 기술에서 가장 큰 특징은 공개 개인 키 기반이라는 점이다. 개발자가 공개키를 이용하여 애플리케이션을 개발하면 애플리케이션 실행시점에서 유료 애플리케이션 저작권을 확인하게 된다. 만약 유료 애플리케이션에 대한 저작권이 없을 시에는 불법 애플리케이션으로 간주되어 애플리케이션 실행이 중단된다. 그리고 개인키는 마켓 서버와 통신하여 사용자 인증을 거치도록 구성된다.
<포렌식 마킹>
일반적인 포렌식 마킹 기술은 안드로이드 애플리케이션에 직접적으로 적용되는 것은 없다. 주로 콘텐츠나 미디어에 국한되어 저작권 보호 기법으로 활용되는데, 본 발명의 일 실시예에서는 애플리케이션에 직접 이용하기로 한다. 포렌식 마크는 불법 애플리케이션을 판단하는 용도로 사용된다. 포렌식 마킹 기술을 사용하기 위해서는 우선 앱 마켓 서버에 포렌식 마크를 삽입하는 모듈을 구현하고, 앱 마켓 서버에서 삽입 모듈 역할은 사용자가 애플리케이션 구매 요청 시에 사용자 스마트폰에서 IMSI(International Mobile Subscriber Identity, IMEI)라 불리는 고유번호를 전송 받아 포렌식 마크 형태로 APK 내부에 삽입할 수 있다. 삽입 모듈은 APK 파일을 압축해제 한 뒤 classes.dex 내부에 파일에 포렌식 마크를 삽입한다. 포렌식 마크는 classes.dex 내부에 프로그램의 손상 없이 바이너리 수준에서 삽입될 수 있고, 그 후에 포렌식 마크가 저장된 APK 파일은 재압축되어 사용자에게 전송될 수 있다. APK 파일에 삽입된 포렌식 마크는 사용자 스마트폰에서 셀프 체킹 라이브러리를 통하여 스마트폰 고유의 IMSI와 비교된다.
<셀프체킹 라이브러리>
사용자 스마트폰 내부의 IMSI와 APK 내부 IMSI와 비교하는 셀프 체킹 라이브러리를 JAR(Java ARchive) 형태로 작성할 수 있다. 후에 셀프 체킹 라이브러리는 개발자에게 제공하여 애플리케이션 개발 시 사용하도록 권장해야한다. 셀프 체킹 라이브러리에서 첫 번째 기능은 포렌식 마크와 IMSI 추출기능이다. 스마트폰에 다운로드 한 APK 파일이 저장되면, APK 파일 경로를 패키지명으로 검색하여 APK 파일 내부 classes.dex 파일에서 포렌식마크를 추출할 수 있다. 그리고 앞에서 서버에 업로드 시에 IMSI를 포렌식 마크의 형태로 삽입해 압축했기 때문에 포렌식 마크를 추출하면 포렌식 마크에서 IMSI를 확인하는 것이 가능해진다. 두 번째 기능은 APK 파일 내부 IMSI와 스마트폰 내부 IMSI를 비교하는 것이다. 비교하여 IMSI가 일치하지 않으면 불법 복제 애플리케이션으로 간주되어 수행이 불가하다.
<셀프 체킹 라이브러리 처리>
셀프 체킹 라이브러리와 포렌식마크가 포함된 애플리케이션이 스마트폰에 설치되면 앱 실행 메인 액티비티 시작 시점에 셀프 체킹 라이브러리가 구동된다. 셀프 체킹 라이브러리는 APK 경로를 확인하고 애플리케이션 데이터 영역에 classes.dex 파일을 압축해제 한 뒤 classes.dex 파일에서 포렌식 마크를 추출한다. 그리고 포렌식 마크에서 IMSI를 확인한다. 마지막으로 스마트폰 디바이스의 IMSI와 비교하고 불일치할 경우 실행 차단 메시지를 띄우고 애플리케이션을 강제로 종료할 수 있다. 개발자는 파일로 제공된 셀프 체킹 라이브러리를 프로젝트에 추가 하고 애플리케이션 시작 단계에서 호출하여 이용할 수 있다. 셀프 체킹 라이브러리를 개발자가 애플리케이션 개발시 추가하지 않으면 포렌식 마크는 무의미 해진다. 여기서 중요한 것은 스마트폰 내부 IMSI 값을 얻기 위해 안드로이드 애플리케이션 정보를 가지고 있는 AndroidMenifest.xml 파일에 권한을 설정 및 변경을 해 주어야 한다는 점이다. 이에 따라, 본 발명의 일 실시예에서는 소스코드를 제공할 때 상술한 파일에 권한을 설정 및 변경할 수 있도록 초기설정할 수 있다.
덧붙여서, 지역 기반의 소상공인이 사용자인 경우 하나의 지역, 지자체 또는 시 단위로 하나의 애플리케이션으로 묶어서 연계가 되도록 제작할 수도 있다. 애플리케이션은 계속하여 제작되고 계속하여 사라지고 있지만, 일반 사용자인 고객들의 스마트폰의 메모리는 한정되어 있다. 이미 OS가 차지하는 내부 메모리도 큰 데 추가 메모리를 구매하지 않거나 추가 메모리의 삽입을 허용하지 않는 디바이스를 가진 사용자는 애플리케이션을 계속하여 설치하는 것에 부담을 느낀다. 이에 따라, 상술한 모바일웹으로 구현을 하거나 하나의 지역이나 지자체 내의 소상공인이 가입을 하거나 만들고자 하는 경우 이를 하나의 행정구역 단위로 묶어서 하나의 애플리케이션으로 제작되도록 하고, 소상공인이 추가로 가입할 때마다 이를 하위 메뉴로 묶어 페이지를 제공할 수도 있다.
이하, 상술한 도 2의 저작 서비스 제공 서버의 구성에 따른 동작 과정을 도 3을 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3a를 참조하면, 사용자는 애플리케이션 제작하기 버튼을 누르고 콘텐츠를 편집한 후 미리보기를 누르고 이상이 없다면 바로 소스코드를 생성하고 다운로드할 수 있도록 구성된다. 이때, 도 3b와 같이 본 발명의 일 실시예에 따른 저작 서비스 제공 서버(300)는 클라우드 서버로 구현되어 소스코드를 빌드 및 컴파일한 후 애플리케이션 설치파일을 생성하고 사용자 단말(100)로 전송할 수 있다. 만약 도 3c와 같이 사용자 단말(100)에서 사진을 바꾸고 싶거나 기능을 수정하고 싶은 경우에도 업데이트 없이 클라우드 기반으로 수정된 데이터를 실시간으로 전송하고 송신할 수 있다. 설치파일을 설치한 일반 사용자와, 사용자 단말(100) 및 저작 서비스 제공 서버(300) 간의 데이터 흐름은 도 3d와 같다. 도 3e와 같은 과정만 거치면 사용자 단말(100)에서 할 일은 모두 끝이 난다. 또 도 3f와 같이 시스템 운영 관리 기능까지 제공하기 때문에 유지보수나 이후 광고 푸시, 또 무엇보다 가장 중요한 앱스토어 등록 과정도 대행해줄 수 있다. 도 3g를 참조하면, 사용자 소스코드나 기본 소스코드를 보호하기 위하여 프로가드 설정을 할 수 있고, 실제 제작된 소스코드는 사용자에게 발급된 라이선스 키를 입력해야지만 정상동작 할 수 있다.
도 4는 사용자 단말(100)에서 본 발명의 저작 서비스를 이용하여 애플리케이션을 제작하는 과정을 시연한 것을 촬영한 화면이다. 이때, URL은 네이버의 URL을 넣었으나 이는 테스트를 위한 것일 뿐 반드시 네이버의 URL만 들어가는 것은 아니다. 도 4a에서 본 발명의 일 실시예에 따른 애플리케이션인 메이더(Maderr, 저작 서비스 명칭) 아이콘을 선택하면, 도 4b와 같은 화면이 나타난다. 이때, 도 4c와 같이 메이더를 통하여 제작된 애플리케이션이 프로젝트에 리스트업되어 나타난다. 본 발명의 일 실시예에 따른 시연이 끝나면 시연한 테스트 애플리케이션도 프로젝트 공간에 나타나게 된다.
도 4d와 같이 어느 하나의 템플릿을 선택한 후 제작하기 화면을 보면 "상단 타입을 입력하세요", "웹 URL을 입력하세요", "하단 타입을 입력하세요"라는 안내문구가 나온다. 이때, 도 4e와 같이 각 영역을 터치하여 도 4f와 같이 타이틀을 넣을 때 텍스트로 입력하고 텍스트 색상이나 배경 색상을 고를 수 있게 설정된다. 타이틀을 "tedy"라고 기재하고, 연결할 URL을 도 4g와 같이 넣고 도 4h와 같이 미리보기를 누르면, 도 4i와 같이 상단에 tedy와 설정한 노란색이 배경으로 나오고, 그 중간에 연결한 URL이 표시된다. 구동되는 것을 미리본 후 이대로 저장하고 싶다면 도 4j와 같이 저장하기를, 수정하고 싶다면 수정하기를 눌러서 수정하면 된다. 도 4k 및 도 4l에서 애플리케이션 이름을 "test"라고 기재하고 도 4m과 같이 아이콘을 선택하면, 도 4n과 같이 애플리케이션 아이콘, 이름 등이 설정되고 스플래시 타입이나 서비스 타입을 더 선택할 것인지를 결정하면 된다. 도 4o와 같이 모두 부가 서비스를 신청하지 않고 저장 및 다운로드를 누르면, 도 4p와 같이 이메일이나 메시지 등으로 저장할 것인지를 묻고, 이메일을 기재했다면 실행파일은 해당 이메일로 전송된다. 도 4q와 같이 프로젝트에 "테스트"가 나온 것을 확인할 수 있고, 도 4r를 참조하면 "경기신보"와 같이 이미 프로젝트가 완료되어 심사까지 대행을 맡긴 경우에는 현재 심사가 어떤 과정에 있는지를 파악할 수 있다. 또 도 4s와 같이 스플래시는 어떠한 스타일로 했는지, 앱 디자인이나 푸시 연동은 했는지 등을 볼 수 있다.
이와 같은 도 2 내지 도 4의 클라우드 기반 애플리케이션 저작 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 클라우드 기반 애플리케이션 저작 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 클라우드 기반 애플리케이션 저작 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 저작 서비스 제공 서버는, 클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하고(S5100), 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성한다(S5200).
그리고, 저작 서비스 제공 서버는, 사용자 소스코드에 라이선스 키를 생성하여 결합하고(S5300), 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성한다(S5400).
또, 저작 서비스 제공 서버는, 사용자 단말로 사용자 소스코드 및 설치파일을 전송한다(S5500).
상술한 단계들(S5100~S5500)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5500)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 클라우드 기반 애플리케이션 저작 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 클라우드 기반 애플리케이션 저작 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 클라우드 기반 애플리케이션 저작 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (9)

  1. 애플리케이션 제작하기 버튼을 선택한 후 출력되는 적어도 하나의 템플릿 중 어느 하나의 템플릿을 선택하고, 상기 어느 하나의 템플릿에 기 매핑되어 저장된 화면 영역 내 기능을 설정하며, 상기 화면 영역 내 포함될 적어도 하나의 콘텐츠를 업로드하고 미리보기 후, 상기 어느 하나의 템플릿, 설정 및 적어도 하나의 콘텐츠가 결합된 사용자 소스코드를 다운로드하는 사용자 단말; 및
    클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 상기 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하는 데이터베이스화부, 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성하는 코드생성부, 상기 사용자 소스코드에 라이선스 키를 생성하여 결합하는 라이선스부, 상기 사용자 소스코드를 적어도 하나의 가상머신(Virtual Machine)을 이용하여 빌드(Build) 및 컴파일(Compile)한 후 설치파일을 생성하는 파일생성부, 상기 사용자 단말로 상기 설치파일을 전송하는 전송부, 상기 사용자 단말로 상기 설치파일을 전송할 때, 상기 사용자 소스코드의 원본 소스코드를 파일로 상기 사용자 단말로 제공하는 원본제공부, 상기 사용자 단말에서 상기 사용자 소스코드가 생성된 경우, 상기 사용자 소스코드 중 기본 소스코드에 대한 저작권 등록을 진행하는 저작권관리부를 포함하는 저작 서비스 제공 서버;를 포함하며,
    상기 저작권관리부는,
    상기 사용자 단말로 등록된 적어도 하나의 이동 단말 또는 고정 단말 이외의 다른 단말로 상기 사용자 소스코드가 전송된 경우 상기 사용자 소스코드를 사용할 수 없도록 적어도 하나의 애플리케이션 난독화 솔루션을 적용하는 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 템플릿은,
    하이브리드(Hybrid) 애플리케이션 타입(Type), 쇼핑몰 애플리케이션 타입, 게시판 애플리케이션 타입 및 SNS 애플리케이션 타입의 템플릿을 포함하는 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  3. 제 1 항에 있어서,
    상기 저작 서비스 제공 서버는 클라우드 서버인 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  4. 제 1 항에 있어서,
    상기 저작 서비스 제공 서버는,
    상기 사용자 단말에서 앱스토어에 등록 및 심사를 대행의뢰하는 경우, 상기 앱스토어에 상기 생성된 설치파일을 업로드한 후 심사과정을 모니터링하여 상기 사용자 단말에서 확인할 수 있도록 하는 심사대행부;
    를 더 포함하는 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  5. 제 1 항에 있어서,
    상기 저작 서비스 제공 서버는,
    상기 사용자 단말에서 상기 설치파일 내 애플리케이션 설정 또는 콘텐츠를 수정하는 경우, 클라우드 기반으로 설치된 애플리케이션으로 수정 정보를 송신하여 업데이트 없이 실시간 자동적용되도록 하는 수정반영부;
    를 더 포함하는 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  6. 제 1 항에 있어서,
    상기 콘텐츠는 텍스트, 이미지, 사진 및 동영상을 포함하는 멀티미디어 콘텐츠인 것을 특징으로 하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
  7. 삭제
  8. 삭제
  9. 애플리케이션 제작하기 버튼을 선택한 후 출력되는 적어도 하나의 템플릿 중 어느 하나의 템플릿을 선택하고, 상기 어느 하나의 템플릿에 기 매핑되어 저장된 화면 영역 내 기능을 설정하며, 상기 화면 영역 내 포함될 적어도 하나의 콘텐츠를 업로드하고 미리보기 후, 상기 어느 하나의 템플릿, 설정 및 적어도 하나의 콘텐츠가 결합된 사용자 소스코드를 다운로드하는 사용자 단말; 및
    클라우드 기반으로 적어도 하나의 템플릿, 적어도 하나의 화면 영역, 상기 적어도 하나의 화면 영역 내 기능 및 기본 소스코드를 매핑하여 저장하는 데이터베이스화부, 사용자 단말에서 선택 및 설정한 어느 하나의 템플릿에 대응하는 기본 소스코드에 적어도 하나의 콘텐츠 및 설정을 결합하여 사용자 소스코드를 생성하는 코드생성부, 상기 사용자 소스코드가 상기 사용자 단말이 아닌 단말로 전송된 경우, 상기 사용자 단말이 아닌 단말의 식별코드를 저장하여 무단배포경로를 추적하는 무단배포추적부를 포함하는 저작 서비스 제공 서버;를 포함하는 클라우드 기반 애플리케이션 저작 서비스 제공 시스템.
KR1020210068437A 2021-05-27 2021-05-27 클라우드 기반 애플리케이션 저작 서비스 제공 시스템 KR102352225B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068437A KR102352225B1 (ko) 2021-05-27 2021-05-27 클라우드 기반 애플리케이션 저작 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068437A KR102352225B1 (ko) 2021-05-27 2021-05-27 클라우드 기반 애플리케이션 저작 서비스 제공 시스템

Publications (1)

Publication Number Publication Date
KR102352225B1 true KR102352225B1 (ko) 2022-01-18

Family

ID=80052288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068437A KR102352225B1 (ko) 2021-05-27 2021-05-27 클라우드 기반 애플리케이션 저작 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR102352225B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102539560B1 (ko) 2022-12-15 2023-06-02 주식회사 클라우다이크 써드파티 애플리케이션의 라이선스 관리 방법 및 이를 수행하기 위한 클라우드 서버

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140011495A (ko) * 2012-06-07 2014-01-29 주식회사 케이티 변환 장치, 변환 방법 및 사용자 단말
KR20140090503A (ko) * 2013-01-09 2014-07-17 (주)누스코 앱 미리보기 수행 및 자동 인증 가능한 앱스토어 시스템
KR20150047219A (ko) * 2013-10-24 2015-05-04 (주)아이비솔루션 스마트폰 어플리케이션 제작 시스템 및 제작 방법
KR101669467B1 (ko) * 2016-06-13 2016-10-26 (주)프리코어 비 개발자 중심의 어플리케이션 플랫폼으로 구성되는 시스템
KR101743869B1 (ko) * 2015-01-30 2017-06-05 가부시키가이샤 리코 클라우드 애플리케이션 활성화 및 갱신 서비스
KR20180027023A (ko) * 2016-09-05 2018-03-14 바이플러그 주식회사 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140011495A (ko) * 2012-06-07 2014-01-29 주식회사 케이티 변환 장치, 변환 방법 및 사용자 단말
KR20140090503A (ko) * 2013-01-09 2014-07-17 (주)누스코 앱 미리보기 수행 및 자동 인증 가능한 앱스토어 시스템
KR20150047219A (ko) * 2013-10-24 2015-05-04 (주)아이비솔루션 스마트폰 어플리케이션 제작 시스템 및 제작 방법
KR101743869B1 (ko) * 2015-01-30 2017-06-05 가부시키가이샤 리코 클라우드 애플리케이션 활성화 및 갱신 서비스
KR101669467B1 (ko) * 2016-06-13 2016-10-26 (주)프리코어 비 개발자 중심의 어플리케이션 플랫폼으로 구성되는 시스템
KR20180027023A (ko) * 2016-09-05 2018-03-14 바이플러그 주식회사 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102539560B1 (ko) 2022-12-15 2023-06-02 주식회사 클라우다이크 써드파티 애플리케이션의 라이선스 관리 방법 및 이를 수행하기 위한 클라우드 서버

Similar Documents

Publication Publication Date Title
US9430449B2 (en) Systems, methods, and media for managing editable previews of webpages
US9448776B1 (en) Method and apparatus for converting a website into a native mobile application
Ed-Douibi et al. EMF-REST: generation of RESTful APIs from models
US20080215968A1 (en) System and Method for Managing Content of Rich Media
US9864736B2 (en) Information processing apparatus, control method, and recording medium
KR101892702B1 (ko) 멀티 플랫폼을 지원하는 앱 저작 서버, 장치 및 방법
CN101320365A (zh) 一种单据页面动态布局的方法及装置
US20140089379A1 (en) Systems and methods for collaborative mobile device applications
US11175972B1 (en) Application framework for integrating APPs for editing content of a content management system
JP5069794B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
CN104781805A (zh) 用于元数据引导的动态和个人数据管护的方法和装置
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
KR101376467B1 (ko) 네트워크 시스템
KR102352225B1 (ko) 클라우드 기반 애플리케이션 저작 서비스 제공 시스템
KR101892699B1 (ko) 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법
CN114139502A (zh) 文档内容处理方法、装置、设备及存储介质
JP6002302B2 (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
KR101815924B1 (ko) 복수의 유저들이 온라인으로 전자 문서의 작성이 가능하도록 협업 환경을 제공하는 온라인 문서 작성 서비스 장치 및 그 동작 방법
Penberthy Beginning ASP. NET for Visual Studio 2015
Delessio et al. Sams teach yourself Android application development in 24 hours
US10579374B2 (en) Method for converting application and computing device
KR20200079024A (ko) 웹 데이터 수집 장치 및 방법
Olbrich Accessing http interfaces within x3d script nodes
US20240192952A1 (en) Development and deployment of custom applications
Břoušek Evaluation and Usage of Google Progressive Web Apps Technology

Legal Events

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