KR100966665B1 - 고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법 - Google Patents

고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법 Download PDF

Info

Publication number
KR100966665B1
KR100966665B1 KR1020087018596A KR20087018596A KR100966665B1 KR 100966665 B1 KR100966665 B1 KR 100966665B1 KR 1020087018596 A KR1020087018596 A KR 1020087018596A KR 20087018596 A KR20087018596 A KR 20087018596A KR 100966665 B1 KR100966665 B1 KR 100966665B1
Authority
KR
South Korea
Prior art keywords
customization
application
server
user
data
Prior art date
Application number
KR1020087018596A
Other languages
English (en)
Other versions
KR20080087876A (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 제말토 에스에이
Publication of KR20080087876A publication Critical patent/KR20080087876A/ko
Application granted granted Critical
Publication of KR100966665B1 publication Critical patent/KR100966665B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 사용자의 단말기(30)에 제공되는 네비게이터(40)로부터 통신 네트워크(60)를 통해 애플리케이션을 호스팅하는 원격 웹 서버에 전송된 요청시 상기 네비게이터에 의해 사용자의 단말기(30)에서 수행되는 웹 애플리케이션을 맞춤화하는 방법에 관한 것이다. 이 방법은 상기 단말기에 지정된 사용자 소유의 로컬 서버(20)에 의해 적어도 하나의 맞춤화 프로그램(customising program) 및/또는 맞춤화 데이터(customising data)를 호스트하고 상기 로컬 서버(20)에 의해 전달된 상기 맞춤화 프로그램 및/또는 맞춤화 데이터 항목들과 상기 원격 서버(10)에 의해 전송된 상기 요청의 처리에 해당하는 상기 애플리케이션과 관련된 데이터 항목들을 혼합하여 상기 애플리케이션을 맞춤화하는 것으로 이루어진다.
애플리케이션 맞춤화, 고객 맞춤화 애플리케이션 배치, 데이터 호스트, 로컬 서버, 원격 서버, 사용자 단말기

Description

고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법{SYSTEM AND METHOD FOR DEPLOYING CUSTOMISED WEB APPLICATIONS}
본 발명은 고객 맞춤형(customised) 웹 애플리케이션의 아키텍처 및 배치에 관한 것이다.
웹 애플리케이션은 전형적으로 웹 서버로부터 발생되어 사용자의 클라이언트 단말기의 브라우저에서 실행되는 HTML(HyperText Markup Language의 약어임) 또는 XHTML(HTML 4를 XML로 재정의(reformulation)) 페이지의 형태로 제공된다.
따라서, 사용자는 하이퍼텍스트 링크를 클릭하거나 또는 형식(form)을 채워넣음으로써 하나의 페이지에서 또 다른 페이지로 전달되는 애플리케이션과 상호 작용할 수 있다. 이러한 동작은 웹 프로토콜, 즉, HTTP(HyperText Transport Protocol의 약어임)에 따라서 요청(request)을 브라우저를 통해서 웹 서버에 전송하는 것에 해당한다. 이 서버는 요청을 디코드하여 실행한 다음, 언제나 HTTP 프로토콜을 통해, 해당 요청의 실행 결과에 해당하는 새로운 HTML 페이지를 리턴한다. 그래서, 이 페이지는 브러우저에 의해 디스플레이되며 사용자는 페이지를 참고하여 계속해서 상기 새로운 페이지로부터의 애플리케이션과 상호 작용할 수 있다.
따라서, 그러한 애플리케이션을 배치하는 아키텍처는 요청-응답 모델 및 HTML 프리젠테이션 포맷에 적응하는데, 즉, 웹 서버로부터의 애플리케이션은 해당 요청을 디코드하고, 해당 응답 데이터를 추정(calculating)하는 처리를 실행하고, 해당 응답을 HTML 포맷으로 포맷화하고, 최종 페이지를 해당 요청자, 즉, 사용자의 클라이언트 단말기 레벨에서 설치된 웹 브라우저에게 전달한다.
그러므로, 웹 애플리케이션의 배치는 HTTP 포맷에 따라서 메시지 교환을 관리하는 웹 애플리케이션의 프로그램을 웹 서버에 설치하고, 그리고 상기 애플리케이션을 데이터베이스와 자주 상호 접속하는 것으로 이루어지며, 여기서 상기 애플리케이션은 데이터를 제시할 수 있을 것이다.
웹 애플리케이션의 맞춤화는 애플리케이션을 각 사용자의 요구 조건 및 특징에 가장 적합하게 하는, 예를 들어, 각 사용자가 자주 수행하는 기능을 애플리케이션이 빠르게 액세스하게 하고, 애플리케이션이 소정의 처리의 후속 조치들을 자동화하게 하고, 그 선호도에 해당하는 사람-기계 인터페이스(man-machine interface; MMI)를 애플리케이션에게 제시하는 등으로 이루어진다.
전술한 문맥에서, 웹 애플리케이션을 고객 맞춤화하기 위한 알려진 해결책들은 다음과 같다 (상호 배타적이지 않고, 이들은 증가될 수 있다):
- 애플리케이션 그 자신의 프로그램에 맞춤화 프로그램을 통합. 따라서, 전술한 일반적 맞춤화 프로그램은 사용자로부터 그의 브라우저를 통해 수신된 각각의 HTTP 요청 처리(디코딩 및 실행) 동안에 웹 서버에서 애플리케이션 프로그램에 의해 실행되는 것으로 구상된다. 그래서, 이러한 맞춤화 프로그램이 요청 처리에 미 치는 영향은 잠재적으로 해당 요청의 실행 결과의 특성을 변형하거나 또는 그 포맷에 적응하는 것이다;
- (사용자 또는 더욱 일반적으로는 사용자 프로파일에 따라서) 애플리케이션의 프로그램에 의한 다양한 맞춤화 프로그램의 사용. 따라서, 상기 다양한 맞춤화 프로그램은 해당 요청을 전송한 사용자(또는 그 프로파일)에 따라서 (이전 특징(point)에서 설명된 바와 같이) 애플리케이션을 실행하도록 선택된다;
- 특정 처리, 즉, 잠재적으로 결과의 특성을 변형하거나 또는 그 포맷에 적응할 처리를 수행하기 위해 맞춤화 프로그램에 의해 자문받은 맞춤화 데이터를 "사용자" 데이터베이스에 저장. 상기 데이터베이스는 웹 애플리케이션과 동일한 서버 또는 HTTP 프로토콜 또는 어떤 다른 프로토콜을 통해 액세스될 수 있는 원격 서버에 배치될 수 있다;
- 클라이언트 단말기의 웹 브라우저에 의해, 또는 브라우저로부터의 각 요청시에 반복되는 웹 애플리케이션에 의해 제공되어 파라미터 형태로 저장되는 "세션 데이터"에 를 통해서도 저장되고 제공되는 쿠키 형태로 맞춤화 데이터를 복구.
따라서, 상기 맞춤화 해결책들은, 애플리케이션의 웹 서버 레벨에서, 가능한 사용자의 용도 및 선호도에 가장 잘 대응하는 HTML 페이지들을 포맷화하는 것을 가능하게 한다.
예를 들어, 만일 웹 애플리케이션이 약 10가지 기능을 (예컨대, 하이퍼텍스트 링크 목록을 통해) 제공하고 사용자가 보통 그 중 3개만 이용할 경우, 애플리케이션의 맞춤화 프로그램은 적어도 사용자에 의해 사용되는 상기 10개의 기능 대부 분에 대한 액세스를 명령하는 것으로 이루어질 수 있다. 이것은 "사용자" 데이터베이스에 기능당 1 계수기를 저장함으로써 수행될 수 있으며, 이 계수기는 사용자가 기능을 사용할 때마다 증분된다. 애플리케이션의 웹 서버에서 애플리케이션의 프로그램에 통합된 맞춤화 프로그램은 상기 계수기 목록을 참고하고, 이를 분류하고 잘 정돈된 방식으로 웹 애플리케이션에 의해 사용자 단말기의 브라우저에 리턴된 결과 페이지에 통합한다. 맞춤화 프로그램은 또한 상기 계수기 목록을 유지, 즉 사용자에 의해 요청된 기능에 해당하는 계수기를 증분해야 한다.
따라서, 고객 맞춤형 웹 애플리케이션의 구성을 가능하게 하는 기술된 아키텍처는 애플리케이션 그 자체를 구성하는 기술 수단과 강하게 결합하는 특징이 있다.
그의 배치는 실제로 맞춤화 프로그램이 일반적일 경우 애플리케이션의 배치에 완전히 통합된다. 앞에서 본 바와 같이 단순히 "사용자" 데이터베이스의 관리를 요청하는 것이 필요할 수 있다. 따라서, 만일 맞춤화 프로그램들이 다양하다면, 예를 들어 "사용자" 데이터베이스에 상기 프로그램을 배치하는 것이 필요하지만, 그럼에도 불구하고 이것은 웹 애플리케이션의 아키텍처를 변형, 특히 상기 프로그램의 이용 가능성을 관리하는 것을 포함한다.
또한, 요청시 애플리케이션 프로그램을 실행하는 것으로 구상된 웹 서버는 또한 요청된 최종 맞춤형 페이지를 생성하기 위하여 맞춤화 프로그램을 실행한 후에 클라이언트 단말기에 제공해야 한다.
그 결과, 맞춤화 프로그램 및 데이터의 관리는 특히 이용 가능성, 업그레이 드 가능성, 적응성 및 보안성 면에서 애플리케이션 그 자체의 관리와 관련된 것들과 동일한 일반적 특징들을 갖는다.
현재 제공되는 바와 같은 고객 맞춤형 웹 애플리케이션의 아키텍처는 본질적으로 획일적이고, 그리고 편의 및 보증을 거의 제공하지 않는데, 이는 맞춤화가 어디서든지 사용자에게 이용가능하다는 사실에 대해서나, 이것이 애플리케이션과 상관없이 변경(업그레이드 또는 간단화) 될 수 있다는 사실에 대해서나, 이것이 애플리케이션의 컨텐츠와 애플리케이션이 실행되는 환경(예컨대 워크스테이션 또는 이동 전화)에 적응할 수 있다는 사실에 대해서나, 심지어 맞춤화에 필요한 사용자 개인 데이터가 보호된다는 사실에 대해서 그렇다.
본 발명은 웹 서버로부터 발생되는 애플리케이션 부분들에 대한 맞춤화 데이터 및 프로그램의 디커플링을 대부분 보장하는 고객 맞춤형 웹 애플리케이션의 구현을 제안함으로써 전술한 하나 이상의 문제점을 해결하는 것을 목적으로 한다. 이러한 목적을 위하여, 본 발명의 대상은 브라우저로부터 통신 네트워크를 통해 애플리케이션을 호스팅하는 원격 웹 서버에 전송된 요청(request)에 따라서 단말기에 제공된 상기 브라우저를 통해 사용자의 상기 단말기에서 실행될 웹 애플리케이션을 맞춤화하는 방법으로서, 상기 방법은:
상기 단말기와 결합된 상기 사용자 소유의 로컬 서버에 의해 적어도 하나의 맞춤화 프로그램(customisation program) 및/또는 맞춤화 데이터(customisation data)를 호스팅하는 단계; 및
상기 로컬 서버에 의해 제공된 상기 맞춤화 프로그램 및/또는 맞춤화 데이터와 상기 원격 서버에 의해 제공된 상기 요청의 처리에 해당하는 상기 애플리케이션과 관련된 상기 데이터를 혼합하여 상기 애플리케이션의 맞춤화를 구현하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에 따르면, 상기 사용자 소유의 상기 로컬 서버는 상기 사용자의 단말기에 접속된 휴대용 디지털 장치에 내장된 웹 서버 형태로 생성된다.
또 다른 실시예에 따르면, 상기 사용자 소유의 상기 로컬 서버는 상기 사용자의 단말기에 설치된다.
일 실시예에 따르면, 상기 웹 애플리케이션과 관련된 상기 데이터를 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터를 혼합하는 단계는 상기 애플리케이션을 실행하는, 상기 사용자 단말기의 브라우저에서 수행된다.
상기 실시예에 따르면, 상기 혼합 단계는: 상기 브라우저에 의해 상기 원격 서버에 전송된 상기 요청의 처리에 해당하는 상기 애플리케이션과 관련된 상기 데이터를 사전에 복구(prior recovery)하는 단계;
상기 브라우저에 의해 상기 사용자 소유의 상기 로컬 서버에서 요청시 액세스되는 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터에 해당되는 맞춤화 동작을 실행하는 단계; 및
상기 브라우저에 의해 상기 맞춤화 동작의 결과를 상기 애플리케이션과 관련된 상기 데이터에 통합함으로써 상기 맞춤화 동작의 결과를 해석하는 단계를 포함한다.
또 다른 실시예에 따르면, 상기 웹 애플리케이션과 관련된 상기 데이터를 상기 맞춤화 프로그램 및 상기 맞춤화 데이터와 혼합하는 단계는 상기 원격 서버에서 수행된다.
상기 다른 실시예에 따르면, 상기 혼합 단계는:
상기 원격 서버에 의해, 상기 브라우저에 의해 상기 원격 서버에 전송된 상기 요청의 처리에 해당하는 상기 애플리케이션과 관련된 데이터를 상기 로컬 서버에 제공하는 단계;
상기 로컬 서버에 의해 상기 원격 서버의 요청시 맞춤화 동작을 실행하는 단계; 및
상기 서버에 의해 상기 맞춤화 동작의 결과들을 상기 사용자 단말기의 브라우저에 제공될 상기 애플리케이션과 관련된 상기 데이터와 통합하기 위해 상기 맞춤화 동작의 결과를 해석하는 단계를 포함한다.
유리하게, 상기 로컬 서버에서의 상기 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스는 안전하다.
바람직하게, 상기 로컬 서버에 대한 액세스를 안전하게 하는 것은 상기 사용자를 인증하는 것을 포함한다.
본 발명은 또한 웹 애플리케이션을 맞춤화하는 시스템에 관한 것으로서, 상기 시스템은 데이터 전송 프로토콜(data transfer protocol)에 따라서 상기 애플리케이션을 호스팅하는 원격 서버에 요청(request)을 전송하는 수단 및 사용자의 단말기에서 상기 원격 서버에 의한 상기 요청의 처리 결과를 수신하고 실행하는 수단을 포함하는 브라우저를 장착한 상기 사용자의 단말기를 포함하며, 상기 시스템은 상기 애플리케이션을 맞춤화하는 적어도 하나의 프로그램 및/또는 상기 애플리케이션을 맞춤화하는 데이터를 호스팅하는 상기 단말기에 결합된 상기 사용자 소유의 로컬 서버, 및 상기 원격 서버에 의해 제공된 상기 웹 애플리케이션을 상기 사용자 소유의 상기 로컬 서버에서 호스팅되는 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터를 혼합하는 수단을 포함하는 것을 특징으로 한다.
일 실시예에 따르면, 상기 혼합 수단은 상기 단말기의 브라우저에 통합된다. 또 다른 실시예에 따르면. 상기 혼합 수단은 상기 원격 서버에 통합된다.
바람직하게, 상기 로컬 서버는 상기 사용자의 단말기에 접속된 휴대용 디지털 장치에 내장된 웹 서버를 포함한다.
유리하게, 상기 휴대용 디지털 장치는 상기 내장된 서버에 의해 호스팅되는 상기 프로그램(들) 및/또는 데이터에 대한 액세스를 안전하게 하는 수단을 포함한다.
바람직하게, 상기 휴대용 디지털 장치는 스마트 카드이다.
본 발명은 또한 데이터 전송 프로토콜에 따라서 클라이언트와 통신하기 위해 제공된 통합 웹 서버를 포함하는 휴대용 디지털 장치에 관한 것으로서, 상기 통합 서버는 원격 애플리케이션 서버에 의해 호스팅되는 애플리케이션의 적어도 하나의 프로그램 및/또는 맞춤화 데이터를 호스트하며 상기 클라이언트로부터 요청시 상기 애플리케이션의 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스를 제공하는 수단을 포함하는 것을 특징으로 한다.
유리하게, 상기 통합 서버는 상기 애플리케이션을 상기 사용자의 단말기에서 실행하는, 클라이언트로서 동작하는 사용자 단말기의 브라우저와 통신한다.
바람직하게, 상기 장치는 상기 애플리케이션의 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스를 안전하게 하는 수단을 포함한다.
바람직하게, 상기 장치는 스마트 카드이다.
본 발명의 다른 특징 및 장점은 일 예시로서 비제한적 방식으로 주어진 다음의 설명을 읽고 첨부 도면을 참조함으로써 더욱 명백하게 될 것이다.
도 1은 본 발명에 따른 고객 맞춤형 웹 애플리케이션의 구현을 가능하게 하는 시스템의 아키텍처를 예시한다.
도 1은 본 발명에 따른 고객 맞춤형 웹 애플리케이션의 구현을 가능하게 하는 시스템의 아키텍처를 예시한다.
도 1에 예시된 바와 같이, 고객 맞춤형 웹 애플리케이션의 배치를 가능하게 하는 본 발명에 따른 시스템은, 전형적으로 http 프로토콜에 따라서, 인터넷 네트워크(60)를 통해 애플리케이션을 호스팅하는 원격 웹 서버(10)에 요청(request)을 전송하는 브라우저(40)를 구비한 사용자 단말기(30)(이동 전화, PDA, PC 타입 등)를 포함한다. 사용자 단말기의 브라우저(40)는 또한, 대응 페이지를 디스플레이하여 사용자로 하여금 디스플레이된 페이지로부터의 애플리케이션과 지속적으로 상호 작용하게 하기 위하여, 단말기에서 원격 서버의 요청에 대한 처리 결과를 수신하고 실행하는 수단을 포함한다.
본 발명에 따른 시스템은 주로 요청된 웹 애플리케이션의 맞춤화를 구현하는 수단을 제공하는 것으로 이루어지며, 따라서 이것은 고객 맞춤형 웹 애플리케이션을 원격 웹 서버(10) 및 기타 다른 것들로부터 발생되는 애플리케이션의 부분들, 즉 사용자 단말기와 결합된 사용자 소유의 로컬 웹 서버(20)로부터 발생되는 애플리케이션의 맞춤화 데이터 및 프로그램과 관련된 부분들을 혼합한 (또는 결합한) 애플리케이션으로서 구성함으로써, 사용자에 속한 특정한 요건 및 특징에 가장 적합하게 된다.
따라서, 본 발명의 시스템의 도움으로, 애플리케이션의 각 사용자에 특정한 맞춤화 프로그램 및 데이터는, 통상적인 경우와 같이, 애플리케이션의 웹 서버에 존재하는 중앙 집중식 데이터베이스에서라기보다는 오히려, 각 사용자에게 특정한 웹 서버의 레벨에서 배치되고 호스팅된다. 다음의 페이지에서 보는 바와 같이, 상기 특징은, 맞춤화와 관련된 처리들이, 요청시 애플리케이션의 페이지를 구성하기 위하여 애플리케이션의 웹 서버에 의해 수행되는 처리로부터 유리하게 디커플링될 수 있기 때문에, 고객 맞춤형 웹 애플리케이션의 배치 및 구현시 디커플링이 많이 이루어질 수 있게 한다.
바람직한 일 실시예에 따르면, 맞춤화 프로그램(들)은 물론 사용자에 속한 애플리케이션의 맞춤화 데이터를 호스팅하는 것으로 구상된, 각 사용자에게 특정한 웹 서버(20)는, 예컨대 스마트 카드, 지능형 MMC("Multimedia Card") 카드, 지능형 USB("Universal Serial Bus") 키 또는 이동 전화와 같은 휴대용 디지털 장치(50)에 내장된 웹 서버 형태로 생성된다.
따라서, 본 실시예는 사용자, 즉 로컬 웹 서버(20)를 통합하고 액세스된 애플리케이션의 맞춤화를 구현하고자 하는 카드(50)의 소유자에게, 브라우저를 통해서 원격 웹 서버(10)에 의해 제공된 애플리케이션을 소유자가 액세스하게 하는 호스트 단말기(30)에 그 카드(50)를 접속하도록 한다. 본래 알려진 방식으로, 단말기 및 로컬 서버를 통합한 스마트 카드 간의 저 레벨의 데이터 전송 프로토콜(타입 T=0, T=I, USB, MMC.)은 단말기 및 카드 간의 상기 접속 타입에 특정하며, 단말기는 프로토콜에 특정한 통신 툴을 구비한다. 전송 프로토콜(IP, TCP, HTTP/FTP/등) 의 모든 다른 계층의 경우, 호스트 단말기(30)가 통상의 서버에서와 같이 카드(50)와 통신하게 하는 인터넷 표준 프로토콜을 포함한다.
휴대용 장치(50)는 그의 통합 서버에서 호스팅되는 데이터 액세스를 안전하게 하는 수단, 예를 들어 로컬 서버에서 맞춤화 데이터를 호스팅하는 사용자를 인지하는 경우에만 액세스를 허가하기 위하여 장치의 사용자 소유자를 인증하는 수단을 구비하는 것이 바람직하다.
그러므로, 전술한 아키텍처에서, 원격 웹 서버(10)는 웹 애플리케이션을 제공하며, 반면에 휴대용 장치(50)는 그에 내장된 웹 서버(20)를 통해서 맞춤화 프로그램들은 물론 애플리케이션의 맞춤화 데이터의 공급을 위해 제공된다.
따라서, 애플리케이션의 맞춤화 구현은, 내장된 로컬 서버(20)에 의해 공급된 맞춤화 프로그램 및 맞춤화 데이터를, 원격 서버(10)에 의해 제공된 애플리케이션과 관련되고 애플리케이션의 페이지를 액세스하는 사용자 단말기의 브라우저에 의해 전송된 요청의 처리에 해당하는 데이터와 혼합(또는 결합)함으로써 수행된다. 웹 애플리케이션과 맞춤화를 혼합하는 실시예는 나중에 명세서에서 더욱 상세히 설명될 것이다.
이 단계에서, 전술한 아키텍처로부터 유도된 이점들이 본 발명이 하고자 하는 목적을 충족시킨다는 것을 이미 주목할 수 있다. 특히, 설명된 아키텍처는 프로그램 및 맞춤화 데이터의 배치가 그의 원격 서버에서 웹 애플리케이션의 배치로부터 디커플링되도록 하는데, 여기서는 사용자의 휴대용 장치가 맞춤화 데이터 및 프로그램의 로컬 서버로서 사용되기 때문이다. 전술한 아키텍처는 유리하게 맞춤화 부재에서도 애플리케이션이 작동가능하도록 하며, 그리고 서버에 의해 수행되는 처리를 반드시 변경할 필요없이 맞춤화를 변경한다.
더욱이, 이용 가능성 측면에서, 각 사용자에게 특정한 휴대용 디지털 장치에 맞춤화 데이터 및 프로그램을 배포 및 배치하는 동작에 의해 어디서든지 맞춤화가 사용자에게 이용가능하게 되며, 또는 심지어 고객 맞춤형 애플리케이션조차도 어디서든지 이용가능하다.
동일한 이유로, 애플리케이션과 관련된 맞춤화 데이터 및 프로그램이 서버에 의해 수행되는 처리에 더 이상 직접적으로 연결되지 않으므로, 제안된 아키텍처는 큰 유연성을 가지고 맞춤화를 변경하고 그에 적응할 수 있게 한다. 특히, 업그레이드되거나 간단화되도록, 애플리케이션과 독립적으로 맞춤화가 변경될 수 있지만, 예를 들어 이것이 워크스테이션 또는 이동 전화와 관련되는지 여부를 고려하기 위해, 예를 들어 다소 다양하게 하여, 한편으로는 애플리케이션의 컨텐츠에, 다른 한편으로는 애플리케이션이 실행되는 환경에 적응할 수도 있다.
또한, 휴대용 디지털 장치에 내장된 사용자 소유의 웹 서버를 이용하면 특정한 보안 수단을 그 장치에 제공함으로써 맞춤화에 필요한 사용자 개인 데이터를 보호할 수 있게 된다.
추가적인 이점으로는, 사용자에 의해 사용되는 호스트 단말기에 대해 독립적일 수 있다는 것이다 (전화기, PDA, PC 등).
일 변형예에 따르면, 전술한 마지막 이점에 피해를 주지만, 사용자의 호스트 단말기에 직접 사용자와 관련된 맞춤화 데이터를 호스팅하는 사용자 소유의 웹 서버를 설치하는 것을 구상할 수 있다.
이제, 원격 웹 서버로부터 발생되는 웹 애플리케이션 및 사용자에 속한 로컬 서버로부터 발생되는 맞춤화를 혼합하는 실시예를 더욱 상세히 설명할 것이다.
제1 혼합 모드는 원격 서버(10)의 요청시 맞춤화 프로그램이 카드(50)에 의해 실행되게 하는 것이다. 보다 상세하게, 원격 서버(10)는 요청된 웹 애플리케이션의 페이지를 제공하고, 사용자 카드(50)의 웹 서버(20)에 맞춤화 동작을 요청하고, 그 결과는 원격 서버(10)에 의해 리턴된 최종 페이지에 통합되도록 원격 서버(10)에 의해 해석된다. 그러나, 원격 서버를 통해 혼합을 수행하는 본 실시예는 카드가 원격 서버로부터 통신 네트워크를 통해 원격적으로 액세스되게 하는 것을 요구하며, 및 부가적으로 애플리케이션 서버들의 작업 로드를 로딩 다운(loading down)하는 단점을 갖는다.
또한, 바람직한 실시예는 국부적으로 애플리케이션을 액세스하는, 사용자 단말기(30)의 브라우저(40)를 통해 원격 애플리케이션 서버(10)로부터 발생되는 애플 리케이션 부분들과 로컬 서버(20)로부터 발생되는 맞춤화와 관련된 부분들을 혼합하는 것으로 이루어진다.
브라우저를 통해 전술한 혼합 모드로부터 유도되는 이점으로는 맞춤화 데이터 및 프로그램이 항상 사용자의 브라우저에서 액세스 가능함으로 애플리케이션의 서버에 의해 원격적으로 액세스할 필요가 없다는 것이다.
더욱이, 국부적으로 각 사용자의 브라우저를 통해 혼합 동작을 수행하여 애플리케이션의 맞춤화 기능의 원격 웹 서버를 완전히 해제함(relieving)으로써, 애플리케이션을 제공하는 원격 서버의 작업 로드가 유리하게 경감된다.
더욱 상세하게는, 호스트 단말기의 브라우저에 의한 혼합 모드는 더 다양하고, 더 반응적이며 더 동적인 웹 애플리케이션을 구성 가능하게 하는 웹 기술에 기반한다. 전술한 진보된 애플리케이션에 의해 사용자는 더 이상 (예를 들어, 링크 상에서 "클릭"으로 인한) 연속적인 HTML 페이지들로서 그러나 사용자의 동작 동안에 변경되는 인터페이스(또는 메인, 또는 심지어 단일 "페이지")를 갖는 실제 오피스 애플리케이션들로서 제시되지 않는 웹 애플리케이션을 가질 수 있다. 진보된 웹 애플리케이션의 문맥 내에서, 원격 웹 서버로의 요청 결과 새로운 HTML 페이지를 생성하는 것과는 별도로, 사용자 동작에 의해 다음과 같은 가능한 결과가 있을 수 있다:
- 완전히 새로운 페이지가 서버에 의해 제공되고 브라우저에 의해 다시 로드되는 것을 필요로 하지 않고 페이지의 요소들을 애플리케이션 그 자체가 갱신할 수 있는 애플리케이션의 메인 페이지에 포함된 프로그램을 (즉, 브라우저에서) 국부적 으로 실행;
- 가능한 비동기적으로(즉, 다른 작업하면서 그리고 사용자의 동작 흐름을 차단함이 없이), 상기 페이지의 요소들을 다시 갱신하는 페이지의 JavaScript 프로그램에 의해 동작될 수 있는 데이터 애플리케이션(및 완전히 새로운 것이 아닌 페이지)을 원격 서버에 요청.
전술한 보다 진보된 웹 애플리케이션의 생성에 사용되며 특히 전술한 동작들을 수행하게 하는 모든 기술들은 종종 AJAX 라는 이름으로 그룹화된다.
상기 기술들은 주로 다음과 같다:
- JavaScript, 이는 브라우저에 의해 실행되는 HTML 페이지에 포함된 프로그램에 대한 언어임;
- "문서 객체 모델(Document Object Model)" 의 DOM 및 "캐스케이딩 스타일 시트(Cascading Style Sheet)" 의 CSS, 이들은 각기 페이지의 구조화 요소들(텍스트 부분들의 의미 및 상기 부분들 그 자신들을 정의하는 태그들) 및 페이지 요소들을 포맷화하는 스타일들(프리젠테이션 규칙들)을 정의함. DOM 및 CSS는 둘다 JavaScript에 기록된 프로그램에 의해 조작가능하다;
- XMLHttpRequest, 이는 HTTP 요청들이 웹 서버와 동기적으로 또는 비동기적으로, 그리고 다른 작업하면서, 즉 브라우저가 상기 요청에 대한 결과들을 디스플레이되는 새로운 HTML 페이지로서 로딩할 필요 없이 실행되도록 하는 JavaScript에서 이용가능한 프로그래밍 인터페이스(또는 API)임. 상기 요청 결과는, 종종 반드시 XML로 표현되지 않으며, JavaScript 프로그램에 의해 조작가능하다.
- GreaseMonkey UserScript, 이들은 (예를 들면, Mozilla 또는 Firefox와 같은) GreaseMonkey 확장 기능을 지원하는 웹 브라우저에 설치된 확장형 JavaScript 내 프로그램들이며, 이들 프로그램들은 사전 정의된 HTML 페이지의 로딩 동안에 활성화되며, 브라우저에 의해 상기 페이지의 컨텐츠 또는 프리젠테이션에 대한 변경을 수행한다.
전술한 다양한 구현 방법들은 "디자인 패턴" 이라 하며, 이들 대부분은 "AJAX 패턴" 사이트에서 기술된다.
따라서, 사용자의 브라우저에서 웹 애플리케이션을 맞춤화 데이터 및 프로그램과 혼합하는 모드는 한편으로는 스마트 카드와 같은 휴대용 디지털 장치에 내장되고 사용자의 맞춤화 데이터 및 프로그램을 호스팅하는 각 사용자에게 특정한 웹 서버를 사용하는 것에 기반하며, 그리고 다른 한편으로는 맞춤화 프로그램의 실행및 그 결과의 통합을 위해 전술한 기술 및 패턴은 물론 브라우저에 의해 디스플레이되는 애플리케이션의 페이지에 대한 맞춤화 데이터에 기반한다.
전술한 혼합에 의해, 웹 애플리케이션의 진보 여부에 상관없이, 디커플드(decoupled) 방식으로 고객 맞춤형 웹 애플리케이션을 생성한다.
그와 같이 행해진 디커플링은 전술한 이점들과 함께, 브라우저에서 원격 애플리케이션 서버에 의해 제공된 일반적 웹 애플리케이션을 로컬 서버에 의해 제공되는 사용자에 속한 특수한 맞춤화와 사후적(ex-post) 혼합하는 것을 가능하게 한다. 사후적 혼합은 원격 서버에 의해 애플리케이션과 관련된 일반적 데이터가 브라우저에 제공된 후에 혼합이 수행되는 것을 의미한다. 따라서, 전술한 유형의 사 후적 혼합은 사전적(ex-ante) 혼합, 즉 애플리케이션이 브라우저에 제공되기 전에 수행되는 혼합과 상반되는 것으로서, 이는 일반적 애플리케이션의 원격 웹 서버를 통해 혼합을 수행하는 전술한 실시예로부터 유도된다.
구현되는 AJAX 기술에 따라서 브라우저에서 혼합이 다양하게 실행될 수 있다. 전술한 기술들이 애플리케이션 유형, 요구되는 결과 또는 원하는 특징 및 성능에 따라서 다양한 방식으로 결합될 수 있음을 주목하여야 한다. 브라우저에서의 혼합을 통한 웹 애플리케이션의 맞춤화의 컨텍스트(context) 내에서 그리고 맞춤화 데이터 및 프로그램을 호스팅하는 웹 서버를 통합하는 휴대용 장치를 사용하여, 전혀 제한하는 것이 아니지만, 세가지 실시예의 예들이 이하에서 제공된다.
첫번째 예는 휴대용 장치, 예를 들어 스마트 카드에 의해 제공되는 UserScripts를 통해, 그리고 브라우저에 의해 전송된 그 카드로의 요청을 통해 애플리케이션의 맞춤화를 구현하는 것과 관련된다.
따라서, 본 실시예의 예에서, 맞춤화 데이터 및 프로그램은 사용자 카드의 레벨에서 저장된 UserScripts이며, 그 카드에 통합된 웹 서버를 통해 액세스 가능하다. 이 예에 따르면, GreaseMonkey 확장 기능의 변경을 통해, 카드의 UserScripts는 사용자의 브라우저에 설치되어 저장될 수 있다. 예를 들어, RegisterPersonalUserScript 동작은 GreaseMonkey에 추가될 수 있다. 사용자는 이 동작을 활성화시키고 사용자 카드의 웹 서버에 호스트 단말기에 접속된 카드를 접속한다. 보안 강화를 위하여, 카드의 로컬 서버와의 접속은, 예컨대 인증이 성공적인 경우에만 서버와의 접속을 허가하기 위해, 전자에 의해 제공된 사용자의 인증 데이터로 수행된다. 그러므로, 그 동작은 브라우저에 UserScripts를 설치한다. 카드에 의해 제공되는 UserScripts는 웹 페이지 어드레스 다이어그램들을 수반하며 여기에서 이들이 적용되어 웹 페이지 어드레스 다이어그램들과 함께 GreaseMonky에 저장된다.
그 후, 웹 페이지의 어드레스가 저장된 어드레스 다이어그램에 대응하는 웹 페이지를 사용자가 액세스할 때, 대응하는 UserScript는 애플리케이션 내 인코드된 오퍼레이션에 따라서 실행되어 애플리케이션 페이지의 맞춤화를 수행함으로써 브라우저에서 애플리케이션과 혼합된다. 부가적으로, UserScript는 페이지의 맞춤화를 수행하는데 사용되는 사용자에 속한 맞춤화 데이터를 동적으로 복구하기 위해 (예컨대, XMLHttpRequest를 통해) 카드의 웹 서버에 요청을 전달할 수 있다. 상기 데이터에 대한 액세스는 또한 사용자 인증을 통해 또는 진행 중인 세션에 특정한 데이터에 대한 다양한 액세스 키들을 통해 안전하게 될 수 있다. 상기 데이터는 XML 또는 UserScript의 코드가 처리할 것으로 예상되는 어떤 다른 포맷으로 포맷화될 수 있다.
UserScript는 사용자의 카드로부터 데이터를 검색할 뿐만 아니라 네트워크 상의 다른 웹 서버들로부터 데이터를 검색할 수 있다. 이 UserScript는 또한 사용자의 카드로부터 "On-demand JavaScript" 디자인 패턴을 통해 사용자 JavaScript 프로그램을 다운로드할 수 있다.
실시예의 두번째 예는 카드에 의해 제공된 JavaScript 프로그램을 통해 및/또는 그 카드로의 요청을 통해 맞춤화와 관련하여 제공된다.
본 실시예의 예에서, 원격 웹 서버에 의해 제공되는 애플리케이션의 HTML 페이지는 JavaScript 프로그램을 카드에 로드하기 위한 요청들을 포함한다. 이러한 요청은 HTML 언어의 표준 지침에 따라서 애플리케이션의 페이지에 기록된다. 예를 들어, "appli_1" 애플리케이션 페이지는 이하에서 일례로서 주어진 지침을 포함하며, 이 지침은 perso.js 스크립트의 카드의 로컬 웹 서버에 로딩을 요청할 것이며, 이 스크립트는 예컨대 personalize()라 하는 단일 함수 형태의 맞춤화 프로그램을 포함한다. 하지만 다수의 함수들이 맞춤화 스크립트에 포함될 수 있으며 맞춤화 프로그램 그 자체는 각각의 함수들을 포함하는 다수의 스크립트 형태로 제공될 수 있다.
Figure 112008054439119-pct00001
사용자의 브라우저에 의해 원격 서버로부터 애플리케이션의 페이지가 로드될(loaded) 때, 이것은 카드의 로컬 서버로부터의, 발생되는 JavaScript 프로그램을 로드하기 위한 요청들을 실행하는 브라우저에 의해 해석된다. 따라서, JavaScript 프로그램 형태로 카드에 저장된 맞춤화 프로그램은 브라우저에서 애플리케이션의 코드와 혼합된다. 그런 다음, JavaScript 프로그램은 예를 들어 애플리케이션의 페이지에 다음 지침을 포함함으로써 실행된다. 맞춤화 프로그램으로서 카드에 통합된 로컬 서버에 의해 제공된 JavaScript 함수들은 JavaScript 프로그램이 HTML 페이지 내에서 실행되게 하는, 예컨대 소정의 이벤트(사용자에 의한 클릭, HTML 페이지의 소정 요소를 지나치는 사용자의 마우스 등)에 반응하는 어떤 다른 수단에 의해 실행될 수 있음을 주목하여야 한다.
Figure 112008054439119-pct00002
전술한 JavaScript 프로그램들이, 전술한 UserScripts의 경우에서와 같이, 사용자에게 속한 맞춤화 데이터를 동적으로 복구하는 요청들을 카드의 웹 서버에 전달하며, 이 요청들은 페이지의 맞춤화를 수행하는데 사용됨을 주목하여야 한다. 사용자의 카드와 관련된 모든 동작들(JavaScript 맞춤화 프로그램을 다운로드 하는 것, 맞춤화 데이터에 대한 요청)은 사용자의 인증을 통해 안전하게 될 수 있다.
브라우저에서 맞춤화를 수행하기 위한 더욱 제한된 방식은 간단히 애플리케이션 그 자체에 의해 제공되는 JavaScript 프로그램에 사용자에게 속한 맞춤화 데이터를 동적으로 복구하기 위한 (예컨대 XMLHttpRequest를 통해) 카드의 웹 서버로의 요청들을 포함하는 것으로 이루어지며, 이 요청들은 페이지의 맞춤화를 수행하는데 사용된다.
하지만, 본 명세서에서 설명되는 실시예의 예에서는 브라우저의 "크로스 도메인 보안 정책(cross-domain security policy)"과 관련하여 극복하는데 어려움이 있다. 실시예의 선행 예에서 사용된 UserScripts는 상기 "크로스 도메인 보안 정책"에 영향을 받지 않는다는 점을 주목하여야 한다. 이 정책은 HTML 페이지의 JavaScript 프로그램들이 단지 페이지 그 자체를 제공한 서버와 동일한 서버로부터 발생될 수 있도록 구축한다. 마찬가지로, XMLHttpRequest 요청들은 단지 페이지를 제공한 서버에만 지정될 수 있다. 따라서, 본 명세서에서 설명된 바와 같은 애플리케이션과 맞춤화를 혼합하는 실시예는 구현을 위해 전술한 문제점들을 극복해야 한다. (결합가능한) 다양한 해결책들이 이하에서 관찰되고 열거된다.
그러므로, 인터넷 익스플로러와 같은 소정의 브라우저들은 전술한 정책을 사용자가 구성하도록 권한을 부여한다. 이러한 구성은 (추가 통지가 있을 때까지 권한을 부여하는 가능성을 갖고) 상기 시나리오가 발생될 때마다 명시적 요청시 원격 서버 사이트의 어드레스에 기반하거나, 또는 인증 제시(presentation of certificates)에 기반할 수 있다. 예를 들어, 애플리케이션을 제공하는 원격 서버 사이트의 어드레스에 대응하는 도메인의 페이지들은 사용자 카드의 JavaScript 프로그램을 로드하도록 그리고 사용자의 카드에 XMLHttpRequest 요청들을 전달하도록 권한을 부여받을 수 있다.
더욱이, 브라우저를 업그레이드하면 신뢰를 구축하거나 그렇지 않도록 하기 위해, 카드 그 자체에 전술한 JavaScript 프로그램을 제공하거나 그렇지 않도록 또는 페이지의 출처, 그의 인증, 또는 심지어 카드와 원격 서버 간의 인증 과정에 따라서(브라우저를 통하여 또는 카드와 원격 서버 사이에서 인터넷을 통하여 직접) XMLHttpRequest 요청들에 응답하도록 권한을 부여할 수 있다.
현재 표준화되지 않은 크로스 도메인 보안 정책인, 전술한 모든 해결책들은 구상 가능하며, 각각의 브라우저는 원하는 정책을 설치하도록 선택할 수 있다. 부가적으로, 사용자의 카드는 브라우저에 의해 특정한 도메인으로서 고려될 수 있으며, 이에 대하여 그러한 금지 정책(prohibitive policy)을 갖지는 않는다. 마지막으로, 예를 들어 이동 전화 운용자에 의해 그의 전화로 공급되는 "테일러 메이드(tailor-made)" 브라우저들은 운용자(및 그 가입자)의 사이트로부터 발생되는 애플리케이션과 (또한 운용자에 의해 제공되는) 사용자의 SIM 카드로부터 발생되는 맞춤화 프로그램 간의 혼합을 특정하게 허가하기 위해 설계될 수 있다. 최종적으로, 전술한 문제점에 대한 또 다른 해결책은, 이하에서 설명되는 바와 같이, 웹 애플리케이션과 맞춤화를 사용자의 카드에 통합된 로컬 서버에 의해 제공되도록 하는 것이다.
전술한 실시예의 마지막 예는 선행하는 실시예와 동등하나 그 차이점은, 이번에는 웹 애플리케이션이 원격 서버가 아닌 카드 그 자체에 의해 제공된다는 점이다. 실시예의 선행 예의 다른 모든 특징들은 불변이다. 따라서, 전술한 접근법의 관심사는 사용자의 브라우저가 인터넷에 접속되지 않은 때에도 웹 애플리케이션을 항상 이용가능하게 하는 것이다. 다른 관심사로는 맞춤화를 포함하여 모든 애플리케이션 부분들이 동일한 서버, 즉 카드에 의해 제공되기 때문에, 크로스 도메인 보안 정책 문제점들이 더 이상 존재하지 않는다는 것이다.
애플리케이션과 그의 맞춤화는 항상 호스트 단말기의 브라우저에서 혼합되는 개별의 프로그램 및 데이터이므로 이들 간의 디커플링은 실제로 유지되며, 이것은 전술한 작업의 애플리케이션 서버, 즉 전술한 실시예의 예에서의 카드의 부담을 제거하며, 그리고 항상 애플리케이션의 맞춤화를 독립적으로 변경할 수 있게 한다.
최종적으로, 전술한 실시예의 마지막 예에서, 전체 애플리케이션은 사용자 카드의 로컬 서버에 의해 제공되지 않고, 단지 이들의 최소 부분만이 (모든 기능없이도) 전체 애플리케이션을 오프라인으로 작업가능하게 하는 것을 구상할 수 있다. 접속 확립시, (애플리케이션을 업그레이드하는) 애플리케이션의 추가적인 부분들은 원격 서버로부터 다운로드되고, (크로스 도메인 보안 문제가 동일하고 해결책이 유사한) 애플리케이션과 맞춤화를 혼합한 선행 예에서와 동일한 방식으로 브라우저에서 혼합된다.

Claims (19)

  1. 사용자의 단말기(30) 상에서 상기 단말기에 제공되는 브라우저(40)에 의해 실행될 것으로 파악되는(envisaged) 웹 애플리케이션을, 상기 브라우저로부터 통신 네트워크(60)를 통해, 상기 웹 애플리케이션을 호스팅(hosting)하는 원격 웹 서버(10)에 전송되는 요청(request)시, 맞춤화하는 방법으로서,
    상기 단말기와 결합된 상기 사용자 소유의 로컬 서버(20)에 의해 적어도 하나의 맞춤화 프로그램(customisation program) 및/또는 맞춤화 데이터(customisation data)를 호스팅하는 단계; 및
    상기 로컬 서버(20)에 의해 제공되는 상기 맞춤화 프로그램 및/또는 맞춤화 데이터를 상기 요청의 처리에 해당하는, 상기 웹 애플리케이션과 관련된 데이터와 혼합하여 상기 웹 애플리케이션의 맞춤화를 구현하는 단계 - 상기 웹 애플리케이션과 관련된 데이터는 상기 원격 서버(10)에 의해 제공됨 -
    를 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  2. 제1항에 있어서, 상기 사용자 소유의 상기 로컬 서버(20)는 상기 사용자의 단말기에 접속된 휴대용 디지털 장치(50) 내에 내장된 웹 서버 형태로 생성되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  3. 제1항에 있어서, 상기 사용자 소유의 상기 로컬 서버(20)는 상기 사용자의 단말기에 설치되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 웹 애플리케이션과 관련된 데이터를 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터와 혼합하는 단계는 상기 웹 애플리케이션을 실행하는, 상기 사용자의 단말기의 브라우저(40) 내에서 수행되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  5. 제4항에 있어서, 상기 혼합하는 단계는,
    상기 브라우저(40)에 의해, 상기 원격 서버(10)에 전송되는 상기 요청의 처리에 해당하는, 상기 웹 애플리케이션과 관련된 데이터를 사전에 복구(prior recovery)하는 단계;
    상기 브라우저(40)에 의해, 상기 사용자 소유의 상기 로컬 서버(10)에서 요청시 액세스되는 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터에 해당되는 맞춤화 동작들을 실행하는 단계; 및
    상기 브라우저에 의해, 상기 맞춤화 동작들의 결과들을 상기 웹 애플리케이션과 관련된 데이터에 통합하기 위해 상기 맞춤화 동작들의 결과들을 해석하는 단계
    를 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 웹 애플리케이션과 관련된 데이터를 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터와 혼합하는 단계는 상기 원격 서버(10) 내에서 수행되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  7. 제6항에 있어서, 상기 혼합하는 단계는,
    상기 브라우저에 의해 상기 원격 서버(10)에 전송되는 상기 요청의 처리에 해당하는, 상기 웹 애플리케이션과 관련된 데이터를, 상기 원격 서버(10)에 의해 상기 로컬 서버(20)에 제공하는 단계;
    상기 로컬 서버(20)에 의해, 상기 원격 서버(10)의 요청시 맞춤화 동작들을 실행하는 단계; 및
    상기 맞춤화 동작들의 결과들을, 상기 사용자의 단말기의 브라우저에 제공될 상기 웹 애플리케이션과 관련된 상기 데이터와 통합하기 위해 상기 맞춤화 동작들의 결과들을 상기 서버(10)에 의해 해석하는 단계
    를 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 로컬 서버(20)에서의 상기 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스는 안전한 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  9. 제8항에 있어서, 상기 로컬 서버에 대한 액세스를 안전하게 하는 것은 상기 사용자를 인증하는 것을 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 방법.
  10. 웹 애플리케이션을 맞춤화하는 시스템으로서,
    데이터 전송 프로토콜(data transfer protocol)에 따라서 상기 웹 애플리케이션을 호스팅하는 원격 서버(10)에 요청(request)을 전송하는 수단, 및 사용자의 단말기(30)에서 상기 원격 서버에 의한 상기 요청의 처리 결과를 수신하고 실행하는 수단을 포함하는 브라우저(40)를 장착한 상기 사용자의 단말기를 포함하며,
    상기 시스템은 상기 웹 애플리케이션을 맞춤화하기 위한 적어도 하나의 프로그램 및/또는 상기 웹 애플리케이션을 맞춤화하기 위한 데이터를 호스팅하는, 상기 단말기에 결합된 상기 사용자 소유의 로컬 서버, 및 상기 원격 서버에 의해 제공된 상기 웹 애플리케이션을 상기 사용자 소유의 상기 로컬 서버(20)에서 호스팅되는 상기 맞춤화 프로그램 및/또는 상기 맞춤화 데이터와 혼합하는 수단을 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  11. 제10항에 있어서, 상기 혼합 수단은 상기 단말기의 브라우저(40)에 통합되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  12. 제10항에 있어서, 상기 혼합 수단은 상기 원격 서버(10)에 통합되는 것을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 로컬 서버(20)는 상기 사용자의 단말기에 접속된 휴대용 디지털 장치(50)에 내장된 웹 서버를 포함하는 것 을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  14. 제13항에 있어서, 상기 휴대용 디지털 장치(50)는 상기 내장된 웹 서버에 의해 호스팅되는 상기 웹 애플리케이션을 맞춤화하기 위한 프로그램 및/또는 상기 웹 애플리케이션을 맞춤화하기 위한 데이터에 대한 액세스를 안전하게 하는 수단을 포함하는 것을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  15. 제14항에 있어서, 상기 휴대용 디지털 장치는 스마트 카드인 것을 특징으로 하는 웹 애플리케이션 맞춤화 시스템.
  16. 데이터 전송 프로토콜에 따라서 클라이언트와 통신하기 위해 제공된 통합 웹 서버(20)를 포함하는 휴대용 디지털 장치(50)로서,
    상기 통합 웹 서버는, 원격 애플리케이션 서버(10)에 의해 호스팅되는 애플리케이션의 적어도 하나의 프로그램 및/또는 맞춤화 데이터를 호스팅하며, 상기 클라이언트로부터 요청시 상기 애플리케이션의 상기 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스를 제공하는 수단을 포함하는 것을 특징으로 하는 휴대용 디지털 장치.
  17. 제16항에 있어서, 상기 통합 웹 서버(20)는, 상기 애플리케이션을 사용자의 단말기(20)에서 실행하는, 클라이언트로서 동작하는 상기 사용자의 단말기의 브라우저(40)와 통신하는 것을 특징으로 하는 휴대용 디지털 장치.
  18. 제16항 또는 제17항에 있어서, 상기 애플리케이션의 맞춤화 데이터 및/또는 프로그램(들)에 대한 액세스를 안전하게 하는 수단을 포함하는 것을 특징으로 하는 휴대용 디지털 장치.
  19. 제16항 또는 제17항에 있어서, 상기 휴대용 디지털 장치는 스마트 카드와 관련되는 것을 특징으로 하는 휴대용 디지털 장치.
KR1020087018596A 2005-12-29 2006-12-20 고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법 KR100966665B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0513467 2005-12-29
FR0513467 2005-12-29

Publications (2)

Publication Number Publication Date
KR20080087876A KR20080087876A (ko) 2008-10-01
KR100966665B1 true KR100966665B1 (ko) 2010-06-29

Family

ID=36599088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018596A KR100966665B1 (ko) 2005-12-29 2006-12-20 고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법

Country Status (4)

Country Link
US (1) US20100070566A1 (ko)
EP (1) EP1969461A1 (ko)
KR (1) KR100966665B1 (ko)
WO (1) WO2007074119A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8527860B1 (en) * 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
JP5236352B2 (ja) * 2008-05-15 2013-07-17 株式会社日立製作所 アプリケーション配信制御システム、アプリケーション配信制御方法、情報処理装置、およびクライアント端末
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
KR20100040692A (ko) * 2008-10-10 2010-04-20 에스케이 텔레콤주식회사 스마트 카드 기반 애플릿 설치 시스템 및 그 방법
JP2010250827A (ja) * 2009-04-16 2010-11-04 Accenture Global Services Gmbh タッチポイントをカスタマイズするシステム
KR101166797B1 (ko) 2009-09-22 2012-07-26 에스케이플래닛 주식회사 스마트카드 기반 브라우징 시스템 및 그 방법, 그리고 이에 적용되는 스마트카드
US8413052B2 (en) * 2010-02-17 2013-04-02 Yahoo! Inc. Bidded marketplace for applications
US8537990B2 (en) * 2010-11-19 2013-09-17 Frederic Rudman Communications device and method and method of use
FI20106336A0 (fi) 2010-12-17 2010-12-17 Pocketsoft Oy Räätälöidyn sovelluksen tuottaminen käyttäjän päätelaitteelle
US9026903B1 (en) 2011-01-11 2015-05-05 Google Inc. Abstract syntax tree interpreter for generating a valid HTML document
US9021348B1 (en) 2011-01-11 2015-04-28 Google Inc. Composition of templates using transclusion that guarantee a valid HTML document
US8745027B1 (en) 2011-04-11 2014-06-03 Google Inc. Jslayout cascading style sheets optimization
US9501465B2 (en) 2011-09-26 2016-11-22 Google Inc. Use of templates as message pruning schemas
US20140237589A1 (en) * 2011-09-29 2014-08-21 Bradley Neal Suggs Personalization Data of an Active Application
US20150347374A1 (en) * 2012-12-21 2015-12-03 Intellipocket Oy Generating a customized application
CN103139644B (zh) * 2013-01-31 2016-01-20 南通同洲电子有限责任公司 一种序列号匹配的方法和数字电视终端
US10255063B2 (en) * 2013-03-15 2019-04-09 Microsoft Technology Licensing, Llc Providing source control of custom code for a user without providing source control of host code for the user
RU2013158632A (ru) * 2013-12-30 2015-07-10 Общество С Ограниченной Ответственностью "Яндекс" Способ предоставления данных об устройстве (варианты), способ установления сеанса связи между устройством и веб-сервером и сервер для предоставления данных
US9823826B2 (en) 2014-10-16 2017-11-21 International Business Machines Corporation User interface module sharing
US10817272B2 (en) * 2016-12-12 2020-10-27 Sap Se Generation and usage of language-converted script

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510486B1 (en) * 1996-03-25 2003-01-21 Cypress Semiconductor Corp. Clocking scheme for independently reading and writing multiple width words from a memory array
US6196459B1 (en) * 1998-05-11 2001-03-06 Ubiq Incorporated Smart card personalization in a multistation environment
FR2782435B1 (fr) * 1998-08-13 2000-09-15 Bull Cp8 Procede de communication entre une station d'utilisateur et un reseau, notamment de type internet, et architecture de mise en oeuvre
US6826592B1 (en) * 1998-09-11 2004-11-30 L.V. Partners, L.P. Digital ID for selecting web browser and use preferences of a user during use of a web application
FR2823330B1 (fr) * 2001-04-10 2004-08-20 Gemplus Card Int Procede et systeme de gestion de donnees destinees a etre stockees dans une memoire, par exemple du code d'une application charge dans une carte a puce programmable
FR2828358B1 (fr) * 2001-08-02 2004-01-16 Gemplus Card Int Procede et dispositif de mise en compatibilite de communication sur reseau de terminaux, par exemple pour permettre un dialogue avec une application sur une carte a puce
US7441108B2 (en) * 2002-11-19 2008-10-21 Ken Scott Fisher Portable memory drive with portable applications and cross-computer system management application
US20050050159A1 (en) * 2003-09-03 2005-03-03 Zeev Suraski Remote debugging of web applications
WO2005064889A1 (en) * 2003-12-23 2005-07-14 Axalto Sa Smart-card comprising a virtual local network
US20050259673A1 (en) * 2004-05-18 2005-11-24 Axalto Inc. Method and system for end-to-end communication between a universal integrated circuit card and a remote entity over an IP-based wireless wide area network and the internet
US20050289178A1 (en) * 2004-06-29 2005-12-29 Angus Ian G Combining data and presentation from multiple sources into a single web page
US7624452B2 (en) * 2004-10-20 2009-11-24 Digi International Automatic device configuration using removable storage
DE112005003597T8 (de) * 2005-06-03 2008-07-24 Elektrobit Wireless Communications Oy Bedienung eines Mobilgeräts
US20060282678A1 (en) * 2005-06-09 2006-12-14 Axalto Sa System and method for using a secure storage device to provide login credentials to a remote service over a network
US20060294023A1 (en) * 2005-06-25 2006-12-28 Lu Hongqian K System and method for secure online transactions using portable secure network devices
EP2299357A1 (en) * 2005-07-08 2011-03-23 Corizon Limited Method and apparatus for user interface modification
US7962896B2 (en) * 2005-10-31 2011-06-14 Eazypaper Inc. Method and system for automatically configuring software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510466B1 (en) * 1998-12-14 2003-01-21 International Business Machines Corporation Methods, systems and computer program products for centralized management of application programs on a network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2000 Proceedings of the 9th workshop on ACM SIGOPS European workshop pp.217-222, R. Marvie, "Smart cards: a system support for service accessibility from heterogeneous devices"(2000.)*

Also Published As

Publication number Publication date
WO2007074119A1 (fr) 2007-07-05
KR20080087876A (ko) 2008-10-01
US20100070566A1 (en) 2010-03-18
EP1969461A1 (fr) 2008-09-17

Similar Documents

Publication Publication Date Title
KR100966665B1 (ko) 고객 맞춤형 웹 애플리케이션 배치 시스템 및 방법
US9003296B2 (en) Browser renderable toolbar
US7962381B2 (en) Service designer solution
US8056125B2 (en) Recording medium storing control program and communication system
US20030233483A1 (en) Executing software in a network environment
Rellermeyer et al. AlfredO: an architecture for flexible interaction with electronic devices
US20230308504A9 (en) Method and system of application development for multiple device client platforms
US20030154265A1 (en) Process for executing a downloadable service through a telecommunication network, and cache system and service for doing the same
KR20120125247A (ko) 타겟 어플리케이션을 제공하기 위한 방법
US20090307058A1 (en) End user interface customization and end user behavioral metrics collection and processing
US20140298416A1 (en) Providing access to managed content in rich client application environments
EP1982245B1 (en) Security key with instructions
CN102164179A (zh) 一种基于网络的终端应用部署方法及系统
KR100705002B1 (ko) 액티브엑스 컨트롤 설치 방법
US7653732B1 (en) Providing session services with application connectors
JP4054626B2 (ja) 情報端末装置、及びプログラム
JP2009294851A (ja) Webページ編集サーバ、Webページ編集システム及びWebページの編集方法
US8342965B2 (en) Displaying a game menu screen by flash program module in an on-line game application
KR100663498B1 (ko) 단말기의 사용자 식별 모듈을 이용한 웹 서비스 응답 향상방법 및 장치, 그리고 그 시스템
RU2786200C1 (ru) Система и способ установки персонализированного приложения на мобильное устройство
WO2005116856A1 (en) Method for building home page using web page templet
KR100599107B1 (ko) 액티브엑스 컨트롤 설치 방법
KR100600732B1 (ko) 가전기기 원격제어시스템 및 그 동작방법
KR101451850B1 (ko) 임베디드 시스템, 임베디드 디바이스 및 그의 메뉴 처리방법
JP2008015658A (ja) アプリケーション提供システム及びアプリケーション提供方法

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee