XPLATFORM Service를 하려면, XPLATFORM Runtime과 개발된 응용 프로그램들을 사용자 단말기에 설치해야 합니다. 이 설치를 배포라고 하며, 주로 XPLATFORM Engine에 의하여 자동으로 이루어지며 HTTP Protocol을 사용합니다.
V9.2 변경사항
XPLATFORM V9.2부터 기존 InstallShield가 아닌, XP Runtime용 자체 Setup 모듈을 추가 하였습니다. 기존 Installshield로 만든 setup모듈이 특정pc에서 설치되지 않는 문제점이 발생하여, 이를 해결하기 위해 자체 제작하였습니다. 사용방법은 기존 Installshield로 만든 setup모듈과 동일합니다. 이에 따라 실행 모듈 배포를 위한 Install Shield Setup 모듈은 9.2버전부터는 제공되지 않습니다. 단, UX-Studio를 포함한 개발자용 Setup은 기존과 같이 Install Shield Setup방식으로 제공합니다.
배포의 단계
배포는 다운로드와 설치를 함께 수행하는 것으로 크게 3가지 단계로 나뉘어서 수행합니다.
XPLATFORM Engine 배포 단계
배포 활동을 담당하는 XPLATFORM Engine을 배포합니다.
Web Browser를 통하여 이루어지거나, exe형태의 설치파일을 통해 이루어집니다.
Web Browser를 통하는 경우 당사에서 제공하는 CAB 파일을 이용합니다.
Component들 및 Object들 배포 단계
화면 구성의 주요 모듈인 XPLATFORM Component들과 Object들을 배포합니다.
여기서 개발자가 추가 개발한 Component들과 Object들도 배포합니다. 이 Component및 Object들의 리스트는 UX-Studio상에서 지정할 수 있으며, Type definition파일에 저장됩니다.
XPLATFORM Engine이 이 단계의 배포를 관장합니다.
응용프로그램 배포 단계
개발자가 개발한 응용프로그램을 배포합니다.
응용프로그램의 배포는 Intelligent Cache기법을 통해 효율적으로 네트워크를 사용합니다.
XPLATFORM Engine이 이 단계의 배포를 관장합니다.
배포 Flow
대부분의 배포는 XPLATFORM Engine에 의하여 수행됩니다. 그러면, XPLATFORM Engine은 어떻게 사용자의 단말기에 설치되는가? XPLATFORM Engine은 주로 Web Browser를 통해서 CAB 파일로 설치됩니다. Web Browser를 통하지 않을 경우는 exe 파일을 별도로 제공합니다.
다음은 CAB파일로 설치할 경우, 배포서버와 사용자 단말기의 관계도 입니다.
위의 그림을 단계별로 설명하면 아래와 같습니다.
1단계 : XPLATFORM Engine 설치
Web Browser는 CAB 파일을 이용하여 XPLATFORM Engine을 설치합니다. CAB 파일(XPLATFORM9_SetupEngine.cab) 설치를 위하여, Web Browser가 처음 접근하는 HTML은 아래와 같은 coding이 삽입되어 있어야 합니다.
<HTML> <HEAD> <TITLE> Plugin sample page </TITLE> <BODY> <object id="XPLATFORMAXCtrl" classid="clsid:43C5FE00-DD32-4792-83DB-19AE4F88F2A6" CodeBase="http://127.0.0.1/XPLATFORM9_SetupEngine.cab#VERSION=2011,10,4,1"> </object> </BODY> </HTML>
여기서 VERSION번호는 설치하는 모듈 VERSION에 의존하므로, 그 값이 다를 수 있습니다.
2단계 : XPLATFORM 응용 프로그램 실행환경 설정
XPLATFORM Engine은 맨 처음 응용프로그램 배포 및 환경설정을 위하여 ADL파일을 다운로드 및 분석 합니다. 만일 A라는 응용프로그램을 실행 하려면, A 응용프로그램의 환경정보를 담고 있는 ADL(확장자:xadl)파일이 있어야만 합니다.
ADL은 Application Definition Languag의 약자로 Application구성에 필요한 요소들을 정의하는 문서입니다. 이 문서는 Application Model, 기본 화면 배치, Component 및 Object들의 구성, Theme 구성, Global Variable, Global Script를 정의합니다.
3단계 : Type definition 파일 Loading
XPLATFORM Engine은 A 응용프로그램이 사용하는 Component 및 Object들의 정보를 얻기 위하여 Type definition 파일을 다운로드 및 분석합니다.
ADL파일은 응용프로그램 환경정보를 대부분 담고 있지만, 응용프로그램이 사용하는 Component, Object들의 정보는 별도의 파일인 Type definition 파일에 저장합니다. ADL파일 안에는 Type definition 파일의 Path만 담겨 있습니다.
Type definition 파일은 UX-Studio에 의하여 자동으로 관리됩니다.
4단계 : Component들 및 Object들 설치
XPLATFORM Engine은 응용프로그램에서 필요한 Component들 및 Object들을 다운로드 및 설치합니다. 설치 대상 리스트는 3단계를 수행하는 동안 다운로드 받은 Type definition파일을 통하여 얻을 수 있습니다.
5단계 : 응용 프로그램 실행
XPLATFORM Engine은 ADL의 내용대로 응용프로그램 설정을 마친 후, UI 화면을 다운로드하여 출력합니다. 사용자 UI 정보는 FDL 파일에 담겨있으며, 확장자는 xfdl입니다. FDL은 Form Definition Language의 약자로 UI화면과 UI로직 정보를 담고 있습니다.
설치용 파일들
당사는 XPLATFORM 배포를 위하여 여러 가지 설치용 파일들을 제공합니다.
Setup 파일들
다음은 XPLATFORM Setup 파일에 포함되는 주요모듈입니다.
Setup 파일명 | |
---|---|
XPLATFORM9_SetupDeveloper.exe | XPLATFORM Engine (XPLATFORM.exe + library dll들 + default theme), Component들, Object들, XPLATFORMAX(ActiveX), XPLauncher(ActiveX), UX-Studio |
XPLATFORM9_SetupEngine.exe XPLATFORM9_SetupEngine.cab | XPLATFORM Engine, XPLATFORMAX(ActiveX), XPLauncher(ActiveX) |
XPLATFORM9_XPLauncher.cab | XPLauncher |
License 파일들
다음은 License 파일의 종류입니다.
Setup 파일명 | |
---|---|
XPLATFORM_Server_License.xml | XML 형태로 파일로 제공합니다. X-API jar 파일과 동일 위치 또는 classes 폴더에 위치합니다. X-API, HTML5 실행 시 체크합니다. |
XPLATFORM_Client_License.xml | XML 형태로 파일로 제공합니다. Web으로 접근가능한 경로에 위치합니다. ADL의 licenseurl에 해당 파일경로와 파일명을 설정합니다. Runtime, Widget 실행 시 체크합니다. |
Tool License | Product Key 형태로 문서로 제공 UX-Studio 의 Help – About UX-Studio 에서 등록합니다. |
주요 모듈의 기능
다음은 배포되는 주요모듈들의 기능입니다.
모듈명 | 주요기능 |
---|---|
XPLauncher |
|
XPLATFORMAX |
|
XPLATFORM Engine |
|
XPLATFORM 배포의 종류
XPLATFORM 배포는 XPLATFORM Runtime이 어떤 형태로 실행되느냐에 따라서 그 배포 방법이 다릅니다.
XPLATFORM Runtime실행 형태
XPLATFORM Runtime의 Core부분인 Engine이 어떤 형태로 실행되느냐에 따라서 2가지로 나뉘어 집니다. “Execution Version 실행”과 “Web Browser Plugin Version 실행”의 2가지 입니다.
또한, 그 실행형태에 따라 배포방법도 달라집니다.
“Execution Version 실행”은 XPLATFORM Runtime을 별도의 Window로 실행함을 의미합니다. XPLauncher에 의한 실행과 exe 파일을 실행의 2가지 방법이 있습니다.
“Web Browser Plugnin Version 실행”은 Web Browser에 Embed된 형태로 XPLATFORM Runtime을 실행함을 의미합니다.
다음의 그림은 실행의 종류를 도식화 한 것입니다.
기본배포의 종류
XPLATFORM 배포는 XPLATORM 실행형태에 따라서 3가지 배포종류로 나뉘어 집니다.
“Plugin배포”, “XPLauncher배포”, “exe배포”의 3가지로 나뉘며 각각의 쓰임을 아래의 표를 통해 비교 했습니다.
종류 항목 | Web Browser Plugin 배포 | XPLauncher 배포 | exe 배포 |
---|---|---|---|
Running Window | Web Browser | XPLATFORM Runtime | XPLATFORM Runtime |
설치 파일 | XPLATFORM9_ SetupEngine.cab | XPLATFORM9_ SetupEngine.cab | XPLATFORM9_ SetupEngine.exe |
XPLATFORM9_ SetupEngine.exe 과 XPLATORM9_ XPLauncher.cab | |||
Engine 실행 | XPLATFORM ActiveX 실행 | XPLauncher ActiveX 실행 | XPLATFORM.exe 실행 |
단축아이콘의 사용 | 없음 | 단축아이콘 생성 | 단축아이콘실행 |
단축아이콘을 사용하려면, “XPLauncher배포”방식과 “exe배포”방식을 복합적으로 사용해야 합니다. XPLauncher를 이용하여 단축아이콘을 생성하고, exe실행방식으로 단축아이콘을 클릭하여 실행하면 됩니다. 상세한 방법은 단축아이콘 배포를 참조하세요.
응용프로그램의 Cache
개발자가 개발한 응용프로그램들은 배포서버로부터 매번 다운로드하는 것이 아니라, 네트워크를 효율적으로 사용하기 위하여 Cache기법을 사용합니다. 이 Cache기법은 폐사가 특허로 등록한 기법입니다. 그러므로 이 Cache기법은 XPLATFORM 및 MiPlatform에서만 사용할 수 있습니다.
Cache의 종류
XPLAFORM이 지원하는 Cache의 종류는 아래와 같습니다.
Cache의 종류 | 설명 |
---|---|
None | Cache기능을 사용하지 않습니다. 그러므로 매번 서버로부터 데이타를 수신합니다. 주로 dataset관련 통신시에 사용합니다. |
Dynamic | 서버로부터 수신한 파일이 갱신 되었을 때만 수신합니다. 서버의 파일이 갱신되지 않은 경우는 Local Cache파일을 재사용합니다. ※ cachelevel을 지정하지 않았을 경우 기본 Cache 속성은 Dynamic으로 적용됩니다. |
Session | XPLATFORM Engine을 기동할 때, 단 한번만 수신하고(만약 Local Cache파일과 일치하면 재사용), 해당 Engine이 종료될 때까지 Local Cache파일만을 사용합니다. |
Static | 서버로부터 한번이라도 수신한 파일에 대해서, XPLATFORM Engine의 재 실행과 상관없이 Local Cache파일만 사용합니다. 그러므로, 재 수신을 원하는 경우는 버전을 올려주어야 재 수신됩니다. |
XPLATFORM은 한 번 사용한 Local Cache파일을 Memory에 올려놓고 사용합니다. Memory를 이용하면 Cache file 접근 횟수를 줄이는 이점이 있지만, Process의 Size가 커지는 단점을 갖게 됩니다. 그러나, Memory 사용은 Cache file을 분석 및 변환한 구조체 정보를 갖고 있음으로 Parsing단계의 시간을 줄여주므로 실행 속도를 높여줍니다.
Cache의 적용 방법
XPALTFORM이 지원하는 Cache방법은 개발자가 개발한 응용프로그램에만 적용됩니다. 즉, Component나 Object들은 XPLATFORM이 자동으로 관리합니다. Cache기능의 설정은 UX-Studio을 통해서 하고, Type Definition 파일에 저장됩니다.
다음은 UX-Studio의 Type Definition Editor 화면 입니다.
XPLATFORM Engine의 버전관리
대부분의 배포는 XPLATFORM Engine이 관장합니다. XPLATFORM Engine은 주로 Web Browser를 통해 배포한다고 설명했습니다. 그렇다면, XPLATFORM Engine 자체가 업그레이드 되었을 때는 어떻게 배포하는가? XPLATFORM Engine이 스스로 업그레이드 합니다.
XPLATFORM Engine upgrade정보 등록
XPLATFORM Engine이 ADL File을 Load하여 응용프로그램 실행 환경을 설정하는 단계에 Upgrade 여부를 결정하고 수행합니다. 즉, Engine에 대한 Upgrade 정보를 ADL 파일이 갖고 있습니다.
다음은 UX-Studio의 ADL Property창에서 Upgrade정보를 등록하는 화면 입니다.
각 항목을 상세히 설명하면 다음과 같습니다.
Property명 | 설명 |
---|---|
enginesetupkey | Setup 파일의 Product Key입니다. XPLATFORM Engine을 사용할 때는 아무 값도 입력하지 않습니다. 그러나, 개발자가 별도의 Setup 파일을 작성할 때는 해당 Setup 파일의 Product Key를 입력하면 됩니다. |
engineurl | Setup File이 존재하는 서버의 url 경로입니다. |
engineversion | Setup File의 버전입니다. |
licenseurl | License 파일의 경로를 설정합니다. |
1단계 : XPLATFORM Engine 설치의 예제에 보면 다음의 HTML정보가 있습니다. 여기서 사용한 object 정보를 ADL Property와 Match시키면 쉽게 이해 할 수 있습니다.
XPLATFORM Engine upgrade 실행
XPLATFORM Engine upgrade정보 등록에서와 같이 UX-Studio로 ADL Property값을 입력한 후, ADL 파일을 배포 서버에 올려 놓으면, XPLATFORM Engine이 ADL파일 내의 engineurl, engineversion값을 현재 설치된 XPLATFORM Engine과 비교하여 upgrade합니다. 이미 설치된 Engine의 버전의 사용자 단말기의 “제어판/프로그램 추가제거”에서 확인할 수 있습니다.
XPLATFORM Engine을 upgrade하는 경우 XPLATFORM Engine이 재 구동됩니다.