II. 개발내역 Smart WebDesktop 기반 모바일플랫폼 아펙스씨앤에스 www.apexcns.com
목차 I. 과제개요 1. 과제배경 2. 일반적인웹데스트탑이란 3. Smart WebDesktop 특징 4. 과제개발내역 5. 기대효과 II. 개발내역 1. 아키텍처요구사항 2. Smart WebDesktop 젂체구성도 3. Smart WebDesktop Client 아키텍처 4. Smart WebDesktop Client Framework Component 5. Smart WebDesktop Server 아키텍처 6. Smart WebDesktop Server Component 7. Smart WebDesktop Data 흐름도 8. Smart WebDesktop 데이터설계 9. 주요적용기술 10.Use Case
과제개요
1. 과제배경 과제배경 n-screen 을지원하는모바일플랫폼필요 Desktop Tablet PC Smartphone New Screen Platform for Desktop Platform for Table PC Platform for Smartphone Platform for New Screen New Platform for New Screen Desktop Tablet PC Smartphone New Screen Web Browser on Smart Screen Zero-Client Based Web Application Platform 4
1. 과제배경 과제배경 앱에서웹앱으로의패러다임진화중 앱은호스트운영체제및버젂에따라앱의추가개발필요 웹애플리케이션은 zero client 기반으로단말에서의버젂관리불필요 Application Web App OS 버젂종속 Any Version OS 종류종속 Any OS 5
1. 과제배경 과제배경 스크린확대와모바일단말증가로보안취약성강화필요 Application 보안책임사용자개인 Web App 보안책임클라우드관리자 모바일홖경에서의 seamless 필요성증가 사용자가단말에서비스와콘텐츠저장 Seamless 서비스구현 사용자가플랫폼에서비스와콘텐츠저장 6
2. 일반적웹데스크탑이란? 디바이스및 OS 에독립적인웹어플리케이션사용홖경 운영체제 (OS) 와응용프로그램 (Application), 데이터모두웹으로부터제공되는웹기반의데스크탑홖경 가상화된스토리지에사용자정보를저장 사용자홖경 (UX/UI) 는웹브라우저가기반 사용자는웹브라우저사용가능한단말어디에서나동일한사용자홖경을유지 Web App Web App Virtual Storage Client Web Browser Web Server (Personalized Data) Mail Calendar RSS Web Doc Image Video 7
3. Smart WebDesktop 특징 HTML5 기반 기존불가능했던로칼스트리지제어, Rich UI 등 Device API 지원 N-screen 지원의모바일플랫폼 Seamless 서비스홖경제공 Zero Client 클라우드서비스로서의웹데스크탑으로기능 Web App Web App Cloud Infra HTML5 Client Web Browser Smart WebDesktop Server (Personalized Data) Mail Calendar RSS Web Doc Image Video Distributed Processing System 8
4. 과제개발내역 Smart WebDesktop 아키텍처정의및개발 안드로이드기반스마트폰을대상으로하는사용자홖경을개발 Smart WebDesktop 서버아키텍처정의및개발 오픈소스기반의스택홗용 대용량트래픽처리와클라우드인프라를위한오픈소스채택 [HP WebOS 사례 ] 9
4. 기대효과 개발사관점의기대효과 데스크탑버전개발 xxx 버전개발 앱, 서비스기획 타블렛버전개발 ios 버전개발 안드로이드버전개발 높은개발비버전관리유지보수 심비안버전개발 스마트폰버전개발 블랙베리버전개발 10
4. 기대효과 개발사기대효과 ( 계속 ) 사용자단말다양화에따른복수개발비용젃감 버젂관리와유지보수비용젃감 클라우드플랫폼연계서비스 데스크탑버전개발 Web OS 버전개발 앱, 서비스기획 타블렛버전개발 모든스마트디바이스 웹브라우저 탑재 Web OS 버전개발 낮은개발비버전관리유지보수 스마트폰버전개발 Web OS 버전개발 11
4. 기대효과 이용자기대효과 사용자단말에제한받지않는 n-screen 사용자홖경 일관성있는사용자홖경 Desktop 스마트폰 Smart WebDesktop Tablet PC
개발내역
II. 개발내역 1. 아키텍처요구사항 대규모사용자처리를위한클라우드아키텍처 대규모사용자서비스를위한분산웹데스크탑커널구현 서비스증가, 사용자증가에유연한확장 높은보안 개방형아키텍처 (OpenAPI) 유연한확장성 높은보안성 웹데스크탑사용자환경 개방형아키텍처 (Open API) 웹데스크탑커널 대규모사용자요구량처리 14
II. 개발내역 2. Smart WebDesktop 젂체구성도 대규모사용자처리를위한클라우드기반의개방형아키텍처 (OPEN API) 와 HTML5 기반 zero client Smart WebDesktop Client Smart Webtop Client Framework Event Driven Smart WebDesktop API Smart WebDesktop Contorller Component XML over HTTP(S), Support Open API Smart WebDesktop Server Smart WebDesktop Server OPEN API Smart Webtop Server Resource: FS, Cache, Meta, DB, Auth Library Repository App Pool Cloud Computing Platform
3. Smart WebDesktop Client 아키텍처 HTML5 기반의 zero client Smart WebDesktop Client Framework User Browser User Event HTML5 + CSS3 Event Driven Component Browser Storage App HTML Smart WebDesktop API Panel XmlHttpRequest XML Open API Smart WebDesktop Controller 16
4. Smart WebDesktop Client Framework Component Component Description Event Driven User Browser 에서발생하는이벤트처리를위한 Component 이다. Smart WebDesktop API Smart WebDesktop 의모든 App 에서공통으로사용하는 API 이다. Open API Smart WebDesktop 에서제공하는 Open API 에대해 Client 에서일관성있고쉽게사용할수있도록구성된 Component 이다. Internal Component Smart WebDesktop 에서자주사용되는형태의 Internal Component 라이브러리이다. App HTML App 이화면에보여질 HTML 데이터이다. Panel 개별적으로특성을갖는각영역에대한 layer 로서다음과같은 Panel 이존재한다. Smart WebDesktop Controller OS 와연관된모든이벤트를처리하기위해 App 의 Process 및 life cycle 이정의된 Controller 이다. Browser Storage HTML5 를지원하는브라우저에서사용할수있는 Local Storage 이다. 17
II. 개발내역 5. Smart WebDesktop Server 아키텍처 클라우드아키텍처기반의개방형아키텍처 (OPEN API) Open API Windows Desktop File System Application Authentication Smart WebDesktop Server Resource Desktop Application Session Registry Repository Library Controller Value Object Auth Util Exception Repository App Pool Database Distributed Meta Distributed Cache File System Application
II. 개발내역 6. Smart WebDesktop Server Component Component Description Smart Webtop Server Smart WebDesktop 의서비스 Process 를정의하는레이어 Resource Smart WebDesktop 에서사용하는분산캐쉬, 분산메타, file system 을 Read/Write 하기위한인퍼페이스레이어 Library Smart WebDesktop 구성에필요한컴포넌트들이 Built-In 되는레이어 Repository Smart WebDesktop 의임시또는영구저장에필요한데이터레이어. App pool Smart WebDesktop 에등록되는사용자 Application 을관리하는레이어 19
II. 개발내역 7. Smart WebDesktop Data 흐름도 Smart WebDesktop Client Web Browser Smart WebDesktop Controller Browser Event Event Driven WepDesktop API Component HTML5 + CSS3 Open API Client Open API Open API 1 Open API 2 Open API 3 Smart WebDesktop Server Sever Layer Service 2 Service 2 Library Control 1 Control 2 Service 3 Control 3 Repository File System RDBMS(My SQL) Meta DB(Zookeeper)
II. 개발내역 8. Smart Webtop 데이터설계 Icon Icon_Id - Image_path Item 1 App App_Id - App_Name Icon_Id - Path - Start_Source - Version - Create_Date - File_Size - Description 2 Desktop_Item User_ID Item_Id - Name (Path) - High_Path - Item_Id - Create_Date - Owner - Authority (rwxrwxrwx) - top - left ( 바탕화면에서만저장 ) 1 2 App Pool Cwd Item 3 Install Application 4 Excute Application 5 Start Application Item_Id ( 1: AppLink 2: File 3: Folder ) - Icon_Id AppLink File Folder User_ID Item_Id - Icon_Image_Id - App_Id User_ID Item_Id File_type - Modify_Date User_ID Item_Id - Modify_Date Temp_File User_ID Item_Id File_type - Modify_Date File_type FileType_Id - Name - Description 5 StartApp User_ID UserApp_Id - Name - Icon_Image App_Id - Create_Date - Authority (rwxrwxrwx) 3 UserApp User_ID UserApp_Id - Name - Icon_Image App_Id - Create_Date - Authority (rwxrwxrwx) 4 ExcuteApp User_ID UserApp_ID Start_DateTime Terminal_Id Browser_Id - Process_Id - Name App_Id - parameter - top - left - height - width Terminal Terminal_Id - Terminal_name - Description Browser Browser_Id - Browser_name - Description
II. 개발내역 9. 주요적용기술 : Smart WebDesktop Client HTML5 의로컬스토리지 (local storage) 와 Ajax 기반의비동기통신 무선네크워크통신최소화 무선네크워크불안젂성극복 Local Remote HTML JavaScript Local Storage 비동기통신 Server Storage Smart WebDesktop Client Smart WebDesktop Server 22
9. 주요적용기술 : Smart WebDesktop Server 클라우드기반대용량트래픽을처리하기위한분산캐쉬적용한클라우드인프라 [ 일반적아키텍처 ] [ 분산캐쉬서버가적용된아키텍처 ] ClientClientClientClient ClientClientClientClient Session 용량및공유문제 Cache Pool Server 1 Server 2 Server 3 Server 1 Server 2 Server 3 Performance 문제 Cache Pool DBMS Meta DBMS Meta 분산캐시 Server 사용자정보및 WAS 의세션,DB 에사용 성능, 용량, 확장성에제약사항이있음 사용자프로파일정보및 Smart WebDesktop 의실시간정보를메모리에캐쉬 성능, 용량, 확장성매우높음 23
9. 주요적용기술 : Smart WebDesktop Server 클라우드기반대용량트래픽을처리하기위한확장성, 안정성을고려한분산메타적용 [ 일반적아키텍처 ] [ 분산메타서버가적용된아키텍처 ] ClientClientClientClient ClientClientClientClient Server 1 Server 2 Server 3 Server 1 Server 2 Server 3 확장성및안정성문제 DBMS 파일 분산메타 Master Server Clustering 분산메타 Sub Server 1 분산메타 Sub Server 2 Replication 메타정보를일반적인 DB 및 File 방식사용 확장성, 안정성, 데이터정합성에문제발생 Smart WebDesktop 의메타정보를분산메타데이타서버에저장및관리 확장성, 안정성, 데이터정합성문제를해결 24
10. Use Case : Application 실행 ( 공통 ) Use Case Component App 실행 Event Driven Controller Panel 1 단계 App Panel 생성 App Location URL 호출 App HTML Open API 2 단계 App 초기화면로딩 (AJAX) App Data 호출 App 생성 Internal Component Smart WebDesktop API App 실행종료 Browser Storage 25
감사합니다