KR101414795B1 - 인스턴트 웹 앱 생성 장치 및 방법 - Google Patents

인스턴트 웹 앱 생성 장치 및 방법 Download PDF

Info

Publication number
KR101414795B1
KR101414795B1 KR1020130155527A KR20130155527A KR101414795B1 KR 101414795 B1 KR101414795 B1 KR 101414795B1 KR 1020130155527 A KR1020130155527 A KR 1020130155527A KR 20130155527 A KR20130155527 A KR 20130155527A KR 101414795 B1 KR101414795 B1 KR 101414795B1
Authority
KR
South Korea
Prior art keywords
seed
app
combination
apps
workflow
Prior art date
Application number
KR1020130155527A
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 KR1020130155527A priority Critical patent/KR101414795B1/ko
Application granted granted Critical
Publication of KR101414795B1 publication Critical patent/KR101414795B1/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
    • 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/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

인스턴트 웹 앱 생성 장치 및 방법{Instant Web App composing device and method}
본 발명은 인스턴트 웹 앱 생성 장치 및 방법에 관한 것이다.
최근 스마트폰의 등장과 시장 성장은 휴대 단말기 시장이 더 이상 하드웨어 중심이 아닌 소프트웨어 중심으로 변화하고 있는 것을 말해주고 있다. 휴대 단말기를 포함하는 모바일 인터넷에서 콘텐츠와 서비스에 대한 고객 수요가 증가하면서 하드웨어 중심의 휴대 단말기가 더 이상 소비자들에게 어필하지 못하고 있는 실정이다.
또한, 소프트웨어 중심으로의 변화는 사업자들에게 콘텐츠, 서비스 및 OS 라이선싱, 광고 등 수익모델의 다양화와 함께 콘텐츠와 서비스를 유통할 수 있는 어플리케이션 생태계의 확장을 일으키고 있다.
하지만, 현재의 어플리케이션 생태계는 소프트웨어 개발자 위주로 흐르고 있어서 훨씬 더 큰 콘텐츠란 입장에서의 시장을 놓치고 있는데, 이는 현재의 앱 생태계의 문제점은 유통자의 참여와 다루기 쉬운 저작 도구를 갖추지 못하고 있다는 것이다.
콘텐츠를 유통하기 위한 생태계는 다음과 같은 조건을 갖출 필요가 있다.
우선 규모 측면에서 콘텐츠 생산자가 뛰어들기 위해서는 일정 이상의 소비자가 있어야 하고, 콘텐츠 생산자의 지분과 권력 측면에서 콘텐츠 유통업자는 독점계약을 통해 많은 수익을 가져가지 않아야 하며, 커뮤니티 측면에서 콘텐츠를 소비하고 생산하는 사람들 간의 커뮤니티 형성이 필요하고, 유통자의 참여 측면에서 유통 그룹의 참여뿐만 아니라 개인의 참여가 가능한 자유로운 유통 시장의 형성이 필요하며, 저작도구 측면에서 다루기 쉬운 저작도구를 제작함으로써 유통 속도를 증가시키고 콘텐츠의 양을 키울 수 있도록 할 필요가 있다.
하지만, 현재 앱 생태계 중에서 개발자가 아닌 사람들을 위한 다루기 쉬운 저작도구를 제공하는 생태계는 미비한 실정이다.
앱 저작 도구와 관련된 기술로 한국공개특허공보 제10-2013-0091989호에는 모바일 어플리케이션 저작을 위한 방법 및 모바일 단말기가 개시되어 있는데, 이에 의하면 화면 크기가 제약된 모바일 단말기 상에서 사용자가 모바일 어플리케이션을 용이하고 효율적으로 저작할 수 있도록 하고 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
한국공개특허공보 제10-2013-0091989호
본 발명은 프로그래밍 지식이 부족해도 아이디어만 있으면 누구나 쉽게 개발되어 있는 시드앱(seed app)들을 조합해서 원하는 웹 앱을 만들 수 있도록 지원해주는 인스턴트 웹 앱 생성 장치 및 방법을 제공하기 위한 것이다.
본 발명은 결과 화면 중심으로 작업하여 완성된 앱이 어떻게 동작할지 쉽게 예상할 수 있는 인스턴트 웹 앱 생성 장치 및 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 저장소에서 조합 가능한 시드앱을 검색하는 시드앱 검색부; 사용자로부터 검색 대상이 되는 시드앱 정보를 입력받으며, 검색된 시드앱 중 조합 대상을 선택받는 화면 구성부; 조합 대상으로 선택된 시드앱의 입출력 파라미터에 상응하는 워크플로우를 구성하는 워크플로우 구성부; 조합 대상으로 선택된 시드앱의 조합규칙에 의해 시드앱 간의 입출력 파라미터에 상응하는 데이터 변환이 이루어지도록 시드앱 간의 명세 연결을 수행하는 데이터 맵핑부; 상기 워크플로우 구성부에 의해 구성된 워크플로우 및 상기 데이터 맵핑부에 의해 수행된 명세 연결에 따라 신규 기능을 가지는 인스턴트 웹 앱을 생성하는 웹 앱 빌드부를 포함하는 인스턴트 웹 앱 생성 장치가 제공된다.
상기 인스턴트 웹 앱은 하나 이상의 시드앱이 미리 설정된 조합규칙에 따라 연결되어 생성되되, 상기 시드앱은 단위 기능이 구현된 액티비티 및 입출력 파라미터를 포함하는 단위 기능 모듈을 하나 이상 포함하고 있을 수 있다.
상기 조합규칙은 단순 조합, 조건(XOR) 조합, 분기(AND) 조합 중 적어도 하나일 수 있다.
상기 조합규칙에 따른 시드앱의 조합은 내부HTML, 포워딩, 오픈 API, 스크립트 중 적어도 하나를 이용하여 수행될 수 있다.
상기 화면 구성부는 조합대상으로 선택된 시드앱 간의 화면전환 이벤트 사용자 인터페이스를 자동 생성할 수 있다.
상기 워크플로우 구성부는 조합대상으로 선택된 시드앱들의 명세로부터 조합 가능한 워크플로우를 구하고, 협업 필터링, 콘텐츠 기반 필터링과 같은 개인화 추천 시스템, 지식 기반 필터링과 같은 지식 기반 추천 시스템, 기계 학습을 통한 추천 시스템 중 적어도 하나의 추천 시스템을 이용하여 상기 워크플로우의 우선순위를 정하여 추천해 줄 수 있다.
상기 데이터 맵핑부는 조합대상으로 선택된 시드앱에 포함된 단위 기능 모듈의 액티비티가 가지고 있는 입출력 파라미터에 맞는 조합규칙을 찾아 자동적으로 매칭할 수 있다.
한편 본 발명의 다른 측면에 따르면, 인스턴트 웹 앱 생성 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 기록매체를 제공한다.
일 실시예에 따른 인스턴트 웹 앱 생성 방법은, 사용자로부터 검색 대상이 되는 시드앱 정보를 입력받는 단계; 상기 시드앱 정보에 기초하여 저장소에서 조합 가능한 시드앱을 검색하는 단계; 검색된 시드앱 중 조합 대상을 선택받는 단계; 조합 대상으로 선택된 시드앱의 입출력 파라미터에 상응하는 워크플로우를 구성하는 단계; 조합 대상으로 선택된 시드앱의 조합규칙에 의해 시드앱 간의 입출력 파라미터에 상응하는 데이터 변환이 이루어지도록 시드앱 간의 명세 연결을 수행하는 단계; 상기 구성된 워크플로우 및 상기 수행된 명세 연결에 따라 신규 기능을 가지는 인스턴트 웹 앱을 생성하는 단계를 포함할 수 있다.
상기 인스턴트 웹 앱은 하나 이상의 시드앱이 미리 설정된 조합규칙에 따라 연결되어 생성되되, 상기 시드앱은 단위 기능이 구현된 액티비티 및 입출력 파라미터를 포함하는 단위 기능 모듈을 하나 이상 포함하고 있을 수 있다.
상기 조합규칙은 단순 조합, 조건(XOR) 조합, 분기(AND) 조합 중 적어도 하나일 수 있다.
상기 조합규칙에 따른 시드앱의 조합은 내부HTML, 포워딩, 오픈 API, 스크립트 중 적어도 하나를 이용하여 수행될 수 있다.
조합대상으로 선택된 시드앱 간의 화면전환 이벤트 사용자 인터페이스를 자동 생성하는 단계를 더 포함할 수 있다.
상기 워크플로우 구성 단계는 조합대상으로 선택된 시드앱들의 명세로부터 조합 가능한 워크플로우를 구하고, 협업 필터링, 콘텐츠 기반 필터링과 같은 개인화 추천 시스템, 지식 기반 필터링과 같은 지식 기반 추천 시스템, 기계 학습을 통한 추천 시스템 중 적어도 하나의 추천 시스템을 이용하여 상기 워크플로우의 우선순위를 정하여 추천해 줄 수 있다.
상기 명세 연결 수행 단계는 조합대상으로 선택된 시드앱에 포함된 단위 기능 모듈의 액티비티가 가지고 있는 입출력 파라미터에 맞는 조합규칙을 찾아 자동적으로 매칭할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 프로그래밍 지식이 부족해도 아이디어만 있으면 누구나 쉽게 개발되어 있는 시드앱들을 조합해서 원하는 웹 앱을 만들 수 있도록 지원해주는 효과가 있다.
또한, 결과 화면 중심으로 작업하여 완성된 앱이 어떻게 동작할지 쉽게 예상할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 인스턴트 웹 앱 생성 장치의 구성 블록도,
도 2는 인스턴트 웹 앱의 조합의 기본적인 개념도,
도 3은 시드앱들이 조합된 인스턴트 웹 앱의 구성을 나타낸 도면,
도 4는 인스턴트 웹 앱의 조합 과정을 나타낸 순서도,
도 5는 시드앱 구성요소 다이어그램,
도 6은 인스턴트 웹 앱 조합 절차를 나타낸 도면,
도 7은 XPDL 타입의 메타모델 상관관계를 나타낸 도면,
도 8은 웹 앱의 단순 조합 사례를 나타낸 도면,
도 9는 웹 앱의 분기 조합 사례를 나타낸 도면,
도 10은 내부HTML을 이용한 웹 앱 조합을 나타낸 도면,
도 11은 포워딩 방식에 따른 웹 앱 조합을 나타낸 도면,
도 12는 Open API를 이용한 웹 앱 조합을 나타낸 도면,
도 13은 스크립트를 이용한 웹 앱 조합을 나타낸 도면,
도 14는 인스턴트 웹 앱의 기본 레이아웃 템플릿을 나타낸 도면,
도 15a~15l은 인스턴트 웹 앱을 생성하는 과정을 설명하기 위한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 명세서에 기재된 "…부", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하에서는 우선 본 명세서에서 사용되는 용어에 대하여 설명하기로 한다.
인스턴트 웹 앱(Instant Web APP)은 IWA라고도 칭해지며, 두 개 이상의 웹 앱이 추가 개발 없이 즉시 조합되어 그 기능이 확장된 앱을 말한다.
앱(APP)은 원하는 기능을 수행하는 어플리케이션 단위를 말한다. 앱의 기능은 API(Application Program Interface)로 표현되며, API를 통해 앱의 기능을 수행할 수 있다. 앱과 앱이 결합하여 생성된 결과 역시 새로운 앱이 된다.
인터페이스(Interface)는 앱과 앱을 연결하는 논리적 단위를 말한다. 한 앱(호출자 앱, fromAPP)이 기능 수행의 중간 혹은 마지막에서 다른 앱(피호출자 앱, toAPP)의 기능을 인터페이스(Interface)를 통해 호출하는 것을 앱의 연결이라고 정의한다.
액티비티(Activity)는 인스턴트 웹 앱을 구성하기 위한 최소단위의 기능이며, 인터페이스(Interface)를 Web Resource를 이용하여 구현한 구현체이다.
시드앱(Seed App)은 하나 이상의 액티비티(Activity)로 구성된 조합가능한 앱이다.
시드앱의 액티비티들을 결합하여 새로운 인스턴트 웹 앱을 만들 수 있다. 예를 들면, RSS, YouTube, 사진, 트위터, 지도, 메모, 연락처, 팟캐스트, 방명록, 일정, 푸시 등의 기능을 수행하는 액티비티(Activity)가 시드앱의 구성원이 될 수 있다.
조합규칙(Rule)은 두 인터페이스의 연결 정보이다. 호출자 인터페이스, 피호출자 인터페이스 그리고 데이터 변환 로직으로 구성된다. 데이터 변환 로직은 호출자 인터페이스에서 전달된 데이터를 피호출자 인터페이스의 입력 데이터 형식으로 변환한다.
예를 들면 "파일정보 인터페이스"를 만들었다고 가정하자.
"파일정보 인터페이스는" INPUT 파라미터가 "디렉토리 위치"이고, OUTPUT 파라미터가 "파일명"이다.
그리고 "파일 재생 인터페이스"를 만들었다고 가정하자.
"파일재생 인터페이스"는 INPUT 파라미터가 "파일명"이고, OUTPUT 파라미터가 "재생상태"이다.
"파일 정보 인터페이스"를 구현한 "사진 파일 정보", "음악 파일 정보", "영화 파일 정보" 등 여러개의 액티비티가 생성될 수 있다.
"파일재생 인터페이스"를 구현한 "음악 플레이어", "동영상 플레이어", "사진 미리보기"등 여러개의 액티비티가 생성될 수 있다.
조합 규칙은 "파일정보 인터페이스"와 "파일재생 인터페이스", 데이터 변환 로직 정보를 가짐으로써 하나의 조합규칙으로 조합될 수 있는 다수의 액티비티를 검색 및 결합 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인스턴트 웹 앱 생성 장치의 구성 블록도이고, 도 2는 인스턴트 웹 앱의 조합의 기본적인 개념도이며, 도 3은 시드앱들이 조합된 인스턴트 웹 앱의 구성을 나타낸 도면이고, 도 4는 인스턴트 웹 앱의 조합 과정을 나타낸 순서도이며, 도 5는 시드앱 구성요소 다이어그램이고, 도 6은 인스턴트 웹 앱 조합 절차를 나타낸 도면이며, 도 7은 XPDL 타입의 메타모델 상관관계를 나타낸 도면이다.
본 발명의 일 실시예에 따른 인스턴트 웹 앱 생성 장치는 미리 제작된 시드 앱들을 조합하여 원하는 기능을 가지는 인스턴트 웹 앱을 생성할 수 있으며, 결과 화면 중심으로 작업하여 완성된 앱이 어떻게 동작할 지 쉽게 예상할 수 있도록 한다.
인스턴트 웹 앱 생성 장치(100)는 시드앱 검색부(110), 화면 구성부(120), 워크플로우 구성부(130), 데이터 맵핑부(140), 웹 앱 빌드부(150)를 포함한다.
시드앱 검색부(110)는 조합 가능한 시드앱을 검색한다. 시드앱은 저장소(Repository)에 메타모델 형태로 저장되어 있을 수 있다.
저장소에는 시드앱 메타모델 이외에 조합규칙 메타모델이 저장되어 있을 수 있다. 저장소는 별도의 데이터베이스로 구현되어 있거나 앱 마켓 혹은 스토어일 수 있다.
화면 구성부(120)는 결과 화면 중심으로 레이아웃을 구성하고, 화면전환 사용자 인터페이스(UI)를 선택하게 한다.
화면 구성부(120)에는 사용자(조합자)로부터 시드앱의 신규/추가/삭제 여부, 신규/추가/삭제 대상 선택, 테마 선택 등을 입력받기 위한 사용자 입력부(미도시)가 포함되어 있을 수 있다.
워크플로우 구성부(130)는 선택된 시드앱의 IN/OUT 명세에 맞추어 유력한 워크플로우(Workflow)를 추천하고 구성해준다.
데이터 맵핑부(140)는 조합규칙에 의해 자동으로 시드앱 간의 명세가 연결된다. 데이터 맵핑부(140)는 시드앱의 개발자가 정의한 조합규칙을 이용하여 자동으로 데이터를 맵핑 처리하는 사용자 인터페이스 엔진(UI Engine)일 수 있다.
웹 앱 빌드부(150)는 새로운 기능을 가지는 인스턴트 웹 앱을 생성한다. 이 때 인스턴트 웹 앱 생성 시에 클라우드 빌드를 지원한다.
본 실시예에서 인스턴트 웹 앱을 생성함에 있어서 시드앱들을 조합하는 것은 어느 하나의 시드앱의 인터페이스와 다른 하나의 시드앱의 인터페이스를 연결하는 것이다. 일반 웹 앱에서는 사용자의 액션을 반응할 수 있는 버튼 혹은 링크가 인터페이스라고 볼 수 있다.
여기서, 메타모델은 시드앱들이 조합되는 과정에서 인터페이스가 동적으로 바뀔 수 있도록 한다.
메타모델이 미 적용된 링크의 경우 버튼의 기능이 바뀌려면 프로그램 코드를 수정해야 하지만, 본 실시예에서와 같이 메타모델을 적용하는 경우 메타모델의 수정만으로도 버튼의 기능을 용이하게 바꿀 수 있게 된다.
이 때 메타모델을 웹 앱 인터페이스에 적용하는 과정에서 메타모델을 해석하여 처리하기 위한 런타임 엔진(Runtime Engine)이 웹 앱 빌드부(150)에 포함될 수 있다.
인스턴트 웹 앱 조합의 기본적인 개념이 도 2에 도시되어 있다.
도 2를 참조하면, 시드앱과 시드앱을 조합하기 위해서는 앱의 입출력 파라미터와, 파라미터를 연결하고 데이터를 맵핑할 조합규칙이 요구된다.
상세하게는 앱 조합의 기본 단위인 시드앱에는 다른 앱과의 연계를 위한 입출력 파라미터가 존재한다. 그리고 호출자 앱(Caller, SeedApp1)의 출력 파라미터와 피호출자 앱(Callee, SeedApp2)의 입력 파라미터를 연결할 조합규칙이 존재한다. 시드앱과 조합규칙을 이용하여 앱을 조합할 수 있게 된다.
시드앱들이 조합된 인스턴트 웹 앱이 도 3에 도시되어 있다.
도 3을 참조하면, 시드앱(210, 220, 230)은 단위 기능을 구현한 액티비티와 입출력 파라미터를 포함하는 단위 기능 모듈(211, 212, 221, 222, 231)이 하나 이상 포함되어 있을 수 있다.
액티비티는 시드앱(210, 220, 230)의 기능을 구현한 최소 단위로서, 입출력 파라미터를 포함하고 있다. 액티비티의 기능은 명세(Specification)에 정의되어 있으며, 명세가 정의되면 입출력 데이터, 입출력 파라미터의 구조도 결정된다.
시드앱들(210, 220, 230) 간에는 조합규칙에 의해 서로 연결되며, 액티비티의 단위 기능들이 조합규칙에 의해 서로 연결되면서 새로운 기능이 구현되고, 이것이 인스턴트 웹 앱(200)의 신규 기능이 된다.
여기서, 조합규칙은 단위 기능 모듈(211, 212, 221, 222, 231)의 출력 파라미터와 입력 파라미터 간의 변환 규칙과 화면 전환 규칙에 관한 것으로, 명세가 결정되면 조합규칙이 결정될 수 있다.
본 실시예에 따른 인스턴트 웹 앱의 조합 과정은 다음과 같다. 일반 사용자도 쉽게 인스턴트 웹 앱을 조합할 수 있도록 위저드(Wizard) 방식으로 동작하는 것을 가정한다.
도 4를 참조하면, 화면 구성부(120)에 의해 구성된 조합 위저드(composing wizard)가 실행되면(단계 S310), 시드앱의 신규/추가/삭제 여부를 확인한다(단계 S315).
신규/추가의 경우에는 시드앱 검색부(110)는 저장소에서 사용자가 입력한 데이터에 상응하는 시드앱을 검색하거나 추천한다(단계 S320).
사용자는 검색/추천된 시드앱에서 신규/추가하고자 하는 시드앱을 선택하고(단계 S325), 필요에 따라 선택된 시드앱의 테마를 선택할 수도 있다(단계 S330).
그리고 시드앱의 단위 기능을 테스트한 후(단계 S335) 시드앱 조합 단계(단계 S345)로 진행한다.
단계 S315에서 시드앱 삭제의 경우에는 삭제 대상이 되는 시드앱이 선택되면(단계 S340), 시드앱 조합 단계(S345)로 진행한다.
시드앱 조합 단계(S345)에서는 웹 앱 빌드부(150)가 선택된 신규/추가/삭제 대상 시드앱에 대하여 사전에 정의된 액티비티, 명세, 조합규칙에 의해서 상응하는 처리를 수행하여 개별적인 시드앱들이 하나의 인스턴트 웹 앱 내에서 소정의 연관관계를 가지면서 조합되도록 한다.
웹 앱 빌드부(150)는 시드앱의 추가/삭제 등의 추가 작업이 필요한지 판단하고(단계 S350), 추가 작업이 필요한 경우에는 단계 S315로 되돌아가고, 추가 작업이 필요하지 않은 경우에는 다음 단계로 넘어간다.
웹 앱 빌드부(150)는 새롭게 조합된 인스턴트 웹 앱을 검증하고(단계 S355), 앱 시뮬레이션을 수행한다(단계 S360). 그리고는 신규 조합된 인스턴트 웹 앱의 메타 정보를 저장소에 등록하고(단계 S365), 마켓을 통한 배포 여부를 결정한다(단계 S370).
마켓을 통해 배포하지 않는 경우에는 인앱 업데이트만을 수행하고(단계 S375), 마켓을 통해 배포하는 경우에는 앱 빌드를 요청한 후(단계 S380), 조합 위저드를 종료한다(단계 S385).
시드앱 조합 단계(S345)에 대하여 보다 상세히 설명하면 다음과 같다.
IWA(200)는 하나 이상의 시드앱(210)이 조합되어 구성되며, 시드앱(210)은 하나 이상의 액티비티(211)를 포함한다. 액티비티(211)에는 조합규칙(250), 출력 파라미터(260), 입력 파라미터(270), 명세(280)가 포함되며, 이들 각각의 관계는 도 5에 도시된 다이어그램과 같다.
도 6을 참조하면, 인앱 확장을 위해 시드앱을 선택하게 되면, 웹 앱 빌드부(150)는 시드앱을 구성하는 액티비티와 액티비티의 명세 정보를 조회할 수 있다. 웹 앱 빌드부(150)는 조합 대상 시드앱의 액티비티 목록을 추출한다(단계 S410).
그리고 액티비티 목록 중에서 액티비티의 명세 정보를 추출한다(단계 S420). 명세가 결정되면 입출력 파라미터와 조합규칙이 결정되며(단계 S430), 앱을 확장하는데 필요한 정보가 모두 준비되게 된다.
저장소에서 웹 앱 빌드부(150)로 SeedApp과 조합규칙을 다운로드하고(단계 S440), SeedApp과 조합규칙을 결합하여(단계 S450) 앱을 확장하게 된다.
본 실시예에서 인스턴트 웹 앱은 조합에 사용한 SeedApp, 액티비티, 입출력 파라미터, 명세, 조합규칙과 실행 플로우에 대한 메타 데이터를 가져야 하는데, 이러한 인스턴트 웹 앱의 메타모델은 XPDL(Xml Process Definition Language) 기반으로 WfMC 참조 모델을 이용할 수 있다.
WfMC는 Workflow Management Coalition의 약자이며, 워크플로우 업체들을 중심으로 결성된 단체로 워크플로우에 관련된 표준들을 제정하고 있다. 워크플로우 코어/외부 어플리케이션과의 연동을 위한 표준을 제공하고 있으며, 정의된 프로세서의 상호 교환을 위한 인터페이스인 XPDL을 본 실시예에서 앱 조합을 위한 메타 표준으로 활용할 수 있다.
XPDL의 기본 프레임워크(Basic Framework)는 모델 내에서 사용될 데이터 타입을 선언하는 영역인 데이터 선언(Data Declaration) 영역, 모델 내에서 비즈니스의 로직을 가지고 있는 액티비티 타입 선언 영역인 어플리케이션(Application) 영역, 어플리케이션에서 선언된 액티비티의 타입에 대해 인스턴스 데이터(instance data)를 표현하기 위한 영역인 액티비티(Activity) 영역, 액티비티 간의 플로우를 표현하기 위한 영역인 변환(Transition) 영역으로 구분된다.
즉, 애플리케이션 영역, 액티비티 영역 및 변환 영역은 각각 액티비티의 타입(type), 인스턴스(instance), 플로우(flow)에 관한 영역으로 볼 수 있다.
여기서, SeedApp 메타모델은 XPDL의 애플리케이션과 액티비티 영역을 통해 표현될 수 있으며, 조합규칙 메타모델은 변환 영역을 통해 표현될 수 있다(도 7 참조).
시드앱의 조합 방식으로는 단순 조합, 조건(XOR) 조합, 분기(AND) 조합 등이 있을 수 있다.
단순 조합은 시드앱1과 시드앱2을 단순하게 연결하는 것이며, 조건 조합은 조건에 의해 연결관계가 변경되는 것이며, 분기 조합은 복수의 시드앱에 순차적으로 연결하는 것을 나타낸다.
웹 앱의 조합 사례에 대하여 관련 도면을 참조하여 설명하기로 한다.
도 8은 웹 앱의 단순 조합 사례를 나타낸 도면이고, 도 9는 웹 앱의 분기 조합 사례를 나타낸 도면이며, 도 10은 내부HTML을 이용한 웹 앱 조합을 나타낸 도면이고, 도 11은 포워딩 방식에 따른 웹 앱 조합을 나타낸 도면이며, 도 12는 Open API를 이용한 웹 앱 조합을 나타낸 도면이고, 도 13은 스크립트를 이용한 웹 앱 조합을 나타낸 도면이며, 도 14는 인스턴트 웹 앱의 기본 레이아웃 템플릿을 나타낸 도면이고, 도 15a~15l은 인스턴트 웹 앱을 생성하는 과정을 설명하기 위한 도면이다.
우선 도 8에 도시된 것과 같이 영화정보 앱과 영화예매 앱의 연결과 같이 단순 조합이 이루어질 수 있다.
영화정보 앱에 구현되어 있는 예매 버튼에 대해서 영화애매 앱을 조회하여 지정함으로써 조합이 가능하며, 개발자가 정의한 조합규칙을 이용하여 데이터 맵핑부(140)에서 자동으로 맵핑할 수 있다.
지정 방법은 사용자 화면에서 시드앱의 예매 버튼에 대해서 연결하고자 하는 시드앱(예를 들어, 도면에서는 CGV 영화예매 앱)을 드래그함으로써 예매 버튼에 할당되어 있는 영화예매 인터페이스가 CGV 영화예매 앱과 연동하여 동작할 수 있게 된다.
다음으로 도 9에 도시된 것과 같이 영화정보 앱과 영화예매 앱이 서버인증 결과에 의해 처리되도록 하는 조건에 의해 조합될 수 있다.
영화정보 앱과 영화예매 앱을 연결함에 있어서, 서버인증(Check_SSO)을 포함시키고, Check_SSO의 TransitionRestriction은 Transition p002-1과 p002-2를 비동기로 수행하도록 할 수 있다. p002-1은 ID 및 PW과 정상적으로 넘어온 경우이며, p002-2는 ID 혹은 PW 중 적어도 하나가 정상적으로 넘어오지 못한 경우를 나타낸다.
조합되는 앱은 도 10에 도시된 것과 같이 내부HTML(innerHTML) 형태로 합져질 수 있다.
도면에서는 영화정보 앱 내에 콘텐츠 영역이 고정영역으로 정의된 경우, 해당 고정영역에 영화예매에 관한 시드앱(CGV 앱 혹은 롯데시네마 앱)이 콘텐츠 형태로 조합되어 사용자에게 보다 직관적인 사용자 인터페이스를 제공할 수 있다.
콘텐츠 삽입의 경우에는 HTML의 IFRAME 태그에 메타모델을 적용하여 처리될 수 있다.
또한, 조합되는 시드앱이 내부HTML 형태로 합쳐짐에 있어서 콘텐츠 영역이 동적으로 처리될 수도 있다. 조합되기 전에는 영화정보 앱에서 콘텐츠 영역이 보여지지 않아, 영화정보 앱에 영화예매 앱을 조합하지 않아도 자연스러운 사용자 인터페이스를 구성할 수 있다.
이 경우에도 HTML의 IFRAME 태그에 메타모델을 적용하여 처리될 수 있으며, 콘텐츠 영역이 동적으로 조절하기 위해 width와 height 속성을 사용할 수 있습니다. IFRAME은 width="0", height="0"인 경우에 화면에 디스플레이하지 않고, width와 height 속성이 가변적인 속성이므로 메타모델로 정의되도록 할 수 있다.
포워딩(forwarding)에 의한 웹 앱 조합도 가능할 수 있다.
도 11을 참조하면, 영화예매 버튼을 통해 포워딩 사용자 인터페이스가 호출되고, 포워딩 사용자 인터페이스에서 선택된 링크로 처리될 수 있다.
영화관련 정보 항목에 영화예매, 영화SNS, 영화관위치정보 항목이 포함되어 있으며, 각 항목마다 상응하는 시드앱이 연결되어 있을 수 있다.
이 경우 URL을 동적으로 리디렉션(redirection)할 수 있는 환경에서 메타모델을 해석하여 포워딩 처리가 이루어지도록 한다. 예를 들면, 서블릿(Servlet)을 통해 서비스되는 경우 서블릿이 메타모델을 해석하여 처리되도록 할 수 있다.
도 12을 참조하면, 오픈 API(Open API)를 제공하는 외부 웹 앱을 조합하는 경우는 다음과 같다.
일반적으로 외부 웹 앱은 HTTP Get 방식의 파라미터 또는 POST 방식의 XML, JSON으로 명세를 정의하고 있다. 이러한 외부 웹 앱의 파라미터 부분을 메타모델의 인터페이스로 추출할 수 있으며, URL을 메타모델로 정의해야 한다. 예를 들면, Get 방식을 사용하는 외부 웹 앱인 경우 HTML의 FORM 태그에 메타모델을 적용하여 처리할 수 있다.
즉, 개발자가 외부 웹 앱을 시드앱으로 래핑(Wrapping)하여 생성하게 함으로써, 인스턴트 웹 앱 생성 장치에서 일반 시드앱과 동일한 방법으로 조합할 수 있게 된다.
도 13을 참조하면, 스크립트(Script)가 포함된 웹 앱을 조합하는 경우는 다음과 같다.
비밀번호와 같이 보안처리가 필요할 경우에 스크립트가 중간에 개입하여 처리될 수 있다. 메타모델에 ExtendAttribute의 스크립트 영역을 추가하여 사용자 인터페이스 엔진이 처리할 수 있다.
본 실시예에 따른 인스턴트 웹 앱 생성 장치에서 시드앱들을 조합하는 경우 반복되는 작업이 많거나 전문성이 필요한 부분을 자동화시켜 엔드 유저(End-User)도 아이디어만 있으면 시드앱들을 조합하여 인스턴트 웹 앱을 만들도록 할 수 있다.
도 1에 도시된 인스턴트 웹 앱 생성 장치(100)의 구성요소 중에서 화면 구성부(120), 워크플로우 구성부(130), 데이터 맵핑부(140) 중 적어도 하나에 대해서 자동화 적용이 가능하다.
화면 구성부(120)에서는 화면전환 사용자 인터페이스를 자동 생성함으로써 시드앱 간에 일일이 화면전환 사용자 인터페이스를 구성하는 수고를 덜어줄 수 있다.
워크플로우 구성부(130) 및 데이터 맵핑부(140)에서는 각각 워크플로우 구성 자동화 및 입출력 데이터 맵핑 자동화를 통해 전문성이 없어도 시드앱을 조합할 수 있도록 한다.
데이터 맵핑부(140)에서의 입출력 데이터 맵핑 자동화의 경우, 데이터 맵핑을 조합규칙이 자동적으로 해줄 수 있다. 즉, 사용자가 매 조합 때마다 출력 명세와 입력 명세에 대하여 하나하나 어떤 변수가 어떤 변수로 이어지는지를 설명해주는 과정을 생략하고, 조합규칙의 도입을 통해 조합이 가능한 두 시드앱 사이를 자동으로 연결해 주어 사용자가 정확한 명세를 알지 못하는 경우에도 조합이 가능하도록 할 수 있다.
이는 시드앱에 있는 단위 기능 모듈의 액티비티가 입출력 명세를 가지고 있고, 이 정보를 기반으로 선택된 시드앱들 내의 액티비티들의 입출력 명세에 맞는 조합규칙을 찾아서 자동적으로 매칭함으로써 가능할 수 있다.
조합규칙의 경우 이전 명세와 다음 명세를 정의하고 있어, 조합규칙을 찾아 내면 자동적으로 시드앱이 조합될 수 있다.
워크플로우 구성부(130)에서의 워크플로우 구성 자동화의 경우, 사용자에 의해선택된 시드앱들로 이루어진 가능한 워크플로우들 중에서 사용자가 선택할만한 적절한 워크플로우를 골라서 추천해 줄 수 있다. 사용자는 워크플로우 관련 지식이 부족한 경우에도 추천된 조합 상태들을 직접 실행해 보면서 어느 것을 고를지 선택할 수 있다.
시드앱들의 명세로부터 조합 가능한 워크플로우를 구하고, 그 중에서 사용자들의 앱 제작 경향에 기초하여 우선순위를 정하여 사용자에게 추천해 줄 수 있다.
여기서, 워크플로우의 추천 시스템으로는 협업 필터링(Collaborative filtering), 콘텐츠 기반 필터링(Content-based filtering)과 같은 개인화(Personalization) 추천 시스템, 지식 기반 필터링(Knowledge filtering)과 같은 지식 기반 추천 시스템, 기계 학습(Machine Learning)을 통한 추천 시스템 등이 있을 수 있다.
협업 필터링의 경우 비슷한 유형의 사람들이 동일하게 좋아하는 콘텐츠를 추천하며, 예를 들어 영화, 음악 등의 단순 선택 콘텐츠 추천에 적합하다. 콘텐츠 기반 필터링의 경우 개인의 과거 호불호를 통해 내용이 비슷한 콘텐츠를 추천하며, 예를 들어 영화, 음악 등의 단순 선택 콘텐츠 추천에 적합하다. 지식 기반 필터링의 경우 논리적 제약사항이나 상대적 케이스 비교를 통해 적합한 추천 대상을 찾는 것으로, 비교 가능한 수치가 명확히 알려져 있는 대상을 추천하는데 적합하다. 기계 학습의 경우 과거의 경험을 토대로 평가 함수를 학습해 추천하게 되며, 올바른 추천을 위해서는 많은 학습데이터가 필요하게 된다.
협업 필터링, 콘텐츠 기반 필터링은 사용자에게 추가할 시드앱을 추천할 때 알맞은 방식이며, 기계 학습 방식은 워크플로우 자동 생성에 알맞은 방식일 수 있다.
화면 구성부(120)에서의 화면전환 이벤트 사용자 인터페이스 구성 역시 자동적으로 만들어질 수 있다. 시드앱을 조합하는 과정에서 화면전환 이벤트 사용자 인터페이스를 자동적으로 생성해주어, 조합을 변경할 때 연관된 페이지들이 어떤 방식으로 화면전환 하는지 지정하는 수고를 덜어줄 수 있다.
또한, 워크플로우에서 수행 가능한 이벤트 사용자 인터페이스에 대해 활성/비활성 또는 보임/숨김과 같은 제어를 수행할 수 있다.
레이아웃 템플릿(LayOut Template)은 인스턴트 웹 앱의 기본 사용자 인터페이스 레이아웃으로, 화면 구성부(120)에서는 레이아웃 템플릿 기반으로 인스턴트 웹 앱이 동작될 수 있도록 레이아웃 템플릿을 제공할 수 있다.
레이아웃 템플릿의 경우 N스크린(N-Screen)을 지원할 수 있고, 시드앱 간의 화면전환 이벤트를 처리할 레이어를 포함할 수 있다. 또한, 인스턴트 웹 앱의 설정 및 라이선스 정보를 보여줄 수 있는 메뉴를 포함하고, 다양한 레이아웃 템플릿을 적용하여 인스턴트 웹 앱이 구동될 수 있도록 한다.
도 14에 도시된 것과 같이 기본 레이아웃 템블릿(400)은 상단의 타이틀 영역(410), 하단의 앱 전환 아이콘 영역(430) 및 메뉴(440), 중간의 시드앱 임베디드 영역(420)을 포함하도록 정의될 수 있다. 여기서, 상하 방향 혹은 좌우 방향으로 N스크린이 적용될 수 있다.
인스턴트 웹 앱의 경우 테마(Theme)가 정의될 수 있다.
테마는 인스턴트 웹 앱이 여러 종류의 시드앱들의 조합을 통해 생성되었기 때문에 하나의 앱으로 개발된 것과 같이 이질감 없는 사용자 인터페이스 디자인 적용을 필요로 하기에 정의된 것으로, 인스턴트 웹 앱은 테마 아키텍처를 정의하고 구동되도록 할 수 있다.
IWA 테마는 인스턴트 웹 앱의 컴포넌트 설정을 교체할 수 있고, 레이아웃과 컴포넌트의 CSS와 이미지를 교체할 수 있다. 사용자 인터페이스 엔진의 설정 변경을 통해 실시간으로 테마를 적용할 수 있다.
여기서, 테마 아키텍처는 다음과 같다. 개발자는 시드앱 개발 시에 기본 테마를 사용하거나 개발자가 정의한 테마로 개발할 수 있다. 조합자는 테마 관리자를 통해 시드앱 별로 변경 가능한 테마를 실시간으로 적용하여 확인할 수 있다. 사용자 인터페이스 엔진은 테마 관리자를 통해 정의된 설정파일을 해석하여 테마를 실시간으로 적용한다.
웹 앱의 조합에 있어서 다음과 같은 제약사항이 있다.
조합은 웹 앱의 조합만이 가능하며, 조합 단위는 시드앱으로 한정된다. URL 링크 혹은 Open API 조합은 시드앱 형태로 래핑되어 있어야 한다.
인 앱 확장은 인스턴트 웹 앱에 시드앱을 추가 또는 삭제하는 기능으로 제한된다.
모바일 웹 앱을 재사용하기 위해서는 모바일 웹 앱을 시드앱으로 래핑하는 작업이 필요하다. 이 경우 개발자는 기존 모바일 웹 앱을 호출할 수 있고 시드앱 규칙을 준수하는 웹 앱 래퍼(WebApp Wrapper)를 개발해야 한다. 그리고 개발자가 시드앱 명세 및 조합규칙을 정의해야 하며, 테마를 적용할 수는 없으며, 크로스 도메인(Cross Domain)에 따른 접근 제약이 발생할 수 있다.
인스턴트 웹 앱 생성 장치(100)에서 시드앱을 조합하여 인스턴트 웹 앱을 생성하는 과정을 예시 화면을 중심으로 설명하기로 한다.
도 15a에는 인스턴트 웹 앱의 메인 화면이 도시되어 있다.
A는 IWA 메인 화면이고, B는 각종 설정과 관련된 기능 버튼으로 클릭 시 C 영역과 같이 감춰져 있던 기능 버튼 리스트가 출력될 수 있다.
Config 아이콘은 IWA 설정을 위한 아이콘이며, Composer 아이콘은 컴포저 메인 화면으로 이동하고, AddApp 아이콘은 컴포저 메인 화면에서 제공되지만 도면에서와 같이 SeedApp 추가 화면이동을 줄이기 위하여 IWA 메뉴로 등록할 수도 있다.
도 15b에는 컴포저 메인 화면이 도시되어 있다.
컴포저 메인 화면(A)을 통해 기본정보 및 SeedApp을 등록하며, App 조합 환경을 구성한다. 각 아이콘의 기능은 다음과 같다.
Basic 아이콘은 IWA 타이틀, 아이콘, 배경이미지 등의 기본정보를 등록하며, SeedApp 아이콘은 SeedApp을 추가한다. Notice 아이콘은 컴포징 공지사항에 관한 것이며, Theme 아이콘은 테마를 설정하고, Help 아이콘은 도움말에 관한 것이다.
도 15c에는 컴포저 메인 화면의 Basic 아이콘을 선택한 경우 표시되는 기본정보 화면에 도시되어 있다.
기본정보 화면에는 IWA 타이틀, 카테고리, 아이콘, 시작이미지를 정의할 수 있으며, MAKE APP 버튼을 이용하여 최종 IWA로 빌드 요청을 할 수 있다.
도 15d에는 SeedApp 아이콘을 선택한 경우 표시되는 SeedApp 메인 화면이 도시되어 있다.
SeedApp 메인 화면은 SeedApp 등록을 위한 검색 화면으로, "B" 영역을 선택하면 SeedApp 검색 상세 항목이 슬라이드로 제공될 수 있다.
검색어를 입력하면 조합 가능한 SeedApp의 액티비티 리스트가 조회되며(C 참조), 액티비티 리스트의 Add 버튼(D 참조)을 선택하면 SeedApp이 추가되며 액티비티 타이틀을 선택하게 되면 SeedApp의 상세 조회 화면으로 이동할 수 있다.
도 15e에는 검색 상세 슬라이드 메뉴가 도시되어 있다.
검색 시작 포인트와 카테고리 지정 화면은 슬라이드 되어 화면을 덮거나 밀어서 나올 수 있으며(A 참조), 시드앱 선택 및 카테고리 지정이 가능하다.
도 15f에는 액티비티 리스트의 타이틀을 선택한 경우 이동되는 SeedApp 상세 정보 화면이 도시되어 있다. 시드앱 관련 정보(Description, Information, Developer Information, Version Update History 등)를 확인할 수 있다.
예를 들어, '도둑들'이라는 SeedApp을 선택하게 되면, 도 15g에 도시된 것과 같이 IWA 메인 화면으로 앱을 확인할 수 있다. 그리고 도둑들 시드앱으로 화면을 전환할 수 있는 아이콘이 화면전환 사용자 인터페이스에 자동 생성된다.
E 영역의 아이콘을 선택하면 화면전환 사용자 인터페이스 메뉴가 하단에서 슬라이드되며, D 영역의 아이콘을 선택하면 IWA 메뉴가 하단에서 슬라이드된다.
다음으로 SeedApp 추가 화면을 통해 영화 예매를 검색한 결과 화면이 도시되어 있다(도 15h 참조).
검색 기준 SeedApp을 기본으로 엔진에서 선정하지만 사용자가 현재 추가된 SeedApp들 중에 선택할 수 있다.
기준 SeedApp과 조합될 수 있는 SeedApp만이 검색결과로 디스플레이되도록 할 수도 있다.
영화예매 SeedApp을 추가한 결과 화면이 도시되어 있다(도 15i 참조).
화면전환 메뉴 영역에 영화예매 아이콘이 자동으로 추가된 것을 확인할 수 있다.
처음에 추가한 도둑들 앱은 앱 화면 내에 아이콘을 추가할 수 있는 영역과 위젯으로 추가할 수 있는 영역을 제공하고 있는 SeedApp이다.
화면전환 메뉴에 추가된 영화예매 아이콘을 드래그하여 도둑들 SeedApp에 아이콘을 위치시킬 수 있다(도 15j 참조). 또는 도둑들 SeedApp의 위젯 영역에 영화예매 아이콘을 드레그하여 위젯으로 콘텐츠를 삽입한 화면이다(도 15k 참조).
컴포저 메인 화면의 Theme 아이콘을 선택하여 IWA의 테마를 정의할 수도 있다.
조합 완료 후 또는 조합하면서 현재까지 조합된 결과를 시뮬레이션할 수도 있다.
UI 전환 메뉴의 도둑들 아이콘을 이용하여 도둑들 화면으로 이동할 수 있다.
도둑들의 SeedApp의 IconPostion 영역에 영화예매 아이콘이 추가되어 있고, 콘텐츠를 위젯으로 추가하여 인스턴트 웹 앱 생성을 완료한 결과 화면이 도 15l에 도시되어 있다.
본 실시예에 따른 인스턴트 웹 앱 생성 장치 및 방법은 프로그래밍 지식이 부족해도 아이디어만 있다면 SeedApp들을 조합해 원하는 앱을 만들 수 있도록 한다. 그리고 결과 화면 중심으로 작업하여 완성된 앱이 어떻게 동작할지 쉽게 예상할 수 있도록 한다.
또한, 자동화된 SeedApp 검증 절차 및 테스트를 통해 SeedApp을 믿고 조합할 수 있다. 간편한 모니터링 시스템과, 문제 발생시 여러 해결방법을 제시해 사용자가 해결방법을 선택할 수 있도록 한다. IWA조합 버전 관리를 지원해 조합이 잘못되어도 언제든지 롤백할 수 있다.
기기종류, 운영체제, 브라우저, 디스플레이 크기 등에 상관없이 웹이 구동될 수 있는 환경이라면 어디서나 동작하도록 빌드될 수 있다.본 발명의 일 실시예에 따른 인스턴트 웹 앱 생성 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 즉, 기록 매체는 컴퓨터에 상술한 각 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합한 형태로 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 인스턴트 웹 앱 생성 장치 110: 시드앱 검색부
120: 화면 구성부 130: 워크플로우 구성부
140: 데이터 맵핑부 150: 웹 앱 빌드부
200: IWA 210, 220, 230: 시드앱
211, 212, 221, 222, 231: 단위 기능 모듈

