KR102020045B1 - Method for executing hybirid web application and apparatus therefor - Google Patents

Method for executing hybirid web application and apparatus therefor Download PDF

Info

Publication number
KR102020045B1
KR102020045B1 KR1020130011044A KR20130011044A KR102020045B1 KR 102020045 B1 KR102020045 B1 KR 102020045B1 KR 1020130011044 A KR1020130011044 A KR 1020130011044A KR 20130011044 A KR20130011044 A KR 20130011044A KR 102020045 B1 KR102020045 B1 KR 102020045B1
Authority
KR
South Korea
Prior art keywords
interface layer
request
web application
hybrid
web
Prior art date
Application number
KR1020130011044A
Other languages
Korean (ko)
Other versions
KR20130095668A (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 US13/770,549 priority Critical patent/US8966508B2/en
Publication of KR20130095668A publication Critical patent/KR20130095668A/en
Application granted granted Critical
Publication of KR102020045B1 publication Critical patent/KR102020045B1/en

Links

Images

Classifications

    • 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/445Program loading or initiating
    • 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

Abstract

하이브리드 웹 어플리케이션 실행 장치 및 방법이 개시된다. 하이브리드 웹 어플리케이션은 시스템 API 호출과 표준 웹 언어로 작성된다. 하이브리드 웹 어플리케이션 실행 장치는, 시스템 API 호출에 대응되는 처리를 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하고, 표준 웹 언어에 대응되는 처리를 수행하는 웹 사용자 인터페이스 계층, 웹 사용자 인터페이스 계층의 요청에 따라 시스템 API 호출에 대응되는 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층에 요청하고, 시스템 API 호출에 대응되는 처리의 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층로부터 동기 또는 비동기적으로 수신하여 웹 사용자 인터페이스 계층으로 전달하는 하이브리드 웹 어플리케이션 인터페이스 계층 및 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 크로스 플랫폼 시스템 서비스 인터페이스 계층을 포함하여 구성될 수 있다.An apparatus and method for executing a hybrid web application is disclosed. Hybrid web applications are written in system API calls and standard web languages. The hybrid web application executing apparatus requests the processing corresponding to the system API call to the hybrid web application interface layer, and calls the system API according to the request of the web user interface layer and the web user interface layer to perform the processing corresponding to the standard web language. A hybrid web application that requests a cross-platform system service interface layer for a process corresponding to, and receives a result of a process corresponding to a system API call from the cross-platform system service interface layer either synchronously or asynchronously and delivers the result to a web user interface layer. It includes a cross-platform system service interface layer that performs platform dependent operations corresponding to the system API based on requests of the interface layer and the hybrid web application interface layer. Can be configured together.

Description

하이브리드 웹 어플리케이션 실행 방법 및 하이브리드 웹 어플리케이션 실행 장치{Method for executing hybirid web application and apparatus therefor}Hybrid web application execution method and hybrid web application execution method {Method for executing hybirid web application and apparatus therefor}

본 발명은 하이브리드 웹 어플리케이션에 관한 것으로, 더욱 상세하게는 다종의 플랫폼에 비의존적으로 동작할 수 있는 하이브리드 웹 어플리케이션의 구조와, 이에 기초한 하이브리드 웹 어플리케이션의 실행 방법 및 하이브리드 웹 어플리케이션의 동작 장치에 관한 것이다.The present invention relates to a hybrid web application, and more particularly, to a structure of a hybrid web application that can operate independently of various platforms, a method of executing a hybrid web application, and an operating device of the hybrid web application based on the same. .

스마트 기기의 확산과 함께 다양한 어플리케이션들을 빠르게 개발하여 제공할 필요성이 높아지고 있다.With the proliferation of smart devices, the necessity of rapidly developing and providing various applications is increasing.

모바일 어플리케이션 개발의 전통적인 방식은 네이티브(native) 어플리케이션 개발 방식이다. 특정 플랫폼에서 제공하는 라이브러리(library)에 기반하여 어플리케이션을 개발하는 이 방식은 단말 자원에 대한 접근성이 뛰어나 화려한 효과나 빠른 화면 전환 등 좋은 성능을 발휘하는 데에 적합하다. The traditional way of developing mobile applications is native application development. This method of developing an application based on a library provided by a specific platform has excellent accessibility to terminal resources, and is suitable for showing good performance such as colorful effects or fast screen switching.

그러나 다양한 모바일 플랫폼들(예컨대, Apple의 iOS, Google의 Andriod 등)의 등장으로 인해 어플리케이션의 플랫폼 종속성이라는 문제가 대두되었고, 이에 대한 대안으로서 모바일 브라우저(browser)에 기반한 웹 어플리케이션(web application) 개발 방식이 주목 받게 된다.However, the emergence of various mobile platforms (e.g., Apple's iOS, Google's Andriod, etc.) has raised the issue of platform dependency on applications, and as an alternative, a web browser development method based on a mobile browser. This will be noticed.

웹 어플리케이션은 사용을 위한 별도의 설치가 필요 없고 주기적인 업데이트 없이도 항상 업그레이드된 기능을 사용할 수 있는 등 다양한 장점을 갖고 있으나, 웹에 기반해 있는 특성 탓에 단말 기능을 직접 제어하거나 활용하는 것이 불가능하고, 브라우저의 특성에 어플리케이션의 성능이 종속적이란 단점도 동시에 지니고 있다.Web applications have various advantages, such as no need for separate installation for use and the ability to always use upgraded functions without periodic updates, but due to the nature of the web, it is impossible to directly control or utilize terminal functions. At the same time, it has the disadvantage that the performance of the application depends on the characteristics of the browser.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 네이티브 어플리케이션의 장점과 웹 어플리케이션의 장점을 복합적으로 가지는 하이브리드 웹 어플리케이션(hybrid web application)의 개념을 제공하고, 하이브리드 웹 어플리케이션을 실행시키기 위한 소프트웨어 아키텍쳐 및 이를 구비한 하이브리드 웹 어플리케이션 실행 장치를 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention for solving the above problems is to provide a concept of a hybrid web application having a combination of advantages of a native application and advantages of a web application, and a software architecture for executing the hybrid web application. And to provide a hybrid web application running apparatus having the same.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 하이브리드 웹 어플리케이션을 실행시키기 위한 소프트웨어 아키텍쳐 및 이에 기초한 하이브리드 웹 어플리케이션 실행 방법을 제공하는데 있다.Another object of the present invention for solving the above problems is to provide a software architecture for executing a hybrid web application and a hybrid web application execution method based thereon.

상기 목적을 달성하기 위한 본 발명은, 시스템 API 호출(system API call)과 표준 웹 언어로 작성된 하이브리드 웹 어플리케이션을 실행하는 장치로서, 상기 시스템 API 호출에 대응되는 처리를 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하고, 상기 표준 웹 언어에 대응되는 처리를 수행하는 웹 사용자 인터페이스 계층; 상기 웹 사용자 인터페이스 계층의 요청에 따라 상기 시스템 API 호출에 대응되는 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층에 요청하고, 상기 시스템 API 호출에 대응되는 처리의 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층로부터 동기 또는 비동기적으로 수신하여 상기 웹 사용자 인터페이스 계층으로 전달하는 하이브리드 웹 어플리케이션 인터페이스 계층; 및 상기 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 크로스 플랫폼 시스템 서비스 인터페이스 계층을 포함하는 하이브리드 웹 어플리케이션의 실행 장치를 제공한다.According to an aspect of the present invention, there is provided an apparatus for executing a hybrid web application written in a system API call and a standard web language, and requesting a process corresponding to the system API call to the hybrid web application interface layer. A web user interface layer performing processing corresponding to the standard web language; Requesting the cross platform system service interface layer a process corresponding to the system API call according to the request of the web user interface layer, and synchronizing or asynchronously from the cross platform system service interface layer a result of the process corresponding to the system API call A hybrid web application interface layer that receives and forwards to the web user interface layer; And a cross platform system service interface layer configured to perform platform dependent operations corresponding to the system API based on the request of the hybrid web application interface layer.

여기에서, 상기 시스템 API는 하드웨어를 제어하는 API 또는 운영체제가 관리하는 정보에 접근하는 API일 수 있다.Here, the system API may be an API for controlling hardware or an API for accessing information managed by an operating system.

여기에서, 상기 표준 웹 언어는 자바 스크립트(Java Script), HTML(HyperText Markup Language) 및 CSS(Cascading Style Sheet) 중 적어도 하나를 포함할 수 있다.Herein, the standard web language may include at least one of Java Script, HyperText Markup Language (HTML), and Cascading Style Sheet (CSS).

여기에서, 상기 웹 사용자 인터페이스 계층은, 상기 웹 표준 언어에 따른 처리를 수행하기 위한 적어도 하나의 웹 엔진(web engine) 및 상기 하이브리드 웹 어플리케이션에 포함된 상기 시스템 API 호출를 분리하여 상기 시스템 API 호출에 따른 처리를 상기 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하는 스크립트 엔진을 포함할 수 있다.Herein, the web user interface layer may be configured to separate at least one web engine for performing processing according to the web standard language and the system API call included in the hybrid web application, according to the system API call. And a script engine for requesting processing to the hybrid web application interface layer.

여기에서, 상기 하이브리드 웹 어플리케이션 인터페이스 계층은, 상기 웹 사용자 인터페이스 계층의 요청에 따라 상기 시스템 API를 처리하는 시스템 API 처리부, 상기 시스템 API 처리부의 요청에 따라 상기 시스템 API 수행 요청을 생성하여 인터페이스 서비스 요청 중개부로 전달하는 인터페이스 서비스 요청 생성부, 상기 인터페이스 서비스 요청 생성부로부터 수신된 상기 시스템 API 수행 요청을 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 중개하는 인터페이스 서비스 요청 중개부 및 상기 인터페이스 서비스 요청 중개부를 통하여 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 전달된 상기 시스템 API 수행 요청의 처리 결과 수신을 관리하는 인터페이스 서비스 동기화 관리부를 포함할 수 있다.Here, the hybrid web application interface layer, the system API processing unit for processing the system API in response to a request of the web user interface layer, and generates the system API execution request in response to the request of the system API processing unit to interface service requests An interface service request generation unit for transmitting to the cross platform, an interface service request mediation unit for relaying the system API execution request received from the interface service request generation unit to the cross platform system service interface layer, and the interface service request mediation unit; It may include an interface service synchronization management unit for managing the reception of the processing result of the system API execution request delivered to the system service interface layer.

이때, 상기 인터페이스 서비스 요청 중개부의 상기 시스템 API 수행 요청은 동기식 또는 비동기식 중 하나이며, 상기 인터페이스 서비스 동기화 관리부는 상기 시스템 API 수행 요청에 대한 처리 결과를 동기식 또는 비동기식 중 하나의 방식으로 상기 인터페이스 서비스 요청 중개부가 수신할 수 있도록 상기 상기 인터페이스 서비스 요청 중개부를 관리하도록 구성될 수 있다.In this case, the system API execution request of the interface service request broker is one of synchronous or asynchronous, and the interface service synchronization management unit mediates the interface service request in one of synchronous or asynchronous manners. It may be configured to manage the interface service request intermediary to receive additional.

여기에서, 상기 크로스 플랫폼 서비스 인터페이스 계층은, 상기 하이브리드 웹 어플리케이션 인터페이스 계층과 HTTP(HyperText Transfer Protocol) 프로토콜을 이용하여 상기 시스템 API의 처리 요청과 처리 결과를 송수신하는 웹 서버(web server)를 포함할 수 있다. Here, the cross platform service interface layer may include a web server for transmitting and receiving a processing request and a processing result of the system API using the hybrid web application interface layer and a HyperText Transfer Protocol (HTTP) protocol. have.

이때, 상기 웹 서버는 다른 단말에 설치된 하이브리드 웹 어플리케이션 인터페이스 계층과 HTTP 포로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 송수신하도록 구성될 수 있다. In this case, the web server may be configured to transmit and receive a processing request and a processing result of a system API using a hybrid web application interface layer and HTTP protocol installed in another terminal.

이때, 상기 크로스 플랫폼 서비스 인터페이스 계층은, 상기 웹 서버를 통하여 전달된 상기 시스템 API 처리 요청을 처리하는 시스템 인터페이스부를 추가로 포함할 수 있다. 상기 상기 시스템 인터페이스부는 상기 웹 서버를 통해 전달되는 시스템 API 처리 요청을 수신하는 시스템 인터페이스 요청 처리부 및 상기 시스템 인터페이스 요청 처리부로부터 전달된 시스템 API 처리 요청을 플랫폼 의존적 API로 매핑하고, 매핑된 플랫폼 의존적 API로 호출하여 시스템 API 처리 요청을 처리하는 시스템 인터페이스 연동부를 포함할 수 있다.
In this case, the cross platform service interface layer may further include a system interface unit for processing the system API processing request transmitted through the web server. The system interface unit maps a system interface request processing unit for receiving a system API processing request transmitted through the web server and a system API processing request transmitted from the system interface request processing unit to a platform dependent API, and maps the platform dependent API to a mapped platform dependent API. It may include a system interface interworking unit for calling a system API processing request.

상기 다른 목적을 달성하기 위한 본 발명은, 웹 사용자 인터페이스 계층, 하이브리드 웹 어플리케이션 인터페이스 계층 및 크로스 플랫폼 시스템 서비스 인터페이스 계층을 포함한 플랫폼의 하이브리드 웹 어플리케이션 실행 방법으로서, 상기 웹 사용자 인터페이스 계층에서, 시스템 API 호출(system API call)과 표준 웹 언어로 작성된 상기 하이브리드 웹 어플리케이션을 해석하여, 상기 시스템 API 호출에 대응되는 처리를 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하고, 상기 표준 웹 언어에 대응되는 처리를 수행하는 웹 사용자 인터페이싱 단계; 상기 하이브리드 웹 어플리케이션 인터페이스 계층에서, 상기 웹 사용자 인터페이스 계층의 요청에 기초한 상기 시스템 API 호출에 대한 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층에 요청하고, 상기 시스템 API 호출에 대한 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층로부터 동기 또는 비동기적으로 수신하여 상기 웹 사용자 인터페이스 계층으로 전달하는 하이브리드 웹 어플리케이션 인터페이싱 단계; 및 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층에서, 상기 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 크로스 플랫폼 시스템 서비스 인터페이싱 단계를 포함한 하이브리드 웹 어플리케이션의 실행 방법을 제공한다.In accordance with another aspect of the present invention, there is provided a method for executing a hybrid web application of a platform including a web user interface layer, a hybrid web application interface layer, and a cross-platform system service interface layer. a web user interface for interpreting the system API call) and the hybrid web application written in a standard web language, requesting a process corresponding to the system API call to the hybrid web application interface layer, and performing a process corresponding to the standard web language. step; In the hybrid web application interface layer, request the cross platform system service interface layer to process the system API call based on the request of the web user interface layer, and process the processing result of the system API call to the cross platform system service interface. A hybrid web application interfacing step of receiving from the layer synchronously or asynchronously and delivering to the web user interface layer; And a cross platform system service interfacing step of performing a platform dependent operation corresponding to the system API based on a request of the hybrid web application interface layer in the cross platform system service interface layer. .

