본문 바로가기

웹 애플리케이션 아키텍처

 

웹 애플리케이션 아키텍처가 래퍼 애플리케이션을 이용하여 웹 브라우저 내에 가상 머신 환경을 제공할 수 있고 웹 애플리케이션들은 래퍼 애플리케이션 상에서 실행될 수 있다.

 

래퍼 애플리케이션은 웹 애플리케이션들에 대 한 라이프 사이클 관리를 제공하고 환경 내의 웹 애플리케이션들 모두에 대한 로그인 및 로그아웃과 같은 다른 기능을 제공할 수 있다.

 

 

 

 

기 술 분 야

본 출원은 2011년 7월 26일에 출원된 미국 특허 가출원 번호 61/511,938의 이득을 주장하고, 이 가출원은 참조 로서 본 명세서에 통합된다.

 

본 발명은 웹 애플리케이션에 관한 것으로 특히 하나 이상의 웹 서버와 상호작용하여 특정 웹 서비스를 제공하 는 클라이언트 장치 상의 웹 브라우저의 사용을 통해 이메일 서비스 또는 달력 서비스 또는 연락처 서비스 등과 같은 서비스들을 제공할 수 있는 웹 애플리케이션에 관한 것이다.

 

배 경 기 술

종래 기술에서의 웹 애플리케이션 시스템은 사용자가 웹 브라우저를 통해 이들의 이메일에 액세스하고 상호작용 하도록 한다. 예를 들어, 웹 이메일은 사용자로 하여금 이메일 클라이언트보다는 표준 웹 브라우저의 사용을 통해 자신의 이메일을 보고 상호작용할 수 있게 한다.

 

예를 들어, 마이크로소프트사의 Exchange Server 상에서 유지되는 이메일 시스템들은 사용자로 하여금 네트워크에 연결될 수 있는 임의의 머신 상의 웹 브라우저를 통해 이들의 이메일, 달력, 및 연락처에 액세스할 수 있게 하여, 이메일 등에 액세스하는데 Entourage 또는 마이크로 소프트 아웃룩을 사용할 필요가 없다.

 

Comcast와 같은 인터넷 서비스 제공자, 구글 및 야후와 같은 인터넷 검 색 제공자는 또한 기존의 웹 브라우저를 통해 사용자의 이메일 또는 다른 서비스로의 액세스를 가능하게 한다.

 

 

 

발명의 내용

웹 애플리케이션 아키텍처의 다양한 예시가 명세서에서 설명된다. 웹 애플리케이션 아키 텍처는 자신이 데이터 프로세싱 시스템의 오퍼레이팅 시스템 상에서 실행되는 표준 웹 브라우저 상에서 실행되 도록 구성되는 래퍼(wrapper) 애플리케이션을 포함한다.

 

애플리케이션들의 세트는 래퍼 애플리케이션 상에서 실행되도록 구성되고(예컨대, 각 애플리케이션은 래퍼 애플리케이션의 아이프레임(iframe) 내에서 실행된다), 애플리케이션들의 세트 내의 각각의 애플리케이션은 데이터를 하나 이상의 웹 서버와 주고받도록 구성된다.

 

하나 이상의 웹 서버는 이메일 데이터, 달력 데이터, 연락처 데이터 및 기타 유형의 데이터를 저장할 수 있다. 래퍼 애플리케이션은 애플리케이션들의 세트 내의 각 애플리케이션에 대한 라이프 사이클 관리를 제공하도록 구성되고 애플리케이션들의 세트 내의 애플리케이션들 간의 전환을 제공할 수 있다.

 

래퍼 애플리케이션은 선점 다중 작업 오퍼레이팅 시스템(preemptive multitasking operating system)과 같은 또 다른 오퍼레이팅 시스템 상에서 자신이 실행되고 있는 웹 브라우저 상에서 실행되고 있는 가상 머신형 오퍼레이팅 시스템(virtual- machine-like operating system)으로 간주될 수 있다.

 

 

애플리케이션들의 세트는 이메일 애플리 케이션, 및 달력 애플리케이션, 및 연락처 또는 주소록 애플리케이션을 포함할 수 있다. 세트 내의 각 애플리케이션이 표시되는 경우, 이는 가장 앞 애플리케이션으로 표시되고 다른 애플리케 이션들은 완전히 가려지거나 부분적으로 희미해진다. 각각의 애플리케이션은 표시되는 경우 웹 브라우저에 의해 제공되는 동일한 단일 웹 브라우저 윈도우 내에 표시된다.

 