Claims (15)

  1. 저장소에서 조합 가능한 시드앱(SeedApp)을 검색하는 시드앱 검색부;
    사용자로부터 검색 대상이 되는 시드앱 정보를 입력받으며, 검색된 시드앱 중 조합 대상을 선택받는 화면 구성부;
    조합 대상으로 선택된 시드앱의 입출력 파라미터에 상응하는 워크플로우(workflow)를 구성하는 워크플로우 구성부;
    조합 대상으로 선택된 시드앱의 조합규칙에 의해 시드앱 간의 입출력 파라미터에 상응하는 데이터 변환이 이루어지도록 시드앱 간의 명세 연결을 수행하는 데이터 맵핑부;
    상기 워크플로우 구성부에 의해 구성된 워크플로우 및 상기 데이터 맵핑부에 의해 수행된 명세 연결에 따라 인스턴트 웹 앱(instant web app)을 생성하는 웹 앱 빌드부를 포함하되,
    상기 인스턴트 웹 앱은 하나 이상의 시드앱이 미리 설정된 조합규칙에 따라 연결되어 생성되되,
    상기 시드앱은 단위 기능이 구현된 액티비티(activity) 및 입출력 파라미터를 포함하는 단위 기능 모듈을 하나 이상 포함하고 있는 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 조합규칙은 단순 조합, 조건(XOR) 조합, 분기(AND) 조합 중 적어도 하나인 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  4. 제1항에 있어서,
    상기 조합규칙에 따른 시드앱의 조합은 내부HTML(innerHTML), 포워딩(forwarding), 오픈 API(Open API), 스크립트 중 적어도 하나를 이용하여 수행되는 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  5. 제1항에 있어서,
    상기 화면 구성부는 조합대상으로 선택된 시드앱 간의 화면전환 이벤트 사용자 인터페이스를 자동 생성하는 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  6. 제1항에 있어서,
    상기 워크플로우 구성부는 조합대상으로 선택된 시드앱들의 명세로부터 조합 가능한 워크플로우를 구하고, 협업 필터링(Collaborative filtering) 및 콘텐츠 기반 필터링(Content-based filtering) 중 하나 이상의 방식을 통한 개인화(Personalization) 추천 시스템, 지식 기반 필터링(Knowledge filtering)을 통한 지식 기반 추천 시스템, 기계 학습(Machine Learning)을 통한 추천 시스템 중 적어도 하나의 추천 시스템을 이용하여 상기 워크플로우의 우선순위를 정하여 추천해 주는 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  7. 제1항에 있어서,
    상기 데이터 맵핑부는 조합대상으로 선택된 시드앱에 포함된 단위 기능 모듈의 액티비티가 가지고 있는 입출력 파라미터에 맞는 조합규칙을 찾아 자동적으로 매칭하는 것을 특징으로 하는 인스턴트 웹 앱 생성 장치.
  8. 사용자로부터 검색 대상이 되는 시드앱 정보를 입력받는 단계;
    상기 시드앱 정보에 기초하여 저장소에서 조합 가능한 시드앱(SeedApp)을 검색하는 단계;
    검색된 시드앱 중 조합 대상을 선택받는 단계;
    조합 대상으로 선택된 시드앱의 입출력 파라미터에 상응하는 워크플로우(workflow)를 구성하는 단계;
    조합 대상으로 선택된 시드앱의 조합규칙에 의해 시드앱 간의 입출력 파라미터에 상응하는 데이터 변환이 이루어지도록 시드앱 간의 명세 연결을 수행하는 단계;
    상기 구성된 워크플로우 및 상기 수행된 명세 연결에 따라 인스턴트 웹 앱(instant web app)을 생성하는 단계를 포함하되,
    상기 인스턴트 웹 앱은 하나 이상의 시드앱이 미리 설정된 조합규칙에 따라 연결되어 생성되되,
    상기 시드앱은 단위 기능이 구현된 액티비티(activity) 및 입출력 파라미터를 포함하는 단위 기능 모듈을 하나 이상 포함하고 있는 것을 특징으로 하는 인스턴트 웹 앱 생성 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 조합규칙은 단순 조합, 조건(XOR) 조합, 분기(AND) 조합 중 적어도 하나인 것을 특징으로 하는 인스턴트 웹 앱 생성 방법.
  11. 제8항에 있어서,
    상기 조합규칙에 따른 시드앱의 조합은 내부HTML(innerHTML), 포워딩(forwarding), 오픈 API(Open API), 스크립트 중 적어도 하나를 이용하여 수행되는 것을 특징으로 하는 인스턴트 웹 앱 생성 방법.
  12. 제8항에 있어서,
    조합대상으로 선택된 시드앱 간의 화면전환 이벤트 사용자 인터페이스를 자동 생성하는 단계를 더 포함하는 인스턴트 웹 앱 생성 방법.
  13. 제8항에 있어서,
    상기 워크플로우 구성 단계는 조합대상으로 선택된 시드앱들의 명세로부터 조합 가능한 워크플로우를 구하고, 협업 필터링(Collaborative filtering) 및 콘텐츠 기반 필터링(Content-based filtering) 중 하나 이상의 방식을 통한 개인화(Personalization) 추천 시스템, 지식 기반 필터링(Knowledge filtering)을 통한 지식 기반 추천 시스템, 기계 학습(Machine Learning)을 통한 추천 시스템 중 적어도 하나의 추천 시스템을 이용하여 상기 워크플로우의 우선순위를 정하여 추천해 주는 것을 특징으로 하는 인스턴트 웹 앱 생성 방법.
  14. 제8항에 있어서,
    상기 명세 연결 수행 단계는 조합대상으로 선택된 시드앱에 포함된 단위 기능 모듈의 액티비티가 가지고 있는 입출력 파라미터에 맞는 조합규칙을 찾아 자동적으로 매칭하는 것을 특징으로 하는 인스턴트 웹 앱 생성 방법.
  15. 제8항, 제10항 내지 제14항 중 어느 한 항에 기재된 인스턴트 웹 앱 생성 방법을 수행하기 위하여 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.
