KR101350661B1 - 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법 - Google Patents

웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법 Download PDF

Info

Publication number
KR101350661B1
KR101350661B1 KR1020110099870A KR20110099870A KR101350661B1 KR 101350661 B1 KR101350661 B1 KR 101350661B1 KR 1020110099870 A KR1020110099870 A KR 1020110099870A KR 20110099870 A KR20110099870 A KR 20110099870A KR 101350661 B1 KR101350661 B1 KR 101350661B1
Authority
KR
South Korea
Prior art keywords
application
driving
logic
data
bridge
Prior art date
Application number
KR1020110099870A
Other languages
English (en)
Other versions
KR20130035526A (ko
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 KR1020110099870A priority Critical patent/KR101350661B1/ko
Priority to JP2012212675A priority patent/JP2013080470A/ja
Publication of KR20130035526A publication Critical patent/KR20130035526A/ko
Application granted granted Critical
Publication of KR101350661B1 publication Critical patent/KR101350661B1/ko

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
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

하이브리드 어플리케이션 구동 장치가 제시된다. 어플리케이션 구동 장치는 상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 변경된 소스 코드 또는 어플리케이션 구동을 위한 데이터를 수신하여 파싱하는 파서부, 및 상기 파싱된 상기 소스 코드 또는 데이터를 이용하여 상기 어플리케이션을 구동하는 브리지부를 포함할 수 있다.

Description

웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법{APPARATUS AND METHOD FOR EXECUTING HYBRID APPLICATION USING WEB TECHNOLOGY}
어플리케이션 제작 및 구동 기술에 연관되며, 보다 특정하게는 모바일 단말에서 어플리케이션 제작 및 구동에 웹 기술을 활용하여 어플리케이션 제작 및 구동을 개선한 장치 및 방법에 연관된다.
스마트폰이나 태블릿 PC 등의 기기는 종전의 OS 환경과는 다른 환경에서 동작하며, 어플리케이션(Application; App)의 배포(distribution) 및 업데이트는 스마트폰 등의 기기의 활용에서는 큰 부분이다. 상기 업데이트는 재배포(redistribution)로 불릴 수도 있다.
통상적인 어플리케이션의 배포 및 재배포 과정은 어플리케이션 스토어 또는 마켓에의 등록, 심사 등의 절차가 포함됨으로써 개발자로서는 어플리케이션 배포 및 재배포에서 상기 스토어 또는 마켓의 운용 주체에 의해 영향을 받는다.
이러한 영향은 물론 어플리케이션의 건전성 확보와 스토어 운용을 위해 필요한 것이지만, 개발자의 입장에서는 스마트폰 등장 이전까지와는 달리 어플리케이션 소프트웨어의 배포 및 재배포의 주도권을 다른 주체에 넘겨줌으로써 여러 가지 불편을 느끼는 것도 사실이다.
한편, 어플리케이션 그 자체의 배포 및 재배포는 등록, 심사 등의 절차를 거쳐야 하지만, 웹 브라우저 상에서의 웹 기술을 이용한 페이지 렌더링은 등록이나 심사를 거치지 않는다. 이러한 웹 기술에 있어서는 해당 페이지가 브라우저가 지원하는 기술에 따른 페이지기만 하면 그 내용의 변경은 매우 flexible 하다.
웹 기술을 어플리케이션 개발 및 구동에 적용하여 개발자가 어플리케이션 내용이나 구성을 어플리케이션 재배포 없이도 변경할 수 있는 어플리케이션 개발 및 구동 장치가 제공된다.
본 발명의 일측에 따르면, 어플리케이션을 구동하는 장치에 있어서, 상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 구동을 위한 데이터를 수신하여 파싱하는 파서부, 및 상기 파싱된 상기 데이터를 이용하여 상기 어플리케이션을 구동하는 브리지부를 포함하는 어플리케이션 구동 장치가 제공된다.
상기 어플리케이션 구동 장치는, 상기 어플리케이션 구동 장치의 적어도 하나의 자원들 각각을 컴포넌트로 관리하여 상기 브리지가 상기 어플리케이션 구동 과정에서 제어할 수 있도록 하는 네이티브 컴포넌트 관리부를 더 포함할 수도 있다.
이 경우, 상기 브리지부는 상기 네이티브 컴포넌트 관리부로의 접근을 통제하는 시큐리티 모듈을 포함하고, 상기 네이티브 컴포넌트 관리부와 상기 브리지부 사이의 데이터 교환은 상기 시큐리티 모듈을 거쳐서만 수행될 수 있다.
한편, 상기 네이티브 컴포넌트 관리부는, 웹 기술에 의한 데이터를 처리하는 웹 킷 브라우저, 상기 어플리케이션의 프레임을 구현하는 네이티브 유저 인터페이스 및 상기 적어도 하나의 자원들에 관한 디바이스 리소스 정보를 관리한다.
본 발명의 다른 일측에 따르면, 어플리케이션을 구동하는 장치에 있어서, 상기 어플리케이션은 기본 프레임을 렌더하기 위한 소스코드 및 WAS로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드를 포함하고, 상기 장치는, 상기 장치와 네트워크를 통해 연결된 WAS로부터 상기 어플리케이션에 연관된 데이터가 수신되는 경우 상기 데이터를 서비스 로직 수행을 위한 스크립트, 유저 인터페이스를 구성하기 위한 마크업 및 태그로 분리하는 파서부, 및 상기 분리된 서비스 로직, 마크업 및 태그를 이용하여 상기 장치를 제어하고 상기 어플리케이션 내용을 렌더하는 브리지부를 포함하는, 어플리케이션 구동 장치가 제공된다.
이 경우, 상기 장치는 상기 어플리케이션 구동 장치의 적어도 하나의 자원들 각각을 컴포넌트로 관리하여 상기 브리지가 제어할 수 있도록 하는 네이티브 컴포넌트 관리부를 더 포함하고, 상기 브리지부는 상기 네이티브 컴포넌트 관리부로의 접근을 통제하는 시큐리티 모듈을 포함하고, 상기 네이티브 컴포넌트 관리부와 상기 브리지부 사이의 데이터 교환은 상기 시큐리티 모듈을 거쳐서만 수행될 수 있다.
본 발명의 또 다른 일측에 따르면, 어플리케이션을 실행하는 단말 장치에 있어서, 상기 단말 장치는, 어플리케이션 내용을 제공하는 유저 인터페이스 제공부, 적어도 하나의 프로세서, 및 메모리를 포함하고, 상기 어플리케이션은 상기 메모리에 저장되어 상기 적어도 하나의 프로세서에 의해 실행되도록 구성되고, 상기 어플리케이션은, 웹 어플리케이션 서버로부터 수신한 데이터를 서비스 로직 수행을 위한 스크립트, 유저 인터페이스를 구성하기 위한 마크업 및 태그로 분리하는 파서 로직, 및 상기 분리된 서비스 로직, 마크업 및 태그를 이용하여 상기 단말 장치를 제어하고 상기 어플리케이션 내용을 상기 유저 인터페이스 제공부 상에서 렌더하는 브리지 로직을 포함한다.
본 발명의 또 다른 일측에 따르면, 프로세서를 포함하는 단말 장치가 상기 단말 장치에 저장된 어플리케이션을 구동하는 방법에 있어서, 상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 구동을 위한 데이터 또는 상기 어플리케이션의 변경된 소스 코드를 수신하여 파싱하는 단계, 및 상기 파싱된 데이터 또는 소스 코드를 이용하여 상기 어플리케이션을 구동하는 단계를 포함하는 어플리케이션 구동 방법이 제공된다.
이 경우, 상기 방법은 상기 단말 장치의 적어도 하나의 자원들 각각을 컴포넌트로 만들어서 관리하는 단계를 더 포함하고, 상기 어플리케이션을 구동하는 단계는 상기 적어도 하나의 자원들 각각에 대한 컴포넌트를 제어하는 단계를 포함할 수 있다.
웹 기술과 네이티브 어플리케이션 기술을 함께 활용한 하이브리드 어플리케이션 제공하여, 개발자가 어플리케이션 내용이나 구성을 어플리케이션 재배포 없이도 어플리케이션 구성이나 내용을 변경할 수 있다.
도 1은 본 발명의 일실시예에 따른 개요도를 도시한다.
도 2는 본 발명의 일실시예에 따른 어플리케이션 제공 장치를 도시한다.
도 3은 본 발명의 일실시예에 따른 어플리케이션 구동 방법에 따른 블록도를 도시한다.
도 4는 본 발명의 일실시예에 따른 어플리케이션 구동 방법을 도시하는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 어플리케이션 구동 방법을 도시하는 블록도이다.
도 6은 본 발명의 일실시예에 따른 어플리케이션 구동 방법의 예시적 결과를 설명하기 위한 도면이다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 개요도를 도시한다.
어플리케이션 구동 장치(100)는 네트워크(101)를 통해 웹 어플리케이션 서버(Web Application Server; WAS)와 연결된다.
일반적인 퍼스널 컴퓨팅 OS 환경에서는 어플리케이션 소프트웨어는 개발자 또는 배포자가 사용자에게 직접 배포하는 형태이고, 이미 배포되어 사용자의 장치에 설치된 어플리케이션의 업데이트는 사용자의 동의 하에 개발자 또는 배포자가 자유롭게 행할 수 있었다.
그러나, 어플리케이션 구동 장치(100)와 같이 스마트폰, 태블릿PC 등의 모바일 환경에서는 어플리케이션의 배포가 개발자로부터 직접 사용자에게로 이루어지는 것이 아니라 별도의 어플리케이션 스토어 또는 마켓에 등록 후 배포가 이루어진다.
그리고 이러한 등록 이후 배포에는 스토어 관리자의 정책에 따른 심사나 등록 거부 등이 가능하다. 이러한 차이점이 모바일 환경에서 어플리케이션의 건전성을 담보하고 개발자에게 수익 모델을 가져올 수 있는 것은 사실이다.
그러나, 유료 어플리케이션을 배포하지 않고 많은 사용자에게 다양하고 유동적인 정보를 제공하고자 하는 개발자, 이를테면 포털 서비스 제공 업체에게는 이러한 어플리케이션 등록 및 심사로 인한 기능 상의 제약, 등록 및 심사에 소요되는 시간이 제한적 요소가 될 수 있다.
또한, 이미 배포된 어플리케이션에 대해 마이너 업데이트를 수행하려는 경우에도 업데이트 정보만 전송하여 패치를 하는 것이 아니라 새로운 어플리케이션 버전을 재배포 해야 하는 불편이 있었다.
본 발명의 일실시예에 따르면, 어플리케이션이 이를 구동하는 장치(100), 이를테면 모바일 단말기에서 설치되어 있는 중에, 특히 실행되고 있는 중에 네트워크(101)를 통해 연결된 WAS(102)로부터 수신되는 데이터를 이용하여 어플리케이션 내의 적어도 일부의 프레임(120)의 구성 이나 내용이 즉시 변경될 수 있다.
이러한 실시예는 모바일 단말기에서 범용 웹 브라우저를 구동하여 특정 URL에 대응하는 페이지를 열었을 대 그 페이지의 최신 소스코드가 브라우저에서 렌더되는 것과는 다르다. 범용 브라우저가 아닌 특정 어플리케이션의 실행에 연관되기 때문이다.
또한, 이러한 실시예는 모바일 단말기에서 어플리케이션이 구동되는 동안 고정된 프레임 내에 표시되는 정보, 이를테면 텍스트나 이미지 등의 컨텐츠가 갱신되는 것과는 다르다. 컨텐츠의 변경이 아니라 어플리케이션 자체의 구성이나 내용 변경에 연관되기 때문이다.
이를테면, WAS(102)로부터 프레임(120) 내의 어플리케이션 컴포넌트들, 이를테면 GUI(Graphic User Interface)(121 및 122)의 구성이나 내용 변경에 관한 업데이트 정보가 수신되면 이러한 업데이트 정보가 프레임(120)에 즉시 적용되는 것이다.
어플리케이션 전체(110)에는 프레임(120) 외에 변경되지 않는 부분, 이를테면 네이티브 어플리케이션 컴포넌트들도 있다. 물론, 도 1에 도시된 내용은 본 발명의 실시예들에 대한 이해를 돕기 위해 제시된 예시적이고 개념적인 내용이며, 본 발명이 특정 프레임(120)의 구조나 위치, 크기 등에 있어서 제시된 일부 내용에 의해서 제한적으로 해석되지는 않는다.
어플리케이션 구동 장치(100)는 미리 배포된 어플리케이션을 구동하는 어떠한 기기일 수도 있으며, 이하에서 언급하는 개별 하드웨어 구성(element)는 범용성이 있는 프로세서에 의해 구현될 수도 있다. 이러한 예가 도 2에 도시된다.
도 2는 본 발명의 일실시예에 따른 어플리케이션 구동 단말 장치(200)를 도시한다.
단말 장치(200)에는 도 1의 네트워크(101)로의 통신을 가능하게 하는 통신 모듈(210), 어플리케이션을 구동하는 프로세서(220), 상기 어플리케이션 구동을 보조하는 메인 메모리(230), 상기 어플리케이션의 소스코드 및 유저 데이터를 저장하는 스토리지(240), 및 어플리케이션을 렌더하고 사용자의 입력을 수신할 수 있는 유저 인터페이스 제공부(250) 등이 포함될 수 있다.
본 발명의 일실시예에 따른 어플리케이션은 단말 장치(200)의 스토리지(240)에 저장되었다 메인 메모리(230)에 로드되어 프로세서(220)에 의해 구동된다.
구동 중에 통신 모듈(210)로부터 도 1의 WAS(102)로부터 수신된 어플리케이션 업데이트 정보가 수신되는 경우, 프로세서(220)는 어플리케이션 소스코드에 포함된 파서(parser) 로직을 수행하여 WAS(102)로부터 수신한 데이터를 서비스 로직 수행을 위한 스크립트, 유저 인터페이스를 구성하기 위한 마크업 및 태그로 분리한다.
그리고 프로세서(220)는 어플리케이션 소스코드에 포함된 브리지(bridge) 로직을 수행하여 이렇게 상기 분리된 서비스 로직, 마크업 및 태그를 이용해 상기 단말 장치를 제어하고 상기 어플리케이션 내용을 유저 인터페이스 제공부(250) 상에서 렌더한다.
어플리케이션 소스코드에는 단말 장치(200)의 적어도 하나의 자원(resource)들 각각을 컴포넌트로 관리하여 상기 브리지 로직이 제어할 수 있도록 하는 네이티브 컴포넌트 로직이 포함될 수도 있다.
상기 자원에는 단말 장치(200)에 포함되어 제어될 수 있는 카메라 모듈, GPS 모듈, 터치감지 모듈, 각종 센서 모듈 등이 있으며, 일부 내용으로 제한되지 않는다.
그리고 상기 브리지 로직에는 상기 네이티브 컴포넌트 로직이 관리하는 상기 각각의 컴포넌트로의 액세스를 통제하는 시큐리티 로직이 포함될 수 있다.
이 경우 네이티브 컴포넌트 로직과 상기 브리지 로직 사이의 데이터 교환은 상기 시큐리티 로직을 거쳐서만 수행될 수 있다.
어플리케이션 구동 중의 임의의 시점에, 또는 어플리케이션이 정한 소정의 주기 마다, 또는 사용자가 원하는 시점에 어플리케이션 업데이트가 이루어질 수 있다.
이러한 어플리케이션 업데이트는 상기 파서 로직 및 상기 브리지 로직을 프로세서(220)가 실행하여 수행될 수 있다. 보다 상세한 내용은 도 3 이하를 참조하여 후술한다.
도 3은 본 발명의 일실시예에 따른 어플리케이션 구동 방법에 따른 블록도(300)를 도시한다.
블록도(300)에서 파서(310), 브리지(320) 및 네이티브 컴포넌트(330)는 어플리케이션에 포함되는 로직들로서 도 2의 프로세서(220)에 의해 실행될 수도 있다. 그러나, 다른 실시예에서는 범용 프로세서(220)가 아닌 전용 하드웨어 모듈(dedicated HW)들에 의해 구현될 수도 있다.
파서(310)는 WAS(102)로부터 HTML, JS, CSS 등을 HTTP로 받은 후, 어플리케이션의 서비스 로직으로 실행할 스크립트, 화면 UI를 구성할 마크업(markup), 태그(tag) 등을 분리한다.
파싱된 데이터 중 단말 장치(Device)(200)를 제어하는 로직이 들어가 있는 JS는 브리지(Bridge)(320)에서 웹 뷰(Web View)의 API로 접근할 수 있도록 준비되는데, 이 부분은 비즈니스 로직을 위한 장치 컨트롤을 수행하는 컨트롤러(321)에 의해 수행된다.
파싱된 데이터 중 HTML markup의 Tag는 동적 레이아웃(Dynamic Layout)(323)에 연관되어 어플리케이션을 렌더 한다.
브리지(320)의 컨트롤러(321)는 파서(310)가 구분해 놓은 JS 형태의 device control을 비즈니스 로직(business logic)과 markup tag를 제어하며, 동적 로직(323)는 이러한 제어를 통해 구성한 사용자 인터페이스 화면을 렌더하여 어플리케이션이 구동되는 모습을 사용자에게 제공한다.
어플리케이션을 통한 하드웨어 자원의 비정상적 액세스를 방지하기 위해, 시큐리티(322)를 통해서만 네이티브 컴포넌트(330)로의 액세스가 가능할 수 있다.
네이티브 컴포넌트(330)는 단말 장치(200)가 가지는 여러 가지 native한 자원들을 component화 하여 브리지가 사용할 수 있도록 하이브리드 앱 개발 프레임워크를 사용해 Wrapping한 객체들이다.
도 4는 본 발명의 일실시예에 따른 어플리케이션 구동 방법을 도시하는 흐름도이다.
어플리케이션을 구동하는 장치(100)가 단계(410)에서 어플리케이션을 실행한다. 그리고, 어플리케이션 중 웹 컴포넌트를 필요로 하는 부분을 수신하기 위해 네트워크(101)를 통해 연결된 WAS(102)로 웹 컴포넌트 요청을 한다(420).
그리고 상기 요청에 대해 응답을 받으면(430), 상기 웹 컴포넌트로부터 스크립트, 마크업 및 태그 등의 요소를 파싱한다(440).
그리고 이러한 요소들을 통해 네이티브 어플리케이션 컴포넌트들을 이용하여 어플리케이션 내에 웹 컴포넌트를 렌더한다(450).
단계(460)에서 임의의 시점에 WAS(102)가 리프레시(refresh)를 요청하거나, 사용자의 요청이 있거나 또는 미리 지정된 소정의 주기에 따라 리프레시가 수행되면, 다시 단계(420) 이하의 단계가 반복된다.
그렇지 않으면, 현재 렌더된 어플리케이션이 유지되며(470), 통상적인 사용자의 어플리케이션 이용이 가능하다.
도 5는 본 발명의 일실시예에 따른 어플리케이션 구동 방법을 도시하는 블록도이다.
단말 장치(510) 내에 인터페이스 B(512)를 통해 사용자의 인터액션이 수신되면, 이는 어플리케이션(520)의 컨트롤러(523)에 의해 처리되어 인터페이스 A(511)를 통해 처리 결과가 렌더된다.
어플리케이션 내의 기본 UI 패턴이나 동작을 정의하는 탬플릿(521)은 어플리케이션 내에서 고정적으로 제공되는 내용을 제시하고, 동적 레이아웃 빌더(522)는 WAS(530)에 의해 수신되는 실시간 웹 컴포넌트를 인터페이스 A(511) 내에 함께 렌더한다.
WAS(530)으로부터 수신되는 정보에는 웹 페이지에서 비즈니스 로직을 제공하기 위해 컨트롤러(523)에 제공되는 스크립트(533), 동적 레이아웃을 형성하기 위한 마크업(531) 및 기타 데이터(532)가 포함된다.
이러한 마크업(531), 데이터(532) 및 스크립트(533) 등의 분리는 파싱 과정을 통해 이루어진다.
도 6은 본 발명의 일실시예에 따른 어플리케이션 구동 방법의 예시적 결과를 설명하기 위한 도면이다.
도 1에서 도시된 바와 같이 어플리케이션(110) 내의 일정한 프레임(120) 내에 GUI들의 구성이 도 6의 결과(600)에서는 변경된 것을 볼 수 있다.
예를 들어, 도 1에서는 프레임(120) 내에 9개 포함되었던 GUI가 4개로 줄었고, 각각의 크기는 커졌다.
그리고, 카메라 구동을 위한 GUI(610)는 도 1의 GUI(121)에 비해 크기가 커진 것을 확인할 수 있고, 검색을 위한 GUI(620)는 도 1의 GUI(122)에 비해 크기도 커지고 그래픽이 변경되었음을 알 수 있으며, 도 1에서는 없던 새로운 GUI(630)가 포함되었고, 도 1의 다른 GUI들은 일단 제시되지 않고 'more' GUI(640)를 통해 액세스 될 수 있게 바뀌었다.
종래에는 어플리케이션 내의 이러한 구성의 변경을 위해 새로운 버전의 어플리케이션이 앱스토어에 등록된 후 재배포 되어야 했으나, 본 발명의 일실시예에 따르면 WAS(102)로부터 수신한 정보를 이용하여 프레임(120) 내의 구성이나 내용이 자유롭게 실시간 변경될 수 있다.
이러한 점은 어플리케이션의 개발자가 자신이 배포한 어플리케이션의 업데이트를 제공하는 데에 도움을 주며, 필요에 따라 광고, 전자상거래 등의 다양한 활용도를 제공할 수 있다.
본 발명의 일실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터 및 사용자 브라우저에 의해서 실행될 수 있는 고급 언어 코드 및 자바 스크립트 언어를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 어플리케이션 구동 장치
101: 네트워크
102: WAS(Web Application Server)
120: 어플리케이션 프레임

Claims (14)

  1. 어플리케이션을 구동하는 장치에 있어서,
    상기 어플리케이션은 기본 프레임을 렌더하기 위한 소스코드 및 WAS(Web Application Server)로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드를 포함하고,
    상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 구동을 위한 데이터를 수신하여 파싱하는 파서부; 및
    상기 파싱된 상기 데이터를 이용하여 상기 어플리케이션을 구동하는 브리지부
    를 포함하는 어플리케이션 구동 장치.
  2. 제1항에 있어서,
    상기 어플리케이션 구동 장치의 적어도 하나의 자원들 각각을 컴포넌트로 관리하여 상기 브리지부가 상기 어플리케이션의 구동 과정에서 제어할 수 있도록 하는 네이티브 컴포넌트 관리부
    를 더 포함하는 어플리케이션 구동 장치.
  3. 제2항에 있어서,
    상기 브리지부는 상기 네이티브 컴포넌트 관리부로의 접근을 통제하는 시큐리티 모듈을 포함하고, 상기 네이티브 컴포넌트 관리부와 상기 브리지부 사이의 데이터 교환은 상기 시큐리티 모듈을 거쳐서만 수행되는 어플리케이션 구동 장치.
  4. 제2항에 있어서,
    상기 네이티브 컴포넌트 관리부는, 웹 기술에 의한 데이터를 처리하는 웹 킷 브라우저, 상기 어플리케이션의 프레임을 구현하는 네이티브 유저 인터페이스 및 상기 적어도 하나의 자원들에 관한 디바이스 리소스 정보를 관리하는 어플리케이션 구동 장치.
  5. 어플리케이션을 구동하는 장치에 있어서,
    상기 어플리케이션은 기본 프레임을 렌더하기 위한 소스코드 및 WAS로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드를 포함하고,
    상기 장치는,
    상기 장치와 네트워크를 통해 연결된 WAS로부터 상기 어플리케이션에 연관된 데이터가 수신되는 경우 상기 데이터를 서비스 로직 수행을 위한 스크립트, 유저 인터페이스를 구성하기 위한 마크업 및 태그로 분리하는 파서부; 및
    상기 분리된 서비스 로직, 마크업 및 태그를 이용하여 상기 장치를 제어하고 상기 어플리케이션 내용을 렌더하는 브리지부
    를 포함하는, 어플리케이션 구동 장치.
  6. 제5항에 있어서,
    상기 장치는,
    상기 어플리케이션 구동 장치의 적어도 하나의 자원들 각각을 컴포넌트로 관리하여 상기 브리지가 제어할 수 있도록 하는 네이티브 컴포넌트 관리부
    를 더 포함하고,
    상기 브리지부는 상기 네이티브 컴포넌트 관리부로의 접근을 통제하는 시큐리티 모듈을 포함하고, 상기 네이티브 컴포넌트 관리부와 상기 브리지부 사이의 데이터 교환은 상기 시큐리티 모듈을 거쳐서만 수행되는 어플리케이션 구동 장치.
  7. 어플리케이션을 구동하는 단말 장치에 있어서, 상기 단말 장치는,
    어플리케이션 내용을 제공하는 유저 인터페이스 제공부;
    적어도 하나의 프로세서; 및
    메모리
    를 포함하고,
    상기 어플리케이션은 상기 메모리에 저장되어 상기 적어도 하나의 프로세서에 의해 실행되도록 구성되고,
    상기 어플리케이션은,
    기본 프레임을 렌더하기 위한 소스코드 및 WAS(Web Application Server)로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드;
    상기 WAS로부터 수신한 데이터를 서비스 로직 수행을 위한 스크립트, 유저 인터페이스를 구성하기 위한 마크업 및 태그로 분리하는 파서 로직; 및
    상기 분리된 서비스 로직, 마크업 및 태그를 이용하여 상기 단말 장치를 제어하고 상기 어플리케이션 내용을 상기 유저 인터페이스 제공부 상에서 렌더하는 브리지 로직
    을 포함하는, 단말 장치.
  8. 제7항에 있어서,
    상기 단말 장치의 적어도 하나의 자원들 각각을 컴포넌트로 관리하여 상기 브리지 로직이 제어할 수 있도록 하는 네이티브 컴포넌트 로직
    을 더 포함하는, 단말 장치.
  9. 제8항에 있어서,
    상기 브리지 로직은 상기 네이티브 컴포넌트 로직이 관리하는 상기 각각의 컴포넌트로의 액세스를 통제하는 시큐리티 로직을 포함하고, 상기 네이티브 컴포넌트 로직과 상기 브리지 로직 사이의 데이터 교환은 상기 시큐리티 로직을 거쳐서만 수행되는, 단말 장치.
  10. 제7항에 있어서,
    상기 어플리케이션 내용이 상기 유저 인터페이스 제공부 상에서 렌더된 이후, 새로운 데이터가 수신되는 경우,
    상기 파서 로직은 상기 새로운 데이터를 스크립트, 마크업 및 태그로 분리하고, 상기 브리지 로직은 새로운 데이터로부터 분리된 스크립트, 마크업 및 태그를 이용하여 상기 어플리케이션 내용을 업데이트 하는, 단말 장치.
  11. 제10항에 있어서,
    상기 새로운 데이터는 상기 단말 장치와 네트워크를 통해 연결된 WAS로부터 수신되는, 단말 장치.
  12. 프로세서를 포함하는 단말 장치가 상기 단말 장치에 저장된 어플리케이션을 구동하는 방법에 있어서,
    상기 어플리케이션은 기본 프레임을 렌더하기 위한 소스코드 및 WAS(Web Application Server)로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드를 포함하고,
    상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 구동을 위한 데이터를 수신하여 파싱하는 단계; 및
    상기 파싱된 상기 데이터를 이용하여 상기 어플리케이션을 구동하는 단계
    를 포함하는 어플리케이션 구동 방법.
  13. 제12항에 있어서,
    상기 단말 장치의 적어도 하나의 자원들 각각을 컴포넌트로 만들어서 관리하는 단계
    를 더 포함하고,
    상기 어플리케이션을 구동하는 단계는 상기 적어도 하나의 자원들 각각에 대한 컴포넌트를 제어하는 단계를 포함하는 어플리케이션 구동 방법.
  14. 어플리케이션을 수록한 컴퓨터 판독 가능 기록 매체에 있어서, 상기 어플리케이션은,
    기본 프레임을 렌더하기 위한 소스코드 및 WAS(Web Application Server)로부터 수신되는 데이터를 처리하여 상기 어플리케이션에 적용하기 위한 소스코드;
    상기 어플리케이션이 지시하는 WAS로의 네트워크 접속이 이루어진 경우 상기 WAS로부터 상기 어플리케이션의 구동을 위한 데이터를 수신하여 파싱하는 파싱 로직; 및
    상기 파싱된 상기 데이터를 이용하여 상기 어플리케이션을 구동하는 브리지 로직
    을 포함하는 컴퓨터 판독 가능 기록 매체.
KR1020110099870A 2011-09-30 2011-09-30 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법 KR101350661B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110099870A KR101350661B1 (ko) 2011-09-30 2011-09-30 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법
JP2012212675A JP2013080470A (ja) 2011-09-30 2012-09-26 ウェブ技術を用いたハイブリッドアプリケーション実行装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110099870A KR101350661B1 (ko) 2011-09-30 2011-09-30 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130035526A KR20130035526A (ko) 2013-04-09
KR101350661B1 true KR101350661B1 (ko) 2014-01-10

Family

ID=48437328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110099870A KR101350661B1 (ko) 2011-09-30 2011-09-30 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법

Country Status (2)

Country Link
JP (1) JP2013080470A (ko)
KR (1) KR101350661B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5470500B1 (ja) * 2013-10-09 2014-04-16 株式会社テンダ アプリケーション生成装置、アプリケーション生成システム及びアプリケーション生成方法
JP6478487B2 (ja) 2014-06-13 2019-03-06 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5901704B2 (ja) * 2014-06-30 2016-04-13 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6381319B2 (ja) 2014-06-30 2018-08-29 キヤノン株式会社 情報処理装置、処理方法、及びプログラム
JP6138088B2 (ja) 2014-06-30 2017-05-31 キヤノン株式会社 情報処理装置、制御方法、及びソフトウェアプログラム
KR102429530B1 (ko) * 2020-01-02 2022-08-04 플랜트에셋 주식회사 효율적 플랜트 운영관리를 위한 모바일 기반 실시간 지능형 p&id 검색 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070066629A (ko) * 2005-12-22 2007-06-27 주식회사 팬택 확장성 생성 언어를 이용한 독립적인 사용자 인터페이스제공 방법 및 시스템, 그를 위한 이동통신 단말기
JP2008097633A (ja) 2000-08-15 2008-04-24 Fujitsu Ltd Webアプリケーション実行システム
KR20100091165A (ko) * 2007-09-28 2010-08-18 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283235A (ja) * 1997-04-07 1998-10-23 Pfu Ltd Web上でのファイル管理方法
JPH1195989A (ja) * 1997-09-24 1999-04-09 Ntt Data Corp プログラム更新方式
JP4404480B2 (ja) * 1998-01-07 2010-01-27 マイクロソフト コーポレーション 低ビット・レート伝送チャネルを通じてデータ・コンテンツを配信するシステム。
JP4738556B2 (ja) * 1998-12-28 2011-08-03 富士通株式会社 分散運用システムおよび記録媒体
JP4125940B2 (ja) * 2002-10-17 2008-07-30 テックファーム株式会社 アプリケーションサーバ、携帯端末、及びこれらを備える通信システム
KR101024532B1 (ko) * 2009-02-06 2011-03-31 엔에이치엔(주) 웹 액션과 클라이언트 제어가 가능한 에이치티엠엘 기반 애플리케이션 제공 시스템
KR20110000162A (ko) * 2009-06-26 2011-01-03 주식회사 넥슨 저장 미디어를 통한 온라인 게임 제공 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097633A (ja) 2000-08-15 2008-04-24 Fujitsu Ltd Webアプリケーション実行システム
KR20070066629A (ko) * 2005-12-22 2007-06-27 주식회사 팬택 확장성 생성 언어를 이용한 독립적인 사용자 인터페이스제공 방법 및 시스템, 그를 위한 이동통신 단말기
KR20100091165A (ko) * 2007-09-28 2010-08-18 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템

Also Published As

Publication number Publication date
JP2013080470A (ja) 2013-05-02
KR20130035526A (ko) 2013-04-09

Similar Documents

Publication Publication Date Title
US10705942B1 (en) Simulated testing of API
US20180173390A1 (en) Content Management System Extensions
JP4857349B2 (ja) ポータル・システム内で非同期ポータル・ページを提供するための方法、システム、およびコンピュータ・プログラム
US9165308B2 (en) System and method for loading of web page assets
KR101350661B1 (ko) 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법
US20140089782A1 (en) Systems and methods for 3-tier tag container architecture
CN107092473B (zh) 桌面应用开发方法及设备
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
WO2017206626A1 (zh) 网络资源访问设备、混合设备及方法
US10303748B2 (en) Method and device for providing webpage browsing based on web browser engine kernel
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US11734028B2 (en) Modifying readable and focusable elements on a page during execution of automated scripts
WO2017124976A1 (zh) 一种应用资源获取方法及装置
WO2015031400A1 (en) Combined synchronous and asynchronous tag deployment
WO2015041711A1 (en) Systems and methods for managing loading priority or sequencing of fragments of a web object
EP3090357B1 (en) Hosted application marketplaces
WO2013085595A1 (en) Selective image loading in mobile browsers
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US10417317B2 (en) Web page profiler
US20130191726A1 (en) Automatic widget creation apparatus and method for invoking heterogeneous web services in a composite application
US11895553B2 (en) Web application with components in different virtual environments
US11604662B2 (en) System and method for accelerating modernization of user interfaces in a computing environment
RU2634221C2 (ru) Способ и устройство для отрисовки представления электронного документа на экране
US20210232755A1 (en) Machine first approach for identifying accessibility, non-compliances, remediation techniques and fixing at run-time
WO2015053745A1 (en) Distributed user interfaces as a service

Legal Events

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

Payment date: 20161227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7