KR102309897B1 - 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치 - Google Patents

웹 어플리케이션 데이터의 무결성 보장 방법 및 장치 Download PDF

Info

Publication number
KR102309897B1
KR102309897B1 KR1020150003358A KR20150003358A KR102309897B1 KR 102309897 B1 KR102309897 B1 KR 102309897B1 KR 1020150003358 A KR1020150003358 A KR 1020150003358A KR 20150003358 A KR20150003358 A KR 20150003358A KR 102309897 B1 KR102309897 B1 KR 102309897B1
Authority
KR
South Korea
Prior art keywords
event input
web
activity layer
virtual
possible area
Prior art date
Application number
KR1020150003358A
Other languages
English (en)
Other versions
KR20160086470A (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 KR1020150003358A priority Critical patent/KR102309897B1/ko
Publication of KR20160086470A publication Critical patent/KR20160086470A/ko
Application granted granted Critical
Publication of KR102309897B1 publication Critical patent/KR102309897B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 실시 예들은, 웹 어플리케이션 데이터의 무결성을 보장하기 위한 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 웹 어플리케이션의 데이터 무결성 보장 방법은, 웹 액티비티 레이어에 존재하는 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어 상에 배치하고, 상기 가상 액티비티 레이어를 상기 웹 액티비티 레이어에 오버레이시키는 단계; 상기 이벤트 입력 가능 영역 상에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하는 단계; 및 상기 서버로부터 상기 요청에 대한 응답이 지연되는 경우 상기 가상 액티비티 레이어에 포함된 뷰 중 상기 이벤트 입력이 감지된 뷰에 대응하는 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 상기 서버로 전송하는 단계를 포함한다.

Description

웹 어플리케이션 데이터의 무결성 보장 방법 및 장치{Method for guaranteeing web application data and apparatus thereof}
본 발명의 실시 예들은, 웹 어플리케이션 데이터의 무결성을 보장하기 위한 방법 및 장치에 관한 것이다.
모바일 어플리케이션 개발의 전통적인 방식은 네이티브(native) 어플리케이션 개발 방식이다. 특정 플랫폼에서 제공하는 라이브러리(library)에 기반하여 어플리케이션을 개발하는 이 방식은 단말 자원에 대한 접근성이 뛰어나 화려한 효과나 빠른 화면 전환 등 좋은 성능을 발휘하는 데에 적합하다. 그러나 다양한 모바일 플랫폼들(예컨대, Apple의 iOS, Google의 Android 등)의 등장으로 인해 어플리케이션의 플랫폼 종속성이라는 문제가 대두되었고, 이에 대한 대안으로서 모바일 브라우저(browser)에 기반한 웹 어플리케이션(web application) 개발 방식이 주목 받고 있다. 웹 어플리케이션은 사용을 위한 별도의 설치가 필요 없고 주기적인 업데이트 없이도 항상 업그레이드된 기능을 사용할 수 있는 등 다양한 장점을 갖고 있으나, 웹에 기반해 있는 특성 탓에 단말 기능을 직접 제어하거나 활용하는 것이 불가능하고, 브라우저의 특성에 어플리케이션의 성능이 종속적이란 단점도 동시에 지니고 있다.
한편, 안드로이드 프레임워크에서는 네트워크의 불안 등으로 인하여 응답 대기 시간이 길어지는 경우 ANR(Application Not Responding)을 발생시켜 전체 시스템의 안정성을 유지한다.
만약, 웹 어플리케이션이 서버로 특정 데이터(사용자 기기와 서버 간에 동기화가 요구되는 데이터일 수 있다)에 대한 소정의 요청을 한 이후, 해당 요청과 관련하여 ANR이 발생하는 경우, 안드로이드 운영 체제에 기반한 사용자 기기와 서버 간의 동기화가 깨지는 현상이 발생한다.
도 1은 사용자 기기에서 구동되는 웹 어플리케이션과 서버 간의 데이터 동기화 문제를 설명하기 위한 예시도이다.
예를 들어 도 1에 도시된 바와 같이, 사용자가 주소록과 관련된 웹 어플리케이션 내에서 특정 연락처 항목을 선택하는 경우, 서버는 해당 연락처 항목에 대한 상세 페이지를 사용자 기기로 제공한다. 이후, 상세 페이지 내에 존재하는 전화 번호를 단골 주소록에 등록할 것을 원하는 사용자의 입력이 있는 경우(이러한 입력은 웹 페이지 상에 존재하는 특정 메뉴(링크일 수 있다)의 선택으로 이루어질 수 있다), 웹 어플리케이션은 서버로 해당 전화 번호를 단골 주소록에 등록할 것을 요청한다.
이후, 서버가 해당 전화 번호를 해당 사용자(또는 사용자 기기)에 대한 단골 주소록에 등록한 이후, 네트워크 지연이 발생하여 서버로부터 웹 어플리케이션으로 상기 요청에 대한 응답이 전송되지 않는다면 사용자 기기는 해당 전화 번호를 단골 주소록에 등록할 수 없다.
즉, 사용자 기기와 서버 간의 데이터 동기화가 깨지는 현상이 발생한다.
본 발명의 실시 예들은, 웹 어플리케이션 데이터의 무결성을 보장하는 방안을 제공한다.
본 발명의 일 실시 예에 따른 웹 어플리케이션의 데이터 무결성 보장 방법은, 웹 액티비티 레이어에 존재하는 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어 상에 배치하고, 상기 가상 액티비티 레이어를 상기 웹 액티비티 레이어에 오버레이시키는 단계; 상기 이벤트 입력 가능 영역 상에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하는 단계; 및 상기 서버로부터 상기 요청에 대한 응답이 지연되는 경우 상기 가상 액티비티 레이어에 포함된 뷰 중 상기 이벤트 입력이 감지된 뷰에 대응하는 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 상기 서버로 전송하는 단계를 포함한다.
일 실시 예에서, 상기 방법은, 상기 웹 액티비티 레이어에 표시되는 웹 페이지의 소스 코드를 분석하여 상기 웹 페이지의 레이아웃을 확인하는 단계; 및 상기 확인된 웹 페이지의 레이아웃과 동일한 레이아웃을 갖도록 상기 가상 액티비티 레이어를 생성하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 뷰를 배치하는 단계는, 상기 웹 액티비티 레이어에 표시되는 웹 페이지의 소스 코드를 분석하여 이벤트 입력 가능 영역을 확인하는 단계; 및 상기 확인된 이벤트 입력 가능 영역에 대응하는 위치에 상기 뷰를 생성하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 서버로 전송하는 단계는, 상기 웹 액티비티 레이어에 표시되고 있는 웹 페이지를 리로드(reload)하는 단계; 상기 이벤트 입력이 감지된 뷰에 대응하는 이벤트 입력 가능 영역 상에 가상 이벤트 입력을 발생시키는 단계; 및 상기 가상 이벤트 입력이 발생한 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 상기 서버로 전송하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 액티비티 레이어는 투명 레이어이고, 상기 뷰는 투명 뷰일 수 있다.
일 실시 예에서, 상기 응답이 지연되는 경우는, ANR(Application Not Responding)이 발생한 경우일 수 있다.
본 발명의 일 실시 예에 따른 웹 어플리케이션의 데이터 무결성 보장 장치는, 프로세서 및 메모리를 포함할 수 있다. 상기 메모리에는 웹 어플리케이션의 데이터 무결성을 보장하기 위한 명령어들이 저장되며, 상기 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 웹 액티비티 레이어에 존재하는 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어 상에 배치하고, 상기 가상 액티비티 레이어를 상기 웹 액티비티 레이어에 오버레이시키며, 상기 이벤트 입력 가능 영역 상에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하고, 상기 서버로부터 상기 요청에 대한 응답이 지연되는 경우 상기 가상 액티비티 레이어에 포함된 뷰 중 상기 이벤트 입력이 감지된 뷰에 대응하는 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 상기 서버로 전송하도록 하는 명령어들을 포함할 수 있다.
일 실시 예에서, 상기 명령어들은, 상기 프로세서로 하여금, 상기 웹 액티비티 레이어에 표시되는 웹 페이지의 소스 코드를 분석하여 상기 웹 페이지의 레이아웃을 확인하고, 상기 확인된 웹 페이지의 레이아웃과 동일한 레이아웃을 갖도록 상기 가상 액티비티 레이어를 생성하도록 하는 명령어들을 포함할 수 있다.
일 실시 예에서, 상기 명령어들은, 상기 프로세서로 하여금, 상기 웹 액티비티 레이어에 표시되는 웹 페이지의 소스 코드를 분석하여 이벤트 입력 가능 영역을 확인하고, 상기 확인된 이벤트 입력 가능 영역에 대응하는 위치에 상기 뷰를 생성하도록 하는 명령어들을 포함할 수 있다.
일 실시 예에서, 상기 명령어들은, 상기 프로세서로 하여금, 상기 웹 액티비티 레이어에 표시되고 있는 웹 페이지를 리로드(reload)하고, 상기 이벤트 입력이 감지된 뷰에 대응하는 이벤트 입력 가능 영역 상에 가상 이벤트를 발생시키며, 상기 가상 이벤트 입력이 발생한 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 상기 서버로 전송하도록 하는 명령어들을 포함할 수 있다.
본 발명의 실시 예들에 따르면, 웹 어플리케이션 데이터의 무결성을 보장할 수 있다.
본 발명의 실시 예들에 따르면, 웹 어플리케이션으로부터의 요청에 대하여 네트워크 지연 등으로 인하여 서버로부터 해당 요청에 대한 응답이 없더라도, 어플리케이션 관점에서 어떠한 요청이 이루어졌었는지 확인하여 해당 요청과 관련된 동작을 수행할 수 있도록 한다.
도 1은 사용자 기기에서 구동되는 웹 어플리케이션과 서버 간의 데이터 동기화 문제를 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따른 웹 어플리케이션 데이터의 무결성을 보장하기 위한 방법을 설명하기 위한 흐름도,
도 3의 (a) 및 (b)는 가상 액티비티 레이어와 뷰를 생성하는 과정을 설명하기 위한 예시도,
도 4는 본 발명의 일 실시 예에 따른 웹 어플리케이션의 데이터의 무결성을 보장하기 위한 장치를 설명하기 위한 블록도.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 2는 본 발명의 일 실시 예에 따른 웹 어플리케이션 데이터의 무결성을 보장하기 위한 방법을 설명하기 위한 흐름도이다. 도 2를 참조하여 설명하는 실시 예에서, 사용자 기기에서 웹 어플리케이션이 구동되어, 서버로부터 수신된 소스 코드에 기반하여 특정 웹 페이지가 표시되어 있는 상황을 가정한다.
단계(201)에서, 본 발명의 일 실시 예에 따른 장치는, 웹 액티비티 레이어를 분석하여 이벤트 입력 가능 영역을 확인한다.
웹 액티비티 레이어는, 웹 서비스에 의해서 동작하는 레이어일 수 있다. 웹 액티비티 레이어에는, 서버로부터 수신된 소스 코드를 기반으로 하는 웹 페이지가 표시될 수 있다.
이벤트 입력 가능 영역은, 웹 페이지에 포함되어 사용자 입력에 의한 이벤트를 발생시키는 영역일 수 있다. 이벤트는, 예를 들어 사용자 기기 또는 서버 중 적어도 하나에 특정 동작의 수행을 요청하기 위한 것일 수 있다. 웹 페이지에는 이벤트를 발생시킬 수 있는 적어도 하나의 링크가 포함되어 있을 수 있으며, 이벤트 입력 가능 영역은, 이러한 링크에 대응하는 영역일 수 있다.
사용자 입력은, 예를 들어 손가락을 이용한 터치 동작 또는 전자 펜을 이용한 터치 동작에 따라 이루어질 수 있다.
단계(203)에서, 본 발명의 일 실시 예에 따른 장치는, 현재 웹 액티비티 레이어에 표시되고 있는 웹 페이지의 소스 코드를 분석하여 해당 웹 페이지의 레이아웃을 확인한다. 웹 페이지의 레이아웃은, 예를 들어 <frameset> 태그를 확인하여 이루어질 수 있다.
단계(205)에서, 본 발명의 일 실시 예에 따른 장치는, 현재 웹 액티비티 레이어에 표시되고 있는 웹 페이지와 동일한 레이아웃을 갖는 가상 액티비티 레이어를 생성한다. 그리고, 생성된 가상 액티비티 레이어를 웹 액티비티 레이어에 오버레이시킨다. 가상 액티비티 레이어는, 투명 레이어일 수 있다.
단계(207)에서, 본 발명의 일 실시 예에 따른 장치는, 단계(201)에서 확인된 이벤트 입력 가능 영역에 대응하는 뷰를 생성하고, 생성된 뷰를 이벤트 입력 가능 영역에 대응하도록 가상 액티비티 레이어 상에 배치한다. 뷰는 해당 뷰에 대응하는 이벤트 입력 가능 영역에서 이벤트 입력이 발생하는 경우 해당 이벤트 입력을 감지할 수 있다. 본 발명의 일 실시 예에 따른 장치는, 어떠한 뷰가 이벤트를 감지하였는지에 대한 히스토리를 저장할 수 있다. 뷰는 일정한 영역을 갖는 아이콘 형태일 수 있으며, 상기 뷰는 투명 뷰일 수 있다.
단계(209)에서, 본 발명의 일 실시 예에 따른 장치는, 이벤트 입력 가능 영역 상에서 사용자에 의한 이벤트 입력이 있는 경우, 해당 이벤트 입력에 대응하는 요청을 서버로 전송한다. 예를 들어, 사용자가 특정 링크를 터치한 경우, 해당 링크와 관련된 동작을 수행하여 줄 것을 서버로 요청한다.
단계(211)에서, 본 발명의 일 실시 예에 따른 장치는, 서버로부터 응답이 지연되는 경우 이벤트 입력을 감지하였던 뷰에 대응하는 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 서버로 전송한다. 서버로부터 응답이 지연되는 경우는 예를 들어 ANR이 발생한 경우일 수 있다. 예를 들어, 본 발명의 일 실시 예에 따른 장치는, ANR이 발생하는 경우 웹 액티비티 레이어에 표시되고 있는 웹 페이지를 리로드(reload)하고, 이벤트 입력을 감지하였던 뷰에 대응하는 이벤트 입력 가능 영역 상에 가상 이벤트를 발생시킬 수 있다. 그리고, 가상 이벤트 입력이 발생한 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 서버로 전송할 수 있다.
웹 어플리케이션은 웹과 어플리케이션이 연동하는 형태이며, 이러한 웹 어플리케이션의 특성상, 어플리케이션 관점에서 보면, 어플리케이션은 웹 페이지에 존재하는 데이터를 알지 못하여, 사용자가 어떠한 이벤트를 발생시켰는지도 알 수 없다. 즉, 어플리케이션 관점에서 보면, 어플리케이션은 사용자가 웹 페이지에 존재하는 다수의 링크(예를 들어, 버튼)들 중 어떠한 링크를 선택하였는지 알 수 없다. 따라서, 예를 들어, 사용자에 의한 링크 선택에 따라 동기화를 필요로 하는 특정 데이터를 수정할 것이 서버로 요청되고, 이후 ANR이 발생하는 경우, 도 1을 참조하여 전술한 바와 같이 사용자 기기와 서버간의 데이터 동기화가 깨지는 문제가 발생한다.
그러나, 전술한 본 발명의 실시 예에 따르면, 어플리케이션 관점에서 어플리케이션이 웹 페이지에 존재하는 다수의 링크들 중 어느 링크가 선택되었는지 알 수 있다.
따라서, 어플리케이션은 ANR이 발생한 경우라 하더라도, 사용자가 어느 링크를 선택하였는지 알 수 있고, 이에 따라 해당 링크와 관련된 동작(예를 들어 데이터의 수정)에 대한 요청을 수행하여 서버와 데이터 동기화를 이룰 수 있다. 해당 링크와 관련된 동작에 대한 요청은, 예를 들어 해당 링크가 선택되었음을 서버에 다시 알리는 동작일 수 있다. 이는 해당 링크와 관련된 동작을 수행하여 줄 것을 서버에 재요청하는 것을 의미할 수 있다.
도 3의 (a) 및 (b)는 가상 액티비티 레이어와 뷰를 생성하는 과정을 설명하기 위한 예시도이다.
도 3의 (a)에는, 일 예로서, 웹 액티비티 레이어에 현재 디스플레이 중인 웹 페이지의 소스 코드를 도시하였다.
전술한 바와 같이, 본 발명의 일 실시 예에 따른 장치는, 웹 액티비티 레이어에 현재 디스플레이 중인 웹 페이지의 소스 코드를 분석하여, 해당 웹 페이지와 동일한 레이아웃을 갖는 가상 액티비티 레이어를 생성한다. 본 발명의 일 실시 예에 따른 장치는, 가상 액티비티 레이어를 생성함에 있어 <frameset> 태그를 참조할 수 있다.
예를 들어, 도3의 (a)를 참조하면, 현재 디스플레이중인 웹 페이지의 소스 코드에 3개의 <frameset> 태그가 있음을 알 수 있다. 따라서, 본 발명의 일 실시 예에 따른 장치는, 3개의 레이아웃을 갖는 가상 액티비티 레이어를 생성할 수 있다.
한편, 본 발명의 일 실시 예에 따른 장치는, 웹 액티비티 레이어에 존재하는 이벤트 입력 가능 영역에 대응하는 뷰를 생성한다. 이벤트 입력 가능 영역의 확인은, 현재 디스플레이 중인 웹 페이지에 포함된 링크를 참조하여 이루어질 수 있다.
예를 들어, 본 발명의 일 실시 예에 따른 장치는, 현재 디스플레이 중인 웹 페이지의 소스 코드에 포함된 <frame> 태그를 참조하여 이벤트 입력 가능 영역을 확인할 수 있다. 예를 들어, 도 3의 (a)를 참조하면, 현재 디스플레이 중인 웹 페이지의 소스 코드에 3개의 <frame> 태그가 있음을 알 수 있다. 따라서, 본 발명의 일 실시 예에 따른 장치는, 각각의 <frame> 태그의 src 속성이 위치하는 영역을 이벤트 입력 가능 영역이라 판단할 수 있다. 이에 따라, 본 발명의 일 실시 예에 따른 장치는, 각각의 이벤트 입력 가능 영역에 대응하는 뷰를 생성한다. 그리고, 생성된 뷰를 가상 액티비티 레이어에 배치한다.
전술한 과정에 따라 생성된 가상 액티비티 레이어에 뷰를 배치한 예를 도 3의 (b)에 도시하였다. 도 3의 (b)를 참조하면, 도 3의 (a)에 도시된 웹 페이지와 동일한 레이아웃을 갖는 가상 액티비티 레이어에 3개의 뷰(button01, button02, button03)가 생성되어 있음을 알 수 있다.
본 발명의 실시 예들은, 컴퓨터 시스템 내에, 예를 들어, 컴퓨터 판독가능 기록 매체로 구현될 수 있다. 도 4에 도시된 바와 같이, 컴퓨터 시스템(900)은 하나 이상의 프로세서(910), 메모리(920), 저장부(930), 사용자 인터페이스 입력부(940) 및 사용자 인터페이스 출력부(950) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(960)를 통해 서로 통신할 수 있다. 또한, 컴퓨터 시스템(900)은 네트워크에 접속하기 위한 네트워크 인터페이스(970)를 또한 포함할 수 있다. 프로세서(910)는 메모리(920) 및/또는 저장부(930)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(920) 및 저장부(930)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(924) 및 RAM(925)을 포함할 수 있다.
이에 따라, 본 발명의 실시 예들은 컴퓨터로 구현되는 방법 또는 컴퓨터 실행 가능 명령어들이 저장된 비휘발성 컴퓨터 기록 매체로 구현될 수 있다. 상기 명령어들은 프로세서에 의해 실행될 때 본 발명의 적어도 일 실시 예에 따른 방법을 수행할 수 있다.
예를 들어, 상기 명령어들은, 상기 프로세서(910)에 의해 실행될 때, 프로세서(910)로 하여금, 웹 액티비티 레이어에 존재하는 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어 상에 구성하고, 가상 액티비티 레이어를 웹 액티비티 레이어에 오버레이시키며, 이벤트 입력 가능 영역 상에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하고, 서버로부터 해당 요청에 대한 응답이 지연되는 경우 가상 액티비티 레이어에 포함된 뷰 중 이벤트 입력을 감지하였던 뷰에 대응하는 이벤트 입력 가능 영역 상에 정의된 동작에 대한 요청을 서버로 전송하도록 하는 명령어들을 포함할 수 있다.

Claims (12)

  1. 사용자 기기에서 웹 어플리케이션의 데이터 무결성을 보장하는 방법으로서,
    웹 페이지가 표시되는 웹 액티비티 레이어에서 적어도 하나의 이벤트 입력 가능 영역을 확인하고, 각 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어에 배치하고, 상기 가상 액티비티 레이어를 상기 웹 액티비티 레이어에 오버레이시키는 단계;
    상기 웹 액티비티 레이어에 존재하는 특정 이벤트 입력 가능 영역에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하는 단계; 및
    상기 서버로부터 상기 요청에 대한 응답이 지연되는 경우 상기 가상 액티비티 레이어에 포함된 뷰 중 상기 이벤트 입력이 감지된 위치의 특정 뷰를 확인하고, 상기 특정 뷰에 대응하는 특정 이벤트 입력 가능 영역으로 가상 이벤트 입력을 발생시켜서, 상기 특정 이벤트 입력 가능 영역에 정의된 동작에 대한 요청을 상기 서버로 전송하는 단계
    를 포함하는 웹 어플리케이션의 데이터 무결성 보장 방법.
  2. 제 1 항에 있어서,
    상기 웹 액티비티 레이어에 표시되는 상기 웹 페이지의 소스 코드를 분석하여 상기 웹 페이지의 레이아웃을 확인하는 단계; 및
    상기 확인된 웹 페이지의 레이아웃과 동일한 레이아웃을 갖도록 상기 가상 액티비티 레이어를 생성하는 단계
    를 더 포함하는 웹 어플리케이션의 데이터 무결성 보장 방법.
  3. 제 1 항에 있어서, 상기 뷰를 배치하는 단계는,
    상기 웹 액티비티 레이어에 표시되는 상기 웹 페이지의 소스 코드를 분석하여 상기 이벤트 입력 가능 영역을 확인하는 단계; 및
    상기 가상 액티비티 레이어에서, 상기 확인된 이벤트 입력 가능 영역에 대응하는 위치에 대응하는 뷰를 생성하는 단계
    를 포함하는 웹 어플리케이션의 데이터 무결성 보장 방법.
  4. 제 1 항에 있어서, 상기 서버로 전송하는 단계는,
    상기 웹 액티비티 레이어에 표시되고 있는 상기 웹 페이지를 리로드(reload)하는 단계;
    상기 특정 뷰에 대응하는 상기 특정 이벤트 입력 가능 영역에 상기 가상 이벤트 입력을 발생시키는 단계; 및
    상기 가상 이벤트 입력이 발생한 상기 특정 이벤트 입력 가능 영역에 정의된 동작에 대한 요청을 상기 서버로 전송하는 단계
    를 포함하는 웹 어플리케이션의 데이터 무결성 보장 방법.
  5. 제 1 항에 있어서,
    상기 가상 액티비티 레이어는 투명 레이어이고, 상기 가상 액티비티 레이어에 배치되는 뷰는 투명 뷰인
    웹 어플리케이션의 데이터 무결성 보장 방법.
  6. 제 1 항에 있어서, 상기 응답이 지연되는 경우는,
    ANR(Application Not Responding)이 발생한 경우인
    웹 어플리케이션의 데이터 무결성 보장 방법.

  7. 프로세서 및 메모리를 포함하는 웹 어플리케이션의 데이터 무결성 보장 장치로서,
    상기 메모리에 웹 어플리케이션의 데이터 무결성을 보장하기 위한 명령어들이 저장되며,
    상기 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    웹 페이지가 표시되는 웹 액티비티 레이어에서 적어도 하나의 이벤트 입력 가능 영역을 확인하고, 각 이벤트 입력 가능 영역에 대응하는 뷰를 가상 액티비티 레이어에 배치하고, 상기 가상 액티비티 레이어를 상기 웹 액티비티 레이어에 오버레이시키며,
    상기 웹 액티비티 레이어에 존재하는 특정 이벤트 입력 가능 영역에서 이벤트 입력이 있는 경우 해당 이벤트 입력에 대응하는 요청을 서버로 전송하고,
    상기 서버로부터 상기 요청에 대한 응답이 지연되는 경우 상기 가상 액티비티 레이어에 포함된 뷰 중 상기 이벤트 입력이 감지된 위치의 특정 뷰를 확인하고, 상기 특정 뷰에 대응하는 특정 이벤트 입력 가능 영역으로 가상 이벤트 입력을 발생시켜서, 상기 특정 이벤트 입력 가능 영역에 정의된 동작에 대한 요청을 상기 서버로 전송하도록 하는 명령어들을 포함하는
    웹 어플리케이션의 데이터 무결성 보장 장치.
  8. 제 7 항에 있어서, 상기 명령어들은, 상기 프로세서로 하여금,
    상기 웹 액티비티 레이어에 표시되는 상기 웹 페이지의 소스 코드를 분석하여 상기 웹 페이지의 레이아웃을 확인하고,
    상기 확인된 웹 페이지의 레이아웃과 동일한 레이아웃을 갖도록 상기 가상 액티비티 레이어를 생성하도록 하는 명령어들을 포함하는
    웹 어플리케이션의 데이터 무결성 보장 장치.
  9. 제 7 항에 있어서,
    상기 명령어들은, 상기 프로세서로 하여금,
    상기 웹 액티비티 레이어에 표시되는 상기 웹 페이지의 소스 코드를 분석하여 상기 이벤트 입력 가능 영역을 확인하고,
    상기 가상 액티비티 레이어에서, 상기 확인된 이벤트 입력 가능 영역에 대응하는 위치에 대응하는 뷰를 생성하도록 하는 명령어들을 포함하는
    웹 어플리케이션의 데이터 무결성 보장 장치.
  10. 제 7 항에 있어서, 상기 명령어들은, 상기 프로세서로 하여금,
    상기 웹 액티비티 레이어에 표시되고 있는 상기 웹 페이지를 리로드(reload)하고,
    상기 특정 뷰에 대응하는 상기 특정 이벤트 입력 가능 영역에 상기 가상 이벤트 입력을 발생시키며,
    상기 가상 이벤트 입력이 발생한 상기 특정 이벤트 입력 가능 영역에 정의된 동작에 대한 요청을 상기 서버로 전송하도록 하는 명령어들을 포함하는
    웹 어플리케이션의 데이터 무결성 보장 장치.
  11. 제 7 항에 있어서,
    상기 가상 액티비티 레이어는 투명 레이어이고, 상기 가상 액티비티 레이어에 배치되는 뷰는 투명 뷰인
    웹 어플리케이션의 데이터 무결성 보장 장치.
  12. 제 7 항에 있어서, 상기 응답이 지연되는 경우는,
    ANR(Application Not Responding)이 발생한 경우인
    웹 어플리케이션의 데이터 무결성 보장 장치.
KR1020150003358A 2015-01-09 2015-01-09 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치 KR102309897B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150003358A KR102309897B1 (ko) 2015-01-09 2015-01-09 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150003358A KR102309897B1 (ko) 2015-01-09 2015-01-09 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160086470A KR20160086470A (ko) 2016-07-20
KR102309897B1 true KR102309897B1 (ko) 2021-10-07

Family

ID=56679887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150003358A KR102309897B1 (ko) 2015-01-09 2015-01-09 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102309897B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101790790B1 (ko) * 2011-04-22 2017-10-26 엘지전자 주식회사 이동 단말 장치 및 이의 웹페이지 표시 방법
KR101395480B1 (ko) * 2012-06-01 2014-05-14 주식회사 팬택 필기 입력에 기초하여 어플리케이션을 실행하는 방법 및 그 단말
KR20140055132A (ko) * 2012-10-30 2014-05-09 삼성전자주식회사 클라우드 서버를 이용하여 단말 장치에서 웹페이지를 처리하는 방법 및 장치
KR20140080174A (ko) * 2012-12-20 2014-06-30 주식회사 팬택 어플리케이션 제공 장치 및 방법
KR101519638B1 (ko) * 2013-04-30 2015-05-12 주식회사 레오테크 M2m 양방향 원격검침 시스템용 저전력 데이터 송/수신 방법

Also Published As

Publication number Publication date
KR20160086470A (ko) 2016-07-20

Similar Documents

Publication Publication Date Title
US10762277B2 (en) Optimization schemes for controlling user interfaces through gesture or touch
TWI671677B (zh) 交互處理方法及裝置
JP2021511592A (ja) アプリケーションプログラム処理方法、装置、記憶媒体及びコンピュータデバイス
CN107832052B (zh) 展示预览页面的方法、装置和存储介质以及电子设备
CN104704468A (zh) Web应用程序的跨系统安装
EP2840802A1 (en) Method and apparatus for sharing media content and method and apparatus for displaying media content
EP2866158A1 (en) Method for reader to provide service, reader, terminal and computer storage medium
EP2951678B1 (en) Remotely executing operations of an application using a schema that provides for executable scripts in a nodal hierarchy
CN111736740B (zh) 图片热区生成方法、装置、设备和存储介质
US8984487B2 (en) Resource tracker
CN112579187A (zh) 一种应用程序冷启动的优化方法及装置
CN110941779A (zh) 加载页面的方法、装置、存储介质及电子设备
CN107918543B (zh) 安装包生成的方法、装置、计算机设备和存储介质
CN115309470A (zh) 微件的加载方法、装置、设备以及存储介质
CN107918587B (zh) 一种应用程序的调试方法及系统
CN115017428A (zh) 一种信息显示方法、装置、系统及存储介质
EP2998885A1 (en) Method and device for information search
KR102309897B1 (ko) 웹 어플리케이션 데이터의 무결성 보장 방법 및 장치
US10380229B2 (en) Method and system providing contextual functionality in static web pages
US11438402B2 (en) Systems and methods for providing a web application to a computing device
KR102497270B1 (ko) 네스팅된 콘텐츠 내에서의 디스에이블된 내부 링크들의 선택 검출
US20120054313A1 (en) Interpreting web application content
CN115408628A (zh) 页面显示方法、电子设备及存储介质
CN113141530A (zh) 基于遥控交互方法、装置、电子设备和存储介质
US9904739B2 (en) Service provider system and service provider method

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