여기에서, 상기 시스템 API는 하드웨어를 제어하는 API 또는 운영체제가 관리하는 정보에 접근하는 API일 수 있다.Here, the system API may be an API for controlling hardware or an API for accessing information managed by an operating system.

여기에서, 상기 표준 웹 언어는 자바 스크립트(Java Script), HTML(HyperText Markup Language) 및 CSS(Cascading Style Sheet) 중 적어도 하나를 포함할 수 있다.Herein, the standard web language may include at least one of Java Script, HyperText Markup Language (HTML), and Cascading Style Sheet (CSS).

여기에서, 상기 웹 사용자 인터페이싱 단계는 적어도 하나의 웹 엔진(web engine)을 이용하여 상기 웹 표준 언어에 대응되는 처리를 수행하고, 상기 시스템 API 호출에 대응되는 처리를 상기 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하도록 구성될 수 있다.Here, the web user interfacing step may perform a process corresponding to the web standard language using at least one web engine, and request a process corresponding to the system API call to the hybrid web application interface layer. It can be configured to.

여기에서, 상기 하이브리드 웹 어플리케이션 인터페이싱 단계는, 상기 웹 사용자 인터페이스 계층로부터의 상기 시스템 API 호출에 대응되는 처리 요청에 기초하여 시스템 API 수행 요청을 생성하는 단계; 생성된 상기 시스템 API 수행 요청을 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 전달하는 단계; 및 전달된 상기 시스템 API 수행 요청의 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로부터 수신하는 단계를 포함할 수 있다.Here, the hybrid web application interfacing may include generating a system API execution request based on a processing request corresponding to the system API call from the web user interface layer; Passing the generated system API execution request to the cross platform system service interface layer; And receiving a processing result of the delivered system API execution request from the cross platform system service interface layer.

이때, 상기 시스템 API 수행 요청에 대한 상기 시스템 API 수행 요청의 처리 결과의 수신은 동기식 또는 비동기식 인터페이스 방식을 이용하도록 구성될 수 있다.In this case, the reception of the processing result of the system API execution request for the system API execution request may be configured to use a synchronous or asynchronous interface.

여기에서, 상기 크로스 플랫폼 서비스 인터페이스 계층과 상기 하이브리드 웹 어플리케이션 인터페이스 계층은 HTTP 포로토콜을 이용하여 상기 시스템 API의 처리 요청과 처리 결과를 송수신하도록 구성될 수 있다.Here, the cross platform service interface layer and the hybrid web application interface layer may be configured to transmit and receive a processing request and a processing result of the system API using an HTTP protocol.

여기에서, 상기 하이브리드 웹 어플리케이션 인터페이스 계층은 다른 단말의 크로스 플랫폼 서비스 인터페이스 계층과 HTTP 포로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 송수신하도록 구성될 수 있다.Here, the hybrid web application interface layer may be configured to transmit and receive a processing request and a processing result of a system API using an HTTP protocol and a cross platform service interface layer of another terminal.

이때, 상기 크로스 플랫폼 서비스 인터페이싱 단계는 상기 하이브리드 웹 어플리케이션 인터페이스 계층으로부터 전달되는 시스템 API 처리 요청을 플랫폼 의존적 API로 매핑하는 단계; 및 매핑된 플랫폼 의존적 API로 호출하여 시스템 API 처리 요청을 처리하는 단계를 포함하여 구성될 수 있다.In this case, the cross-platform service interfacing may include mapping a system API processing request transmitted from the hybrid web application interface layer to a platform dependent API; And calling the mapped platform dependent API to process a system API processing request.

본 발명에 따른 하이브리드 웹 어플리케이션 실행 방법 및 장치를 이용하여 종래 네이티브 어플리케이션 및 웹 어플리케이션 대신에 하이브리드 웹 어플리케이션을 활용할 수 있다. The hybrid web application execution method and apparatus according to the present invention can utilize a hybrid web application instead of the conventional native application and web application.

하이브리드 웹 어플리케이션은 다음과 같은 장점을 가질 수 있다.Hybrid web applications can have the following advantages:

첫째, 개발자는 웹 표준 언어를 기반으로 플랫폼 독립적인 하이브리드 웹 어플리케이션을 손쉽게 개발하여 다양한 단말과 플랫폼 환경에 제공할 수 있으며, 사용자는 인터넷상의 다양한 데이터와 개방형 API, 클라우드 등을 활용한 복합적인 서비스들을 하이브리드 어플리케이션의 형태로 제공받을 수 있다.First, developers can easily develop platform-independent hybrid web applications based on the web standard language and provide them to various terminals and platform environments.Users can provide complex services using various data, open APIs, and cloud on the Internet. It can be provided in the form of a hybrid application.

둘째, 하이브리드 웹 어플리케이션 방식을 이용하면 웹 기술에 기반하면서도 네이티브 어플리케이션과 동일한 성능과 기능을 가진 어플리케이션이 개발될 수 있다. 또한, 다양한 인터넷 개방형 API를 연계하는 매쉬업 응용들을 손쉽게 개발하고 사용할 수 있도록 제공할 수 있다. Second, using the hybrid web application method, an application based on web technology but having the same performance and functions as a native application can be developed. In addition, it can provide easy development and use of mashup applications that link various Internet open APIs.

셋째, 하이브리드 웹 어플리케이션은 네이티브 어플리케이션과 마찬가지로 패키징되어 앱스토어 등을 통해 판매되고 설치될 수 있다는 장점을 가진다. Third, hybrid web applications are packaged like native applications, and can be sold and installed through an app store.

넷째, 개발자는 플랫폼에 종속된 언어와 기능을 학습하지 않고, 웹 표준 언어와 기술을 이용하면서 표준 하이브리드 웹 어플리케이션을 위해 정의된 시스템 API들만을 학습하여 다양한 단말 자원과 시스템 자원을 활용하는 어플리케이션들을 손쉽게 개발할 수 있다. Fourth, developers can easily learn applications that utilize various terminal resources and system resources by learning only the system APIs defined for standard hybrid web applications while using the web standard language and technology. Can develop.