KR1020130155527A 2013-12-13 2013-12-13 인스턴트 웹 앱 생성 장치 및 방법 KR101414795B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130155527A KR101414795B1 (ko) 2013-12-13 2013-12-13 인스턴트 웹 앱 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130155527A KR101414795B1 (ko) 2013-12-13 2013-12-13 인스턴트 웹 앱 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101414795B1 true KR101414795B1 (ko) 2014-07-03

Family

ID=51741039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130155527A KR101414795B1 (ko) 2013-12-13 2013-12-13 인스턴트 웹 앱 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101414795B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101592496B1 (ko) 2014-12-11 2016-02-05 서울특별시 인터페이스 호환성을 가진 모바일 웹 페이지 생성 장치 및 제공 시스템
KR20160080386A (ko) 2014-12-29 2016-07-08 이동섭 메모지와 스티커 기반 스마트 단말의 앱화면 구성 시스템
KR20220095694A (ko) * 2020-12-30 2022-07-07 주식회사 디케이아이테크놀로지 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021671A (ja) * 2002-06-18 2004-01-22 Nec System Technologies Ltd ワークフローアプリケーション雛型生成システム及びワークフローアプリケーション雛型生成プログラム
JP2005339029A (ja) * 2004-05-25 2005-12-08 Canon Inc プログラム連携システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021671A (ja) * 2002-06-18 2004-01-22 Nec System Technologies Ltd ワークフローアプリケーション雛型生成システム及びワークフローアプリケーション雛型生成プログラム
JP2005339029A (ja) * 2004-05-25 2005-12-08 Canon Inc プログラム連携システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101592496B1 (ko) 2014-12-11 2016-02-05 서울특별시 인터페이스 호환성을 가진 모바일 웹 페이지 생성 장치 및 제공 시스템
KR20160080386A (ko) 2014-12-29 2016-07-08 이동섭 메모지와 스티커 기반 스마트 단말의 앱화면 구성 시스템
KR20220095694A (ko) * 2020-12-30 2022-07-07 주식회사 디케이아이테크놀로지 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법
KR102550574B1 (ko) * 2020-12-30 2023-07-03 주식회사 디케이아이테크놀로지 오픈 에이피아이를 이용한 에이아이 모델 연계 서비스 시스템 및 서비스 방법

Similar Documents

Publication Publication Date Title
US11921798B2 (en) Generating a contextual search stream
CN107820701B (zh) 开发者交换系统
US20190196672A1 (en) Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
KR101348401B1 (ko) 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체
US20160313874A1 (en) Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
CN102054021A (zh) 使用简档的web门户应用定制方法和系统
Desolda et al. EFESTO: a platform for the end-user development of interactive workspaces for data exploration
Liu et al. Composing enterprise mashup components and services using architecture integration patterns
KR20130110610A (ko) 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체
Paredes‐Valverde et al. A systematic review of tools, languages, and methodologies for mashup development
KR20150058237A (ko) 간략화된 지식공학 방법 및 시스템
JP5588695B2 (ja) コンテンツ共有システム
Hillar et al. Microsoft Sharepoint 2010 Developer's Compendium: The Best of Packt for Extending Sharepoint
US11829575B1 (en) Workflow assembly tool and workflow model
US20140095978A1 (en) Mash-up authoring device using templates and method thereof
KR101414795B1 (ko) 인스턴트 웹 앱 생성 장치 및 방법
CN114461209A (zh) 页面配置与切换方法、装置、设备及存储介质
Baresi et al. Consumer mashups with mashlight
KR20150069987A (ko) 웹 앱 조합 메타모델이 적용된 인스턴트 웹 앱 조합 시스템
Picozzi End user develompent of mashups: models, composition paradigms and tools
KR101414797B1 (ko) 웹 앱 조합 메타모델이 적용된 인스턴트 웹 앱 조합 시스템
Alor-Hernández Frameworks, Methodologies, and Tools for Developing Rich Internet Applications
Gaylord et al. Professional Asp. net 4.5 in C# and VB
Albertos Marco et al. A model-based approach for describing offline navigation of web applications
Firmenich et al. Distributed Web browsing: supporting frequent uses and opportunistic requirements

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180531

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190604

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200310

Year of fee payment: 7