XPLATFORM의 개요

XPLATFORM은 RIA의 운영 및 개발환경을 제공하는 RIA 플랫폼입니다. XPLATFORM은 크게 XPLATFORM Language, 개발환경, 응용프로그램 실행 환경, 배포환경의 4가지 기술로 분류합니다.

XPLATFORM의 기술의 구성

XPLATFORM 응용프로그램 구현 및 적용을 위하여 4가지 기술을 알아야 합니다. 이 4가지 기술이 XPLATFORM Language, 개발환경, 응용프로그램 실행 환경, 배포환경입니다.

XPLATFORM Language

XPLATFORM은 응용프로그램의 UI를 정의하기 위하여 몇 개의 Language를 제공하고 있습니다. 이 Language는 XML 및 ECMAScript를 기반으로 정의되어 있습니다.

XPLATFORM XML로 UI 화면을 배치하고, ECMAScript로 UI 로직을 구현합니다. 그 외에 응용프로그램 실행을 위한 실행환경 설정정보도 XML을 사용합니다.

다음은 XPLATFORM Language로 작성하는 주요 파일들입니다.

파일의

종류

파일명

용도

화면 폼

정의

*.xfdl

- 응용프로그램이 사용하는 화면 폼을 정의합니다.

- 컴포넌트들의 화면 배치정보를 담고 있습니다.

- 이벤트 핸들링방식의 UI 로직을 담고 있습니다.

응용프로그램의 정의

*.xadl

- 응용프로그램을 정의합니다.

- 응용프로그램 실행을 위한 환경정보를 담고 있습니다.

- 폼들의 배치정보를 담고 있습니다.

- 응용프로그램 UI모델 정보를 담고 있습니다.

UI모델에는 3개의 방식(MDI,SDI,Widget)이 있습니다.

응용프로그램 자원의 정의

default_typedef.xml

- 응용프로그램이 사용하는 자원을 정의합니다.

- 응용프로그램이 사용하는 컴포넌트들을 정의합니다.

- 응용프로그램이 사용하는 데이터소스를 정의합니다.

- 응용프로그램이 사용하는 모듈들의 배포정보를 정의합니다.

개발 환경

XPLATFORM은 WYSIWYG기반의 RAD 개발 툴인 UX-Studio를 제공합니다. 개발자는 UX-Studio를 사용하여 모든 응용프로그램들을 개발할 수 있습니다. 해당 응용 프로그램들은 XPLATFORM Language로 저장됩니다.

UX-Studio는 MS Windows기반에서 작동하며, 개발 완료된 응용프로그램들은 다양한 디바이스(PC, SmartPhone 등)에서 구동합니다.

응용프로그램 실행 환경

UX-Studio로 개발한 프로그램들은 XPLATFORM Runtime이 실행합니다. XPLATFORM Runtime의 실행 UI는 Application Model(Frame, Widget등)에 따라 각각 다른 형태로 보여집니다.

XPLATORM 응용프로그램은 Client에서 작동하지만, Data 처리를 위하여 Application Server를 사용합니다. 일반적으로 Web Application Server를 많이 사용합니다. XPLATFORM은 Application Server용 API로 X-API모듈을 제공합니다.

배포환경

배포란 응용프로그램 실행을 위하여 필요한 프로그램들을 사용자 PC 또는 단말기에 설치하는 작업을 뜻합니다. 배포의 대상은 UX-Studio로 개발한 프로그램들과 응용프로그램 실행에 필요한 모듈(XPLATFORM Engine, 컴포넌트 등등)들이 됩니다.

배포는 Http Protocol을 사용합니다. 즉, 배포를 위해서는 Http Server가 있어야 합니다. 사용자 PC에 모든 프로그램들을 미리 설치한 경우는 배포가 필요 없습니다.

배포의 대상을 나열하면 아래와 같습니다.

분류

주요 파일명

설명

Engine

배포

XPLATFORM9_SetupEngine.exe

XPLATFORM9_SetupEngine.cab

  • XPLATFORM의 Engine을 설치합니다.

  • Web Browser를 통해 Cab 파일로 설치하거나, exe 파일을 직접 다운로드 받아서 설치할 수 있습니다.

  • 컴포넌트들 및 응용프로그램들의 배포는 Engine에 의해 수행됩니다.

  • V9.2변경사항

  • V9.1에서 사용되던 Install Shield형태의 모듈대신 자체 Setup모듈로 변경하였습니다. 단, 사용법은 전과 동일합니다.

Components

Objects

배포

*.dll

  • Main Engine외에 응용프로그램 수행에 필요한 모듈들을 설치합니다.

  • XPLATFORM Engine를 통해 설치됩니다.

응용프로그램

*.xfdl, *.xadl,

default_typedef.xml,

globalvars.xml

  • UX-Studio를 개발한 프로그램들을 설치합니다.

  • 사용자 UI 서비스를 위한 프로그램들로, XPLATFORM Engine를 통해 설치됩니다.

XPLATFORM 실행 Flow

다음은 XPLATFORM의 배포와 실행을 Flow Chart로 표현한 것입니다. 여기서는 많이 사용하는 Web Browser를 통한 실행 Flow를 표시했습니다

XPLATFORM 서비스 실행을 위해서는 XPLATFORM Engine설치가 선행되어야 하며, 일반적으로 Web Browser를 통해 설치합니다. Web Browser를 통한 설치를 원하지 않는 경우는 별도의 단독설치파일로 XPLATFORM Engine을 설치할 수 있습니다. XPLATFORM은 Web Browser용 설치파일(XPLATFORM9_SetupEngine.cab)과 단독설치파일(XPLATFORM9_SetupEngine.exe)의 두 가지 형태를 제공합니다.

XPLATFORM Runtime과 Engine

XPLATFORM Engine은 응용프로그램 실행의 주체이자 XPLATFORM Runtime의 Core부분 입니다.

Engine이 실행된 이후에 License 체크가 정상적으로 수행되었다면 Component들과 Object들을 Loading하며, 이 Loading이 완료된 후의 모습이 Runtime입니다. 그러므로 Software실행파일의 입장에서 보면 Engine과 Runtime은 동일합니다. 단지, 의미적으로 Engine은 Component들과 Object들을 제외한 Core 부분을 말하고, Runtime은 Component들과 Object들을 포함한 형태를 의미합니다.

XPLATFORM Engine은 3가지 방법으로 실행할 수 있습니다. 다음은 그 실행 방법입니다.

XPLATFORM Engine은 실행된 후, 다음의 작업을 차례로 수행합니다.

XPLATFORM Engine의 주요 구성

XPLATFORM Engine은 Core부분인 Virtual Engine외에 5개의 Manager로 구성되어 있습니다.

다음은 각각의 구성요소들의 주요기능을 설명한 것입니다.

구성요소

설명

Virtual Engine

OS에 독립적인 구조를 갖춘 XPLATFORM 기본 엔진으로, 다양한 OS에 포팅이 가능한 형태의 가상엔진입니다.

Instance Manager

엔진이 작동하는데 있어 필요한 자원/화면/데이터/Script들을 관리합니다.

Communication Manager

HTTP, HTTPS, FILE Protocol을 기본으로 하는 통신을 담당합니다.

CDL Manager

Script로 개발된 User Component, User Object, Composite component들이 작동하도록 합니다.

Binary Module

Manager

XPLATFORM의 주요 컴포넌트들을 관리합니다.