다섯째, 하이브리드 웹 어플리케이션이 보편화될 경우, 폭발적으로 늘어나는 단말 하드웨어 특성과 플랫폼의 차이로 인한 복잡성의 문제를 해결할 수 있으며, 다양한 단말 제어 기능을 추상화(abstraction)하여 제공함으로써 개발 효율성과 편의성을 확장시킬 수 있다. Fifth, when hybrid web application is generalized, it can solve the problem of complexity due to explosive increase of terminal hardware characteristics and platform differences, and can extend development efficiency and convenience by providing various terminal control functions by abstracting them. have.

여섯째, 하이브리드 웹 어플리케이션은 내장 웹 서버를 이용함으로써 서로 다른 단말 간에도 제어 정보의 교환 및 원격 제어가 가능하므로, M2M(Machine to Machine), D2D(Device to Device) 등의 응용에도 활용이 가능하다.Sixth, since the hybrid web application can exchange control information and remote control between different terminals by using the embedded web server, it can be used for applications such as machine to machine (M2M) and device to device (D2D).

도 1은 본 발명에 따른 하이브리드 웹 어플리케이션과 종래 네이티브/웹 어플리케이션의 장단점을 비교하기 위한 표이다.
도 2는 본 발명에 따른 하이브리드 웹 어플리케이션을 실행하는 플랫폼들의 연동을 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 하이브리드 웹 어플리케이션 실행 장치의 소프트웨어 계층 구조를 설명하기 위한 블록도이다.
도 4는 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 웹 사용자 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.
도 5는 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 하이브리드 웹 어플리케이션 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.
도 6은 본 발명에 따른 하이브리드 웹 어플리케이션 인터페이스 계층과 크로스 플랫폼 시스템 서비스 인터페이스 계층간의 처리 요청 전송과 처리 결과 회신 과정을 설명하기 위한 개념도이다.
도 7은 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 크로스 플랫폼 시스템 서비스 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.
도 8은 본 발명에 따라 서로 다른 단말에 위치한 하이브리드 웹 어플리케이션 인터페이스 계층과 크로스 플랫폼 시스템 인터페이스 계층간의 연동을 설명하기 위한 개념도이다.
도 9는 본 발명에 따른 하이브리드 웹 어플리케이션의 실행 방법을 설명하기 위한 순서도이다.
1 is a table for comparing the advantages and disadvantages of a hybrid web application and a conventional native / web application according to the present invention.
2 is a conceptual diagram illustrating the interworking of platforms for executing a hybrid web application according to the present invention.
3 is a block diagram illustrating a software hierarchy of a hybrid web application executing apparatus according to the present invention.
4 is a block diagram illustrating a detailed configuration of a web user interface layer for executing a hybrid web application according to the present invention.
5 is a block diagram illustrating a detailed configuration of a hybrid web application interface layer for executing a hybrid web application according to the present invention.
6 is a conceptual diagram illustrating a process of transmitting a processing request and returning a processing result between a hybrid web application interface layer and a cross platform system service interface layer according to the present invention.
7 is a block diagram illustrating a detailed configuration of a cross platform system service interface layer for executing a hybrid web application according to the present invention.
8 is a conceptual diagram illustrating the interworking between a hybrid web application interface layer and a cross platform system interface layer located in different terminals according to the present invention.
9 is a flowchart illustrating a method of executing a hybrid web application according to the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하의 설명은 스마트 폰, 모바일 기기를 비롯한 데스크탑, 소형 기기까지 많은 다양한 단말 환경에서 플랫폼 독립적인 하이브리드 웹 어플리케이션을 제공하기 위한 방법과 그 장치에 관한 것이다.The following description relates to a method and apparatus for providing a platform-independent hybrid web application in a variety of terminal environments, including smart phones, mobile devices, desktops, and small devices.

이하의 설명에서 '플랫폼'은 시스템의 기본이 되는 프로세서 및 하드웨어 장치들과 해당 시스템을 구동하는 운영체제를 포괄하는 개념이며, 단말 장치는 특정 플랫폼에 기반하여 실제 구현된 장치를 의미한다. 이하의 설명에서 플랫폼과 단말은 혼용되어 사용될 수도 있으나, 단말은 플랫폼이 기초하는 하드웨어적 특성을 강조하는 의미로서 이용되며, 플랫폼은 보다 포괄적인 용어로서 사용된다.
In the following description, a "platform" is a concept encompassing a processor and hardware devices that are the basis of a system and an operating system for driving the system, and the terminal device refers to a device actually implemented based on a specific platform. In the following description, the platform and the terminal may be used interchangeably, but the terminal is used as a meaning for emphasizing the hardware characteristics on which the platform is based, and the platform is used as a more comprehensive term.

본 발명에 따른 According to the invention 하이브리드hybrid  Web 어플리케이션의Of application 개념 및 동작 개념 Concept and action concept

본 발명은 다종의 플랫폼과 단말 장치의 특성에 독립적인 하이브리드 웹 어플리케이션을 제공하기 위한 방법과 그 장치에 관한 것이다. The present invention relates to a method and apparatus for providing a hybrid web application independent of the characteristics of various platforms and terminal devices.

하이브리드 웹 어플리케이션 방식을 이용하면 플랫폼 독립적인 어플리케이션 개발이 가능하며, 웹 기술을 기반으로 네이티브 어플리케이션과 동일한 기능을 갖는 어플리케이션 개발을 할 수 있으며, 다양한 인터넷 개방형 API(open API)를 연계하는 매쉬업 응용들을 손쉽게 개발하고 사용할 수 있도록 제공할 수 있다.The hybrid web application method enables platform independent application development, develops applications with the same functions as native applications based on web technology, and easily supports mashup applications that connect various Internet open APIs. Can be provided for development and use.

본 발명에서 제시되는 하이브리드 웹 어플리케이션은 시스템 API(Application Programming Interface) 호출을 포함하는 웹 표준 언어로 작성될 수 있다. 따라서, 하이브리드 웹 어플리케이션은 종래의 웹 어플리케이션과 동일하게 플랫폼 비의존적(platform-independent)인 부분은 웹 표준 언어로서 작성될 수 있고, 플랫폼 의존적인(platform-dependent) 부분은 시스템 API를 호출하도록 작성될 수 있다. 예컨대, 웹 표준 언어는 HTML(HyperText Markup Language), CSS(Cascading Style Sheet), 자바 스크립트(Javascript) 등을 포함할 수 있다. 시스템 API는 하이브리드 웹 어플리케이션이 실행되는 플랫폼 또는 다른 플랫폼의 자원(resource)들에 대한 제어(control) 및 접근(access)을 가능하게 위해서 정의되는 API들이다. 여기에서, 플랫폼의 자원은 예컨대 하드웨어(예컨대, 카메라, 가속도 센서, GPS 센서 등) 제어 및 플랫폼의 운영체제가 관리하는 정보들(예컨대, 단말이 스마트폰인 경우, 연락처(contacts) 정보, 일정표(calendar) 정보 등)등을 포함할 수 있다.
The hybrid web application proposed in the present invention may be written in a web standard language including a system API (Application Programming Interface) call. Therefore, in the hybrid web application, the platform-independent portion may be written as a web standard language, and the platform-dependent portion may be written to call a system API, as in the conventional web application. Can be. For example, the web standard language may include HyperText Markup Language (HTML), Cascading Style Sheets (CSS), JavaScript, or the like. System APIs are APIs defined to enable control and access to the resources of the platform or other platform on which the hybrid web application runs. Here, the resources of the platform may be, for example, hardware (eg, cameras, acceleration sensors, GPS sensors, etc.) and information managed by the platform's operating system (eg, when the terminal is a smartphone, contacts information, calendar, etc.). ) Information, etc.).

도 1은 본 발명에 따른 하이브리드 웹 어플리케이션과 종래 네이티브/웹 어플리케이션의 장단점을 비교하기 위한 표이다.1 is a table for comparing the advantages and disadvantages of a hybrid web application and a conventional native / web application according to the present invention.

도 1을 참조하면, 네이티브(native) 어플리케이션은 특정 플랫폼에서 제공하는 라이브러리에 기반하여 개발되므로 플랫폼 자원에 대한 접근이 뛰어나 화려한 효과나 빠른 화면 전환 등 좋은 성능을 발휘하는 데에 적합하다. 또한, 네이티브 어플리케이션은 바이너리(binary) 파일의 형태로 배포가 가능하므로 앱 스토어(app store)를 통한 온라인 판매 또는 오프라인 판매가 용이한 장점을 가진다. 반면, 플랫폼 의존적인 개발 방식을 취함으로써 소프트웨어의 업그레이드가 용이하지 않으며, 코드의 재사용성(reusability)이 낮다는 단점이 존재한다. Referring to FIG. 1, since a native application is developed based on a library provided by a specific platform, access to platform resources is excellent, and thus it is suitable for exerting good performances such as colorful effects or fast screen switching. In addition, since a native application can be distributed in the form of a binary file, it is easy to sell online or offline through an app store. On the other hand, by taking a platform-dependent development approach, software upgrades are not easy, and code reusability is low.

반면, 웹 어플리케이션은 상술된 네이티브 어플리케이션의 장점 및 단점과 상반되는 장점 및 단점을 가질 수 있다. 대표적으로, 웹 어플리케이션은 사용을 위한 별도의 설치가 필요 없고 주기적인 업데이트 없이도 항상 업그레이드된 기능을 사용할 수 있는 등 다양한 장점을 갖고 있으나, 웹에 기반해 있는 특성 탓에 단말 기능을 직접 제어하거나 활용하는 것이 불가능하고, 웹 브라우저(web browser)의 특성에 어플리케이션의 성능이 종속적이란 단점도 동시에 지니고 있다. On the other hand, a web application may have advantages and disadvantages opposite to those of the above-described native application. Representatively, web applications have various advantages, such as no need for separate installation for use and the ability to always use upgraded functions without periodic updates, but due to the web-based characteristics, the web application can directly control or utilize terminal functions. It is impossible to do this, and at the same time, the performance of the application depends on the characteristics of the web browser.

하이브리드 웹 어플리케이션은 두 어플리케이션 방식의 장점을 채용하고자 하였다. 네이티브 앱과 웹 어플리케이션을 합성한 형태의 하이브리드 웹 어플리케이션 방식에서는 웹 표준 기술(HTML, CSS, Javascript)을 사용하여 프로그래밍을 하면서, 네이티브 어플리케이션과 같이 패키징되어 앱스토어 등을 통해 판매도 가능하므로 수익성도 보장이 된다.Hybrid web applications attempt to take advantage of the two application methods. In hybrid web application method that combines native app and web application, programming using web standard technology (HTML, CSS, Javascript) is packaged like a native application and can be sold through app store. Becomes

또한, 본 발명에 따른 하이브리드 웹 어플리케이션은 웹 표준 언어를 통해 프로그래밍될 수 있으므로, 개발에 소요되는 시간과 비용을 경감할 수 있다. 또한, 본 발명에 따른 하이브리드 웹 어플리케이션은 플랫폼 의존적인 하드웨어 제어 또는 운영체제 관리 정보에 대한 접근 등을 위해서 시스템 API 호출을 이용하게 되므로, 네이티브 앱과 유사한 수준의 성능을 가질 수 있다.In addition, the hybrid web application according to the present invention can be programmed through a web standard language, thereby reducing the time and cost required for development. In addition, since the hybrid web application according to the present invention uses a system API call for platform-dependent hardware control or access to operating system management information, the hybrid web application may have a performance similar to that of a native app.

특히, 본 발명에 따른 하이브리드 웹 어플리케이션은 하이브리드 웹 어플리케이션이 현재 실행되고 있는 플랫폼이 아닌 다른 플랫폼의 하드웨어 및 운영체제를 제어할 수 있는 구조를 취할 수 있다.In particular, the hybrid web application according to the present invention may take a structure that can control the hardware and operating system of a platform other than the platform on which the hybrid web application is currently running.

도 2는 본 발명에 따른 하이브리드 웹 어플리케이션을 실행하는 플랫폼들의 연동을 설명하기 위한 개념도이다.2 is a conceptual diagram illustrating the interworking of platforms for executing a hybrid web application according to the present invention.

도 2를 참조하면, 본 발명에 따른 하이브리드 웹 어플리케이션은 하이브리드 웹 어플리케이션이 실행되는 플랫폼들간에 서로 다른 플랫폼의 하드웨어 자원 및 운영체제 자원을 액세스하도록 구성될 수 있다. Referring to FIG. 2, the hybrid web application according to the present invention may be configured to access hardware resources and operating system resources of different platforms between platforms on which the hybrid web application is executed.

예컨대, 본 발명에 따른 하이브리드 웹 어플리케이션은 다양한 단말(200)에 적용되어 구동되며, 유무선 네트워크를 통해 연결되는 다양한 단말(201,202)에서 제공되는 후술되는 크로스 플랫폼 서비스 인터페이스 계층을 HTTP(HyperText Transfer Protocol) 프로토콜을 이용하여 상호 호출할 수 있다. For example, the hybrid web application according to the present invention is applied to various terminals 200 and is driven, and the cross-platform service interface layer described below provided by various terminals 201 and 202 connected through a wired / wireless network is Hypertext Transfer Protocol (HTTP) protocol. You can call each other using.

따라서, 본 발명에 따른 하이브리드 웹 어플리케이션 실행 장치인 단말들은 서로의 자원을 공유하여 가상의 하이브리드 응용 클라우드(270)를 구성하고 각각 단말의 고유 자원과 서비스들을 상호 제어하고 활용할 수 있게 된다.
Accordingly, the terminals, which are the hybrid web application execution apparatuses according to the present invention, share a resource with each other to form a virtual hybrid application cloud 270 and control and utilize unique resources and services of the terminal.

하이브리드hybrid  Web 어플리케이션application 실행 장치 Running device

도 3은 본 발명에 따른 하이브리드 웹 어플리케이션 실행 장치가 탑재한 소프트웨어 계층들을 설명하기 위한 블록도이다.3 is a block diagram illustrating software layers mounted in a hybrid web application executing apparatus according to the present invention.

도 3을 참조하면, 하이브리드 웹 어플리케이션(10)은 웹 사용자 인터페이스 계층(100), 하이브리드 웹 어플리케이션 인터페이스 계층(200) 및 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)을 이용하여 실행된다.Referring to FIG. 3, the hybrid web application 10 is executed using the web user interface layer 100, the hybrid web application interface layer 200, and the cross platform system service interface layer 300.

하이브리드 웹 어플리케이션(10)은 웹 표준 언어(11)로 작성되며, 적어도 하나의 시스템 API 호출(sytem API call)들(12)을 포함하여 작성될 수 있다. 이때 하이브리드 웹 어플리케이션을 작성하기 위한 웹 표준 언어는 자바 스크립트(JavaScript), HTML(HyperText Markup Language) 및 CSS(Cascading Style Sheet)를 포함하며, 이들에 상응하는 기타 다른 웹 표준 언어 및 향후 새롭게 개발될 웹 표준 언어들도 포함한다. 이미 상술된 바와 같이, 시스템 API는 하이브리드 웹 어플리케이션이 실행되는 플랫폼 또는 다른 플랫폼의 자원에 대한 제어 및 접근(하드웨어(예컨대, 카메라, 가속도 센서, GPS 센서 등) 제어 및 플랫폼이 관리하는 정보들(예컨대, 플랫폼이 스마트폰인 경우, 연락처(contacts) 정보, 일정표(calendar) 정보 등)에 대한 접근(access))이 가능하도록 본 발명에 따른 하이브리드 웹 어플리케이션을 위해 정의된다.The hybrid web application 10 may be written in the web standard language 11 and may include at least one system API call 12. Web standard languages for building hybrid web applications include JavaScript, HyperText Markup Language (HTML), and Cascading Style Sheets (CSS). It also includes standard languages. As already mentioned above, the system APIs control and access (e.g., hardware (e.g., cameras, acceleration sensors, GPS sensors, etc.) hardware and platform information on the platform or other platform on which the hybrid web application is running (e.g., In the case where the platform is a smart phone, it is defined for the hybrid web application according to the present invention to enable access to contact information, calendar information, etc.).

또한, 상술된 웹 사용자 인터페이스 계층(100), 하이브리드 웹 어플리케이션 인터페이스 계층(200) 및 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)은 각각의 계층이 가지는 대표적 기능들에 의해서 명칭이 부여된 것으로, 명칭에 의해서 각각의 계층들이 한정되는 것은 아니다. 하이브리드 웹 어플리케이션(10) 및 상기 계층들(100,200,300)은 단말의 메모리부에 저장되어 프로세서(processor)에 의해서 실행될 수 있다. 이때, 각각의 계층들이 엄밀하게 분리되어 각각의 모듈로서 존재할 수도 있으며, 일부 계층들이 각각의 기능을 유지한채 하나의 모듈로서 병합되어 존재할 수도 있을 것이다.In addition, the above-described web user interface layer 100, hybrid web application interface layer 200 and cross-platform system service interface layer 300 is named by the representative functions of each layer, by the name Each layer is not limited. The hybrid web application 10 and the layers 100, 200, and 300 may be stored in a memory of a terminal and executed by a processor. In this case, each layer may be strictly separated and exist as each module, and some layers may exist as a single module while maintaining each function.

어플리케이션의 배포(distribution)의 측면에서, 상술된 하이브리드 웹 어플리케이션(10)은 바이너리 파일의 형태을 취할 수 있다. 또한, 상기 하이브리드 웹 어플리케이션(10)은 웹 사용자 인터페이스 계층(100), 하이브리드 웹 어플리케이션 인터페이스 계층(200) 및 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)들 전부 또는 일부와 함께 하나의 어플리케이션 패키지(application package) 형태로 앱 스토어를 통한 온라인 배포 또는 오프라인 배포가 가능하다. 또 하나의 배포 방식으로, 상술된 계층들(100,200,300)과 하이브리드 웹 어플리케이션(10)은 분리되어 배포가 가능하다. 즉, 상술된 계층들(100,200,300)이 먼저 플랫폼에 설치된 경우에는 하이브리드 웹 어플리케이션만을 온라인 배포 또는 오프라인 배포 하는 것도 가능하다. 물론, 상술된 계층들(100,200,300)도 하이브리드 어플리케이션과 별개로서 온라인 배포 또는 오프라인 배포가 가능하다.In terms of distribution of the application, the hybrid web application 10 described above may take the form of a binary file. In addition, the hybrid web application 10 may include one application package together with all or some of the web user interface layer 100, the hybrid web application interface layer 200, and the cross platform system service interface layer 300. It can be distributed online or offline through the App Store. In another distribution method, the above-described layers 100, 200, and 300 and the hybrid web application 10 may be separated and distributed. That is, when the above-described layers (100, 200, 300) are first installed on the platform, it is also possible to distribute only the hybrid web application online or offline. Of course, the above-described layers 100, 200, and 300 may also be distributed online or offline separately from the hybrid application.

이하에서는, 상술된 각각의 계층들의 역할과 세부 구성에 대해서 설명한다.
Hereinafter, the role and detailed configuration of each of the layers described above will be described.

1)웹 사용자 인터페이스 계층1) Web user interface layer

웹 사용자 인터페이스 계층(100)은 하이브리드 웹 어플리케이션(10)을 해석하여, 하이브리드 웹 어플리케이션이 포함하는 시스템 API 호출(12)에 대응되는 처리는 후술되는 하이브리드 웹 어플리케이션 인터페이스 계층(200)으로 요청하고, 시스템 API 호출을 제외한 일반적 표준 웹 언어 부분에 대응되는 처리는 직접 수행하기 위한 계층이다.The web user interface layer 100 interprets the hybrid web application 10 and requests a process corresponding to the system API call 12 included in the hybrid web application to the hybrid web application interface layer 200 which will be described later. The processing corresponding to the general standard web language part except API call is a layer to perform directly.

도 4는 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 웹 사용자 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.4 is a block diagram illustrating a detailed configuration of a web user interface layer for executing a hybrid web application according to the present invention.

도 4를 참조하면, 웹 사용자 인터페이스 계층은 일반적인 표준 웹 언어 부분을 실행하기 위한 적어도 하나의 웹 엔진(web engine; 120)과 하이브리드 웹 어플리케이션에서 일반적인 표준 웹 언어 부분과 시스템 API 호출 부분을 분리하기 위한 스크립트 엔진(110)을 포함하여 구성될 수 있다.Referring to FIG. 4, the web user interface layer is used to separate at least one web engine 120 for executing a general standard web language part and a system API call part for a general standard web language part in a hybrid web application. It may be configured to include a script engine 110.

웹 엔진이라 함은 HTML 렌더링(rendering) 엔진 또는 CSS 렌더링 엔진 등을 포함하여, 스크립트 엔진에 의하여 분리되어 제공되는 일반적인 표준 웹 언어들을 실행하여 통상적인 웹 어플리케이션과 유사한 방식으로 브라우징 화면을 제공한다.The web engine includes an HTML rendering engine or a CSS rendering engine, and executes general standard web languages provided separately by a script engine to provide a browsing screen in a manner similar to that of a typical web application.

스크립트 엔진(110)은 하이브리드 웹 어플리케이션을 해석하여 일반적인 표준 웹 언어 부분(11)은 웹 엔진으로 제공하며, 시스템 API 호출들(12)에 대해서는 하이브리드 웹 어플리케이션 인터페이스 계층(200)으로 시스템 API 호출들에 대응되는 처리를 요청하게 된다.The script engine 110 interprets the hybrid web application, providing the general standard web language portion 11 to the web engine, and for the system API calls 12 to the system API calls with the hybrid web application interface layer 200. It will request the corresponding processing.

이때, 웹 엔진과 스크립트 엔진은 명확하게 구분되어 존재하지 않는 실시예도 가능하다. 즉, 통상적으로 웹 엔진은 스크립트 엔진(예컨대, JavaScript Interpreter)을 포함하여 구성될 수도 있으며, 이 경우 웹 엔진에 포함된 스크립트 엔진에 하이브리드 웹 어플리케이션에서 일반적인 표준 웹 언어 부분과 시스템 API 호출 부분을 분리하는 기능이 구현되어야 할 것이다.
In this case, an embodiment in which the web engine and the script engine are not clearly distinguished from each other is possible. That is, the web engine may typically be configured to include a script engine (eg, a JavaScript interpreter), in which case the script engine included in the web engine separates the standard web language parts and system API call parts that are common in a hybrid web application. The function will have to be implemented.

2)하이브리드 웹 어플리케이션 인터페이스 계층Hybrid Web Application Interface Layer

하이브리드 웹 어플리케이션 인터페이스 계층(200)은 상기 웹 사용자 인터페이스 계층(100)의 요청에 따라 시스템 API 호출에 대응되는 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에 요청하고, 상기 시스템 API 호출에 대응되는 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)로부터 동기 또는 비동기적으로 회신하여 상기 웹 사용자 인터페이스 계층으로 전달하는 계층이다.The hybrid web application interface layer 200 requests the cross-platform system service interface layer 300 for a process corresponding to a system API call according to the request of the web user interface layer 100, and a process corresponding to the system API call. A result is a layer that returns a result synchronously or asynchronously from the cross platform system service interface layer 300 to the web user interface layer.

도 5는 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 하이브리드 웹 어플리케이션 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.5 is a block diagram illustrating a detailed configuration of a hybrid web application interface layer for executing a hybrid web application according to the present invention.

도 5를 참조하면, 본 발명에 따른 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 웹 인터페이스 제공부(210), 인터페이스 서비스 요청 생성부(220), 인터페이스 서비스 요청 중개부(230) 및 인터페이스 서비스 동기화 관리부(240)를 포함하여 구성될 수 있다.Referring to FIG. 5, the hybrid web application interface layer 200 according to the present invention includes a web interface provider 210, an interface service request generator 220, an interface service request broker 230, and an interface service synchronization manager ( 240).

먼저, 웹 인터페이스 제공부(210)는 상술된 웹 사용자 인터페이스 계층(100)로부터 시스템 API 호출에 대응되는 처리를 요청받고, 처리 결과를 웹 사용자 인터페이스 계층(100)에 제공하는 구성요소이다.First, the web interface providing unit 210 is a component that receives a request corresponding to a system API call from the web user interface layer 100 described above, and provides the processing result to the web user interface layer 100.

다음으로, 인터페이스 서비스 요청 생성부(220)는 웹 인터페이스 제공부(210)를 통해 요청된 장치 제어 및 시스템 기능 제어 API 요청을 미리 정의된 요청 규격에 맞게 생성하는 구성요소이다.Next, the interface service request generation unit 220 is a component for generating a device control and system function control API request requested through the web interface providing unit 210 according to a predefined request specification.

다음으로, 인터페이스 서비스 요청 중개부(230)는 인터페이스 서비스 요청 생성부를 통해 생성된 요청을 동기적/비동기적(synchronous/asynchronous) 인터페이스 처리 방식에 맞게 크로스 플랫폼 시스템 서비스 인터페이스 계층 (300)으로 전달처리하는 구성요소이다.Next, the interface service request broker 230 transmits the request generated through the interface service request generator to the cross platform system service interface layer 300 according to a synchronous / asynchronous interface processing scheme. Component.

마지막으로, 인터페이스 서비스 동기화 관리부(240)는 동기적/비동기적 인터페이스 처리 과정을 관리하는 구성요소이다. Finally, the interface service synchronization manager 240 is a component that manages a synchronous / asynchronous interface processing process.

인터페이스 서비스 요청 중개부(230)는 인터페이스 서비스 요청 생성부(220)를 통해 생성된 요청을 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로 전달하고, 결과를 동기적 또는 비동기적으로 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로부터 수신하게 되는데, 인터페이스 서비스 동기화 관리부(240)는 이러한 결과의 수신을 동기적/비동기적으로 수신하는 것과 관련된 처리를 수행한다. 한편, 시스템 API의 특성에 따라서 해당 시스템 API의 인터페이스 처리 방식이 결정된다.
The interface service request broker 230 transmits the request generated through the interface service request generator 220 to the cross platform system service interface layer 300 and transmits the result synchronously or asynchronously to the cross platform system service interface layer. In operation 300, the interface service synchronization manager 240 performs a process related to receiving such a result synchronously or asynchronously. Meanwhile, the interface processing method of the corresponding system API is determined according to the characteristics of the system API.

도 6은 본 발명에 따른 하이브리드 웹 어플리케이션 인터페이스 계층과 크로스 플랫폼 시스템 서비스 인터페이스 계층간의 처리 요청 전송과 처리 결과 회신 과정을 설명하기 위한 개념도이다.6 is a conceptual diagram illustrating a process of transmitting a processing request and returning a processing result between a hybrid web application interface layer and a cross platform system service interface layer according to the present invention.

도 6을 참조하면, 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에 대해서 소정의 시스템 API에 대응된 처리 요청에 대해서는 동기적 처리를 요청할 수 있다(511). 이 경우, 인터페이스 서비스 요청 중개부(230)는 인터페이스 서비스 동기화 관리부(240)의 도움을 받아 요청에 대한 결과가 회신되는 시점까지 어플리케이션의 수행을 정지한 다음 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로부터 결과를 회신받게 된다(512).Referring to FIG. 6, the hybrid web application interface layer 200 may request synchronous processing for a processing request corresponding to a predetermined system API with respect to the cross platform system service interface layer 300 (511). In this case, the interface service request broker 230 stops the execution of the application until the point at which the result of the request is returned with the help of the interface service synchronization manager 240, and then the result from the cross platform system service interface layer 300. 512 is returned.

한편, 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에 대해서 소정의 시스템 API에 대응된 처리 요청에 대해서는 비동기적 처리를 요청할 수 있다(531). 이 경우, 인터페이스 서비스 요청 중개부(230)는 처리 요청을 크로스 플롯폼 시스템 서비스 인터페이스 계층(300)으로 전송한 다음, 인터페이스 서비스 동기화 관리부(240)의 도움을 받아 요청에 대한 결과가 회신되는 시점이 되면 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로부터 결과를 회신받게 된다(532). Meanwhile, the hybrid web application interface layer 200 may request asynchronous processing for a processing request corresponding to a predetermined system API to the cross platform system service interface layer 300 (531). In this case, the interface service request intermediary 230 transmits the processing request to the cross-platform system service interface layer 300, and then, with the help of the interface service synchronization management unit 240, the time point at which the result of the request is returned is returned. If the result is returned from the cross platform system service interface layer 300 (532).

또한, 또 하나의 인터페이스 방식으로 통보(notification) 형태의 비동기적 처리가 있을 수 있다. 통보란 미리 등록된 트리거링 조건(triggering condition)이 충족되었거나 트리거링 이벤트(event)가 발생되었을 때 상대방에게 알려주는 것을 의미한다. 통보는 1회성의 처리 결과 회신이 아니라 상대방이 등록한 트리거링 조건이 충족되거나 이벤트가 발생될 때마다 지속적으로 조건 충족 또는 이벤트 발생 사실을 알려준다는 점에서 앞서 언급된 통상적인 비동기적 처리와 차이가 있다. 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에 대해서 소정의 시스템 API에 대응된 처리 요청에 대해서는 통보에 대한 등록을 요청할 수 있다(521). 이 경우, 인터페이스 서비스 요청 중개부(230)는 처리 요청을 크로스 플롯폼 시스템 서비스 인터페이스 계층(300)으로 전송한 다음, 결과의 회신을 기다리지 않고 다른 작업들을 수행한다. 이후에, 등록된 통보에 대해서 해당 통보를 해야할 이벤트가 발생되면 인터페이스 서비스 요청 중개부(230)는 인터페이스 서비스 동기화 관리부(240)의 도움을 받아 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로부터 통보를 수신하게 된다(522).
In addition, there may be asynchronous processing in the form of notification as another interface method. The notification means informing the counterpart when a pre-registered triggering condition is met or a triggering event occurs. The notification is different from the conventional asynchronous processing described above in that the notification is not only a one-time processing result return but a continuous notification of the condition or event occurrence whenever the triggering condition registered by the counterpart is satisfied or an event occurs. The hybrid web application interface layer 200 may request the cross platform system service interface layer 300 to register a notification for a processing request corresponding to a predetermined system API (521). In this case, the interface service request broker 230 transmits the processing request to the cross-platform system service interface layer 300, and then performs other tasks without waiting for a response to be returned. Subsequently, when an event that needs to be notified about a registered notification is generated, the interface service request broker 230 may receive a notification from the cross platform system service interface layer 300 with the help of the interface service synchronization manager 240. 522.

3)크로스 플랫폼 시스템 서비스 인터페이스 계층3) cross platform system service interface layer

크로스 플랫폼 시스템 서비스 인터페이스 계층(300)은 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 따라 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 계층이다.The cross platform system service interface layer 300 is a layer that performs platform dependent operations corresponding to the system API according to a request of the hybrid web application interface layer.

도 7은 본 발명에 따른 하이브리드 웹 어플리케이션 실행을 위한 크로스 플랫폼 시스템 서비스 인터페이스 계층의 세부 구성을 설명하기 위한 블록도이다.7 is a block diagram illustrating a detailed configuration of a cross platform system service interface layer for executing a hybrid web application according to the present invention.

도 7을 참조하면, 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)은 웹 서버(310) 및 시스템 인터페이스부(320)를 포함하여 구성될 수 있다. 더 구체적으로, 시스템 인터페이스부(320)는 시스템 요청 처리부(321)와 시스템 인터페이스 연동부(322)를 포함하여 구성될 수 있다.Referring to FIG. 7, the cross platform system service interface layer 300 may include a web server 310 and a system interface 320. More specifically, the system interface unit 320 may include a system request processing unit 321 and a system interface interworking unit 322.

