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모듈을 제공합니다.
XPLATFORM Runtime과 Engine
앞으로 “XPLATFORM Runtime”과 “XPLATFORM Engine”이라는 용어가 자주 사용될 것입니다. 간단히, XPLATFORM Engine은 XPLATFORM의 core입니다. XPLATFORM Runtime은 XPLATFORM Engine에 Components, Objects들을 포함한 RIA Platform입니다.
배포환경
배포란 응용프로그램 실행을 위하여 필요한 프로그램들을 사용자 PC 또는 단말기에 설치하는 작업을 뜻합니다. 배포의 대상은 UX-Studio로 개발한 프로그램들과 응용프로그램 실행에 필요한 모듈(XPLATFORM Engine, 컴포넌트 등등)들이 됩니다.
배포는 Http Protocol을 사용합니다. 즉, 배포를 위해서는 Http Server가 있어야 합니다. 사용자 PC에 모든 프로그램들을 미리 설치한 경우는 배포가 필요 없습니다.
배포의 대상을 나열하면 아래와 같습니다.
분류 | 주요 파일명 | 설명 |
---|---|---|
Engine 배포 | XPLATFORM9_SetupEngine.exe XPLATFORM9_SetupEngine.cab |
|
Components Objects 배포 | *.dll |
|
응용프로그램 | *.xfdl, *.xadl, default_typedef.xml, globalvars.xml |
|
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가지 방법으로 실행할 수 있습니다. 다음은 그 실행 방법입니다.
Web Browser의 Javascript의 Embed Object로 실행할 수 있습니다.
XPLATFORM Runtime Plugin Version을 실행하는 방법입니다.
Web Browser화면에 Embed된 형태로 Engine이 실행됩니다.
Web Browser의 Javascript를 통해 XPLauncher로 실행할 수 있습니다.
XPLauncher는 Web Broswer의 Embed Object입니다.
XPLauncher에 의하여 실행되는 Runtime은 Web Browser에 포함되지 않고 독립적인 Window를 갖고 실행합니다.
단독 실행파일로 실행할 수 있습니다.
이 경우 일반적으로 단축아이콘을 사용합니다.
Web Browser와는 아무 관련이 없습니다.
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의 주요 컴포넌트들을 관리합니다. |