하나 이상의 애플 리케이션 프로그래밍 인터페이스(Application Programming Interfaces; APIs)를 통해 래퍼 애플리케이션과 애 플리케이션들의 세트 내의 각 애플리케이션 간에서 호출들이 전송될 수 있다.

 

이러한 호출들은 각 애플리케이 션이 시작되는 경우 및 각각의 애플리케이션이 가장 앞에 있는 경우와 가장 앞에 있지 않은 경우 간에서 전환되 는 경우 전송될 수 있다.

 

래퍼 애플리케이션에 의해 제공되는 라이프 사이클 관리는 애플리케이션들의 세트 내 의 각각의 애플리케이션의 시작 및 종료를 포함할 수 있다. 더욱이, 래퍼 애플리케이션은 애플리케이션들의 세 트 내의 각각의 애플리케이션의 실행을 지원하기 위해 래퍼 애플리케이션과 웹 브라우저 간에서 호출들을 전송 할 수 있다.

 

애플리케이션들의 세트 내의 각각의 애플리케이션이 맨 앞 상태에 있지 않은 경우 (예컨대, 본 명세서에서 설명된 바와 같이 완전히 또는 부분적으로 가려지거나 유예(suspend)되는 경우) 실행되 는 상태로 유지된다.

 

래퍼 애플리케이션은 아이콘들의 세트를 표시할 수 있는데, 각 아이콘은 웹 브라우저로부터의 호출에 응답하여 애플리케이션들의 세트 내의 하나의 애플리케이션을 나타내고, 아이콘들 의 세트는 선택하거나 전환할 이용가능한 애플리케이션들의 팔레트를 형성할 수 있다.

 

 

본 발명에 따른 방법은 제1 오퍼레이팅 시스템을 실행하는 단계, 제1 오퍼레이팅 시스템 상에서 웹 브라우저를 실행하는 단계, 웹 브라우저 상에서 래퍼 애플리케이션을 실행하는 단계, 및 래퍼 애플리케이션 에서 적어도 하나의 애플리케이션을 실행하는 단계를 포함할 수 있다.

 

래퍼 애플리케이션은 이메일 애플리케이 션, 달력 애플리케이션, 연락처 또는 주소록 애플리케이션 등과 같은 애플리케이션들의 세트의 일부가 될 수 있 는 적어도 하나의 애플리케이션을 위한 라이프 사이클 관리를 제공할 수 있다.

 

또한 각 애플리케이션이 실행되거나 시작되거나 종료되는 경우 API를 통해 래퍼 애플리케이션과 애플리케이션들의 세트 내의 각각의 애플리케이션 간에서 적어도 하나의 호출을 전송하는 것을 포함할 수 있다.

 

제1 애플리케이션이 시작되는 경우 웹 브라우저와 래퍼 애플리케이션 간에서 적어도 하나의 호출을 전송 하는 것을 포함할 수 있다. 적어도 하나의 호출의 전송은 API를 통해 호출 또는 소프트웨어 메시지의 발행, 개 시, 불러오기 또는 수신 중 하나가 될 수 있다.

 

 

실행가능 프로그래밍 명령어들을 포함하는 머신 판독가능 비일시적 저장 매체가 본 명 세서에서 설명된 방법들을 구현하는데 사용될 수 있다. 또한, 데이터 프로세싱 시스템이 본 명세서에서 설명된 바와 같이 작동하도록 구성될 수 있고, 이 데이터 프로세싱 시스템은 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 시스템, 스마트폰, 임베디드 디바이스,  기타 소비자 가전 제품과 같은 기타 전자 장치를 포함할  있다.  발명의 다른 특징은 첨부된 도면  아래의 상세한 설명을 통해 명백할 것이다.

위의 설명은 본 발명의 모든 양태 전체를 망라하는 목록을 포함하지 않는다. 본 발명은 위에서 설명되고 아래 의 상세한 설명에 개시된 다양한 양태들의 모든 적절한 조합으로부터 실시될 수 있는 모든 시스템 및 방법을 포 함하는 것이 고려된다.