먼저, 웹 서버(310)는 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)내에 내장된 웹 서버(embedded web server)로서, 하이브리드 웹 어플리케이션 인터페이스 계층과 HTTP(HyperText Transfer Protocol) 프로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 교환하는 구성요소이다.First, the web server 310 is an embedded web server embedded in the cross platform system service interface layer 300. The web server 310 processes a system API using a hybrid web application interface layer and a HyperText Transfer Protocol (HTTP) protocol. A component that exchanges request and processing results.

크로스 플랫폼 시스템 서비스 인터페이스 계층(300)과 하이브리드 웹 어플리케이션 인터페이스 계층(200)이 HTTP 프로토콜로 시스템 API의 처리 요청과 처리 결과를 교환하도록 구성되는 것에 의해서 크로스 플랫폼 시스템 인터페이스 계층(300)과 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 서로 다른 단말에 위치할 수도 있다. 즉, 서로 다른 단말에 존재하는 크로스 플랫폼 시스템 인터페이스 계층(300)과 하이브리드 웹 어플리케이션 계층(200)이 HTTP 프로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 교환하도록 구성될 수 있다. 이를 통하여, 하이브리드 웹 어플리케이션은 유무선 네트워크를 통해 연결되는 다양한 단말에서 제공되는 크로스 플랫폼 서비스 인터페이스 계층을 HTTP 프로토콜을 이용하여 호출할 수 있다.The cross platform system service interface layer 300 and the hybrid web application interface layer 200 are configured to exchange processing requests and processing results of the system API with the HTTP protocol so that the cross platform system service interface layer 300 and the hybrid web application interface are configured. The layer 200 may be located in different terminals. That is, the cross platform system interface layer 300 and the hybrid web application layer 200 existing in different terminals may be configured to exchange processing requests and processing results of system APIs using the HTTP protocol. Through this, the hybrid web application can call the cross-platform service interface layer provided by various terminals connected through the wired / wireless network using the HTTP protocol.

도 8은 본 발명에 따라 서로 다른 단말에 위치한 하이브리드 웹 어플리케이션 인터페이스 계층과 크로스 플랫폼 시스템 인터페이스 계층간의 연동을 설명하기 위한 개념도이다.8 is a conceptual diagram illustrating the interworking between a hybrid web application interface layer and a cross platform system interface layer located in different terminals according to the present invention.

도 8을 참조하면, 예컨대, 자신의 스마트폰(제 1 단말; 810)에 탑재된 하이브리드 웹 어플리케이션(811)이 다른 사람의 스마트폰(제 2 단말; 820)에 탑재된 카메라(825)를 제어하고자 할 경우, 제 1 단말에 설치된 하이브리드 웹 어플리케이션 인터페이스 계층(813)이 제 2 단말에 설치된 크로스 플랫폼 시스템 인터페이스 계층(824)으로 카메라 제어 시스템 API의 처리 요청을 HTTP 프로토콜을 이용하여 전달할 수 있다. 이는, 앞서 도 2를 통하여 설명된 개념에 해당된다. Referring to FIG. 8, for example, a hybrid web application 811 mounted on one's own smartphone (first terminal; 810) controls a camera 825 mounted on another's smartphone (second terminal; 820). If desired, the hybrid web application interface layer 813 installed in the first terminal may transmit a processing request of the camera control system API to the cross platform system interface layer 824 installed in the second terminal using the HTTP protocol. This corresponds to the concept described above with reference to FIG. 2.

다음으로, 시스템 인터페이스부(820)는 상기 웹 서버를 통하여 전달된 상기 시스템 API 처리 요청을 처리하는 구성요소이다.Next, the system interface unit 820 is a component that processes the system API processing request transmitted through the web server.

세부적인 구성으로서, 시스템 인터페이스부(820)는 상기 웹 서버를 통해 전달되는 시스템 API 처리 요청을 수신하는 시스템 인터페이스 요청 처리부(821)와 시스템 인터페이스 요청 처리부로부터 전달된 시스템 API 처리 요청을 플랫폼 의존적 API로 매핑하고, 매핑된 플랫폼 의존적 API를 호출하여 시스템 API 처리 요청을 처리하는 시스템 인터페이스 연동부(822)를 포함하여 구성될 수 있다.As a detailed configuration, the system interface unit 820 may convert the system API request request from the system interface request processor 821 and the system interface request processor received from the system interface request processor to the platform-dependent API. It may be configured to include a system interface interworking unit 822 for mapping and calling a mapped platform-dependent API to process a system API processing request.

추가적인 구성요소로서, 시스템 인터페이스부(820)는 시스템 인터페이스에 대한 관리와 내장 웹 서버에 대한 관리를 위한 시스템 인터페이스 관리부(823)을 추가로 포함할 수 있다.
As an additional component, the system interface unit 820 may further include a system interface manager 823 for managing the system interface and managing the embedded web server.

하이브리드hybrid  Web 어플리케이션application 실행 방법 How to run

도 9는 본 발명에 따른 하이브리드 웹 어플리케이션의 실행 방법을 설명하기 위한 순서도이다.9 is a flowchart illustrating a method of executing a hybrid web application according to the present invention.

도 9는 앞서 설명된 도 3의 소프트웨어 계층 구조와 병행 참조된다. 본 발명에 따른 하이브리드 웹 어플리케이션의 실행 방법은 웹 사용자 인터페이스 계층(100), 하이브리드 웹 어플리케이션 인터페이스 계층(200) 및 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)을 포함한 장치에서 하이브리드 웹 어플리케이션을 실행하는 방법이다.9 is referred to in parallel with the software hierarchy of FIG. 3 described above. A method of executing a hybrid web application according to the present invention is a method of executing a hybrid web application in a device including a web user interface layer 100, a hybrid web application interface layer 200, and a cross platform system service interface layer 300.

도 9를 참조하면, 본 발명에 따른 하이브리드 웹 어플리케이션의 실행 방법은 웹 사용자 인터페이싱 단계(S910), 하이브리드 웹 어플리케이션 인터페이싱 단계(S920) 및 크로스 플랫폼 시스템 서비스 인터페이싱 단계(S930)를 포함하여 구성될 수 있다. 상기 단계들(S910, S920, S930)은 하이브리드 웹 어플리케이션의 실행 명령을 수신하는 단계(S901) 이후에 실행되며, 하이브리드 웹 어플리케이션을 구성하는 표준 웹 언어에 대한 처리와 시스템 API 호출에 대한 처리를 프로그래밍된 순서에 따라 진행되므로, 지속적으로 반복된다. 9, a method of executing a hybrid web application according to the present invention may include a web user interfacing step S910, a hybrid web application interfacing step S920, and a cross platform system service interfacing step S930. . The steps S910, S920, and S930 are executed after receiving the execution command of the hybrid web application (S901), and programming the processing for the system web page and the processing for the standard web language constituting the hybrid web application. It proceeds in the order in which it was made, so it repeats continuously.

먼저, 웹 사용자 인터페이싱 단계(S910)는, 상기 웹 사용자 인터페이스 계층(100)에서 수행되는 동작으로서, 시스템 API 호출(system API call)을 포함한 표준 웹 언어로 작성된 하이브리드 웹 어플리케이션을 해석하여, 상기 시스템 API 호출에 대응되는 처리는 상기 하이브리드 웹 어플리케이션 인터페이스 계층(200)으로 요청하고, 상기 표준 웹 언어에서 상기 시스템 API 호출을 제외한 부분에 대응되는 처리를 수행한다.First, the web user interfacing step (S910) is an operation performed in the web user interface layer 100, and analyzes a hybrid web application written in a standard web language including a system API call to analyze the system API. The processing corresponding to the call is requested to the hybrid web application interface layer 200, and the processing corresponding to the part excluding the system API call in the standard web language is performed.

웹 사용자 인터페이싱 단계(S910)를 수행하기 위해서, 앞서 언급된 바와 같이 웹 사용자 인터페이스 계층(100)은 일반적인 표준 웹 언어 부분을 실행하기 위한 적어도 하나의 웹 엔진(web engine; 120)과 하이브리드 웹 어플리케이션에서 일반적인 표준 웹 언어 부분과 시스템 API 호출 부분을 분리하기 위한 스크립트 엔진(100)을 포함하여 구성될 수 있다.
In order to perform the web user interfacing step (S910), as mentioned above, the web user interface layer 100 may be used in a hybrid web application and at least one web engine 120 for executing a general standard web language portion. It may be configured to include a script engine 100 for separating the general standard web language portion and the system API call portion.

다음으로, 하이브리드 웹 어플리케이션 인터페이싱 단계(S920)는, 상기 하이브리드 웹 어플리케이션 인터페이스 계층(200)에서 수행되는 동작으로서, 상기 웹 사용자 인터페이스 계층(100)의 요청에 기초한 상기 시스템 API 호출에 대한 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에 요청하고, 상기 시스템 API 호출에 대한 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)으로부터 동기 또는 비동기적으로 수신하여 상기 웹 사용자 인터페이스 계층(100)으로 전달하는 단계이다.Next, the hybrid web application interfacing step (S920) is an operation performed in the hybrid web application interface layer 200, and cross-platforms the processing of the system API call based on the request of the web user interface layer 100. Requesting the system service interface layer 300, receiving the processing result of the system API call from the cross-platform system service interface layer 300 synchronously or asynchronously, and delivering the result to the web user interface layer 100. to be.

즉, 하이브리드 웹 어플리케이션 인터페이싱 단계(S920)에서는 웹 사용자 인터페이스 계층(100)로부터 시스템 API 호출에 대응되는 처리를 요청받고, 요청된 장치 제어 및 시스템 기능 제어 API 요청을 미리 정의된 요청 규격에 맞게 생성한다. 이후에, 생성된 요청은 동기적/비동기적(synchronous/asynchronous) 인터페이스 처리 방식에 맞게 크로스 플랫폼 서비스 인터페이스 계층(300)으로 전달된다. That is, in the hybrid web application interfacing step (S920), a process corresponding to a system API call is requested from the web user interface layer 100, and the requested device control and system function control API requests are generated according to a predefined request specification. . Thereafter, the generated request is forwarded to the cross platform service interface layer 300 according to the synchronous / asynchronous interface processing scheme.

요청이 채택한 인터페이스 처리 방식에 따라서, 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 크로스 플랫폼 서비스 인터페이스 계층(300)으로부터 상기 요청의 처리 결과를 동기적 또는 비동기적으로 수신하게 된다.According to the interface processing scheme adopted by the request, the hybrid web application interface layer 200 may receive the processing result of the request synchronously or asynchronously from the cross platform service interface layer 300.

하이브리드 웹 어플리케이션 인터페이스 계층(200)과 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)간의 처리 요청 전송과 처리 결과 회신 과정은 도6을 통하여 설명된 바 있으므로 설명을 생략한다.
Since a process request transmission and a process result return process between the hybrid web application interface layer 200 and the cross platform system service interface layer 300 have been described with reference to FIG. 6, a description thereof will be omitted.

마지막으로, 크로스 플랫폼 시스템 서비스 인터페이싱 단계(S930)는, 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)에서 수행되는 동작으로서, 상기 하이브리드 웹 어플리케이션 인터페이스 계층(200)의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 단계이다.Lastly, the cross platform system service interfacing step (S930) is an operation performed in the cross platform system service interface layer 300, and corresponds to the system API based on a request of the hybrid web application interface layer 200. This step performs platform dependent operations.

이때, 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)과 하이브리드 웹 어플리케이션 인터페이스 계층(200)은 HTTP 프로토콜로 시스템 API의 처리 요청과 처리 결과를 교환하도록 구성될 수 있다. 이를 통하여, 서로 다른 플랫폼에 존재하는 크로스 플랫폼 시스템 인터페이스 계층(300)과 하이브리드 웹 어플리케이션 계층(200)이 HTTP 프로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 교환하도록 구성될 수 있다. 즉, 하이브리드 웹 어플리케이션은 유무선 네트워크를 통해 연결되는 다양한 단말에서 제공되는 크로스 플랫폼 서비스 인터페이스 계층(300)을 HTTP 프로토콜을 이용하여 호출할 수 있다. 서로 다른 단말에 위치한 하이브리드 웹 어플리케이션 인터페이스 계층(200)과 크로스 플랫폼 시스템 인터페이스 계층(300)간의 연동 개념은 도 8을 통해 설명되었다.In this case, the cross platform system service interface layer 300 and the hybrid web application interface layer 200 may be configured to exchange a processing request and a processing result of the system API using the HTTP protocol. Through this, the cross platform system interface layer 300 and the hybrid web application layer 200 existing on different platforms may be configured to exchange processing requests and processing results of system APIs using the HTTP protocol. That is, the hybrid web application may call the cross platform service interface layer 300 provided by various terminals connected through the wired or wireless network using the HTTP protocol. The interworking concept between the hybrid web application interface layer 200 and the cross platform system interface layer 300 located in different terminals has been described with reference to FIG. 8.

크로스 플랫폼 시스템 서비스 인터페이싱 단계(S930)에서 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층(300)은 하이브리드 웹 어플리케이션 인터페이스 계층(200)으로부터 전달된 시스템 API 처리 요청을 수신하고, 수신된 시스템 API 처리 요청을 플랫폼 의존적 API로 매핑하고, 매핑된 플랫폼 의존적 API를 호출하여 시스템 API 처리 요청을 처리하게 된다.
In the cross platform system service interfacing step (S930), the cross platform system service interface layer 300 receives a system API processing request transmitted from the hybrid web application interface layer 200, and receives the received system API processing request from the platform dependent API. The system API processing request is handled by calling the mapped platform-dependent API.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

10: 하이브리드 웹 어플리케이션
11: 표준 웹 언어 부분 12: 시스템 API 호출
100: 웹 사용자 인터페이스 계층
110: 스크립트 엔진 120: 웹 엔진
200: 하이브리드 웹 어플리케이션 인터페이스 계층
210: 웹 인터페이스 제공부 220: 인터페이스 서비스 요청 생성부
230: 인터페이스 서비스 요청 중개부
240: 인터페이스 서비스 동기화 관리부
300: 크로스 플랫폼 시스템 서비스 인터페이스 계층
310: 내장 웹 서버 320: 시스템 인터페이스부
321: 시스템 인터페이스 요청 처리부
322: 시스템 인터페이스 연동부
323: 시스템 인터페이스 관리부
10: Hybrid web application
11: Standard Web Language Part 12: System API Calls
100: Web user interface layer
110: script engine 120: web engine
200: hybrid web application interface layer
210: web interface provider 220: interface service request generation unit
230: interface service request broker
240: interface service synchronization management unit
300: cross platform system service interface layer
310: embedded web server 320: system interface unit
321: system interface request processing unit
322: system interface linkage
323: system interface management unit

Claims (19)

시스템 API 호출(system API call)과 표준 웹 언어로 작성된 하이브리드 웹 어플리케이션을 실행하는 장치로서,
상기 시스템 API 호출에 대응되는 처리를 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하고, 상기 표준 웹 언어에 대응되는 처리를 수행하는 웹 사용자 인터페이스 계층;
상기 웹 사용자 인터페이스 계층의 요청에 따라 상기 시스템 API 호출에 대응되는 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층에 요청하고, 상기 시스템 API 호출에 대응되는 처리의 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층로부터 동기 또는 비동기적으로 수신하여 상기 웹 사용자 인터페이스 계층으로 전달하는 하이브리드 웹 어플리케이션 인터페이스 계층; 및
상기 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 크로스 플랫폼 시스템 서비스 인터페이스 계층을 포함하고,
상기 하이브리드 웹 어플리케이션은 다양한 종류의 플랫폼에 비의존적으로 동작하며, 상기 웹 사용자 인터페이스 계층, 상기 하이브리드 웹 어플리케이션 인터페이스 계층 및 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층은 별개의 계층들인, 하이브리드 웹 어플리케이션의 실행 장치.
A device that runs a system API call and a hybrid web application written in a standard web language.
A web user interface layer requesting a process corresponding to the system API call to a hybrid web application interface layer and performing a process corresponding to the standard web language;
Requesting the cross platform system service interface layer a process corresponding to the system API call according to the request of the web user interface layer, and synchronizing or asynchronously from the cross platform system service interface layer a result of the process corresponding to the system API call A hybrid web application interface layer that receives and forwards to the web user interface layer; And
A cross platform system service interface layer configured to perform platform dependent operations corresponding to the system API based on the request of the hybrid web application interface layer;
And the web user interface layer, the hybrid web application interface layer and the cross platform system service interface layer are separate layers.
청구항 1에 있어서,
상기 시스템 API는 하드웨어를 제어하는 API 또는 운영체제가 관리하는 정보에 접근하는 API인 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 1,
The system API is an API for controlling hardware or an API for accessing information managed by the operating system.
청구항 1에 있어서,
상기 표준 웹 언어는 자바 스크립트(Java Script), HTML(HyperText Markup Language) 및 CSS(Cascading Style Sheet) 중 적어도 하나를 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 1,
The standard web language may include at least one of Java Script, HyperText Markup Language (HTML), and Cascading Style Sheet (CSS).
청구항 1에 있어서,
상기 웹 사용자 인터페이스 계층은,
상기 표준 웹 언어에 따른 처리를 수행하기 위한 적어도 하나의 웹 엔진(web engine); 및
상기 하이브리드 웹 어플리케이션에 포함된 상기 시스템 API 호출를 분리하여 상기 시스템 API 호출에 따른 처리를 상기 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하는 스크립트 엔진을 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 1,
The web user interface layer is,
At least one web engine for performing a process according to the standard web language; And
And a script engine for separating the system API call included in the hybrid web application and requesting a process according to the system API call to the hybrid web application interface layer.
청구항 1에 있어서,
상기 하이브리드 웹 어플리케이션 인터페이스 계층은,
상기 웹 사용자 인터페이스 계층의 요청에 따라 상기 시스템 API를 처리하는 시스템 API 처리부;
상기 시스템 API 처리부의 요청에 따라 시스템 API 수행 요청을 생성하여 인터페이스 서비스 요청 중개부로 전달하는 인터페이스 서비스 요청 생성부;
상기 인터페이스 서비스 요청 생성부로부터 수신된 상기 시스템 API 수행 요청을 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 중개하는 인터페이스 서비스 요청 중개부; 및
상기 인터페이스 서비스 요청 중개부를 통하여 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 전달된 상기 시스템 API 수행 요청의 처리 결과 수신을 관리하는 인터페이스 서비스 동기화 관리부를 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 1,
The hybrid web application interface layer,
A system API processor configured to process the system API according to a request of the web user interface layer;
An interface service request generation unit generating a system API execution request according to a request of the system API processing unit and transferring the generated system API request to an interface service request broker;
An interface service request broker for relaying the system API execution request received from the interface service request generator to the cross platform system service interface layer; And
And an interface service synchronization manager configured to manage reception of a processing result of the system API execution request transmitted to the cross platform system service interface layer through the interface service request broker.
청구항 5에 있어서,
상기 인터페이스 서비스 요청 중개부의 상기 시스템 API 수행 요청은 동기식 또는 비동기식 중 하나이며,
상기 인터페이스 서비스 동기화 관리부는 상기 시스템 API 수행 요청에 대한 처리 결과를 동기식 또는 비동기식 중 하나의 방식으로 상기 인터페이스 서비스 요청 중개부가 수신할 수 있도록 상기 상기 인터페이스 서비스 요청 중개부를 관리하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 5,
The system API execution request of the interface service request broker is either synchronous or asynchronous,
The interface service synchronization management unit manages the interface service request broker so that the interface service request broker can receive the processing result of the system API execution request in one of synchronous or asynchronous manners. Running device.
청구항 1에 있어서,
상기 크로스 플랫폼 시스템 서비스 인터페이스 계층은,
상기 하이브리드 웹 어플리케이션 인터페이스 계층과 HTTP(HyperText Transfer Protocol) 프로토콜을 이용하여 상기 시스템 API의 처리 요청과 처리 결과를 송수신하는 웹 서버(web server)를 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 1,
The cross platform system service interface layer,
And a web server configured to transmit and receive a processing request and a processing result of the system API using the hybrid web application interface layer and a HyperText Transfer Protocol (HTTP) protocol.
청구항 7에 있어서,
상기 웹 서버는 다른 단말에 설치된 하이브리드 웹 어플리케이션 인터페이스 계층과 HTTP 포로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 송수신하는 것을 특징으로 하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 7,
And the web server transmits and receives a processing request and a processing result of a system API using a hybrid web application interface layer and an HTTP protocol installed in another terminal.
청구항 8에 있어서,
상기 크로스 플랫폼 시스템 서비스 인터페이스 계층은,
상기 웹 서버를 통하여 전달된 상기 시스템 API의 처리 요청을 처리하는 시스템 인터페이스부를 추가로 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 8,
The cross platform system service interface layer,
And a system interface unit configured to process a processing request of the system API transmitted through the web server.
청구항 9에 있어서,
상기 시스템 인터페이스부는
상기 웹 서버를 통해 전달되는 상기 시스템 API의 처리 요청을 수신하는 시스템 인터페이스 요청 처리부; 및
상기 시스템 인터페이스 요청 처리부로부터 전달된 상기 시스템 API의 처리 요청을 플랫폼 의존적 API로 매핑하고, 매핑된 플랫폼 의존적 API로 호출하여 상기 시스템 API의 처리 요청을 처리하는 시스템 인터페이스 연동부를 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 장치.
The method according to claim 9,
The system interface unit
A system interface request processing unit which receives a processing request of the system API transmitted through the web server; And
And a system interface interworking unit configured to map a processing request of the system API transmitted from the system interface request processing unit to a platform dependent API and call the mapped platform dependent API to process a processing request of the system API. Execution device of the web application.
웹 사용자 인터페이스 계층, 하이브리드 웹 어플리케이션 인터페이스 계층 및 크로스 플랫폼 시스템 서비스 인터페이스 계층을 포함한 플랫폼의 하이브리드 웹 어플리케이션 실행 방법으로서,
상기 웹 사용자 인터페이스 계층에서, 시스템 API 호출(system API call)과 표준 웹 언어로 작성된 상기 하이브리드 웹 어플리케이션을 해석하여, 상기 시스템 API 호출에 대응되는 처리를 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하고, 상기 표준 웹 언어에 대응되는 처리를 수행하는 웹 사용자 인터페이싱 단계;
상기 하이브리드 웹 어플리케이션 인터페이스 계층에서, 상기 웹 사용자 인터페이스 계층의 요청에 기초한 상기 시스템 API 호출에 대한 처리를 크로스 플랫폼 시스템 서비스 인터페이스 계층에 요청하고, 상기 시스템 API 호출에 대한 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층로부터 동기 또는 비동기적으로 수신하여 상기 웹 사용자 인터페이스 계층으로 전달하는 하이브리드 웹 어플리케이션 인터페이싱 단계; 및
상기 크로스 플랫폼 시스템 서비스 인터페이스 계층에서, 상기 하이브리드 웹 어플리케이션 인터페이스 계층의 요청에 기초해 상기 시스템 API에 대응된 플랫폼 의존적 동작을 수행하는 크로스 플랫폼 시스템 서비스 인터페이싱 단계를 포함하고,
상기 하이브리드 웹 어플리케이션은 다양한 종류의 플랫폼에 비의존적으로 동작하며, 상기 웹 사용자 인터페이스 계층, 상기 하이브리드 웹 어플리케이션 인터페이스 계층 및 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층은 별개의 계층들인, 하이브리드 웹 어플리케이션의 실행 방법.
A method of running a hybrid web application of a platform including a web user interface layer, a hybrid web application interface layer, and a cross platform system service interface layer.
In the web user interface layer, a system API call and the hybrid web application written in a standard web language are interpreted to request a process corresponding to the system API call to the hybrid web application interface layer, and the standard web Web user interfacing to perform a process corresponding to a language;
In the hybrid web application interface layer, request the cross platform system service interface layer to process the system API call based on the request of the web user interface layer, and process the processing result of the system API call to the cross platform system service interface. A hybrid web application interfacing step of receiving from the layer synchronously or asynchronously and delivering to the web user interface layer; And
At the cross platform system service interface layer, performing a platform dependent operation corresponding to the system API based on a request of the hybrid web application interface layer;
The hybrid web application operates independently of various types of platforms, and wherein the web user interface layer, the hybrid web application interface layer and the cross platform system service interface layer are separate layers.
청구항 11에 있어서,
상기 시스템 API는 하드웨어를 제어하는 API 또는 운영체제가 관리하는 정보에 접근하는 API인 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
The system API is an API for controlling hardware or an API for accessing information managed by the operating system.
청구항 11에 있어서,
상기 표준 웹 언어는 자바 스크립트(Java Script), HTML(HyperText Markup Language) 및 CSS(Cascading Style Sheet) 중 적어도 하나를 포함하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
The standard web language includes at least one of Java Script, HyperText Markup Language (HTML), and Cascading Style Sheet (CSS).
청구항 11에 있어서,
상기 웹 사용자 인터페이싱 단계는 적어도 하나의 웹 엔진(web engine)을 이용하여 상기 표준 웹 언어에 대응되는 처리를 수행하고, 상기 시스템 API 호출에 대응되는 처리를 상기 하이브리드 웹 어플리케이션 인터페이스 계층으로 요청하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
The web user interfacing may include performing a process corresponding to the standard web language using at least one web engine and requesting a process corresponding to the system API call to the hybrid web application interface layer. To run a hybrid web application.
청구항 11에 있어서,
상기 하이브리드 웹 어플리케이션 인터페이싱 단계는,
상기 웹 사용자 인터페이스 계층로부터의 상기 시스템 API 호출에 대응되는 처리 요청에 기초하여 시스템 API 수행 요청을 생성하는 단계;
생성된 상기 시스템 API 수행 요청을 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로 전달하는 단계; 및
전달된 상기 시스템 API 수행 요청의 처리 결과를 상기 크로스 플랫폼 시스템 서비스 인터페이스 계층으로부터 수신하는 단계를 포함한 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
The hybrid web application interfacing step,
Generating a system API execution request based on a processing request corresponding to the system API call from the web user interface layer;
Passing the generated system API execution request to the cross platform system service interface layer; And
And receiving a processing result of the delivered system API execution request from the cross platform system service interface layer.
청구항 15에 있어서,
상기 시스템 API 수행 요청에 대한 상기 시스템 API 수행 요청의 처리 결과의 수신은 동기식 또는 비동기식 인터페이스 방식을 이용하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 15,
And receiving a processing result of the system API execution request with respect to the system API execution request using a synchronous or asynchronous interface method.
청구항 11에 있어서,
상기 크로스 플랫폼 시스템 서비스 인터페이스 계층과 상기 하이브리드 웹 어플리케이션 인터페이스 계층은 HTTP 포로토콜을 이용하여 상기 시스템 API의 처리 요청과 처리 결과를 송수신하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
And the cross platform system service interface layer and the hybrid web application interface layer transmit and receive a processing request and a processing result of the system API using an HTTP protocol.
청구항 11에 있어서,
상기 하이브리드 웹 어플리케이션 인터페이스 계층은 다른 단말의 크로스 플랫폼 시스템 서비스 인터페이스 계층과 HTTP 포로토콜을 이용하여 시스템 API의 처리 요청과 처리 결과를 송수신하는 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 11,
The hybrid web application interface layer is a method of executing a hybrid web application, characterized in that for transmitting and receiving the processing request and the processing result of the system API using a cross platform system service interface layer and HTTP protocol of the other terminal.
청구항 18에 있어서,
상기 크로스 플랫폼 시스템 서비스 인터페이싱 단계는
상기 하이브리드 웹 어플리케이션 인터페이스 계층으로부터 전달되는 시스템 API 처리 요청을 플랫폼 의존적 API로 매핑하는 단계; 및
매핑된 플랫폼 의존적 API로 호출하여 시스템 API 처리 요청을 처리하는 단계를 포함한 것을 특징으로 하는 하이브리드 웹 어플리케이션의 실행 방법.
The method according to claim 18,
The cross platform system service interfacing step
Mapping a system API processing request delivered from the hybrid web application interface layer to a platform dependent API; And
And executing a system API processing request by calling the mapped platform dependent API.
KR1020130011044A 2012-02-20 2013-01-31 Method for executing hybirid web application and apparatus therefor KR102020045B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/770,549 US8966508B2 (en) 2012-02-20 2013-02-19 Method for executing hybrid web application and apparatus therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120016738 2012-02-20
KR20120016738 2012-02-20

Publications (2)

Publication Number Publication Date
KR20130095668A KR20130095668A (en) 2013-08-28
KR102020045B1 true KR102020045B1 (en) 2019-09-10

Family

ID=49218925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130011044A KR102020045B1 (en) 2012-02-20 2013-01-31 Method for executing hybirid web application and apparatus therefor

Country Status (1)

Country Link
KR (1) KR102020045B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085421A1 (en) 2004-09-28 2006-04-20 International Business Machines Corporation Extensible URI-pattern-based servlet request processing framework
US20100305722A1 (en) 2007-11-27 2010-12-02 Samsung Electronics Co., Ltd. Method for controlling home network device using universal web application and apparatus thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073526A (en) * 2008-12-23 2010-07-01 연세대학교 산학협력단 Framework system for cooperation of mobile devices and method for cooperation of mobile devices
KR101482150B1 (en) * 2010-05-10 2015-01-14 에스케이플래닛 주식회사 Web application executable device and web application management method therof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085421A1 (en) 2004-09-28 2006-04-20 International Business Machines Corporation Extensible URI-pattern-based servlet request processing framework
US20100305722A1 (en) 2007-11-27 2010-12-02 Samsung Electronics Co., Ltd. Method for controlling home network device using universal web application and apparatus thereof

Also Published As

Publication number Publication date
KR20130095668A (en) 2013-08-28

Similar Documents

Publication Publication Date Title
US8966508B2 (en) Method for executing hybrid web application and apparatus therefor
JP4857349B2 (en) Method, system, and computer program for providing asynchronous portal pages within a portal system
EP2603865B1 (en) Exposing resource capabilities to web applications
EP2806357A1 (en) Method and communication device for updating a web application
US10346502B2 (en) Mobile enablement of existing web sites
CA2839006C (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
TW200844856A (en) Dynamically loading scripts
CN109240697B (en) Call processing method and device and storage medium
CN108416021B (en) Browser webpage content processing method and device, electronic equipment and readable medium
CN110365724B (en) Task processing method and device and electronic equipment
US9875099B2 (en) Computer-implemented method and system for executing android apps natively on any environment
CN102096582A (en) Off-line gadget integration development environment
CN103019712A (en) Integrated application
CN103581232A (en) Web page transmission method, web page displaying device and system including device
US10198279B2 (en) Thread synchronization for platform neutrality
CN105786476B (en) Data processing method and system between mobile client and server
AU2016101498B4 (en) Data Interchange System
KR101907660B1 (en) Terminal apparatus having operating system based on web and method for providing service using thereof
KR102020045B1 (en) Method for executing hybirid web application and apparatus therefor
US20130132467A1 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
JP5541160B2 (en) Program acquisition / execution client, program acquisition / execution method and program
EP3872630B1 (en) Request processing method and apparatus, electronic device, and computer storage medium
US11778045B2 (en) Communication system for micro-frontends of a web application
RU2521311C2 (en) Method and system for facilitating interaction of network device with flash device
JP2014186473A (en) Program and device

Legal Events

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